Ediwiki

Wiki officiel de l'éditeur de carte du jeu Slayers Online

Outils pour utilisateurs

Outils du site


evexplication

Ceci est une ancienne révision du document !


Fonctionnement d'un évènement

Dans ce tutorial, nous allons voir comment l'éditeur gère les évènements.

Fonctionnement général

Un évènement, qu'est ce que c'est?

Pour simplifier, un évènement c'est une action qui va s'accomplir lorsque certaines conditions sont remplies.

Exemples:
Condition : le joueur appuie sur un bouton
Action : une porte s'ouvre

Condition : le joueur marche sur un piège
Action : le joueur meurt

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

Mais bien entendu, toutes les conditions ne sont pas toujours remplies par le joueur, on peut alors envisager une action alternative.

Exemples:
Condition : le joueur appuie sur un bouton
Action : une porte s'ouvre
Action alternative : le joueur n'a pas appuyé sur le bouton, il ne se passe rien

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 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

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 ;)

Application du fonctionnement général à l'éditeur

La page évènement se présente comme suit


A gauche se présente le cadre “Condition de déclenchement”, c'est ici que nous mettrons les conditions à remplir pour effectuer l'action.
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 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. 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)

  • Par la suite, j'emploierai les termes “CD” et “CE”, signifiants respectivement Condition de Déclenchement (condition) et Commande Evènement (action)

Les différentes conditions existantes

Appuie sur bouton
L'évènement se déclenchera lorsque le joueur appuiera sur espace (bien entendu il faut que le joueur soit sur ou juste à côté de l'évènement) (exemple : le joueur appuie sur “espace” face à une porte et se téléporte)

En contact
L'évènement se déclenchera quand le joueur sera en contact avec l'évènement (exemple : le joueur marche sur des piques : il perd des vies)

Attaque
L'évènement se déclenchera lorsque le joueur attaquera l'évènement (exemple : le joueur frappe un cristal et celui-ci se fend)

Automatique
L'évènement se déclenchera tout seul sans que le joueur n'ait rien à faire (exemple : le joueur est à peine entré dans une map qu'un message retentit “tu n'es pas le bienvenu”). Attention, il est conseillé de coupler cette condition avec une variable afin d'éviter que l'évènement ne se déclenche sans cesse.

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 :

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 variables joueur, les variables Serveur et les %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)

Exemple:
CD
Appuie sur bouton
%Name%=Frostfall
CE
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:
= (égal)
< (plus petit que)
> (plus grand que)
<= (plus petit ou égal)
>= (plus grand ou égal)
!= (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

Exemple :

Page1
Conditions de déclenchementCommande événements
Page2
Conditions de déclenchementCommande événements

Nous avons donc ici un exemple de programmation pour un PNJ qui n'aime pas les membres de la Guilde Celestia (pourtant forts sympathiques au demeurant ;-))

evexplication.1274978127.txt.gz · Dernière modification : 2022/09/25 19:09 (modification externe)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki