Outils pour utilisateurs

Outils du site


fr:yaml:variables

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:variables [2026/05/03 17:01] – Variables YAML cyrilfiestafr:yaml:variables [2026/05/03 21:18] (Version actuelle) cyrilfiesta
Ligne 1: Ligne 1:
-====== Syntaxe YAML — Variables ======+**Language / Langue :** **FR** | [[en:yaml:variables|EN]]
  
-===== Déclaration =====+====== Variables (YAML) ======
  
-Les variables se déclarent dans la section ''vars:'' à la racine du fichier :+===== Déclaration des variables ===== 
 + 
 +Les variables numériques se déclarent dans le bloc ''vars:'' de l'en-tête :
  
 <code yaml> <code yaml>
 vars: vars:
 +  # Forme courte (valeur seule)
 +  score: 0
 +
 +  # Forme longue (avec description)
   pv:   pv:
     valeur: 10     valeur: 10
-    description: "Points de vie (0-20)" +    description: "Points de vie"
-  or: +
-    valeur: 0 +
-    description: "Pièces d'or" +
-  nom_joueur: +
-    valeur: "Aventurier" +
-    description: "Nom du personnage"+
 </code> </code>
  
-===== Référence dans le texte =====+La description est affichée si le joueur examine la variable (commande ''examiner score'') ou si elle est liée à une option permanente.
  
-^ Type ^ Syntaxe ^ Exemple ^ +===== Variables textuelles ===== 
-| Variable numérique | ''v_nom_v'' | ''v_pv_v'' | + 
-| Variable texte | ''t_nom_t'' | ''t_nom_joueur_t''+Déclarées dans ''vars_texte:'' :
-| Variable online | ''v_nom_o_v''''v_score_o_v'' |+
  
 <code yaml> <code yaml>
-texte: "Bonjour t_nom_joueur_t ! Il vous reste v_pv_v PV."+vars_texte: 
 +  nomjoueur: 
 +    valeur: "Aventurier" 
 +    description: "Nom du joueur"
 </code> </code>
  
-===== Modification (dans faire:) =====+Référencées dans les textes avec ''t_nom_t''. Le joueur peut modifier la valeur avec la commande ''repondre'' si la variable est déclarée dans la salle en cours.
  
-^ Syntaxe ^ Effet ^ +===== Variables online ===== 
-| ''pv.=.10'' | Assigner la valeur 10 | + 
-| ''pv.+.5'' | Ajouter 5 | +Persistées entre toutes les parties, sur tous les serveursDéclarées dans ''vars_online:'' :
-| ''pv.-.3'' | Soustraire 3 | +
-| ''pv.*.2'' | Multiplier par 2 | +
-| ''pv.//.2'' | Division entière par 2 | +
-| ''pv.=.v_autre_v'' | Assigner la valeur d'une autre variable | +
-| ''pv.+.v_bonus_v'| Ajouter la valeur d'une autre variable |+
  
 <code yaml> <code yaml>
-evenements+vars_online
-  - si"~" +  recordscore_o
-    faire+    valeur0 
-      - "pv.-.5" +    description: "Meilleur score jamais atteint"
-      - "or.+.10" +
-      - "pv.=.v_pv_max_v"+
 </code> </code>
  
-===== Aléatoire =====+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 :
  
 <code yaml> <code yaml>
 init: init:
-  - var: de +  # Variable numérique 
-    valeur: "%=1:6"        # dé 6 faces (uniforme)+  - var: desresultat 
 +    valeur: "%=1:6" 
 +    description: "Résultat du lancer de "
  
-evenements: +  # Variable textuelle 
-  - si: "~+  - var_texte: etat 
-    faire: "degats.=.%=1:6  # dans faire:+    valeur: "repos
 +    description: "État du joueur"
 </code> </code>
  
-**Table pondérée** (dans ''faire:'' uniquement) :+===== Modificateurs de valeur =====
  
-<code yaml> +^ Syntaxe ^ Effet ^ 
-evenements: +| ''0'' (nombre fixe) | Fixe la valeur à 0 | 
-  - si: "~+| ''"+1"'' | Ajoute 1 à la valeur actuelle | 
-    faire: "butin.=.%commun:70,rare:25,legendaire:5+| ''"-3"'' | Soustrait 3 | 
-  # 70% commun, 25rare, 5% légendaire +| ''"%=1:6"'' | Aléatoire entre 1 et 6 | 
-</code>+| ''"%+1:3"'' | Ajoute un aléatoire entre 1 et 3 | 
 +| ''"%=v_force_v:v_pvmax_v"'' | Aléatoire avec variables comme bornes |
  
-===== Variables online =====+===== Variables dans les textes =====
  
-Persistées entre parties et entre serveurs Discord :+  * ''v_nom_v'' → valeur d'une variable numérique 
 +  * ''t_nom_t'' → valeur d'une variable textuelle
  
-<code yaml> +===== Variables système =====
-vars_online: +
-  score_record_o:+
-  nb_parties_o:+
-</code>+
  
-Référence : ''v_score_record_o_v''+^ Variable ^ Valeur ^ 
 +| ''v_resultat_v'' | Résultat du dernier aléatoire ''%=X:Y''
 +| ''v_valeur_v'' | Dernier code saisi dans ''avancer salle code''
 +| ''v_reponse_v'' | Valeur saisie avec ''repondre''
 +| ''v_nom_timer_v'' | Secondes restantes du timer ''nom'' |
  
-⚠️ Les noms de variables **ne doivent pas contenir** ''v_'', ''_v'', ''t_'', ''_t'', ''o_'', ''_o'' — ce sont les délimiteurs du système.+===== Formatage de l'affichage =====
  
-===== Réinitialisation à l'entrée d'une salle (init:) =====+On peut formater l'affichage d'une variable numérique avec ''|padN'' :
  
 <code yaml> <code yaml>
-- idcombat +texte"Tour v_tour_v|pad2"   # affiche "Tour 07si tour 7
-  init: +
-    - var: de +
-      valeur: "%=1:6" +
-    - var: tour_combat +
-      valeur: 0+
 </code> </code>
  
-===== Voir aussi =====+===== Piège classique : variables online =====
  
-  [[fr:yaml:conditions|Conditions sur les variables]] +⚠ Le texte d'un événement est évalué **avant** l'action du même événement. 
-  * [[fr:yaml:evenements|Événements et modifications]]+Pour afficher la **nouvelle** valeur d'un record, affichez la variable source, pas la destination : 
 + 
 +<code yaml
 +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)" 
 +</code>
  
 +**Retrouvez nous sur le [[https://discord.gg/Z63DtVV|discord Make&Play]]**
fr/yaml/variables.1777820511.txt.gz · Dernière modification : de cyrilfiesta