1 Exemple de paire Action / Objectif

Prenons le cas d'un otage à libérer, dans la référence des fonctions en début de document on voit qu'on doit appeler la fonction suivante de le champ d'initialisation de l'unité:

nul = [this, 1] execVM "liberer.sqf";


Idéalement on nommera TOUJOURS une unité placée sur carte. Dans ce cas-ci on l'a nommée "otage". Ce qui permettra de référencer l'unité ailleurs.


Le "1" dans les paramètres du script représente l'objectif qui sera accompli lorsqu'on libère l'otage.

Si vous souhaitez créer un objectif dans le cas où l'otage meurre, il suffit de faire un déclencheur avec comme condition:

!alive otage


Si vous voulez appeler un script serveur uniquement (patrouille, artillerie, etc.) il faut ajouter la condition "isServer", ce qui donnera:

(!aliver otage) AND isServer



Pour en revenir à notre cas, un exemple de déclencheur lié à l'action libérer peut être celui repris dans l'exemple ci-dessous.

Si c'est une action à usage unique (ici l'otage n'est libéré ou tué qu'une seule fois) on choisira dont UNE FOIS.

Le délai peut être utilisé pour déclencher l'action avec un retard (dans ce cas choisir compte à rebours).


Ce qui compte ensuite c'est la condition, on utilise une fonction spéciale de la base mission:

1 call StatutServeur


J'ai l'habitude d'entourer la fonction de parenthèses pour augmenter la lisibilité si plusieurs objectifs sont combinés comme par exemple: (1 call StatutServeur) AND (2 call StatutServeur)


Dans cet exemple, l'activation éxécute une série d'actions:

  1. Mettre à jour une tâche: ["Libérer l'otage","Succeeded"] call Tache;

  2. Afficher les marqueurs liées à l'objectif: 1 call Marqueurs;

  3. Déplacer le marqueur de réapparition mobile: 1 call Respawn;