**Language / Langue :** **FR** | [[en:yaml:evenements|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 [[https://discord.gg/Z63DtVV|discord Make&Play]]**