Worldedit
  Worldedit
Le site sur l'éditeur de warcraft 3 !
 
  FAQFAQ   RechercherRechercher   Liste des MembresListe des Membres    Groupes d'utilisateursGroupes d'utilisateurs   medals.php?sid=a9533cd249e9ac42cdf9b39bd47a8016Médailles   S'enregistrerS'enregistrer 
 ProfilProfil   Se connecter pour vérifier ses messages privésSe connecter pour vérifier ses messages privés   ConnexionConnexion 
  FAQFAQ World Editor   UploadUploader une map ou une image    UploadAjouter sa map à l'annuaire   UploadConsulter l'annuaire

Afficher une variable dans un texte descriptif

 
Poster un nouveau sujet   Répondre au sujet    Worldedit Index du Forum -> Autre
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
 Skyzen
Membre actif


Inscrit le: 07 Jan 2017
Messages: 119
Sujets: 16
Spécialité en worldedit: Tout en Gui, rien en Jass : This is my random life.


MessagePosté le: 07/01/17 20:35    Sujet du message: Afficher une variable dans un texte descriptif Citer

Salut ^^ Donc voilà dans mon projet de map on incarne un héros que l'on contrôle comme dans un MobA (genre DotA), avec des sorts (Avec raccourcis E/R/T et Y pour l'ultime), bref vous connaissez surement le principe !

Les compétences des héros peuvent être boostés par leurs caractéristiques, par exemple :
Coup de tonnerre de Muradin inflige 250 de dégat + la force de Muradin x4 (bonus stuff inclus). Donc pour un Muradin qui a disont 150 force, les dégats du sort serons de 250+600=850.

Donc c'est cool ça permet de différencier les mécaniques d'un même héros en fonction de l'orientation que prends le joueur dans ses stuff (Genre jouer un personnage soit Intelligence, soit Force, soit Agilité, bref vous avez compris).

ET C'EST MAINTENANT QUE J'AI BESOIN DE VOUS :

Bref dans la description du sort de Muradin (On continus avec le même exemple), j'indique que le sort inflige 250(+forcex4) mais on va s'avouez, c'est pas se qu'il y a de plus pratique que de s'amuser à faire le calcule à chaque fois qu'on lance un sort x)
Le bonus de dégats du sort en fonction des caractéristiques du héros (Dans l'exemple notre fameux (+forcex4) ^^) sont enregistrés au travers d'une variable "Réel" et appliqué au sort via déclo.

J'aimerais donc savoir s'il existe un moyen d'afficher dans le descriptif des sorts la valeur d'une variable qui correspondrait au dégats du sort exact (bonus compris) et donc afficher un nombre "qui change" en fonction des caractéristique du héros.

Concrètement je veux que quand je chope un stuff +100 force avec Muradin la description du sort change et affiche 250(+la nouvelle force de Muradin x4) ^^

Voilà merci des réponses que vous pourriez m'apporter !
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Crowolf
Animateur


Inscrit le: 21 Avr 2008
Messages: 1607
Sujets: 81
Spécialité en worldedit: Utiliser le travail des autres
Médailles: 3 (En savoir plus...)
Grand décorateur (Quantité : 2) Rédacteur de tuto #3 (Quantité : 1)

MessagePosté le: 07/01/17 21:56    Sujet du message: Citer

Oui c'est possible. Je vois une solution, mais ce serait assez long.

Les compétences ont des données que tu peux modifier (dégâts, hp, vitesse etc.). Pour afficher ces données tu utilises un code du genre <Ahtc,DataA1>. Ici, Ahtc est le code de la compétence (visible en faisant ctrl+D dans l'éditeur d'objet) et DataA1 le code des dégâts au niveau 1.
Tu peux afficher les données d'une autre compétence dans la description d'un sort.

En gros, la compétence apprise ne serait pas la compétence que le héros utiliserait après. Il faut jouer à cacher les boutons et à ajouter les compétences manuellement.

Il faudrait créer une compétence Coup de tonnerre avec 1000 niveaux (ou le même nombre de niveaux que la force max) et pour chaque niveau, tu modifies la desciption pour afficher les dégâts en fonction de la force. Niveau 1 = 1 force; niveau 2 = 2 force etc.
Tu peux modifier automatiquement la description des tooltips.
Le niveau max des compétences est de 100 normalement, mais tu peux le modifier en appuyant sur MAJ avant de double clic sur la ligne "niveau" d'une compétence.
Admettons que Muradin puisse apprendre 4 niveaux de Coup de tonnerre, il faudrait 4 compétences à 1000 niveaux.
Compétence 1: 60 dégâts + 4x la fois la force
Compétence 2: 100 dégâts + 4x la force etc.
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 DarK™
Membre actif


Inscrit le: 29 Aoû 2011
Messages: 197
Sujets: 15
Spécialité en worldedit: Système/Déclencheurs [GUI]


MessagePosté le: 07/01/17 23:50    Sujet du message: Citer

Impossible.

Ce que tu demandes n'est pas faisable dans Warcraft. On ne peut pas intégrer de variables dans un texte, un texte de description est statique, il ne changera pas, même en utilisant <A001,DataA1>, le texte est écrit en remplaçant <A001,DataA1> par la valeur qui lui correspond dans l'éditeur d'objet.

Les textes sont stockés dans un fichier de la map "war3map.wts" et n'est pas éditable durant la partie.
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Envoyer l'e-mail
 Karbok
Membre actif


Inscrit le: 29 Oct 2014
Messages: 181
Sujets: 8
Spécialité en worldedit: les gauffres au nutella


MessagePosté le: 08/01/17 00:16    Sujet du message: Citer

La question est plus interressante qu'il n'y paraît Wink

Il faut savoir que les sorts à 1000 niveaux sont très gourmands en CPU la première fois qu'ils apparaissent en jeu (en plus d'imposer une limite aux stats). Donc il faut les pré-charger à l'initialisation de la partie , c'est-à-dire créer un dummy, lui ajouter tous les sorts et le supprimer Cela peut augmenter considérablement le temps de chargement de la partie (ayant déjà eu recours à cette technique pour des sorts à 100 niveaux, j'en avais pour plusieurs secondes de chargement supplémentaires...).

A part ça, Blizzard n'a malheureusement pas prévu de fonctionnalité permettant de modifier dynamiquement les tooltips, notammant à cause du fait que le jeu n'écrit qu'une seule fois le tooltip en mémoire, et donc que toutes les instances du sort vont lire au même endroit pour afficher leurs tooltips, ce qui poserait problème si il y a plusieurs Muradin par exemple. En réalité, il existe une méthode qui permet de le faire, mais elle est basée sur un bug-exploit qui a été fixé au dernier patch (1.27b). Pour faire simple, l'exploit accède directement à la mémoire du jeu et réécrit un nouveau tooltip à l'endroit où est stocké l'ancien. (Pour info, l'exploit permet aussi entres autres de prendre le contrôle de n'importe quel ordinateur qui aurait le malheur de démarrer une partie contenant un virus, mais il sera prochainement utilisé intensivement dans DotA car il donne les pleins pouvoirs au map-maker !)
_________________
Mon pseudo Battle.net : Dragonflamm
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Envoyer l'e-mail
 Skyzen
Membre actif


Inscrit le: 07 Jan 2017
Messages: 119
Sujets: 16
Spécialité en worldedit: Tout en Gui, rien en Jass : This is my random life.


MessagePosté le: 08/01/17 00:43    Sujet du message: Citer

Je n'avais pas penser à utilisé un "sort facade" possédant infinité de niveau, mais sachant que chaque sort de base possède 19 niveau (18 pour ultime) et que certains sorts peuvent être augmentés via plusieurs variables, ca rend la chose compliqué...

Effectivement, ca marcherais pour coup de tonnerre de Muradin, mais qu'en serait-il pour un sort possédant plusieurs lignes de dégats via déclencheurs ? Comme un sort qui infligerais tout d'abord 100(+intelx2) puis 2 seconde après 200(+agilitéx6) ?

Cela rend ton astuces impossible, et malheureusement se genre de sort est déjà inclus sur certains champions de ma map (Car c'est bon pour le game play ^^).

Sinon si l'on ne peux que faire référence à l'éditeur d'objet dans les textes descriptifs, es que l'on ne peux pas modifié directement via déclo les valeurs présentes dans un texte ???? Sans passer par ce que l'on écrit dans l'éditeur d'objet ??

EDIT : Ah et donc le bug, il est encore exploitable ?
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 DarK™
Membre actif


Inscrit le: 29 Aoû 2011
Messages: 197
Sujets: 15
Spécialité en worldedit: Système/Déclencheurs [GUI]


MessagePosté le: 08/01/17 00:48    Sujet du message: Citer

Non, impossible sans utiliser ce fameux memory hack.
Néanmoins tu dois savoir que c'est très récent, peu user-friendly, et en JASS. Je n'ai pas regardé toute la procédure pour pouvoir s'en servir, mais il me semble que c'est pas très simple.
Tu peux regarder par ici : http://www.hiveworkshop.com/threads/memory-hack.289508/
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Envoyer l'e-mail
 Skyzen
Membre actif


Inscrit le: 07 Jan 2017
Messages: 119
Sujets: 16
Spécialité en worldedit: Tout en Gui, rien en Jass : This is my random life.


MessagePosté le: 08/01/17 02:23    Sujet du message: Citer

Ouaaa j'ai regarder ca à l'air assez compliqué effectivement ! N'empèche je suis content de savoir que c'est possible et que je vais pouvoir m'y atteler ! Je vais chercher a comprendre puis je donnerais un retour ^^
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Crowolf
Animateur


Inscrit le: 21 Avr 2008
Messages: 1607
Sujets: 81
Spécialité en worldedit: Utiliser le travail des autres
Médailles: 3 (En savoir plus...)
Grand décorateur (Quantité : 2) Rédacteur de tuto #3 (Quantité : 1)

MessagePosté le: 08/01/17 11:51    Sujet du message: Citer

C'est possible avec ma méthode, je l'ai déjà fait sur un AoE. Les sorts étaient améliorés par des gemmes d'éléments que le héros ramassait ou les objets qu'il collectait.
C'est juste un peu long et mes sorts n'avaient que 4 niveaux max. Je ne savait pas qu'on pouvait avoir plus de 100 niveaux donc je faisais plusieurs compétences de 100 niveaux ou j'utilisais DataA1, DataB1, DataC1.

"Comme un sort qui infligerais tout d'abord 100(+intelx2) puis 2 seconde après 200(+agilitéx6) ?"

En utilisant des DataA1 et DataB1 ou 2 sorts de façade différents.

Au final c'était trop long à gérer pour 25 héros donc je laissais les descriptions de base.
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Skyzen
Membre actif


Inscrit le: 07 Jan 2017
Messages: 119
Sujets: 16
Spécialité en worldedit: Tout en Gui, rien en Jass : This is my random life.


MessagePosté le: 08/01/17 12:24    Sujet du message: Citer

Bien vu tu as raison ^^ Mais avec 19 niveaux par sorts je crois que finalement je vais juste laisser le (4 x force) ou attendre d'être mieux renseigné sur l'exploitation en Jass du fameux bug.
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    Worldedit Index du Forum -> Autre Toutes les heures sont au format GMT + 1 Heure
Page 1 sur 1

 
Sauter vers:  
Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum


Powered by phpBB © 2001, 2005 phpBB Group
Traduction par : phpBB-fr.com