Système TeamSpeak du Réseau Jeux-Strategie.com Abonnez-vous à nos flux RSS Mur du Réseau Jeux-Strategie.com
 
 
 
Guide: l'éditeur de carte de Warcraft III
- Par RaptorTeak - Edition du : 12 May 2006 - Créé le : 10 May 2006

Chapitre:


Page:


Les Réponses - Evènements : Plus de détails

He oui, maintenant que nous sommes entrés dans le monde des Réponses évènements, autant vous en faire découvrir leur fonction, ainsi que la fameuse réponse - évènement "Triggering Unit" que nous découvrirons à la fin de ce chapitre.

Petit rappel : une réponse-évènement est une entité définie par un évènement. Comme on l'a vu au-dessus, "Entering Unit" avait été défini par l'évènement "Unité - Unit enters Region", en tant que l'unité qui entre dans la région.


Nous allons maintenant examiner des réponses-évènements, ainsi que leur évènement qui va avec :) .
Nous allons voir l'évènement "dès qu'une unité meurt".

Faites, Ctrl + E. Cet évènement n'est pas un évènement tout fait, car comme vous le remarquerez, il n'y a pas "Unité - A unit meurt".

La solution, je vais vous la donner : elle se trouve dans "Unit - Generic Unit event".
En français, cela signifie : "dès qu'il arrive quelque chose à n'importe quelle unité". On selectionne, et là, on est chanceux, car le paramètre à renseigner est par défault "meurt". Si vous cliquez dessus, vous pourrez remarquer plein d'autres paramètres qui vous seront obligatoirement utiles un jour ;) .



Mais bref, donc on laisse comme ça, et on valide. On a donc notre évènement "Unité - A unit meurt" !.

Maintenant, voyons les réponses-évènements que ce déclencheur aurait pu définir. Si on réfléchit, par logique, il aurait du définir :

  • Cette fameuse unité qui meurt (he oui, on a parfois besoin d'une unité, même morte ^^)
  • L'unité qui l'a tuée. Bah oui, elle est par morte comme ça :p .

On cherche donc dans les réponses-évènements, et on trouve :

  • Réponse-évènement : Dying Unit (L'unité qui meurt)
  • Réponse-évènement : Killing Unit (L'unité qui l'a tuée)

Nous savons donc maintenant que l'on pourra se servir de ces deux réponses-évènements dans les actions, et aussi les conditions :) .

Bon maintenant, je vais vous expliquer en plus court, pour la plupart des réponses évènements :

Evènement : "Unité - A unit est attaquée" (trouvé dans la catégorie "Unité - Generic Unit Event")
Réponses-évènements définies :
  • Réponse - évènement : Attacked Unit (l'unité en question, celle qui est attaquée)
  • Réponse - évènement : Attacking Unit (là, il s'agit de l'unité qui attaque)


Evènement : "Unité - A unit gagne un niveau" (trouvé dans la catégorie "Unité - Generic Unit Event")
Réponses-évènements définies :
  • Réponse - évènement : Leveling Hero (le héro en question, celui qui monte de niveau)


Et plein d'autres comme ça...

Réponse-évènement : Triggering Unit



Mais interessons-nous à un cas particulier...
Prenons l'évènement "Unit - A unit finit l'entraînement d'une unité" (peut être trouvé dans "Unité - Generic Unit Event").
Cet évènemenent s'enclenchera lorsque, par exemple, une caserne aura fini d'entraîner un fantassin :) .
Par logique, on devine que cet évènement définiera 2 réponses-évènements :
  • L'unité qui a entraîné l'unité qui a été entraînée (exemple : une caserne)
  • L'unité qui a été entraînée (exemple : un fantassin)


Pour l'unité qui a été entraînée, on trouve très vite :
Réponse-évènement : Trained Unit

Mais pour l'unité qui l'a entraînée, on trouve rien o_O . Aucun "Training Unit" ou quelque chose du genre : rien.

Heee si, il existe pourtant une solution ! Bon, je dois vous la donner, car sinon ça va vous être difficile, à moins de tout tester pour savoir laquelle est la bonne, il s'agit de :
Réponse-évènement : Triggering Unit

Hein ?? Mais pourtant ça sonne pas du tout avec ce que l'on veut !


Et bien là, lisez attentivement, mais sachez que CHAQUE évènement qui parle d'unité définiera OBLIGATOIREMENT la réponse-évènement "Triggering unit".

Mais comment on sait à quoi correspond Triggering Unit ?


Triggering Unit est en fait une réponse-évènement universelle, qui s'applique à tous les évènements parlant d'une unité. Il s'agit en fait de l'unité qui est expliquée en premier dans l'évènement.

Bref, pour en revenir à l'évènement que nous regardions : "Unité - A unit finit l'entraînement d'une unité" :
La première unité dont on parle dans ce déclencheur est bien l'unité qui entraîne, non ?
"Unité - A unit finit l'entraînement d'une unité"

Et bien oui, cette première unité dont on parle, que j'ai mis en gras, sera la réponse-évènement Triggering Unit.

Donc notre évènement agira comme ceci :
  • Réponse-évènement : Triggering Unit (l'unité dont on parle en premier, et donc celle qui l'a entraînée)
  • Réponse-évènement : Trained Unit (l'unité qui a été entraînée)

Mais... Pour un évènement comme "Unité - A unit enters Region", la seule, et donc la première unité dont on parle, c'est Entering Unit pourtant, pas Triggering Unit !


Et bien... pas tout à fait ^^ . L'unité qui entre sera ET Entering Unit ET Triggering Unit .
En gros, nous aurons deux solutions pour parler de la même unité ^^ .

C'est pourquoi, quand vous ne trouvez pas la réponse-évènement qu'il vous faut, il s'agira très souvent de "Triggering Unit".

Un petit exercice



Voila un exercice tout simple pour voir si vous avez bien retenu l'histoire des réponses-évènements et aussi bien lu le chapitre :p :

Faire que lorsque un archimage bien spécifique attaque une unité, celle-ci meurt instantanement.
Pistes :
  • Faire un évènement lorsqu'une unité est attaquée
  • Faire une condition qui vérifie que l'unité qui attaque est belle et bien l'archimage
  • Faire une action qui tue l'unité attaquée


Amusez-vous bien :D .