Outils pour utilisateurs

Outils du site


fr:yaml:variables

Ceci est une ancienne révision du document !


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

Pour une source de scénario autorisée par le serveur, une variable _o est partagée entre les joueurs. Elle est liée à l'URL ou au chemin du scénario, pas à son id:. Hors de ces sources, elle reste locale à la partie.

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

Dans le init: d'une salle, repondre: true autorise le joueur à saisir une valeur :

init:
  - var_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

Pour une variable tour déclarée dans le scénario, v_tour_v|pad2 affiche 7 sous la forme 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"

Chemins et écritures espacées (4.17)

Les listes et collections ajoutent des chemins comme heros.vie, sac[0] ou groupe[v_position_v].vie. Les marqueurs restent v_…_v et t_…_t.

Dans faire:, vie + 10 est l'équivalent de vie.+.10. Opérateurs : = + - * / // ** %% et tirage %. / arrondit au pair en cas d'égalité, tronque vers zéro et %% donne le modulo. La division par zéro est une erreur. <code yaml> faire: - heros.vie + 10 - score + %1:6 - score + %2:70,5:30 </code> Le dernier exemple tire 2 avec un poids de 70 ou 5 avec un poids de 30. resultat contient le nombre tiré avant l'application de l'opérateur. Les anciennes formes restent acceptées. init: accepte aussi var: heros.vie ou var_texte: heros.nom, avec modifiable: true ou repondre: true''. Le chemin doit traverser uniquement des collections et viser une propriété simple existante ; les indices de liste sont exclus de ces saisies.

fr/yaml/variables.1792360667.txt.gz · Dernière modification : de cyrilfiesta