Outils pour utilisateurs

Outils du site


fr:yaml:variables

Language / Langue : FR | EN

Variables (YAML)

Déclaration des variables

Les variables numériques se déclarent dans vars: :

vars:
  score: 0
  pv:
    valeur: 10
    description: "Points de vie"

Les variables textuelles se déclarent dans vars_texte: :

vars_texte:
  nomjoueur:
    valeur: "Aventurier"
    description: "Nom du joueur"

La description est affichée si le joueur examine la variable ou si elle est liée à une option permanente. Une variable numérique s'écrit v_score_v dans un texte, une variable textuelle t_nomjoueur_t.

Portée : normale, persistante ou online

Le suffixe du nom détermine la portée de la variable. La section de déclaration reste vars: ou vars_texte: dans les trois cas.

Nom Portée Stockage
score Partie courante Disparaît avec la partie
record_p Persistante locale Conservée sur l'appareil entre les parties
record_o Online Partagée entre les joueurs du même scénario chargé
id: mon-scenario

vars:
  score: 0
  meilleur_score_p: 0
  record_mondial_o: 0

vars_texte:
  derniere_fin_p: "aucune"
  message_commun_o: "Bienvenue"

vars_online: reste accepté pour les anciens scénarios, mais cette syntaxe est historique. Une nouvelle variable _o doit être placée dans vars: ou vars_texte:.

Variables persistantes _p

Une variable _p est liée à la clé id: du scénario et non à sa sauvegarde. Elle survit à une victoire, une défaite, un abandon et une nouvelle partie. Elle convient aux records, collections, fins déjà découvertes et compteurs utilisés par plusieurs parties.

La clé id: racine est obligatoire dès qu'un scénario utilise une variable _p. Elle doit rester stable après publication. Deux traductions portant le même ID partagent leurs variables persistantes.

Une valeur déjà enregistrée est relue au début du scénario. Le premier init: qui lui attribue une valeur fixe ne l'écrase pas ; une opération relative comme +1 s'applique en revanche à la valeur conservée.

Le bouton Réinitialiser efface les variables _p et les succès du scénario courant, puis lance une partie neuve.

Variables online _o

Une variable _o est enregistrée sur le serveur et partagée entre les joueurs qui chargent la même source. Elle est liée à l'URL ou au chemin du scénario, pas à son id:.

vars:
  recordscore_o:
    valeur: 0
    description: "Meilleur score partagé"

La variable nb_parties_o existe automatiquement et augmente à chaque lancement. Dans un export standalone, les _o deviennent locales au standalone : aucun serveur commun n'est contacté.

Variables dans init:

init: peut déclarer une variable au moment d'entrer dans une salle :

init:
  - var: desresultat
    valeur: "%=1:6"
    description: "Résultat du lancer de dé"
  - var_texte: etat
    valeur: "repos"

Une opération relative sur un nom encore inconnu part de 0. Il est toutefois plus clair de donner d'abord une valeur initiale explicite.

Réponse libre

Ajoutez repondre: true à une variable déclarée dans la salle pour attendre une saisie libre :

vars_texte:
  nomjoueur:
    valeur: "Aventurier"
    repondre: true

Les noms de salles, alias et actions connues restent prioritaires. Une réponse numérique est enregistrée sans message technique ; prévoyez un événement pour afficher le retour voulu.

Modificateurs de valeur

Syntaxe Effet
0 Fixe la valeur à 0
“+1” Ajoute 1
“-3” Soustrait 3
“%=1:6” Tire un nombre entre 1 et 6
“%+1:3” Ajoute un nombre tiré entre 1 et 3
“%=v_force_v:v_pvmax_v” Utilise des variables comme bornes

Variables système et affichage

Variable Valeur
v_resultat_v Résultat du dernier tirage %=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

v_tour_v|pad2 ajoute des zéros devant un nombre : 7 devient 07.

Piège classique

Le texte d'un événement est préparé avant l'action de ce même événement. Pour annoncer un nouveau record, affichez la variable source :

evenements:
  - si: "v_score_v > v_record_o_v"
    faire: "record_o.=.v_score_v"
    texte: "Nouveau record : v_score_v"
fr/yaml/variables.txt · Dernière modification : de cyrilfiesta