**Language / Langue :** **FR** | [[en:yaml:objets|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 ''%%<>%%'' 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 ''. ===== Voir aussi ===== * [[fr:yaml:conditions|Conditions]] * [[fr:yaml:actions|Actions personnalisées]] * [[fr:yaml:medias|Sons, images et vidéos]] **Retrouvez nous sur le [[https://discord.gg/Z63DtVV|discord Make&Play]]**