Table des matières

Language / Langue : FR | EN

HUD - Encadrés (YAML)

Les encadrés HUD (encadre:) permettent d'afficher des informations permanentes à l'écran du joueur : PV, score, mini-carte, compte à rebours, etc.

Les encadrés sont visibles sur web et desktop uniquement. Sur Discord et terminal, ils sont ignorés - si une information est essentielle, écrivez-la aussi dans le texte narratif.

Positions disponibles

8 positions :

Les bandes (haut, bas…) remplacent les coins correspondants si elles coexistent.

Syntaxe de base

salles:
  - id: salle_combat
    # Sur une salle : posé à l'entrée, persiste jusqu'au remplacement ou suppression
    encadre:
      position: haut-droite
      texte: |
        ❤️ v_pv_v / v_pvmax_v PV
        ⭐ v_score_v pts
    # Sur un événement ou un choix : mis à jour au moment du clic
    evenements:
      - si: ~
        faire: "pv.-.3"
        bouton: "💥 Perdre 3 PV"
        texte: "Aïe !"
        encadre:
          position: haut-droite
          texte: |
            ❤️ v_pv_v / v_pvmax_v PV
            ⭐ v_score_v pts

Taille

Clé Effet
taille: 30 30 % de la zone de jeu : hauteur en haut/bas, largeur sur les côtés et dans les coins
largeur: 25 Largeur explicite en %
hauteur: 15 Hauteur explicite en %

largeur: et hauteur: sont indépendants - on peut en spécifier un seul. Si aucun n'est précisé : valeur par défaut selon la position.

Sur mobile, les bandes latérales deviennent des bandes en haut/bas : leur taille règle alors la hauteur.

Style

encadre:
  position: haut-droite
  taille: 38
  fond: "#1a1a2e"
  couleur-texte: "#e0e0ff"
  texte: "HUD stylisé"

Texte conditionnel

Le texte: d'un encadré accepte une liste de blocs conditionnels. Le moteur s'arrête au premier bloc vrai - mettre le plus restrictif en premier :

vars: {pv: 10, pvmax: 10}
encadre:
  position: haut-droite
  texte:
    - si: "v_pv_v <= 0"
      texte: "💀 MORT"
    - si: "v_pv_v <= 3"
      texte: "⚠️ CRITIQUE ! ❤️ v_pv_v"
    - texte: "❤️ v_pv_v / v_pvmax_v"  # fallback

Split : deux zones côte à côte

[[split]] dans le texte divise l'encadré en deux zones. L'ordre dépend de la position :

encadre:
  position: gauche
  largeur: 28
  texte: |
    🗺️ Zone actuelle
    demo_split
    [[split]]
    ❤️ v_pv_v PV
    ⭐ v_score_v pts

Les images [[url]] sont supportées dans les zones.

Plusieurs encadrés simultanés

encadre:
  - position: haut-gauche
    texte: "❤️ v_pv_v PV"
  - position: haut-droite
    texte: "⭐ v_score_v pts"
  - position: bas-droite
    texte: "📍 Zone : v_zone_v"

Supprimer des encadrés

# Sur une salle, un choix ou un événement :
supprimer-encadre:
  - all          # supprime tous les encadrés

Pour ne supprimer qu'un coin :

supprimer-encadre:
  - haut-droite

Vidéo dans un HUD

La syntaxe vidéo peut être utilisée dans le texte d'un encadré :

encadre:
  position: haut
  texte:
    - "((loop;muted:https://exemple.com/video.mp4))"

Portée limitée à la salle (4.17)

Par défaut, les encadrés restent persistants, jusqu'à leur remplacement ou leur suppression explicite. Pour effacer un encadré en quittant la salle qui l'a posé, ajouter portee: salle :

encadre:
  position: haut-gauche
  portee: salle
  texte: Le plan de cette pièce.

Cette option fonctionne sur les salles, actions, choix et événements, y compris globaux : la salle de rattachement est celle où l'encadré est effectivement posé. Une action sans déplacement, un rafraîchissement ou un retour vers la même salle ne l'efface pas. Un déplacement, le retour téléphone ou la fin de partie le retire. Les autres encadrés persistants restent affichés.

Un encadré déclaré sur la salle est reposé à chaque entrée. Un encadré créé par une interaction attend que celle-ci soit exécutée à nouveau. Un encadré remplacé n'est pas restauré automatiquement. La sauvegarde conserve la portée et la salle de rattachement ; les anciens encadrés sans portée gardent leur comportement persistant.

Dans l'éditeur, cocher Effacer en quittant la salle sur l'encadré. La case est décochée par défaut. La portée reste facultative dans les modèles sur place ; grille_2d la demande explicitement. En anglais : scope: room.

Pourcentage et alignement dans un encadré

À côté de [[split]], la forme [[split:40]] réserve 40 % à la zone précédente. Le partage suit l'axe de l'encadré. Les blocs [[align:centre]]texte[[/align]] acceptent aussi gauche / droite, left / center / right, ou une variable textuelle t_cote_t.

titre: 'Wiki 4.17 : HUD'
vars:
  pv: 10
salles:
- id: atelier
  texte: Un coffre.
  encadre:
    position: haut
    texte: |
      [[align:centre]]Carte.[[/align]]
      [[split:40]]
      PV : v_pv_v
  choix:
  - commande: rester
    bouton: Rester
    vers: atelier