Outils pour utilisateurs

Outils du site


fr:yaml:syntaxe-base

Language / Langue : FR | EN

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"
description: "Une aventure courte pour découvrir JDR-Bot."
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
      - commande: rester
        bouton: "Rester sur place"
        vers: fin_attente

  - 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. oui
description: Description affichée dans le catalogue et l'export standalone. non
markdown: Rendu global du texte : none, fix, bold, italic, quote, story ou langage de bloc code. non
taille: Taille de texte par défaut, en pixels. non
police: Police par défaut : serif, monospace, cursive, Georgia, etc. non
fond: Fond par défaut des blocs de texte web/desktop. non
couleur-texte: Couleur de texte par défaut web/desktop. non
vars: Variables numériques globales. non
vars_texte: Variables textuelles globales. non
vars_online: Variables persistées entre parties. non
options: Boutons permanents de toolbar. non
alias_globaux: Labels de boutons réutilisables. non
tags: Groupes de comportements réutilisables. non
modeles: Salles modèles réutilisables. non
evenements_globaux: Événements disponibles dans toutes les salles. non
actions_globales: Actions personnalisées disponibles partout. non
timers_globaux: Timers autonomes persistants entre salles. non
997_globaux: Ordre d'exécution des événements globaux : avant ou apres. non
salles: Liste des salles du scénario. oui

Structure d'une salle

- id: nom_salle          # identifiant unique
  num: 3                 # optionnel : numéro explicite, croissant dans le YAML
  bouton: "Accueil"      # label hérité par les choix vers cette salle
  texte: "..."           # texte affiché au joueur
  fond: "#111827"        # fond local optionnel
  couleur-texte: "#f5f0d8"

  init:
    - var: de
      valeur: "%=1:6"

  objets:
    - nom: cle
      endroit: table
      description: "Une vieille clé rouillée."
      msg_ramassage: "Vous prenez la clé."

  evenements:
    - si: "v_pv_v <= 0"
      vers: game_over
      texte: "Vous tombez au sol."

  choix:
    - commande: aller
      bouton: "Aller là-bas"
      vers: destination
      si: ~

  actions:
    - verbe: examiner
      cible: coffre
      si: ~
      texte_ok: "Un vieux coffre fermé."

  encadre:
    position: haut
    texte: "PV : v_pv_v"

Numéros de salles

Par défaut, les salles sont numérotées dans l'ordre du YAML. num: permet de fixer un numéro historique, mais les numéros doivent rester strictement croissants dans le document. Dans l'éditeur, réordonner les salles dans la liste modifie justement cet ordre d'export.

Fins de partie

evenements:
  - si: ~
    fin: victoire
    texte: "Fin gagnante."

  - si: ~
    fin: defaite
    texte: "Fin perdante."

Règles importantes

  • Les IDs de salles doivent être uniques.
  • Les variables utilisées en conditions doivent être déclarées dans vars:, vars_texte:, vars_online: ou init:.
  • ~ signifie toujours vrai.
  • Les événements sont évalués dans l'ordre ; le premier qui redirige avec vers: stoppe les suivants.
  • Les objets en condition s'écrivent cle ou -cle, pas o_cle_o.

Voir aussi

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