**Language / Langue :** **FR** | [[en:yaml:actions|EN]] ====== Actions personnalisées (YAML) ====== Les actions personnalisées ajoutent des commandes au nom libre. Le joueur utilise ''j!nomaction cible'' (Discord) ou tape le verbe directement (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. actions: - verbe: examiner cible: coffre si: ~ texte_ok: "Un vieux coffre en bois. Il semble verrouillé." texte_ko: "Il n'y a rien d'intéressant ici." - verbe: ouvrir cible: coffre si: "cle" faire: - "or.+.50" - "cle&&inventaire&&null" # retire la clé texte_ok: "Vous ouvrez le coffre ! +50 pièces d'or." texte_ko: "Le coffre est verrouillé. Il vous faut une clé." ===== Cible all ===== Avec ''cible: all'', n'importe quelle saisie est acceptée : 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." ^ 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 ===== Plusieurs lignes avec le même ''verbe+cible'' sont testées dans l'ordre : actions: - verbe: combiner 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 si: ~ texte_ok: "«t_action_cible_t» n'est pas un ingrédient connu." Les actions locales sont testées avant les globales. La première condition vraie gagne. ===== Alias d'action ===== ''alias:'' crée un raccourci : le joueur peut taper le mot seul sans le verbe : actions: - verbe: inspecter cible: alambic alias: alambic # taper "alambic" = "inspecter alambic" si: ~ texte_ok: "L'alambic central. Utilisez 'combiner [ingrédient]'." ===== Bouton sur une action ===== ''bouton:'' affiche une réaction Discord cliquable pour cette action : actions: - verbe: utiliser cible: potion 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." **Retrouvez nous sur le [[https://discord.gg/Z63DtVV|discord Make&Play]]**