Voici donc un petit turoriel pour la création de vos briefing.
Le briefing proposé est 100% compatible avec le JIP et le respawn groupe.
Quelques que petites notions:
- C'est quoi le JIP ?
=> Join In Progress: c'est un joueur qui se connecte à la mission alors quand celle-ci a déjà commencé.
Le rapport en le JIP et le briefing ?
=> Si on valide un objectif et que le joueur se connecte après la validation, il n'aura pas l'objectif validé dans son briefing. La commande qui valide un objectif du briefing n'a pas de "mémoire". C'est à dire, elle vous valide ou non l'objectif du briefing à l'instant où elle est appelée et ensuite elle disparaît.
- Le respawn group: c'est un mode de respawn que l'on choisi dans le fichier "description.ext". Or ce mode de respawn fait qu'on joue une IA vivant de son groupe et supprime notre briefing.
Pas de panique, une solution simple existe. Attention quand même à utiliser la solution proposée plus loin uniquement dans le cas d'un respawn group ou "3" (sinon on démultipliera le briefing à chaque mort)
Désormais, le briefing sous arma est un fichier au .sqf. Aussi bizarre (Bohemia aime les trucs bizares) le débrifing est sous format .html que l'on nommera "briefing.html"
Et attention, les bizarreries ne sont pas finies !
Quelle différence entre le briefing et débriefing ?
Le briefing s'affiche en jeu pour savoir ce qu'il faut faire.
Le débrifing ne s'affiche qu'à la fin de la partie pour savoir ce qu'on réussi ou non. Il permet d'afficher un peu de texte aussi.
Aller trêve de blabla, on rentre dans le vif du sujet:
Pour créer un briefing:
- Il nous faut créer un fichier texte.
Pour cela ouvrer le bloc note, créer une nouvelle page et enregistrer cette page dans le dossier de votre mission:
- createSimpleTask
- removeSimpleTask
- setSimpleTaskDescription
- setSimpleTaskDestination
- setTaskState
- createDiaryRecord
Bon et bien feu :
- Donc pour ajouter un objectif dans notre briefing on crée l'objectif:
Code : Tout sélectionner
objectif_1 = player createSimpleTask["Réussir un briefing"];
- Notre objectif est crée mais pas encore renseigné. Pour cela, c'est la commande setSimpletask qui nous décrit l'objectif
Code : Tout sélectionner
objectif_1 setSimpleTaskDescription["Votre mission :(ici on saute une ligne)<br/> Est de réussir à créer un briefing", "Réussir un briefing", "Réussir un briefing"];
Souvenez-vous, on disait que Bohemia aime les trucs bizarres:
- Lorsque vous allez créer plusieurs objectifs, il faut que l'objectif qui se trouve en haut affiché dans le jeu soit le dernier dans le script :
Code : Tout sélectionner
objectif_3 = player createSimpleTask["Boire l'apérôt"];
objectif_3 setSimpleTaskDescription["Voici votre dernier objectif et des plus mérités: boire l'apérôt.", "Boire l'apérôt", "Boire l'apérôt"];
objectif_2 = player createSimpleTask["Rester zen"];
objectif_2 setSimpleTaskDescription["Garder son calme et le sang froid", "Rester zen", "Rester zen"];
objectif_1 = player createSimpleTask["Réussir un briefing"];
objectif_1 setSimpleTaskDescription["Votre mission :(ici on saute une ligne)<br/> Est de réussir à créer un briefing", "Réussir un briefing", "Réussir un briefing"];
Bon et bien voilà vous savez créer un briefing !!!!
- Si l'on souhaite créer une note:
Code : Tout sélectionner
player createDiaryRecord ["Diary", ["La température optimum","Pour bien apprécier une bonne bière, il faut qu'elle soit à une température comprise entre 2 et 6 °C"]];
Donc la synthèse de tout le code ci-dessus:
Code : Tout sélectionner
player createDiaryRecord ["Diary", ["La température optimum","Pour bien apprécier une bonne bière, il faut qu'elle soit à une température comprise entre 2 et 6 °C"]];
objectif_3 = player createSimpleTask["Boire l'apérôt"];
objectif_3 setSimpleTaskDescription["Voici votre dernier objectif et des plus mérités: boire l'apérôt.", "Boire l'apérôt", "Boire l'apérôt"];
objectif_2 = player createSimpleTask["Rester zen"];
objectif_2 setSimpleTaskDescription["Garder son calme et le sang froid", "Rester zen", "Rester zen"];
objectif_1 = player createSimpleTask["Réussir un briefing"];
objectif_1 setSimpleTaskDescription["Votre mission :(ici on saute une ligne)<br/> Est de réussir à créer un briefing", "Réussir un briefing", "Réussir un briefing"];
En réalité, il manque encore juste une petite chose:
- La commande qui lance l'affichage du briefing:
Code : Tout sélectionner
execVM "briefing.sqf";
/////////////////////////////////////////////EN COURS DE CRÉATION/////////////////////////////////////////////
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 : Tout sélectionner
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 : Tout sélectionner
[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.