**Language / Langue :** **FR** | [[en:yaml:variables|EN]]
====== Variables (YAML) ======
===== Déclaration des variables =====
Les variables numériques se déclarent dans le bloc ''vars:'' de l'en-tête :
vars:
# Forme courte (valeur seule)
score: 0
# Forme longue (avec description)
pv:
valeur: 10
description: "Points de vie"
La description est affichée si le joueur examine la variable (''j!examiner score'') ou si elle est liée à une option permanente (''v_score_v§⭐'').
===== Variables textuelles =====
Déclarées dans ''vars_texte:'' :
vars_texte:
nomjoueur:
valeur: "Aventurier"
description: "Nom du joueur"
Référencées dans les textes avec ''t_nom_t''. Le joueur peut modifier la valeur avec ''j!repondre'' si la variable est déclarée dans la salle en cours.
===== Variables online =====
Persistées entre toutes les parties, sur tous les serveurs. Déclarées dans ''vars_online:'' :
vars_online:
recordscore_o:
valeur: 0
description: "Meilleur score jamais atteint"
Le nom **doit finir par ''_o''**. Utilisation identique aux variables normales : ''v_recordscore_o_v''.
La variable ''nb_parties_o'' existe automatiquement — incrémentée à chaque lancement.
===== Variables dans init: (par salle) =====
Le bloc ''init:'' d'une salle est exécuté à chaque entrée :
init:
# Variable numérique
- var: desresultat
valeur: "%=1:6"
description: "Résultat du lancer de dé"
# Variable textuelle
- var_texte: etat
valeur: "repos"
description: "État du joueur"
===== Modificateurs de valeur =====
^ Syntaxe ^ Effet ^
| ''0'' (nombre fixe) | Fixe la valeur à 0 |
| ''"+1"'' | Ajoute 1 à la valeur actuelle |
| ''"-3"'' | Soustrait 3 |
| ''"%=1:6"'' | Aléatoire entre 1 et 6 |
| ''"%+1:3"'' | Ajoute un aléatoire entre 1 et 3 |
| ''"%=v_force_v:v_pvmax_v"'' | Aléatoire avec variables comme bornes |
===== Variables dans les textes =====
* ''v_nom_v'' → valeur d'une variable numérique
* ''t_nom_t'' → valeur d'une variable textuelle
===== Variables système =====
^ Variable ^ Valeur ^
| ''v_resultat_v'' | Résultat du dernier aléatoire ''%=X:Y'' |
| ''v_valeur_v'' | Dernier code saisi dans ''j!avancer salle code'' |
| ''v_reponse_v'' | Valeur saisie avec ''j!repondre'' |
| ''v_nom_timer_v'' | Secondes restantes du timer ''nom'' |
===== Formatage de l'affichage =====
On peut formater l'affichage d'une variable numérique avec ''|padN'' :
texte: "Tour : v_tour_v|pad2" # affiche "Tour : 07" si tour = 7
===== Piège classique : variables online =====
⚠ Le texte d'un événement est évalué **avant** l'action du même événement.
Pour afficher la **nouvelle** valeur d'un record, affichez la variable source, pas la destination :
evenements:
- si: "v_score_v > v_record_o_v"
faire: "record_o.=.v_score_v"
# Affiche v_score_v (la source), pas v_record_o_v (pas encore mise à jour)
texte: "Nouveau record : v_score_v (ancien : v_record_o_v)"
**Retrouvez nous sur le [[https://discord.gg/Z63DtVV|discord Make&Play]]**