Table des matières
Language / Langue : FR | EN
Événements (YAML)
Les événements sont des blocs d'action déclenchés automatiquement à l'entrée d'une salle ou via des boutons.
Syntaxe de base
evenements: - si: "condition" faire: "action" texte: "Message affiché"
si:— condition de déclenchement (~ou absent = toujours)faire:— action à exécuter (ou liste d'actions)texte:— message affiché (peut être absent)
Actions disponibles dans faire:
| Syntaxe | Effet |
|---|---|
score.+.10 | Ajoute 10 à score |
pv.-.3 | Soustrait 3 à pv |
score.=.0 | Fixe score à 0 |
score.=.v_autre_v | Copie la valeur de autre dans score |
score.=.%1:6 | Valeur aléatoire 1-6 |
score.=.%1:70,5:20,10:10 | Valeur pondérée (virgule = poids) |
“herbe&&inventaire&&Description” | Ajouter un objet à l'inventaire |
“-herbe&&inventaire&&null” | Retirer un objet |
event_global:id:ON | Activer un événement global |
event_global:id:OFF | Désactiver un événement global |
event_global:id:SWITCH | Inverser l'état d'un événement global |
timer_global:id:ON | Activer un timer global |
timer_global:id:OFF | Désactiver un timer global |
declencher_event:id | Déclencher un événement global par son id |
Plusieurs actions dans un même événement :
faire: - "pv.+.5" - "score.+.10" - "event_global:bonus_visite:ON"
Fins de partie
evenements: - si: "v_pv_v <= 0" fin: defaite texte: "Vous êtes mort..." - si: "v_score_v >= 100" fin: victoire texte: "Félicitations !"
fin: et faire: sont exclusifs. Pour faire une action ET terminer, utilisez une salle intermédiaire.
Redirection (vers:)
evenements: - si: "v_pv_v <= 0" vers: salle_mort texte: "Vous perdez connaissance..."
Un événement avec vers: stoppe les événements suivants (comme 997 en .txt).
Bouton sur un événement
Un événement peut être transformé en bouton cliquable avec bouton:. Sans bouton:, il s'exécute automatiquement à l'entrée.
evenements: - si: ~ bouton: "🍎 Manger une pomme (+3 PV)" faire: "pv.+.3" texte: "Vous mangez une pomme. PV : v_pv_v"
Limiter les utilisations (max:)
evenements: - si: ~ bouton: "🪙 Ramasser une pièce" faire: "score.+.10" max: 3 # utilisable 3 fois au maximum texte: - si: "_max_atteint_" texte: "Il n'y a plus de pièces." - texte: "+10 score !"
max: accepte un entier fixe ou une variable (ex: v_charges_v).
_max_atteint_ est une condition spéciale vraie quand le compteur vient d'être épuisé.
Boutons conditionnels (visible-si / grise-si)
evenements: - si: ~ bouton: "⚔️ Attaquer" visible-si: "v_pv_v > 0" # masqué si PV = 0 faire: "score.+.5" texte: "Vous attaquez !" - si: ~ bouton: "🏃 Fuir" grise-si: "v_pv_v <= 0" # visible mais inactif si PV = 0 vers: accueil
visible-si: masque le bouton si la condition est fausse. grise-si: laisse le bouton visible mais inactif si la condition est vraie.
⚠ Sur Discord, les boutons sont figés dans le message envoyé. Cliquer sur 🔄 (rafraichir) force un réaffichage avec les boutons à jour.
Texte conditionnel sur un événement
Le champ texte: accepte une liste de blocs conditionnels :
texte: - si: "_max_atteint_" texte: "Plus de charges disponibles !" - si: "v_score_v > 50" texte: "🏆 Riche aventurier — score v_score_v !" - texte: "Action effectuée." # fallback toujours affiché
Comportement séquentiel
⚠ Critique : les événements s'exécutent dans l'ordre. Chaque événement voit les valeurs déjà modifiées par les précédents. Un événement avec vers: ou fin: stoppe les suivants.
Timer déclenché par événement
evenements: - si: ~ timer: sablier duree: "30" vers: salle_expiration texte: "Le sablier est lancé !"
v_sablier_v contient les secondes restantes. Si le joueur quitte la salle, le timer local s'annule.
Commande manuelle dans faire: (v4.9)
L'action commande: dans faire: déclenche une commande bot textuelle depuis un événement, un choix ou une action :
faire: - commande: "prendre cle" - commande: "examiner coffre" - commande: "aller laboratoire"
Fonctionne avec toutes les commandes standard : prendre, examiner, jeter, avancer, reculer, rafraichir, inventaire, action.
Utile pour déclencher automatiquement une série d'actions enchaînées, ou pour simuler une interaction à partir d'un événement.
Retrouvez nous sur le discord Make&Play
