Outils pour utilisateurs

Outils du site


fr:yaml:actions

Différences

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

Lien vers cette vue comparative

Prochaine révision
Révision précédente
fr:yaml:actions [2026/05/03 17:01] – Actions personnalisées YAML cyrilfiestafr:yaml:actions [2026/05/03 21:16] (Version actuelle) – mise a jour wiki cyrilfiesta
Ligne 1: Ligne 1:
-====== Syntaxe YAML — Actions personnalisées ======+**Language / Langue :** **FR** | [[en:yaml:actions|EN]]
  
-Les actions personnalisées permettent d'étendre les commandes du joueur au-delà des déplacements : ''examiner'', ''utiliser'', ''donner'', ''parler'', etc.+====== Actions personnalisées (YAML) ======
  
-===== Structure d'une action =====+Les actions personnalisées ajoutent des commandes au nom libre. Le joueur utilise la commande ''nomaction cible'' sur Discord, ou tape le verbe directement sur web/desktop. 
 + 
 +===== Déclaration ===== 
 + 
 +Actions **locales** : dans le bloc ''actions:'' d'une salle, disponibles uniquement dans cette salle. 
 +Actions **globales** : dans le bloc ''actions_globales:'' au niveau racine, disponibles partout.
  
 <code yaml> <code yaml>
 actions: actions:
-  - action: examiner+  - verbe: examiner
     cible: coffre     cible: coffre
-    si: "~" +    si: ~ 
-    faire: "~+    texte_ok: "Un vieux coffre en bois. Il semble verrouillé.
-    texte: "Le coffre est en chêne massif. Il semble lourd."+    texte_ko: "Il n'y a rien d'intéressant ici."
  
-  - action: ouvrir+  - verbe: ouvrir
     cible: coffre     cible: coffre
-    si: "o_cle_o"+    si: "cle"
     faire:     faire:
-      - "o-cle+      - "or.+.50
-      - "o+tresor+      - "cle&&inventaire&&null  # retire la clé 
-    texte: "Vous ouvrez le coffre et trouvez un trésor !" +    texte_ok: "Vous ouvrez le coffre ! +50 pièces d'or.
-    texte_ko: "Il vous faut une clé pour ouvrir ce coffre."+    texte_ko: "Le coffre est verrouillé. Il vous faut une clé."
 </code> </code>
  
-===== Champs disponibles =====+===== Cible all =====
  
-^ Champ ^ Description ^ +Avec ''cible: all'', n'importe quelle saisie est acceptée :
-| ''action:'' | Commande tapée par le joueur (ex: ''examiner'') | +
-''cible:'' | Cible de la commande (ex: ''coffre'') | +
-| ''si:'' | Condition de succès | +
-| ''faire:'' | Action(s) à exécuter si succès | +
-| ''texte:'' | Texte affiché si succès | +
-| ''texte_ko:'' | Texte affiché si condition non remplie | +
-| ''vers:'' | Redirection si succès | +
-| ''visible-si:'' | Condition d'affichage du bouton | +
-| ''grise-si:'' | Grise le bouton si condition vraie |+
  
-===== Cible "all" =====+<code yaml> 
 +actions_globales: 
 +  - verbe: aller 
 +    cible: all 
 +    si: ~ 
 +    faire: "t_action_cible_ok_t"    # redirige vers la salle tapée 
 +    texte_ko: "Destination «t_action_cible_t» inconnue." 
 +</code> 
 + 
 +^ Variable ^ Valeur ^ 
 +| ''t_action_cible_t'' | Ce que le joueur a tapé (valide ou non) | 
 +| ''t_action_cible_ok_t'' | Dernière cible valide tapée | 
 + 
 +===== Conditions multiples sur la même cible =====
  
-''all'' accepte n'importe quelle cible tapée par le joueur :+Plusieurs lignes avec le même ''verbe+cible'' sont testées dans l'ordre :
  
 <code yaml> <code yaml>
 actions: actions:
-  - actionparler+  - verbecombiner 
 +    cible: herbe 
 +    si: "herbe t_combinaison_t.=.rien" 
 +    faire: 
 +      - "-herbe&&inventaire&&null" 
 +      - var_texte: combinaison 
 +        valeur: "herbe" 
 +    texte_ok: "🌿 L'herbe entre dans l'alambic." 
 +    texte_ko: "Vous n'avez pas d'herbe." 
 + 
 +  - verbe: combiner
     cible: all     cible: all
-    si: "~" +    si: ~ 
-    texte: "Vous parlez à t_action_cible_t... mais personne ne répond."+    texte_ok: "«t_action_cible_t» n'est pas un ingrédient connu."
 </code> </code>
  
-Variables spéciales : +Les actions locales sont testées avant les globales. La première condition vraie gagne.
-  * ''t_action_cible_t'' — dernière cible tapée +
-  * ''t_action_cible_ok_t'' — dernière cible valide+
  
-===== Actions globales =====+===== Alias d'action =====
  
-Déclarées dans ''evenements_globaux:'' pour être disponibles partout :+''alias:'' crée un raccourci : le joueur peut taper le mot seul sans le verbe :
  
 <code yaml> <code yaml>
-actions_globales+actions
-  - actioninventaire +  - verbeinspecter 
-    cible: all +    cible: alambic 
-    si: "~+    aliasalambic    # taper "alambic" = "inspecter alambic
-    faire"~" +    si: ~ 
-    texte: "Vous consultez votre inventaire."+    texte_ok: "L'alambic central. Utilisez 'combiner [ingrédient]'."
 </code> </code>
  
-===== Voir aussi =====+===== Bouton sur une action =====
  
-  * [[fr:yaml:conditions|Conditions]] +''bouton:'' affiche une réaction Discord cliquable pour cette action : 
-  * [[fr:yaml:objets|Objets]]+ 
 +<code yaml
 +actions
 +  - verbeutiliser 
 +    ciblepotion 
 +    bouton: "💚 Utiliser la potion" 
 +    visible-si: "potion"          # masqué si l'inventaire n'a pas de potion 
 +    grise-si: "v_pv_v >= v_pvmax_v"  # grisé si PV déjà au max 
 +    si: "potion" 
 +    faire: 
 +      - "-potion&&inventaire&&null" 
 +      - "pv.+.5" 
 +    texte_ok: "Vous buvez la potion. +5 PV !" 
 +    texte_ko: "Vous n'avez pas de potion." 
 +</code>
  
 +**Retrouvez nous sur le [[https://discord.gg/Z63DtVV|discord Make&Play]]**
fr/yaml/actions.1777820513.txt.gz · Dernière modification : de cyrilfiesta