P-Milkman - 22 Septembre 2022, 12:37
Maintenant que l'hélico est bon, j'attaque les détails. Comme pour le script hélico, la mission est vouée à être jouée soit en solo soit en Coop donc j'essaie de tout préparer au MP.
Je commence à découvrir le fonctionnement des HoldAction, du coup je m'amuse ^^
Créer une armurerie qui ouvre l'arsenal virtuel pas de soucis.
Voulant mettre ce genre d'action dans mes missions, j'ai fais des tests, mais pour le premier j'ai une erreur de syntaxe mais je ne sais pas où et pour le second, il déclenche tout une série de task...
Le premier: aller parler à un chef de village (chef)
dans l'init du chef:
[chef,"Chef Khaled","\a3\missions_f_oldman\data\img\holdactions\holdAction_talk_ca.paa","\a3\missions_f_oldman\data\img\holdactions\holdAction_talk_ca.paa","_this distance _target < 7","_caller distance _target < 7",{},{},{ call{execVm "scripts\task3.sqf";} },{},[],3,0,true,false] remoteExec ["BIS_fnc_holdActionAdd", 0, chef];
sleep 3; call{["task2","SUCCEEDED"] call BIS_fnc_taskSetState;}; call{[Grognon-6, "task3", ["D'après le chef du village, des forces Tura ont pris position dans un petit village au sud.Allez faire le ménage Grognon-6!", "Reprendre le village", "obj3"], [3235.73,2051.75], "ASSIGNED", 2, true, "ATTACK"] call BIS_fnc_taskCreate; ; execVm "Sound\intro1.sqf"; player setcurrenttask task3; u1 setCurrentTask task3; u2 setCurrentTask task3; u3 setCurrentTask task3; u4 setCurrentTask task3; u5 setCurrentTask task3;}
call{["task3","SUCCEEDED"] call BIS_fnc_taskSetState;} ;
call{[Grognon-6, "task4", ["Ce village était bien trop surveillé pour que ce soit normal. Fouillez la zone pour savoir pourquoi!", "Fouiller la zone", "obj3"], [3235.73,2051.75], "ASSIGNED", 2, true, "SEARCH"] call BIS_fnc_taskCreate; ; execVm "Sound\intro1.sqf"; player setcurrenttask task4; u1 setCurrentTask task4; u2 setCurrentTask task4; u3 setCurrentTask task4; u4 setCurrentTask task4; u5 setCurrentTask task4;};
call{["task4","SUCCEEDED"] call BIS_fnc_taskSetState;}; call{[Grognon-6, "task5", ["Tout se matériel informatique doit permettre de retrouver le signal et ainsi savoir où chercher!", "Localiser le lieu d'émission", "obj4"], [3113.17,1982.35,1.753], "ASSIGNED", 2, true, "INTEL"] call BIS_fnc_taskCreate; ; execVm "Sound\intro1.sqf"; player setcurrenttask task5; u1 setCurrentTask task5; u2 setCurrentTask task5; u3 setCurrentTask task5; u4 setCurrentTask task5; u5 setCurrentTask task5;};
[ordi,"Pirater l'ordinateur","\a3\missions_f_oldman\data\img\holdactions\holdAction_talk_ca.paa","\a3\ui_f\data\IGUI\Cfg\holdactions\holdAction_hack_ca.paa","_this distance _target < 3","_caller distance _target < 3",{},{},{ execVm "scripts\task6.sqf"; },{},[],15,0,true,false] remoteExec ["BIS_fnc_holdActionAdd", 0, ordi];
sleep 3; call{["task5","SUCCEEDED"] call BIS_fnc_taskSetState;}; sleep 3; call{[Grognon-6, "task6", ["Vous avez réussi à localiser un point relai, rendez-vous sur place!", "Rejoindre le lieu d'émission", "obj5"], [1101.71,3390.71,16.4734], "ASSIGNED", 2, true, "NAVIGATE"] call BIS_fnc_taskCreate; execVm "Sound\intro1.sqf"; player setcurrenttask task6; u1 setCurrentTask task6; u2 setCurrentTask task6; u3 setCurrentTask task6; u4 setCurrentTask task6; u5 setCurrentTask task6;}
The-KiLLeR - 22 Septembre 2022, 13:24
Pourquoi ne pas utiliser les modules ?
"Grognon-6" correspond à qui ? une unité ? un groupe ?
Sinon soit tu utilises les commandes, soit les fonctions, mais pas les 2 en même temps.
Exemple pour :
xx setCurrentTask task3;
"task3" call BIS_fnc_taskSetCurrent;
P-Milkman - 22 Septembre 2022, 14:07
Grognon-6 est le nom du groupe du joueur (et donc inclus les 4 IA du groupe) normalement.
J'admets voir plus clair sans les modules, mais comme j'ai des lacunes en script, j'y passe un peu plus de temps je l'accorde.
Le remplacement par BIS_fnc_taskSetCurrent sera bien effectif pour tous les membres du groupe ?
Je vais chasser les ; en trop.
Encore merci de tes réponses toujours clairs !
Edit:
Effectivement, ça fonctionne mieux maintenant, mais j'ai une erreur qui vient sur la ligne 4 de chacun des .sqf de task (3 et 6), les deux ont le même modèle, est-ce le deuxième Call qui plante l'ensemble ?
Grognon-6 est bien reconnu comme nom de groupe dans les autres Tasks, mais ces deux là s'activant via un holdaction puis script, il doit y avoir une différence là.
Task3.sqf
sleep 3; call{["task2","SUCCEEDED"] call BIS_fnc_taskSetState;}; sleep 2; call{[Grognon-6, "task3", ["D'après le chef du village, des forces Tura ont pris position dans un petit village au sud.Allez faire le ménage Grognon-6!", "Reprendre le village", "obj3"], [3235.73,2051.75], "ASSIGNED", 2, true, "ATTACK"] call BIS_fnc_taskCreate; execVm "Sound\intro1.sqf"; "task3" call BIS_fnc_taskSetCurrent;}
The-KiLLeR - 22 Septembre 2022, 14:50
Tes call qui englobe le code ne servent à rien ici.
sleep 3; ["task2","SUCCEEDED"] call BIS_fnc_taskSetState; sleep 2; [Grognon-6, "task3", ["D'après le chef du village, des forces Tura ont pris position dans un petit village au sud.Allez faire le ménage Grognon-6!", "Reprendre le village", "obj3"], [3235.73,2051.75], "ASSIGNED", 2, true, "ATTACK"] call BIS_fnc_taskCreate; execVm "Sound\intro1.sqf"; "task3" call BIS_fnc_taskSetCurrent;
P-Milkman - 22 Septembre 2022, 15:16