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=28c8fa5e1dc7826094d1089628da48bbMé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

test sur les réponses évènements (Get...)
Aller à la page 1, 2  Suivante
 
Poster un nouveau sujet   Répondre au sujet    Worldedit Index du Forum -> Aide sur les déclencheurs
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
 Troll-Brain
Ri1kamoua


Inscrit le: 23 Aoû 2007
Messages: 7143
Sujets: 147
Spécialité en worldedit: le troll, le flood, la vulgarité, mon coeur balance
Médailles: 2 (En savoir plus...)
Grand mage créateur de sort (Quantité : 1) Rédacteur de tuto #3 (Quantité : 1)

MessagePosté le: 05/12/07 12:29    Sujet du message: test sur les réponses évènements (Get...) Citer

Etant donné que le gui n'a pas été concu pour utiliser des variables locales, j'ai testé un par un tous les gets pour savoir s'il sont multi instanciables ou non.

Petits rappels :

Les variables que l'on utilise en gui sont des globales.
Une globale est accessible dans nimporte quelle fonction ( ou déclencheur pour simplifier ).
Mais seul un trigger (déclencheur) est lancé à la fois, tant que vous ne mettez pas de wait dans le trigger vous pouvez utilisez plusieurs fois la même variable dans un trigger différent.

Un exemple :

Gui:
Trigger:
meurt1
Collapse Evénements
Unité - A unit Meurt
Conditions
Collapse Actions
Set entier = 1
Partie - Display to (All players) the text: (Name of the current trigger)
Partie - Display to (All players) the text: (String(entier))


Gui:
Trigger:
meurt2
Collapse Evénements
Unité - A unit Meurt
Conditions
Collapse Actions
Set entier = 2
Partie - Display to (All players) the text: (Name of the current trigger)
Partie - Display to (All players) the text: (String(entier))


Quand une unité va mourir cela affichera :
Code:
meurt1
1
meurt2
2


Evidemment un tel exemple n'a aucun sens, il vaut mieux éviter la multiplication des triggers avec le même event (événement).

Maintenant je vais développer la notion de multi instances.
Reprenons l'exemple du kill avec un wait en plus.

Gui:
Trigger:
meurt1
Collapse Evénements
Unité - A unit Meurt
Conditions
Collapse Actions
Set unite = (Dying unit)
Wait 1.00 seconds
Partie - Display to (All players) the text: (Name of unite)


Gui:
Trigger:
Collapse Evénements
Joueur - Joueur 1 (Rouge) skips a cinematic sequence
Conditions
Collapse Actions
Unité - Kill Paysan 0002 <gen>
Unité - Kill Fantassin 0001 <gen>


Lors de l'appui sur la touche echap le paysan et le fantassin sont tués mais le message qui s'affiche est le suivant :

Code:
Fantassin
Fantassin


Pourquoi ? car une variable globale n'est pas multi instanciable, si on change sa valeur, l'ancienne est perdue.
Comme ici le fantassin meurt en dernier mais dans un laps de temps inférieur au wait (1s), la variable unité fait d'abord référence au paysan, mais est effacée par le fantassin à cause du wait.

Comment résoudre ceci alors ?
2 solutions :
- utiliser le get si il est multi instanciable sans passer par une variable.

Gui:
Trigger:
meurt1
Collapse Evénements
Unité - A unit Meurt
Conditions
Collapse Actions
Wait 1.00 seconds
Partie - Display to (All players) the text: (Name of (Dying unit))


- utiliser une variable locale

Je donnes la liste des Get non multi instanciables :

Capacité
Ability being cast

Objet
sold item ( car détruit )
Target item of Ability being cast : renvoie null (pas d'unité) quand le sort est achevé
Attention toutefois si ce get fonctionne bien avec la compétence canaliser('ANcl') et les rares compétences avec un item pour cible ca semble (toujours ?) ne rien renvoyer du tout si on édite une autre compétence

Ordre
Issued Order

Point
Target point of issued order
Target point of ability being cast

Unité
Casting Unit
Target unit of issued order
Cancelled structure ( car l'unité est détruite )
Target unit of ability being cast (renvoie null si la compétence est déjà cannalisée )

Il faut garder en tête que ces get ne renvoie que des références et que donc si une unité est remove, la fonction renverra null.

J'insistes sur le cancelled structure et sold item, car l'utilisation d'une variable locale n'y changera rien, étant donné que l'unité/l'objet est détruit, cela renverra null.
Mais vous pouvez sauvegarder le type de l'unité/l'objet Smile

Enfin personnellement dés que je le peux j'utilises toujours Triggering unit, mais je comprends le souci de clarté du code, pour mettre un terme à ces doutes sur les différents gets j'ai fait le test Wink

Je n'ai pas poussé le vice jusqu'à tester les get disponibles uniquement en jass, car ca n'a aucun intérêt étant donné que l'on peut utiliser facilement une locale Laughing
_________________
Le violet, c'est moche.


Dernière édition par Troll-Brain le 30/08/11 20:39; édité 11 fois
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Troll-Brain
Ri1kamoua


Inscrit le: 23 Aoû 2007
Messages: 7143
Sujets: 147
Spécialité en worldedit: le troll, le flood, la vulgarité, mon coeur balance
Médailles: 2 (En savoir plus...)
Grand mage créateur de sort (Quantité : 1) Rédacteur de tuto #3 (Quantité : 1)

MessagePosté le: 05/12/07 14:08    Sujet du message: Citer

il y a 1 réponse événement que je n'ai pas testé :

- réel : tournament time remaining ( kézaco Confused )
_________________
Le violet, c'est moche.


Dernière édition par Troll-Brain le 10/05/08 12:12; édité 1 fois
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Brissou de Mourièssou
Créateur de sorts, depuis 1936.


Inscrit le: 30 Aoû 2007
Messages: 1510
Sujets: 26
Spécialité en worldedit: Développer des jeux vidéos pour le fun, donc world edit c'est comme faire une addition.
Médailles: 2 (En savoir plus...)
Concours de sorts amusants (Quantité : 1) Créateur de héros (Quantité : 1)

MessagePosté le: 05/12/07 14:12    Sujet du message: Citer

Troll-Brain a écrit:
- réel : tournament time remaining ( kézaco Confused )


Spour les tournois en ladder, les parties sont limitées à 30 min.
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur MSN Messenger
 Troll-Brain
Ri1kamoua


Inscrit le: 23 Aoû 2007
Messages: 7143
Sujets: 147
Spécialité en worldedit: le troll, le flood, la vulgarité, mon coeur balance
Médailles: 2 (En savoir plus...)
Rédacteur de tuto #3 (Quantité : 1) Grand mage créateur de sort (Quantité : 1)

MessagePosté le: 05/12/07 14:16    Sujet du message: Citer

loul le truc useless alors pour les parties persos
_________________
Le violet, c'est moche.
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Troll-Brain
Ri1kamoua


Inscrit le: 23 Aoû 2007
Messages: 7143
Sujets: 147
Spécialité en worldedit: le troll, le flood, la vulgarité, mon coeur balance
Médailles: 2 (En savoir plus...)
Rédacteur de tuto #3 (Quantité : 1) Grand mage créateur de sort (Quantité : 1)

MessagePosté le: 17/12/07 21:10    Sujet du message: Citer

Ce n'est pas un tuto mais je penses que ca mérite de passer en annonce et d'être lié avec le tuto sur les variables locales en gui, nan ?
_________________
Le violet, c'est moche.
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Troll-Brain
Ri1kamoua


Inscrit le: 23 Aoû 2007
Messages: 7143
Sujets: 147
Spécialité en worldedit: le troll, le flood, la vulgarité, mon coeur balance
Médailles: 2 (En savoir plus...)
Grand mage créateur de sort (Quantité : 1) Rédacteur de tuto #3 (Quantité : 1)

MessagePosté le: 08/01/08 19:04    Sujet du message: Citer

avis de la modération :
1) mdr I ser a ri1 ton truc lol
2) je penses que le passer en annonce éviterait pas mal de questions bateaux (pour peu que ce topic est lu...), et par conséquent je le passe en annonce de suite
3) nan stun post comme un autre mon grand Rolling Eyes
_________________
Le violet, c'est moche.
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Bantas
Anomalie floodiforme


Inscrit le: 21 Aoû 2007
Messages: 1524
Sujets: 37

Médailles: 1 (En savoir plus...)
Rédacteur de tuto #3 (Quantité : 1)

MessagePosté le: 15/01/08 22:32    Sujet du message: Citer

Il me semblait l'avoir mis en tuto pourtant :S
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Troll-Brain
Ri1kamoua


Inscrit le: 23 Aoû 2007
Messages: 7143
Sujets: 147
Spécialité en worldedit: le troll, le flood, la vulgarité, mon coeur balance
Médailles: 2 (En savoir plus...)
Grand mage créateur de sort (Quantité : 1) Rédacteur de tuto #3 (Quantité : 1)

MessagePosté le: 09/02/08 22:35    Sujet du message: Citer

sur mon autre pc ou japi ne fait pas de caprice, je me suis vite lassé de faire des tests Razz .
Mais le peu de get que j'ai testé semblerait indiquer que les get spécifiques soient plus rapide que les triggering.
Mais comme la plupart du temps et ce pour une raison d'optimisation, on utilise une variable cela a finalement peu d'influence.

Et puis il faut aussi prendre en compte le temps de déclaration d'une variable locale

http://wc3campaigns.net/showthread.php?t=98860

'fin bref c'est pas important Very Happy
_________________
Le violet, c'est moche.
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Rommstein60
MODÉRATEUR À LA RETRAITE


Inscrit le: 23 Aoû 2007
Messages: 4766
Sujets: 136
Spécialité en worldedit: Keskesapeutfout'
Médailles: 1 (En savoir plus...)
Rédacteur de tuto #1 (Quantité : 1)

MessagePosté le: 10/02/08 08:43    Sujet du message: Citer

Oué c'est pas con, moi je pense que ce serait bien de le mettre dans le FAQ car pleins de noob (dont moi dans mes débuts --') se font avoir par ce truc tout con.
_________________
Leçon n°1 du WorldEdit : « Le violet > Troll-Brain »
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Rommstein60
MODÉRATEUR À LA RETRAITE


Inscrit le: 23 Aoû 2007
Messages: 4766
Sujets: 136
Spécialité en worldedit: Keskesapeutfout'
Médailles: 1 (En savoir plus...)
Rédacteur de tuto #1 (Quantité : 1)

MessagePosté le: 06/05/08 17:12    Sujet du message: Citer

Dis donc je me rend compte que j'ai lu ce post Surprised
En fait j'ai pas bien lu, je me limitais à l'idée de la variable...
Question : Si je met triggering unit à la place de casting unit et qu'il y a un wait, il n'y aura pas de problème alors?

_________________
Leçon n°1 du WorldEdit : « Le violet > Troll-Brain »
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Troll-Brain
Ri1kamoua


Inscrit le: 23 Aoû 2007
Messages: 7143
Sujets: 147
Spécialité en worldedit: le troll, le flood, la vulgarité, mon coeur balance
Médailles: 2 (En savoir plus...)
Grand mage créateur de sort (Quantité : 1) Rédacteur de tuto #3 (Quantité : 1)

MessagePosté le: 06/05/08 17:15    Sujet du message: Citer

Rommstein60 a écrit:
Dis donc je me rend compte que j'ai lu ce post Surprised
En fait j'ai pas bien lu, je me limitais à l'idée de la variable...
Question : Si je met triggering unit à la place de casting unit et qu'il y a un wait, il n'y aura pas de problème alors?

bah nan seuls les gets de la liste posent problème, enfin y'a aussi ceux que j'ai commenté à la fin du post hein ...
_________________
Le violet, c'est moche.


Dernière édition par Troll-Brain le 06/05/08 17:17; édité 1 fois
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Rommstein60
MODÉRATEUR À LA RETRAITE


Inscrit le: 23 Aoû 2007
Messages: 4766
Sujets: 136
Spécialité en worldedit: Keskesapeutfout'
Médailles: 1 (En savoir plus...)
Rédacteur de tuto #1 (Quantité : 1)

MessagePosté le: 06/05/08 17:17    Sujet du message: Citer

Ok génial !
Merci beaucoup TB Very Happy

_________________
Leçon n°1 du WorldEdit : « Le violet > Troll-Brain »
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Troll-Brain
Ri1kamoua


Inscrit le: 23 Aoû 2007
Messages: 7143
Sujets: 147
Spécialité en worldedit: le troll, le flood, la vulgarité, mon coeur balance
Médailles: 2 (En savoir plus...)
Rédacteur de tuto #3 (Quantité : 1) Grand mage créateur de sort (Quantité : 1)

MessagePosté le: 10/05/08 18:36    Sujet du message: Citer

rajout du test du Get Target Unit Of Ability Being Cast
_________________
Le violet, c'est moche.
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Sapeur-Goblin
Floodeur prématuré


Inscrit le: 14 Oct 2009
Messages: 719
Sujets: 40
Spécialité en worldedit: Les bugs
Médailles: 1 (En savoir plus...)
Créateur d'unité (Quantité : 1)

MessagePosté le: 05/02/10 18:01    Sujet du message: Citer

Troll-Brain a écrit:
rajout du test du Get Target Unit Of Ability Being Cast

Alors comment on fait en GUI quand il y a un wait Question
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Troll-Brain
Ri1kamoua


Inscrit le: 23 Aoû 2007
Messages: 7143
Sujets: 147
Spécialité en worldedit: le troll, le flood, la vulgarité, mon coeur balance
Médailles: 2 (En savoir plus...)
Grand mage créateur de sort (Quantité : 1) Rédacteur de tuto #3 (Quantité : 1)

MessagePosté le: 05/02/10 19:01    Sujet du message: Citer

Sapeur-Goblin a écrit:
Troll-Brain a écrit:
rajout du test du Get Target Unit Of Ability Being Cast

Alors comment on fait en GUI quand il y a un wait Question

On fait pas, et on code en jass.
_________________
Le violet, c'est moche.
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 -> Aide sur les déclencheurs Toutes les heures sont au format GMT + 1 Heure
Aller à la page 1, 2  Suivante
Page 1 sur 2

 
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