Outils pour utilisateurs

Outils du site


fr:yaml:objets

Language / Langue : FR | EN

Objets et inventaire (YAML)

Les objets déclarés dans objets: sont ajoutés à la salle quand le joueur y entre. Ils utilisent les commandes natives du bot : prendre, examiner et jeter.

Important : les objets YAML ne possèdent pas de champ si: ni visible-si:. Pour rendre un objet conditionnel, utilisez plutôt un événement, un choix, un tag, une salle différente, ou un objet avec retirer: true.

Exemple complet

- id: bibliotheque
  texte: |
    Une table encombrée occupe la pièce.
    Un vieux coffre repose contre le mur.
  objets:
    - nom: grimoire
      endroit: table
      desc_meuble: "Une vieille table en bois. Un grimoire poussiéreux y est posé."
      description: "Un vieux grimoire aux pages jaunies."
      msg_ramassage: "Vous prenez le grimoire sur la table."
      reaction_meuble: "Examiner la table"
      reaction_prise: "Prendre le grimoire"
      reaction_objet: "Examiner le grimoire"

    - nom: cle
      endroit: invisible
      description: "Une petite clé en argent."
      msg_ramassage: "Vous ramassez la clé."

    - nom: vieillepotion
      retirer: true
      endroit: invisible
      msg_retrait: "La vieille potion disparaît de votre sac."

Champs disponibles

Champ Effet
nom: Identifiant de l'objet. Obligatoire.
endroit: Meuble ou lieu où se trouve l'objet. Défaut : invisible.
description: Texte affiché quand le joueur examine l'objet.
desc_meuble: Texte affiché quand le joueur examine le meuble/l'endroit. Si absent, le moteur réutilise description:.
msg_ramassage: Texte affiché quand l'objet est pris.
retirer: true Retire cet objet à l'entrée dans la salle, équivalent au préfixe -nom de l'ancienne syntaxe.
msg_retrait: Texte utilisé lors du retrait si retirer: true.
reaction_meuble: Bouton affiché pour examiner le meuble.
reaction_prise: Bouton affiché pour prendre l'objet.
reaction_objet: Bouton affiché pour examiner l'objet.

Meuble, objet et inventaire

endroit: définit le meuble visible. Exemple : avec endroit: coffre, le joueur peut examiner coffre. desc_meuble: décrit alors le coffre, tandis que description: décrit l'objet lui-même.

endroit: invisible signifie que l'objet existe dans la salle mais n'est pas listé comme objet visible à prendre directement. C'est utile pour des états internes ou des objets manipulés par événement.

Stock progressif sur un meuble

Déclarer plusieurs fois le même nom: au même endroit: permet de simuler un stock qui diminue. À chaque prise, le slot suivant devient actif.

objets:
  - nom: piece
    endroit: coffre
    desc_meuble: "Le coffre contient trois pièces."
    description: "Une pièce d'or."
    msg_ramassage: "Vous prenez une pièce. Il en reste deux."
  - nom: piece
    endroit: coffre
    desc_meuble: "Le coffre contient encore deux pièces."
    description: "Une pièce d'or."
    msg_ramassage: "Vous prenez une pièce. Il en reste une."
  - nom: piece
    endroit: coffre
    desc_meuble: "Le coffre contient une dernière pièce."
    description: "Une pièce d'or."
    msg_ramassage: "Vous prenez la dernière pièce."

Tester un objet en condition

Dans les champs si:, un objet se teste avec son nom directement :

si: "cle"      # le joueur possède l'objet cle
si: "-cle"     # le joueur ne possède pas l'objet cle

Les conditions d'objet utilisent le nom brut, pas o_cle_o.

Ajouter ou retirer un objet via faire:

Forme recommandée :

evenements:
  - si: ~
    faire:
      - objet: cle_rouillee
        vers: inventaire
        description: "Une vieille clé rouillée."
      - objet: fausse_cle
        vers: inventaire
        retirer: true
    texte: "Votre trousseau change."

La forme historique reste acceptée :

faire:
  - "cle_rouillee&&inventaire&&Une vieille clé rouillée."
  - "-fausse_cle&&inventaire&&null"

Médias dans les descriptions

description: et desc_meuble: acceptent les mêmes médias que le texte narratif : images [[url]], sons <<url>> et vidéos ((url)).

objets:
  - nom: carte
    endroit: table
    description: "Une carte du royaume.\n[[https://exemple.com/images/carte.png]]"
    msg_ramassage: "Vous prenez la carte."

Cliquer sur un objet dans l'inventaire déclenche automatiquement examiner <objet>.

Voir aussi

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