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 18:07] – Correction syntaxe JDR-Bot depuis moteur et showcase.yaml cyrilfiestafr:yaml:objets [2026/08/31 21:10] (Version actuelle) – Wiki : fins de pages homogènes, liens Discord retirés cyrilfiesta
Ligne 1: Ligne 1:
 +**Language / Langue :** **FR** | [[en:yaml:objets|EN]]
 +
 ====== Objets et inventaire (YAML) ====== ====== Objets et inventaire (YAML) ======
  
-Les objets d?clar?dans ''objets:'' sont ajout?s ? la salle quand le joueur y entre. Ils utilisent les commandes natives du bot : ''prendre'', ''examiner'' et ''jeter''.+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?un ?v?nement, un choix, un tag, une salle diff?rente, ou un objet avec ''retirer: true''.+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 ===== ===== Exemple complet =====
Ligne 10: Ligne 12:
 - id: bibliotheque - id: bibliotheque
   texte: |   texte: |
-    Une table encombr?occupe la pi?ce.+    Une table encombrée occupe la pièce.
     Un vieux coffre repose contre le mur.     Un vieux coffre repose contre le mur.
   objets:   objets:
     - nom: grimoire     - nom: grimoire
       endroit: table       endroit: table
-      desc_meuble: "Une vieille table en bois. Un grimoire poussi?reux y est pos?."+      desc_meuble: "Une vieille table en bois. Un grimoire poussiéreux y est posé."
       description: "Un vieux grimoire aux pages jaunies."       description: "Un vieux grimoire aux pages jaunies."
       msg_ramassage: "Vous prenez le grimoire sur la table."       msg_ramassage: "Vous prenez le grimoire sur la table."
-      reaction_meuble: "?? Examiner la table" +      reaction_meuble: "Examiner la table" 
-      reaction_prise: "?? Prendre le grimoire" +      reaction_prise: "Prendre le grimoire" 
-      reaction_objet: "?? Examiner le grimoire"+      reaction_objet: "Examiner le grimoire"
  
     - nom: cle     - nom: cle
       endroit: invisible       endroit: invisible
-      description: "Une petite cl? en argent." +      description: "Une petite clé en argent." 
-      msg_ramassage: "Vous ramassez la cl?."+      msg_ramassage: "Vous ramassez la clé."
  
     - nom: vieillepotion     - nom: vieillepotion
       retirer: true       retirer: true
       endroit: invisible       endroit: invisible
-      msg_retrait: "La vieille potion dispara?de votre sac."+      msg_retrait: "La vieille potion disparaît de votre sac."
 </code> </code>
  
Ligne 37: Ligne 39:
 ^ Champ ^ Effet ^ ^ Champ ^ Effet ^
 | ''nom:'' | Identifiant de l'objet. Obligatoire. | | ''nom:'' | Identifiant de l'objet. Obligatoire. |
-| ''endroit:'' | Meuble ou lieu o? se trouve l'objet. D?faut : ''invisible''. | +| ''endroit:'' | Meuble ou lieu où se trouve l'objet. Défaut : ''invisible''. | 
-| ''description:'' | Texte affich? quand le joueur examine l'objet. | +| ''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:''. | +| ''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. | +| ''msg_ramassage:'' | Texte affiché quand l'objet est pris. | 
-| ''retirer: true'' | Retire cet objet l'entr?dans la salle, ?quivalent au pr?fixe ''-nom'' de l'ancienne syntaxe. | +| ''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''. | +| ''msg_retrait:'' | Texte utilisé lors du retrait si ''retirer: true''. | 
-| ''reaction_meuble:'' | Bouton affich? pour examiner le meuble. | +| ''reaction_meuble:'' | Bouton affiché pour examiner le meuble. | 
-| ''reaction_prise:'' | Bouton affich? pour prendre l'objet. | +| ''reaction_prise:'' | Bouton affiché pour prendre l'objet. | 
-| ''reaction_objet:'' | Bouton affich? pour examiner l'objet. |+| ''reaction_objet:'' | Bouton affiché pour examiner l'objet. | 
 +| ''limite-inventaire:'' | Nombre d'exemplaires que le joueur peut porter. Absente : un seul. ''0'' : illimité. | 
 +| ''msg_limite-inventaire:'' | Texte facultatif affiché quand la limite est atteinte. | 
 +| ''msg_jeter-absent:'' | Texte facultatif affiché quand le joueur jette un objet qu'il ne porte pas. |
  
 ===== Meuble, objet et inventaire ===== ===== 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:'' 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?par ?v?nement.+''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 =====+===== Plusieurs exemplaires d'un même objet =====
  
-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.+Déclarer plusieurs fois le même ''nom:'' représente désormais plusieurs **exemplaires réels**, y compris dans des meubles ou des salles différents. En prendre un ne masque plus les autres, qui gardent leur propre description dans le décor.
  
 <code yaml> <code yaml>
Ligne 61: Ligne 66:
   - nom: piece   - nom: piece
     endroit: coffre     endroit: coffre
-    desc_meuble: "Le coffre contient trois pi?ces." +    description: "Une pièce d'argent usée."
-    description: "Une pi?ce d'or." +
-    msg_ramassage: "Vous prenez une pi?ce. Il en reste deux."+
   - nom: piece   - nom: piece
-    endroit: coffre +    endroit: bourse 
-    desc_meuble: "Le coffre contient encore deux pi?ces." +    description: "Une pièce encore tiède."
-    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>
 +
 +L'inventaire les regroupe sous la forme ''piece × 2''. Jeter, utiliser ou retirer un objet ne consomme qu'une unité, et les conditions historiques ''objet'' / ''-objet'' conservent leur sens.
 +
 +===== Combien d'exemplaires peut-on porter =====
 +
 +''limite-inventaire:'' fixe le maximum. Sans elle, le joueur porte **un** exemplaire. ''0'' signifie illimité.
 +
 +<code yaml>
 +objets:
 +  - nom: torche
 +    endroit: mur
 +    limite-inventaire: 3
 +    msg_limite-inventaire: "Vous portez déjà trois torches."
 +</code>
 +
 +Dépasser la limite est une réponse narrative normale, pas une erreur : le moteur indique combien d'exemplaires sont déjà portés et quelle est la limite, puis laisse les commandes disponibles. Les deux messages facultatifs acceptent le traitement de texte habituel, dont ''v_variable_v'' et ''t_variable_t''.
  
 ===== Tester un objet en condition ===== ===== Tester un objet en condition =====
Ligne 81: Ligne 93:
  
 <code yaml> <code yaml>
-si: "cle"      # le joueur poss?de l'objet cle +si: "cle"      # le joueur possède l'objet cle 
-si: "-cle"     # le joueur ne poss?de pas l'objet cle+si: "-cle"     # le joueur ne possède pas l'objet cle
 </code> </code>
  
-Les conditions d'objet utilisent le nom brut, pas ''o_cle_o''.+Les conditions d'objet utilisent le nom brut 
 + 
 +===== Conditions de quantité ===== 
 + 
 +Une condition structurée compare le nombre d'exemplaires possédés. 
 + 
 +<code yaml> 
 +evenements: 
 +  - si: 
 +      objet: piece 
 +      quantite: 3 
 +      operateur: ">=" 
 +    texte: "Vous avez de quoi payer le passeur." 
 +</code> 
 + 
 +L'éditeur propose ce réglage dans son constructeur de conditions. 
  
 ===== Ajouter ou retirer un objet via faire: ===== ===== Ajouter ou retirer un objet via faire: =====
  
-Forme recommand?:+Forme recommandée :
  
 <code yaml> <code yaml>
Ligne 97: Ligne 125:
       - objet: cle_rouillee       - objet: cle_rouillee
         vers: inventaire         vers: inventaire
-        description: "Une vieille cl? rouill?e."+        description: "Une vieille clé rouillée."
       - objet: fausse_cle       - objet: fausse_cle
         vers: inventaire         vers: inventaire
Ligne 104: Ligne 132:
 </code> </code>
  
-La forme historique reste accept?:+La forme historique reste acceptée :
  
 <code yaml> <code yaml>
 faire: faire:
-  - "cle_rouillee&&inventaire&&Une vieille cl? rouill?e."+  - "cle_rouillee&&inventaire&&Une vieille clé rouillée."
   - "-fausse_cle&&inventaire&&null"   - "-fausse_cle&&inventaire&&null"
 </code> </code>
  
-===== M?dias dans les descriptions =====+===== 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))%%''.+''description:'' et ''desc_meuble:'' acceptent les mêmes médias que le texte narratif : images ''%%[[url]]%%'', sons ''%%<<url>>%%'' et vidéos ''%%((url))%%''.
  
 <code yaml> <code yaml>
Ligne 124: Ligne 152:
 </code> </code>
  
-Cliquer sur un objet dans l'inventaire d?clenche automatiquement ''examiner <objet>''.+Cliquer sur un objet dans l'inventaire déclenche automatiquement ''examiner <objet>''.
  
 ===== Voir aussi ===== ===== Voir aussi =====
  
   * [[fr:yaml:conditions|Conditions]]   * [[fr:yaml:conditions|Conditions]]
-  * [[fr:yaml:actions|Actions personnalis?es]] +  * [[fr:yaml:actions|Actions personnalisées]] 
-  * [[fr:yaml:medias|Sons, images et vid?os]] +  * [[fr:yaml:medias|Sons, images et vidéos]]
- +
-**Retrouvez nous sur le [[https://discord.gg/Z63DtVV|discord Make&Play]]**+
  
fr/yaml/objets.1777824446.txt.gz · Dernière modification : de cyrilfiesta