# Variables avancées

Le système de variables de Livre Arbitre va bien au-delà des simples compteurs. Ce guide approfondit les actions, les conditions complexes, les opérateurs de comparaison et les techniques avancées pour créer des récits véritablement dynamiques.

# Actions sur les variables en détail

Lorsque le lecteur atteint une étape, vous pouvez déclencher des actions qui modifient les valeurs de vos variables. Quatre types d'actions sont disponibles :

ActionCodeDescriptionExemple
AjouteraddAjoute une valeur à la variableor + 50 = 150
SoustraireminusSoustrait une valeur de la variablepoints_vie - 20 = 80
AssignersetRemplace la valeur actuellefaction = "Rebelles"
Assigner une foissetOnceAssigne uniquement si la variable n'a jamais été modifiéepremier_choix = "diplomatie"
setOnce est précieux

Utilisez setOnce pour mémoriser la première action du lecteur sans qu'elle soit écrasée par la suite. Parfait pour déterminer une "tendance" de jeu ou un premier choix moral.

# Combinaisons de conditions complexes

Les conditions sur les liens entre étapes ne se limitent pas aux variables. Vous pouvez combiner plusieurs types de conditions pour créer des scénarios sophistiqués. Les conditions disponibles sont :

Type de conditionCodeDescription
Période horaireTimeOfDayPeriodLe choix n'est disponible qu'à certaines heures
Déblocage personnageCharacterUnlockLe choix nécessite d'avoir débloqué un détail de personnage
Délai aprèsDelayAfterLe choix apparaît après un délai en minutes
Délai avantDelayBeforeLe choix disparaît après un certain temps
Déblocage élémentElementUnlockLe choix nécessite de posséder un élément
Étape lueStepReadLe choix nécessite d'avoir lu une étape spécifique
Événement luEventReadLe choix nécessite d'avoir reçu un événement
Joueur actuelCurrentPlayerLe choix est réservé à un joueur spécifique
Configuration de conditions multiples
Combinez plusieurs conditions pour créer des embranchements sophistiqués.
Attention aux combinaisons trop restrictives

Plus vous ajoutez de conditions, plus il devient difficile pour le lecteur de remplir toutes les exigences. Vérifiez qu'il existe toujours au moins un chemin accessible.

# Opérateurs de comparaison

Pour les conditions basées sur les variables, vous disposez de plusieurs opérateurs de comparaison :

OpérateurCodeDescriptionExemple
Égal àeqLa variable doit être exactement égale à la valeurfaction eq "Rebelles"
Plus petit queltLa variable doit être strictement inférieurepoints_vie lt 20
Plus grand quegtLa variable doit être strictement supérieureor gt 100
Plus petit ou égalletLa variable doit être inférieure ou égaleenergie let 50
Plus grand ou égalgetLa variable doit être supérieure ou égalereputation get 75

# Variables partagées et privées en multijoueur

En mode multijoueur, la portée des variables devient un outil stratégique essentiel. Comprendre la différence entre variables partagées et privées est crucial pour créer des expériences multijoueurs cohérentes.

  • Variables privées — Chaque joueur possède sa propre instance de la variable. Idéal pour l'inventaire individuel, les points de vie, les choix personnels
  • Variables partagées — Tous les joueurs partagent la même valeur. Idéal pour l'état du monde, les portes ouvertes, les quêtes communes
  • Impact stratégique — Une variable partagée modifiée par un joueur affecte immédiatement tous les autres joueurs
Scénario coopératif

Utilisez une variable partagée "cle_coffre" : le joueur 1 trouve la clé (set à vrai), ce qui débloque automatiquement le coffre pour le joueur 2 à une étape différente.

# Insertion de variables dans le contenu

Les variables peuvent être insérées directement dans le texte de vos étapes grâce à la syntaxe {{nom_variable}}. Au moment de la lecture, les doubles accolades sont remplacées par la valeur actuelle de la variable.

  • Personnalisation du texte — "Bienvenue, {{FirstName}} ! Vous avez {{or}} pièces d'or."
  • Narration dynamique — "Vous êtes membre des {{faction}} depuis {{jours_membre}} jours."
  • Dialogues personnalisés — "{{PlayerFirstName:2}} vous regarde avec méfiance."

# Variables système

En plus de vos variables personnalisées, Livre Arbitre met à disposition des variables système prêtes à l'emploi :

VariableDescriptionExemple de rendu
FirstNamePrénom du lecteurMarie
LastNameNom du lecteurDupont
FullNamePrénom et nom completsMarie Dupont
AgeÂge du lecteur28
CurrentTimeHeure actuelle du lecteur14:35
PlayerFirstName:XPrénom du joueur X (multijoueur)Lucas
Immersion maximale

Combinez les variables système avec vos variables personnalisées pour une immersion totale : "{{FirstName}}, il est {{CurrentTime}}. Vous avez {{messages_non_lus}} messages en attente."

# Déboguer les variables

Tester les différents scénarios liés aux variables est essentiel pour garantir une expérience de lecture fluide. Voici les bonnes pratiques pour déboguer vos variables :

  • Testez chaque chemin — Parcourez tous les embranchements pour vérifier que les variables sont correctement modifiées
  • Vérifiez les valeurs limites — Testez les cas où une variable atteint 0, son maximum ou une valeur inattendue
  • Contrôlez les conditions — Assurez-vous que les conditions de vos liens fonctionnent avec différentes combinaisons de variables
  • Utilisez la prévisualisation — La prévisualisation de l'éditeur permet de voir le rendu des variables sans lancer une lecture complète
  • Documentez vos variables — Utilisez les descriptions internes pour noter le rôle et la plage de valeurs de chaque variable
Débogage des variables
Testez différentes combinaisons de valeurs pour valider vos scénarios.