Outils pour utilisateurs

Outils du site


fr:yaml:syntaxe-base

Ceci est une ancienne révision du document !


Syntaxe YAML — Base

Le format YAML est le format moderne de JDR-Bot. Il est plus lisible, plus puissant et plus flexible que l'ancien format .txt.

Structure d'un fichier .yaml

titre: "Mon scénario"
markdown: story
police: serif

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

salles:

- id: debut
  texte: |
    Vous vous réveillez dans une forêt sombre.
    Une lueur brille au loin.
  choix:
    - commande: avancer
      bouton: "➡️ Avancer vers la lueur"
      vers: clairiere
      si: "~"
    - commande: rester
      bouton: "🛑 Rester sur place"
      vers: fin_attente
      si: "~"

- id: clairiere
  texte: |
    Vous débouchez dans une clairière baignée de lumière.
  evenements:
    - si: "~"
      fin: victoire
      texte: "Vous avez trouvé la sortie !"

- id: fin_attente
  texte: "La nuit tombe. Vous n'avez pas bougé."
  evenements:
    - si: "~"
      fin: defaite
      texte: "Perdu dans la nuit..."

Clés racines

Clé Description Obligatoire
titre: Titre du scénario (affiché dans le catalogue)
markdown: Style de rendu : story, rpg, terminal, aventure non
police: Police par défaut : serif, monospace, etc. non
description: Description affichée dans le catalogue non
vars: Déclaration des variables non
vars_online: Variables persistées entre parties/serveurs non
salles: Liste des salles du scénario
tags: Groupes de comportements réutilisables non
modeles: Salles modèles réutilisables non
evenements_globaux: Événements exécutés en permanence non
timers_globaux: Timers actifs en arrière-plan non
997_globaux: Ordre d'exécution des globaux (avant / apres) non

Structure d'une salle

- id: nom_salle          # identifiant unique (obligatoire)
  texte: "..."           # texte affiché au joueur
  init:                  # valeurs réinitialisées à l'entrée
    - var: de
      valeur: "%=1:6"
  evenements:            # événements automatiques
    - si: "condition"
      faire: "action"
      vers: autre_salle
      texte: "texte affiché"
  choix:                 # boutons de navigation
    - commande: aller
      bouton: "➡️ Aller là-bas"
      vers: destination
      si: "~"
  actions:               # actions personnalisées (examiner, prendre...)
    - action: examiner
      cible: coffre
      faire: "or.+.10"
      texte: "Vous trouvez 10 pièces d'or !"
  objets:                # objets présents dans la salle
    - nom: cle
      description: "Une vieille clé rouillée"
  encadre:               # HUD persistant
    position: haut
    texte: "PV : v_pv_v"

Fins de partie

evenements:
  - si: "~"
    fin: victoire     # fin gagnante (équivalent salle 999 en .txt)

  - si: "~"
    fin: defaite      # fin perdante (équivalent salle 998 en .txt)

Règles importantes

  • Les IDs de salles doivent être uniques
  • Les variables utilisées dans les conditions doivent être déclarées dans vars:
  • Le caractère ~ dans une condition signifie “toujours vrai” (fallback)
  • L'ordre des événements est séquentiel — le premier qui redirige (vers:) stoppe les suivants

Voir aussi

fr/yaml/syntaxe-base.1777820510.txt.gz · Dernière modification : de cyrilfiesta