Outils pour utilisateurs

Outils du site


fr:yaml:objets

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
fr:yaml:objets [2026/05/03 17:20] – mise a jour wiki cyrilfiestafr:yaml:objets [2026/05/03 18:47] (Version actuelle) – Harmonize FR/EN language switch cyrilfiesta
Ligne 1: Ligne 1:
-====== Syntaxe YAML — Objets ======+**Language / Langue :** **FR** | [[en:yaml:objets|EN]]
  
-Les objets représentent les items que le joueur peut ramasser, utiliser ou jeter.+====== Objets et inventaire (YAML) ======
  
-===== Déclarer un objet dans une salle =====+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 =====
  
 <code yaml> <code yaml>
-- id: caverne +- id: bibliotheque 
-  texte: "Une vieille épée traîne sur le sol."+  texte: 
 +    Une table encombrée occupe la pièce. 
 +    Un vieux coffre repose contre le mur.
   objets:   objets:
-    - nom: epee +    - nom: grimoire 
-      description: "Une épée rouillée mais encore tranchante."+      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."
 </code> </code>
- 
-Le joueur peut alors faire ''prendre epee'' pour le ramasser. 
  
 ===== Champs disponibles ===== ===== Champs disponibles =====
  
-^ Champ ^ Description +^ Champ ^ Effet 
-| ''nom:'' | Identifiant de l'objet (obligatoire) +| ''nom:'' | Identifiant de l'objet. Obligatoire. | 
-| ''description:'' | Texte affiché à l'examen +| ''endroit:'' | Meuble ou lieu où se trouve l'objet. Défaut : ''invisible''
-| ''si:''Condition pour que l'objet soit visible/prenable +| ''description:'' | Texte affiché quand le joueur examine l'objet. 
-| ''visible-si:''Condition d'affichage dans l'inventaire |+| ''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 ''retirertrue''. | 
 +| ''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 =====
  
-===== Condition sur un objet =====+''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.
  
 <code yaml> <code yaml>
 objets: objets:
-  - nom: cle_secrete +  - nom: piece 
-    description: "Une clé gravée de runes." +    endroit: coffre 
-    si: "v_enigme_resolue_v = 1"+    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."
 </code> </code>
  
-===== Utiliser un objet dans les conditions =====+===== Tester un objet en condition ===== 
 + 
 +Dans les champs ''si:'', un objet se teste avec son nom directement :
  
 <code yaml> <code yaml>
-Vérifier si le joueur possède l'objet +si: "cle"      # le joueur possède l'objet cle 
-si: "o_epee_o       # possède "epee" +si: "-cle    le joueur ne possède pas l'objet cle
-si: "!o_epee_o"       # ne possède PAS "epee"+
 </code> </code>
  
-===== Ajouter/retirer un objet via un événement =====+Les conditions d'objet utilisent le nom brut, pas ''o_cle_o''
 + 
 +===== Ajouter ou retirer un objet via faire: ===== 
 + 
 +Forme recommandée :
  
 <code yaml> <code yaml>
 evenements: evenements:
-  - si: "~"+  - si: ~
     faire:     faire:
-      - "o+epee_magique   # ajouter l'objet +      - objet: cle_rouillee 
-      - "o-epee"            # retirer l'objet +        vers: inventaire 
-    texte: "Votre épée se transforme !"+        description: "Une vieille clé rouillée.
 +      - objet: fausse_cle 
 +        vers: inventaire 
 +        retirer: true 
 +    texte: "Votre trousseau change."
 </code> </code>
  
-===== Objets avec image et son =====+La forme historique reste acceptée :
  
 <code yaml> <code yaml>
-objets+faire
-  - nom: carte_tresor +  - "cle_rouillee&&inventaire&&Une vieille clé rouillée.
-    description: "[[https://monsite.fr/carte.png]] Une carte au trésor usée."+  - "-fausse_cle&&inventaire&&null"
 </code> </code>
  
-===== Examiner un objet =====+===== Médias dans les descriptions =====
  
-Le joueur peut faire ''examiner nom_objet'' pour voir la description+''description:'' et ''desc_meuble:'' acceptent les mêmes médias que le texte narratif images ''%%[[url]]%%'', sons ''%%<<url>>%%'' et vidéos ''%%((url))%%''.
-Si la description est une URL d'image ''[[url]]'', elle sera affichée. +
- +
-===== Voir aussi ===== +
- +
-  * [[fr:yaml:conditions|Conditions avec objets]] +
-  * [[fr:yaml:actions|Actions personnalisées (utiliser, jeter...)]] +
- +
- +
-===== Inventaire enrichi (v4.9) ===== +
- +
-Les descriptions d'objets peuvent contenir des URLs image ou son — elles deviennent cliquables dans l'inventaire : +
- +
-  * ''%%[[url]]%%'' → affiche un lien cliquable qui ouvre l'image +
-  * ''%%<<url>>%%'' → affiche un lien avec icône 🔊 et nom du fichier son +
-  * Texte et liens peuvent coexister dans la même description+
  
 <code yaml> <code yaml>
 objets: objets:
   - nom: carte   - nom: carte
-    endroit: "table"+    endroit: table
     description: "Une carte du royaume.\n[[https://exemple.com/images/carte.png]]"     description: "Une carte du royaume.\n[[https://exemple.com/images/carte.png]]"
     msg_ramassage: "Vous prenez la carte."     msg_ramassage: "Vous prenez la carte."
- 
-  - nom: cle_musicale 
-    endroit: "coffre" 
-    description: "Une clé qui sonne quand on la touche. <<https://exemple.com/sons/cle.mp3>>" 
-    msg_ramassage: "Vous prenez la clé." 
 </code> </code>
  
-Cliquer sur le nom d'un objet dans l'inventaire déclenche automatiquement ''examiner <objet>''.+Cliquer sur un objet dans l'inventaire déclenche automatiquement ''examiner <objet>''.
  
-===== examiner — affichage image (v4.9) =====+===== Voir aussi =====
  
-Si la ''description'' d'un objet est une URL image ''%%[[url]]%%'', ''j!examiner objet'' affiche l'image directement : +  * [[fr:yaml:conditions|Conditions]] 
- +  * [[fr:yaml:actions|Actions personnalisées]] 
-<code yaml+  [[fr:yaml:medias|Sons, images et vidéos]]
-objets+
-  - nomportrait +
-    endroit"mur" +
-    description: "[[https://exemple.com/images/portrait.png]]+
-    msg_ramassage: "Vous décrochez le portrait." +
-</code> +
- +
-Si la description est absente ou vide, ''examiner'' n'affiche rien (plus de "null" parasite).+
  
 **Retrouvez nous sur le [[https://discord.gg/Z63DtVV|discord Make&Play]]** **Retrouvez nous sur le [[https://discord.gg/Z63DtVV|discord Make&Play]]**
- 
fr/yaml/objets.1777821604.txt.gz · Dernière modification : de cyrilfiesta