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

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. ===== Décrire les données structurées ===== Les listes, collections, propriétés et éléments peuvent recevoir une description séparée de leur valeur dans infos_donnees: (anglais : data_info:). examiner heros.vie affiche la valeur et sa description. Les racines peuvent aussi être liées à des tags pour réinitialiser l'ensemble de leur contenu. Voir Descriptions et tags des données structurées. Dans l'éditeur, les variables online restent rangées avec les nombres ou les textes selon leur type. Un nombre _o se déclare dans vars, un texte _o dans vars_texte. Les anciennes déclarations vars_online'' restent lisibles à l'import.

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