Prochaine révision | Révision précédente |
documentation:explication_event_action [2020/08/23 14:21] – créée lyssitz | documentation:explication_event_action [2022/09/25 19:11] (Version actuelle) – modification externe 127.0.0.1 |
---|
====Fonctionnement général==== | ====Fonctionnement général==== |
| |
Un évènement, qu'est ce que c'est? | Un évènement, qu'est-ce que c'est ? |
| |
Pour simplifier, un évènement c'est une action qui va être accomplie lorsque certaines conditions sont remplies. | Pour simplifier, un évènement c'est une action qui va être accomplie lorsque certaines conditions sont remplies. |
| |
__Exemples:__ | __Exemples :__ |
\\ Condition : le joueur appuie sur un bouton | \\ Condition : le joueur appuie sur un bouton |
\\ Action : une porte s'ouvre | \\ Action : une porte s'ouvre |
| |
Condition : le joueur est dans telle guilde, il a plus de 2000 pièces d'or sur lui et il appuie sur un bouton | Condition : le joueur est dans telle guilde, il a plus de 2000 pièces d'or sur lui et il appuie sur un bouton |
\\ Action :le joueur perd 2000 pièces d'or et il se téléporte dans une map | \\ Action : le joueur perd 2000 pièces d'or et il se téléporte dans une map |
| |
| |
Mais bien entendu, toutes les conditions ne sont pas toujours remplies par le joueur, on peut alors envisager une action alternative. | Mais bien entendu, toutes les conditions ne sont pas toujours remplies par le joueur, on peut alors envisager une action alternative. |
| |
__Exemples:__ | __Exemples :__ |
\\ Condition : le joueur appuie sur un bouton | \\ Condition : le joueur appuie sur un bouton |
\\ Action : une porte s'ouvre | \\ Action : une porte s'ouvre |
Condition : le joueur se présente à une porte, il a 2000 pièces d'or sur lui | Condition : le joueur se présente à une porte, il a 2000 pièces d'or sur lui |
\\ Action : il perd son or et est téléporté | \\ Action : il perd son or et est téléporté |
\\ Action alternative : le joueur n'a pas 2000 pièces d'or sur lui mais il s'est présenté à la porte. Toutes les conditions ne sont pas remplie. Un message lui indique qu'il ne peut pas passer | \\ Action alternative : le joueur n'a pas 2000 pièces d'or sur lui mais il s'est présenté à la porte. Toutes les conditions ne sont pas remplies. Un message lui indique qu'il ne peut pas passer |
| |
Vous avez peut-être déjà entendu parlé de "Si, alors, sinon" ou de "If, then, else" dans certains langages de programmation. C'est exactement le même principe ici ;) | Vous avez peut-être déjà entendu parler de "Si, alors, sinon" ou de "If, then, else" dans certains langages de programmation. C'est exactement le même principe ici ;) |
| |
| |
\\ A droite se présente le cadre "Commande évènement", c'est ici que nous décrirons les actions à effectuer lorsque les conditions sont remplies. | \\ A droite se présente le cadre "Commande évènement", c'est ici que nous décrirons les actions à effectuer lorsque les conditions sont remplies. |
| |
Et l'action alternative en cas de non respect des conditions? | Et l'action alternative en cas de non-respect des conditions ? |
Et bien c'est dans une 2ème page que cela se passe. En effet, lorsque les conditions nécéssaires à l'effectuation des actions ne sont pas remplies, c'est la 2ème page qui sera lue. | Et bien c'est dans une 2ème page que cela se passe. En effet, lorsque les conditions nécessaires à l'effectuation des actions ne sont pas remplies, c'est la 2ème page qui sera lue. |
En fait les pages de l'évent seront lues dans l'ordre jusqu'à ce que toutes les conditions d'une des page soient remplies (Les conditions de chaque page vont être testées pour voir si elles correspondent bien à la réalité du joueur. Exemple : "condition : le pseudo du joueur est Roger". Le jeu va vérifier si le pseudo du joueur est bien Roger) | En fait les pages de l'évent seront lues dans l'ordre jusqu'à ce que toutes les conditions d'une des pages soient remplies (Les conditions de chaque page vont être testées pour voir si elles correspondent bien à la réalité du joueur. Exemple : "condition : le pseudo du joueur est Roger". Le jeu va vérifier si le pseudo du joueur est bien Roger) |
\\ \\ | \\ \\ |
De plus, il est aussi possible de mettre en condition de déclenchement deux conditions (par exemple Attaque et Appuie sur bouton) puis d'utiliser la commande [[commandes:condition]] dans les commandes évènement afin de différencier les actions qui vont être effectuée en fonction de ce qu'a fait le joueur | De plus, il est aussi possible de mettre en condition de déclenchement deux conditions (par exemple Attaque et Appuie sur bouton) puis d'utiliser la commande [[commandes:condition]] dans les commandes évènement afin de différencier les actions qui vont être effectuée en fonction de ce qu'a fait le joueur |
| |
* Par la suite, j'emploierai les termes "CD" et "CE", signifiants respectivement Condition de Déclenchement (condition) et Commande Evènement (action) | * Par la suite, j'emploierai les termes "CD" et "CE", signifiants respectivement Condition de Déclenchement (condition) et Commande Evènement (action) |
| |
| |
| |
**Auto une seul fois**\\ | **Auto une seul fois**\\ |
L'évènement se déclenchera tout seul, mais à une seule reprise. Si le joueur sort et rerentre dans la map, alors l'évènement se déclenchera une seconde fois. (exemple : le joueur rentre dans une map, assiste à une scène de ménage entre deux pnj et la femme part en râlant) | L'évènement se déclenchera tout seul, mais à une seule reprise. Si le joueur sort et revient dans la map, alors l'évènement se déclenchera une seconde fois. (Exemple : le joueur rentre dans une map, assiste à une scène de ménage entre deux pnj et la femme part en râlant) |
| |
**Variable**\\ | **Variable**\\ |
Il est aussi possible de définir d'autres conditions comme le lvl du joueur, l'or qu'il a sur lui, le nombre de PV qu'il lui reste etc (en fait, toutes les [[var_char:|variables joueur]], les variables [[commandes:Serveur]] et les [[var_event:evcasex|%EvCaseX% et %EvCaseY%]]) | Il est aussi possible de définir d'autres conditions comme le lvl du joueur, l'or qu'il a sur lui, le nombre de PV qu'il lui reste etc (en fait, toutes les [[var_char:|variables joueur]], les variables [[commandes:Serveur]] et les [[var_event:evcasex|%EvCaseX% et %EvCaseY%]]) |
En revanche on ne peut pas définir une variable comme seule condition, il faut obligatoirement la coupler avec une des condition sus-citées)\\ \\ | En revanche on ne peut pas définir une variable comme seule condition, il faut obligatoirement la coupler avec une des condition sus-citées)\\ \\ |
__Exemple:__\\ | __Exemple :__\\ |
CD\\ | CD\\ |
Appuie sur bouton\\ | Appuie sur bouton\\ |
%Name%=Frostfall\\ | %Name%=Frostfall\\ |
CE\\ | CE\\ |
Message('Bonjour, ô tyran suprême, belle journée n'est-ce pas?')\\ \\ | Message('Bonjour, ô tyran suprême, belle journée n'est-ce pas ?')\\ \\ |
Il y a différentes manières de tester la valeur d'une variable: \\ | Il y a différentes manières de tester la valeur d'une variable : \\ |
= (égal) \\ | = (égal) \\ |
< (plus petit que)\\ | < (plus petit que)\\ |
<html>></html> (plus grand que)\\ | <html>></html> (plus grand que)\\ |
<html><=</html> (plus petit ou égal)\\ | <html><=</html> (plus petit ou égal)\\ |
<html>>=</html> (plus grand ou égal)\\ | <html>>=</html> (plus grand ou égal)\\ |
!= (différent de) | != (différent de) |
| |
* Bon à savoir : Si en CD vous ne mettez **qu'une seule** des conditions suivantes : "Appuie sur bouton", "En contact" ou "Attaque", l'éditeur n'ira pas voir les autres pages évent quand le joueur ne remplit pas la condition, il attendra simplement que le joueur vienne appuyer sur le bouton, vienne au contact ou vienne attaquer l'évent. En revanche si vous couplez une de ces trois condition avec une variable, et que vous mettez d'autres pages derrières, ces pages pourront être lues lors d'un non respect des CD\\ | * Bon à savoir : Si en CD vous ne mettez **qu'une seule** des conditions suivantes : "Appuie sur bouton", "En contact" ou "Attaque", l'éditeur n'ira pas voir les autres pages évent quand le joueur ne remplit pas la condition, il attendra simplement que le joueur vienne appuyer sur le bouton, vienne au contact ou vienne attaquer l'évent. En revanche si vous couplez une de ces trois conditions avec une variable, et que vous mettez d'autres pages derrières, ces pages pourront être lues lors d'un non-respect des CD\\ |
__Exemple :__\\ | __Exemple :__\\ |
| |
<html> | <html> |
<style type=text/css>TEXTAREA { background-color : white; font-family : MS Sans Serif; font-size : 8px;} | |
</style><center><table cellspacing=2><tr height=25><th colspan=3 align=left> | <center><table cellspacing=2><tr height=25><th colspan=3 align=left> |
Page1 | Page1 |
</th></tr><tr><td><b>Conditions de déclenchement</b></td><td></td><td><b>Commande événements</b></td></tr><tr><td><TEXTAREA ROWS=3 COLS=100 SIZE=320 WRAP=soft readonly> | </th></tr><tr><td><b>Conditions de déclenchement</b></td><td></td><td><b>Commande événements</b></td></tr><tr><td><TEXTAREA ROWS=3 WRAP=soft readonly> |
Appuie sur bouton | Appuie sur bouton |
%Guilde%!=Celestia | %Guilde%!=Celestia |
// Guilde différente de Celestia | // Guilde différente de Celestia |
</TEXTAREA></td><td width=20></td><td><TEXTAREA ROWS=3 COLS=100 SIZE=320 WRAP=soft readonly> | </TEXTAREA></td><td width=20></td><td><TEXTAREA ROWS=3 WRAP=soft readonly> |
Message('Bonjour') | Message('Bonjour') |
</TEXTAREA></td></tr></table> | </TEXTAREA></td></tr></table> |
</html> | </html> |
<html> | <html> |
<style type=text/css>TEXTAREA { background-color : white; font-family : MS Sans Serif; font-size : 8px;} | |
</style><center><table cellspacing=2><tr height=25><th colspan=3 align=left> | <center><table cellspacing=2><tr height=25><th colspan=3 align=left> |
Page2 | Page2 |
</th></tr><tr><td><b>Conditions de déclenchement</b></td><td></td><td><b>Commande événements</b></td></tr><tr><td><TEXTAREA ROWS=3 COLS=100 SIZE=320 WRAP=soft readonly> | </th></tr><tr><td><b>Conditions de déclenchement</b></td><td></td><td><b>Commande événements</b></td></tr><tr><td><TEXTAREA ROWS=3 WRAP=soft readonly> |
Automatique | Automatique |
</TEXTAREA></td><td width=20></td><td><TEXTAREA ROWS=3 COLS=100 SIZE=320 WRAP=soft readonly> | </TEXTAREA></td><td width=20></td><td><TEXTAREA ROWS=3 WRAP=soft readonly> |
Message('Argh, meurs espèce de porc scrofuleux! ') | Message('Argh, meurs espèce de porc scrofuleux! ') |
%Vie%=0 | %Vie%=0 |