Language / Langue : FR | EN
Les déclarations dans objets: définissent les objets et leurs emplacements initiaux dans la salle. 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.
- 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."
| Champ | Effet |
|---|---|
nom: | Identifiant de l'objet. Facultatif pour un meuble vide, obligatoire pour un objet ou un retrait. |
nom_affiche: | Nom lu et tapé par le joueur ; ne change pas l'identifiant. |
meuble-vide: true | Décor accessible uniquement par son meuble. |
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. |
absent: true | Déclare un emplacement initialement vide, réactivable. |
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. |
limite-inventaire: | Nombre d'exemplaires que le joueur peut porter. Sans limite retenue : 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. |
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.
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.
objets: - nom: piece endroit: coffre description: "Une pièce d'argent usée." - nom: piece endroit: bourse description: "Une pièce encore tiède."
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.
limite-inventaire: fixe le maximum. Sans limite retenue d'une déclaration précédente, le joueur porte un exemplaire. 0 signifie illimité.
objets: - nom: torche endroit: mur limite-inventaire: 3 msg_limite-inventaire: "Vous portez déjà trois torches."
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.
Dans les champs si:, un objet se teste avec son nom directement :
si: "cle" # le joueur possède l'objet cle
Ou :
si: "-cle" # le joueur ne possède pas l'objet cle
Les conditions d'objet utilisent l'identifiant nom:, même si un nom affiché est défini.
Une condition structurée compare le nombre d'exemplaires possédés.
evenements: - si: objet: piece quantite: 3 operateur: ">=" texte: "Vous avez de quoi payer le passeur."
L'éditeur propose ce réglage dans son constructeur de conditions.
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"
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>.
nom: reste l'identifiant stable utilisé dans les conditions, effets et sauvegardes. nom_affiche: fournit un nom plus lisible au joueur :
objets: - nom: cle_atelier nom_affiche: clé de l'atelier endroit: table description: Une petite clé en fer.
Le joueur peut taper prendre clé de l'atelier, examiner clé de l'atelier ou utiliser l'identifiant cle_atelier. Les noms affichés sont reconnus sans distinction de casse, d'accents ou d'espaces doublés. Les commandes, alias, identifiants et cibles explicites d'actions gardent leur priorité ; examiner un meuble ou une variable reste possible même si un objet porte ce nom affiché.
L'inventaire numérote les objets distincts de même nom affiché, par exemple boisson 1 et boisson 2 ; ces libellés peuvent être tapés. Plusieurs exemplaires du même identifiant restent regroupés. Pour les conditions et les effets, toujours utiliser l'identifiant. t_action_cible_t contient aussi l'identifiant résolu.
Dans l'éditeur, Nom affiché se déplie à la demande et reste ouvert si une valeur est renseignée. En anglais : display_name:.
Dans le faire: d'une interaction :
faire: - nom_affiche: cle_atelier valeur: clé identifiée de l'atelier
L'effet change le nom affiché, sans changer l'identifiant ni les quantités. Il est conservé dans les sauvegardes. Une valeur: “” rétablit l'identifiant cle_atelier, même si la déclaration initiale donnait un autre nom affiché. Cet effet n'est pas autorisé dans les corps de boucle. Dans l'éditeur : effet Renommer un objet, avec l'objet et son nouveau nom affiché. En anglais : display_name et value.
meuble-vide: true décrit un meuble sans objet à prendre. Le joueur peut examiner le meuble, mais ne peut ni prendre ni examiner ce décor comme un objet. Son nom: est facultatif : le moteur crée alors une identité interne. Utilisez desc_meuble: et, si besoin, reaction_meuble:. Les champs de prise, d'examen d'objet, de nom affiché et de limite d'inventaire ne donnent pas d'interaction d'objet à ce décor.
objets: - nom: cle_atelier nom_affiche: clé de l'atelier endroit: table desc_meuble: Une clé est posée sur la table. description: Une petite clé en fer. - nom: table_vide meuble-vide: true endroit: table desc_meuble: La table est vide. - nom: statue_decor meuble-vide: true endroit: statue desc_meuble: Une vieille statue de pierre. reaction_meuble: Examiner la statue
Placer le décor de meuble vide après les objets ordinaires de ce meuble. Le premier objet encore présent fournit sa description ; une fois la clé prise, examiner table affiche «La table est vide.» La statue montre le même usage pour un décor permanent.
endroit: invisible garde les usages historiques d'un objet caché ; ce n'est pas un meuble vide. Si retirer: true est aussi présent, le retrait prime : un nom d'objet est nécessaire et le linter avertit que meuble-vide est ignoré. L'éditeur conserve les valeurs des champs masqués et permet de corriger une combinaison contradictoire. La clé secret est refusée sur les objets par le linter ; les succès secrets gardent leur propre réglage. En anglais : empty-furniture: true, location, furniture_description et furniture_reaction.
Prendre désactive un exemplaire déclaré dans son meuble. mettre et poser le replacent dans un emplacement déclaré pour le même objet. Ces formes sont équivalentes : mettre piece dans coffre, poser piece sur coffre et mettre piece coffre. Sans meuble, mettre piece cherche un emplacement disponible. Une action personnalisée du même nom garde la priorité. Un dépôt refusé ne retire rien de l'inventaire.
Plusieurs objets différents peuvent partager un meuble. L'examen du meuble utilise la première déclaration dont l'objet est encore présent. Les prises suivent l'ordre des déclarations ; les dépôts remplissent les emplacements libres dans l'ordre inverse.
titre: 'Wiki 4.17 : piles' vars: capacite: 2 salles: - id: atelier texte: Un coffre et une table. objets: - nom: piece endroit: coffre description: Première pièce. limite-inventaire: v_capacite_v - nom: piece endroit: coffre description: Seconde pièce. - nom: cle endroit: coffre description: Une clé. - meuble-vide: true endroit: coffre desc_meuble: Le coffre est vide. choix: - commande: rester bouton: Rester vers: atelier
Ici, deux prises de piece sont possibles. Après un dépôt dans le coffre, c'est la seconde déclaration qui redevient présente en premier. examiner_objet_dans coffre examine l'objet actuellement en tête de ce meuble ; prendre_dans coffre le prend. Ces commandes ciblent l'emplacement, même si le même identifiant existe ailleurs. En anglais : inspect_from coffre et take_from coffre.
absent: true réserve un emplacement vide au départ. Il peut être rempli après une prise, un transfert ou une activation.
titre: 'Wiki 4.17 : activation' salles: - id: atelier texte: Une table, un coffre et une boîte. objets: - nom: cle endroit: table - nom: cle endroit: coffre absent: true - nom: bille endroit: boite absent: true actions: - verbe: ranger cible: all bouton: Ranger la clé faire: objet: cle vers: coffre - verbe: apparition cible: all bouton: Faire apparaître la bille faire: objet: bille activer: boite choix: - commande: rester bouton: Rester vers: atelier
Après prendre cle, l'effet {objet: cle, vers: coffre} transfère une unité portée dans le coffre. {objet: bille, activer: boite} active une déclaration absente sans consommer l'inventaire. Un champ salle: peut préciser une autre salle. Pour tester sa présence : si: {objet: bille, dans: boite, quantite: 1, operateur: “>=”}.
Pour un objet, la première déclaration active qui précise une limite est retenue dans la salle courante. Si aucune ne la précise, la dernière limite rencontrée est conservée ; sinon le défaut est 1. Une référence comme v_capacite_v est relue à l'ajout. 0 signifie illimité. Abaisser la limite ne retire pas les unités déjà portées.