le but est de créer un Briefing multilangue sous ArmA 2.
Briefing : nécessaire à l'environnement d'une mission.
sous Arma 2 le briefing doit être un fichier .sqf
sous Arma 2 le debriefing reste en .html pour l'anglais et .French.html pour le français il est lancé automatiquement par ArmA lors de la fin d'une mission mais ces fichiers .htlm permettent de rajouter une ou plusieurs phrases spécifiques. ex : “Bravo Soldats ! vous avez réussie votre mission.”
multilingue : pour la diffusion en français et anglais au minimum.
mettre dans l'init.sqf :
_nul=[] execVM "briefing.sqf";
Les variables “STR_” renvoyant aux traductions anglais/français du fichier stringtable.cvs joint.
A noter que pour faire le briefing uniquement en français, il faut mettre directement le texte dans le fichier briefing.sqf sans renvoyer à un ficher stringtable.csv.
player createDiaryRecord ["Diary", ["titre","phrase descriptive"]];
Ecrire selon la syntaxe suivante et successivement dans ce fichier.
1.les Notes : Diary
player createDiaryRecord ["Diary", [Localize "STR_inser1", Localize "STR_inser2"]];
2.les Objectifs : SimpleTask
obj1 = player createSimpleTask [Localize "STR_obj1_1"]; obj1 setSimpleTaskDescription [Localize "STR_obj1_2", Localize "STR_obj1_1", Localize "STR_obj1_1"]; obj1 setSimpleTaskDestination (getMarkerPos "nomdumarqueur1");
Il faut mettre le premier objectif en dernier et lister à l'envers.
Le deuxième objectif sera ainsi appelé
odj2 = player createSimpleTask [Localize "STR_obj2_1"];
etc…
3.l'Objectif en cours :
enfin pour que l'objectif 1 soit défini comme le premier objectif en cours il faut rajouter :
player setCurrentTask obj1
ex : “Récupérer le Lance-Roquette”
contient les variables traduites en diverse langues : ici english, french par défaut.
la première ligne définie les langues utilisées et l'ordre respectif. Bien sûr une 3ième voire 4ième langue peut être listée.
LANGUAGE, English, French
On poursuit ensuite par la définition de chacune des variables dans les deux ou X langues et dans l'ordre. A noter la séparation par virgules.
//notes briefing STR_inser1,"Start","Insertion" STR_inser2,"You start <marker name='insertion'>on the beach, south-east</marker>.","Vous commencez <marker name='insertion'>sur la plage au sud-est</marker>." //objectifs briefing STR_obj1_1, "title obj1 english","titre obj1 français" STR_obj1_2, "text in english <marker name='objectif1'>text</marker> text.","texte en français <marker name='objectif1'>texte</marker> texte." STR_obj2_1, "title obj2 english","titre obj2 français" STR_obj2_2, "text in english <marker name='objectif2'>text</marker> text.","texte en français <marker name='objectif2'>texte</marker> texte."
noter que les noms des marqueurs fixant la localisation de l'objectif sont entre apostrophes et non plus entre guillemets ex : 'nomdumarqueur1'
qui se fait avec l'éditeur : pour faire évoluer vos objectifs sur la map il faut mettre par ex dans des déclencheurs d'objectif : quand l'objectif1 est réussie pour passer à l'objectif2 :
[sur act] du déclencheur ou point de passage:
obj1 setTaskState "SUCCEEDED"; nul=[objNull, ObjNull, obj1,"SUCCEEDED"] execVM "CA\Modules\MP\data\scriptCommands\taskHint.sqf"; player setCurrentTask obj2; obj2 setTaskState "ASSIGNED";
les divers états possibles pour un objectif sont :
L' execVM taskHint.sqf étant inclus dans ArmA pour faire apparaitre à l 'écran un message d'évolution de l'objectif:
à noter qu'un Hint multilingue sur [sur Act] un déclencheur s'écrit :
hint localize "@STR_evac";
la variable “STR_evac” étant définie par une ligne supplémentaire du fichier stringtable.csv.