Comme la réalisation des briefings a changé, je vous ai fait un ptit tuto pour comprendre comment ça marche, ça vaut ce que ça vaut mais bon...
En premier lieu, fini le html et place à un fichier Briefing.sqf, le fichier Briefing.html ne sera utile que pour l'affichage des débriefings.
Tout ce que vous vous entrez dans votre fichier Briefing.sqf sera inversé dans l'ordre d'affichage en jeu, donc il faut commencer par la fin, pratique ça à croire qu'ils le font exprès. blink.gif
Le script Briefing.sqf est appelé par une commande dans le init de la mission :
- Code:
-
execVM "briefing.sqf";
Les commandes :
createDiaryRecord crée une entrée de journal dans la partie notes du briefing. Chaque nouvelle commande crée une nouvelle note.
createSimpleTask crée un objectif (une Task).
setSimpleTaskDescription permet de remplir le champ décrivant l'objectif, de lui donner un nom et de définir le nom à l'écran en jeu en mode noob.
setSimpleTaskDestination lie la tâche avec un marqueur transparent appraissant dans la fenêtre de jeu en mode noob.
Syntaxe :
Les notes :
- Code:
-
- player createDiaryRecord ["Diary", ["titredujournal2", "Corps de texte du journal <br/><br/> Ici on a sauté une ligne"]];
- player createDiaryRecord ["Diary", ["titredujournal1", "Corps de texte du journal <marker name='obj1'>lienversunobjectif</marker> encore du texte <marker name='bistro'>lienverslebistrodeTchernogorsk</marker>"]];
Les objectifs (task) :
- Code:
-
- NomObjectif2 = player createSimpleTask["TitreObjectif2"];
- NomObjectif2 setSimpleTaskDescription["TitreObjectif2 <br/><br/> (ici on a sauté une ligne) Corps de texte de l'objectif 2", "TitreObjectif2", "Nomdurepèreenjeu2"];
- NomObjectif2 setSimpleTaskDestination (getMarkerPos "obj2");
- NomObjectif1 = player createSimpleTask["TitreObjectif1"];
- NomObjectif1 setSimpleTaskDescription["TitreObjectif1 <br/><br/> (ici on a sauté une ligne) Corps de texte de l'objectif 1 <marker name='obj1'>exempledelienobjectif1</marker> et encore du texte", "TitreObjectif1", "Nomdurepèreenjeu1"];
- NomObjectif1 setSimpleTaskDestination (getMarkerPos "obj1");
"- " dans les fenêtres de code servent uniquement à identifier les lignes complètes, il ne faut pas les mettre dans le script.
les br entre < et /> dans le corps de texte sert à revenir à la ligne, br br vous fait donc sauter une ligne.
<marker name='nomdemarqueur'>textelien</marker> sert à lier la position d'un marqueur avec le texte, la carte s'alignera sur ce marqueur quand on cliquera sur le texte.
Pour rappel, les éléments sont insérés dans le Briefing.sqf à l'envers de l'ordre dans lequel ils sont affichés en jeu, c'est pourquoi ma note 2 est au dessus de ma note 1 et ma task 2 est au dessus de ma task 1.
Pour conditionner l'apparition d'un objectif (une task) en cours de jeu, un objectif caché en somme, il suffit d'appeler un script incluant les éléments de commande de cette task. Cette même task ne doit alors pas être entrée dans le Briefing.sqf.
Statut des objectifs :
Les status des objectifs sont maintenant définis avec la commande setTaskState agrémentée des valeurs "SUCCEEDED", "CREATED", "CANCELED" et "FAILED".
On aura alors pour un objectif réussi :
- Code:
-
NomObjectif1 setTaskState "SUCCEEDED"
comme commande dans un déclencheur ou un script.
"SUCCEEDED" task accomplie
"CREATED" nouvelle task
"CANCELED" task annulée
"FAILED" task échouée
De la même manière, la commande setCurrentTask permet de définir automatiquement la tâche en cours de réalisation, syntaxe :
- Code:
-
player setCurrentTask NomObjectif1
Affichage spécifique des objectifs : (non testé et traduit du site de l'OFPEC)
L'affichage d'une boîte définissant la réalisation d'une tâche se fait grace à la commande taskHint.
Cette commande semble complexe à utiliser mais un script permet tout de même son exploitation.
- Code:
-
[objNull, ObjNull, NomObjectif1, "SUCCEEDED"] execVM "CA\Modules\MP\data\scriptCommands\taskHint.sqf";
Entrer cette commande dans un déclencheur ou un script pour une tâche réussie, changer le statut entre les guillemets pour changer le type de hint qui apparaitra à l'écran.
A noter que cet hint apprait au milieu de l'écran, il peut donc être utilisé en même temps que la commande hint habituelle.
Merci à l'OFPEC pour les données wink.gif
Texte tiré de forums arma.fr