Vous pouvez définir des actions personnalisées, donnant accès à des commandes au nom de l’action.
Ces action se définissent soit dans une salle (action locale, possible uniquement dans cette salle) au même endroit que les directions et les événements 997 (donc après le texte de la salle), soit à la fin du scénario (au même endroit que les variables onlines, les alias, …)
La syntaxe : « action:cible|condition(s)|effet|phrase si condition ok|phrase si condition pas ok »
Le joueur devra alors utiliser la commande « j!action cible ». Par exemple « casser:porte », le bot répondra à la commande « j!casser porte ».
Si l’action/commande écrite par le joueur n’existe pas, le bot l’indiquera. De même si la cible est incorrecte.
Il est possible de mettre « all » comme cible. Dans ce cas, la commande réalisera l’action, quelle que soit la cible tapée par le joueur.
La variable action_cible (ou t_action_cible_t selon l’endroit du scénario) contiendra la dernière cible tapée par le joueur (valide ou non), et la variable action_cible_ok contiendra la dernière cible valide tapée par le joueur.
Il est alors possible, avec « all » et ses 2 variables, de créer une multitude d’action tout en laissant une grande liberté au joueur.
Dernière chose : il est possible de spécifier plusieurs fois la même action:cible. Dans ce cas, la première dont les conditions sont respectés sera exécutés. Si aucune ne respecte les conditions, ce sera le texte de refus de la dernière qui sera affiché. De même, les actions locales sont testées avant les actions globales.
Le scénario « tutoriel_actions.txt » vous montre des exemples d’utilisations concrets !
Retrouvez nous sur le discord Make&Play