Outils pour utilisateurs

Outils du site


fr:yaml:evenements

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
fr:yaml:evenements [2026/05/03 17:01] – Événements YAML cyrilfiestafr:yaml:evenements [2026/05/03 18:47] (Version actuelle) – Harmonize FR/EN language switch cyrilfiesta
Ligne 1: Ligne 1:
-====== Syntaxe YAML — Événements ======+**Language / Langue :** **FR** | [[en:yaml:evenements|EN]]
  
-Les événements permettent de déclencher des actions automatiquement selon des conditions.+====== Événements (YAML) ======
  
-===== Structure d'un événement =====+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 =====
  
 <code yaml> <code yaml>
 evenements: evenements:
-  - si: "condition"        # condition de déclenchement +  - si: "condition" 
-    faire: "action"        # action(s) à exécuter +    faire: "action" 
-    vers: salle_cible      # redirection (optionnelle) +    texte: "Message affiché"
-    texte: "message      # texte affiché (optionnel) +
-    fin: victoire          # fin de partie (optionnel)+
 </code> </code>
  
-===== Actions (faire:=====+  * ''si:'' — condition de déclenchement (''~'' ou absent toujours) 
 +  * ''faire:'' — action à exécuter (ou liste d'actions) 
 +  * ''texte:'' — message affiché (peut être absent)
  
-**Variable :** +===== Actions disponibles dans faire===== 
-<code yaml> + 
-faire: "pv.-.5" +^ Syntaxe ^ Effet ^ 
-faire: "or.+.10" +| ''score.+.10'' | Ajoute 10 à ''score''
-faire"etat.=.1" +| ''pv.-.3'' | Soustrait 3 à ''pv'' | 
-</code>+| ''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 :
  
-**Plusieurs actions :** 
 <code yaml> <code yaml>
 faire: faire:
-  - "pv.-.5" +  - "pv.+.5" 
-  - "or.+.10" +  - "score.+.10" 
-  - "armee.=.0"+  - "event_global:bonus_visite:ON"
 </code> </code>
  
-**Objet :**+===== Fins de partie ===== 
 <code yaml> <code yaml>
-faire: "o+cle         # ajouter l'objet "cle+evenements: 
-faire: "o-cle         # retirer l'objet "cle"+  - si: "v_pv_v <= 0" 
 +    fin: defaite 
 +    texte: "Vous êtes mort...
 + 
 +  - si: "v_score_v >= 100" 
 +    fin: victoire 
 +    texte: "Félicitations !"
 </code> </code>
  
-**Timer :**+''fin:'' et ''faire:'' sont exclusifs. Pour faire une action ET terminer, utilisez une salle intermédiaire. 
 + 
 +===== Redirection (vers:) ===== 
 <code yaml> <code yaml>
-faire"timer+bombe:30   # démarrer un timer "bombe" de 30s +evenements: 
-faire: "timer-bombe"       # annuler le timer "bombe"+  - si: "v_pv_v <= 0
 +    vers: salle_mort 
 +    texte: "Vous perdez connaissance..."
 </code> </code>
  
-**Déclencher un événement global nommé :**+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. 
 <code yaml> <code yaml>
-faire: "declencher_event:mon_evenement"+evenements: 
 +  - si: ~ 
 +    bouton: "🍎 Manger une pomme (+3 PV)" 
 +    faire: "pv.+.3" 
 +    texte: "Vous mangez une pomme. PV v_pv_v"
 </code> </code>
  
-**Commande manuelle :**+===== Limiter les utilisations (max:) ===== 
 <code yaml> <code yaml>
-faire+evenements
-  - commande: "examiner coffre+  - si: ~ 
-  commande: "prendre cle"+    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 !"
 </code> </code>
  
-===== Événements globaux =====+''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é.
  
-Exécutés en permanence à chaque changement de salle :+===== Boutons conditionnels (visible-si / grise-si) =====
  
 <code yaml> <code yaml>
-evenements_globaux+evenements
-  # Plafond automatique +  - si: ~ 
-  - si: "v_pv_v > 20+    bouton: "⚔️ Attaquer" 
-    faire: "pv.=.20"+    visible-si: "v_pv_v > 0  # masqué si PV = 0 
 +    faire: "score.+.5" 
 +    texte: "Vous attaquez !"
  
-  # Événement nommé déclenchable +  - si~ 
-  idsoigner +    bouton: "🏃 Fuir
-    si: "~+    grise-si: "v_pv_v <= 0   # visible mais inactif si PV = 0 
-    faire: "pv.+.5+    versaccueil 
-    texte"Vous récupérez 5 PV."+</code>
  
-# Ordre d'exécution +''visible-si:'' masque le bouton si la condition est fausse. ''grise-si:'' laisse le bouton visible mais inactif si la condition est vraie. 
-997_globauxavant   # ou "apres"+ 
 +⚠ 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 : 
 + 
 +<code yaml> 
 +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é
 </code> </code>
  
-===== Événements avec fin de partie =====+===== 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 =====
  
 <code yaml> <code yaml>
 evenements: evenements:
-  - si: "v_pv_v <= 0" +  - si: ~ 
-    findefaite +    timersablier 
-    texte: "Vous êtes mort. Game over." +    duree: "30" 
-  - si: "v_tour_v > 30" +    verssalle_expiration 
-    finvictoire +    texte: "Le sablier est lancé !"
-    texte: "Vous avez survécu !"+
 </code> </code>
  
-===== Compteur d'utilisations (max:) =====+''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 :
  
 <code yaml> <code yaml>
-evenements+faire
-  - si: "~+  - commande: "prendre cle
-    faire: "pv.+.5+  - commande: "examiner coffre
-    texte: "Vous buvez la potion. +5 PV." +  - commande: "aller laboratoire"
-    max: 1 +
-    texte_max: "La potion est vide."+
 </code> </code>
  
-===== Voir aussi =====+Fonctionne avec toutes les commandes standard : ''prendre'', ''examiner'', ''jeter'', ''avancer'', ''reculer'', ''rafraichir'', ''inventaire'', ''action''.
  
-  * [[fr:yaml:conditions|Conditions]] +Utile pour déclencher automatiquement une série d'actions enchaînées, ou pour simuler une interaction à partir d'un événement.
-  * [[fr:yaml:timers|Timers]] +
-  * [[fr:yaml:variables|Variables]]+
  
 +**Retrouvez nous sur le [[https://discord.gg/Z63DtVV|discord Make&Play]]**
fr/yaml/evenements.1777820512.txt.gz · Dernière modification : de cyrilfiesta