**Language / Langue :** **FR** | [[en:yaml:timers|EN]] ====== Timers (YAML) ====== JDR-Bot offre quatre types de mécaniques temporelles. ===== 1. Pause visuelle {{timer:N}} ===== Bloque le jeu N secondes avec un compte à rebours visible, puis affiche les choix : texte: | Le mécanisme s'enclenche... {{timer:3}} La porte s'ouvre ! ===== 2. Timer local (lié à une salle) ===== Déclaré dans un événement, se lance à l'entrée de la salle. S'annule si le joueur quitte la salle. evenements: - si: ~ timer: sablier duree: "30" vers: salle_expiration texte: "⏱️ Timer lancé — v_sablier_v secondes restantes." * ''timer:'' — nom du timer (identifiant unique) * ''duree:'' — durée en secondes (chaîne ou variable : ''v_duree_v'') * ''vers:'' — salle de destination à l'expiration * ''faire:'' — action alternative (sans changer de salle) à l'expiration * ''v_nom_timer_v'' — variable auto-créée avec les secondes restantes ===== 3. Timer global (survit aux changements de salle) ===== Déclaré dans ''timers_globaux:'' et activé via ''timer_global:id:ON'' : # En-tête du scénario timers_globaux: - id: comptebombe duree: 60 etat: OFF # OFF par défaut # Dans un événement ou choix : faire: "timer_global:comptebombe:ON" À expiration, déclenche les événements globaux liés (''si: "v_comptebombe_v = 0"''). **Timers globaux autonomes (v4.9)** — à l'expiration, exécute directement ses propres actions sans passer par un événement global : timers_globaux: - id: compte_rebours_fatal duree: 60 etat: OFF texte: "⏰ Temps écoulé ! La porte se referme..." faire: - "score.-.20" vers: fin_defaite ===== 4. Tick : action chaque seconde ===== ''tick:'' exécute une liste de blocs à chaque seconde du timer (local ou global) : evenements: - si: ~ timer: tick_demo duree: "180" vers: salle_expiration tick: - si: ~ # toujours exécuté faire: "ticks_ecoules.+.1" - si: "v_ticks_ecoules_v > 5" # conditionnel faire: "autre_var.+.1" Sur un timer global : timers_globaux: - id: poison_tick duree: 30 etat: OFF tick: - si: "v_pv_v > 0" faire: "pv.-.1" texte: "☠️ Le poison agit... (PV : v_pv_v)" Notes : * ''tick:'' est indépendant de ''vers:'' et ''faire:'' (qui s'exécutent à l'expiration) * Quitter la salle annule le timer local ET son tick * Garde anti-récursion : ''declencher_event:'' dans un tick est limité à 10 niveaux ===== Annuler des timers ===== faire: "annuler_timer:nom" # annule un timer spécifique faire: "annuler_tous_timers:" # annule tous les timers actifs **Retrouvez nous sur le [[https://discord.gg/Z63DtVV|discord Make&Play]]**