Hello le clan Ado, après un paquet de mois de pause, j'ai repris l'édition de mission.
Je fais à nouveau face à un joli mur
Après avoir essayer le scénario "Extraction" de Western Sahara, j'ai voulu me renseigner sur un script de transport en hélico un peu plus poussé que le module de base du jeu.
En fouillant, j'ai trouvé quelque chose qui me rappelait Arma 2 (avec signalement à la fumigène ou IR)
J'ai donc commencé à mettre en forme le code que je souhaite en me basant sur celui trouvé. Je souhaite qu'il soit fonctionnel en SP et MP.
J'ai essayé de joindre le codeur intial Thedubl via Steam mais pas de réponses pour le moment.
Deux soucis s'offrent à moi:
- j'aimerais rendre l'addAction uniquement disponible quand aucun hélicoptère n'est créé. Actuellement, à chaque activation, un hélico spawn...
- pour le visuel, je souhaiterais inclure une image à coté du Addaction du menu déroulant (<img size='2' image='\a3\Ui_f\data\GUI\Cfg\CommunicationMenu\transport_ca.paa'/>)
J'ai essayé pleins de méthodes, mais rien ne semble fonctionner. En dehors de ça, le script est tout à fait fonctionnel, traduit en VF et incluant les sons en Anglais.
J'utilise 2 fichiers pour faire tourner ça:
initPlayerlocal.sqf
et
insertion.sqf
Est-ce que l'un d'entre vous aurez une idée pour mes deux petits soucis ?
D'avance merci
Je fais à nouveau face à un joli mur
Après avoir essayer le scénario "Extraction" de Western Sahara, j'ai voulu me renseigner sur un script de transport en hélico un peu plus poussé que le module de base du jeu.
En fouillant, j'ai trouvé quelque chose qui me rappelait Arma 2 (avec signalement à la fumigène ou IR)
J'ai donc commencé à mettre en forme le code que je souhaite en me basant sur celui trouvé. Je souhaite qu'il soit fonctionnel en SP et MP.
J'ai essayé de joindre le codeur intial Thedubl via Steam mais pas de réponses pour le moment.
Deux soucis s'offrent à moi:
- j'aimerais rendre l'addAction uniquement disponible quand aucun hélicoptère n'est créé. Actuellement, à chaque activation, un hélico spawn...
- pour le visuel, je souhaiterais inclure une image à coté du Addaction du menu déroulant (<img size='2' image='\a3\Ui_f\data\GUI\Cfg\CommunicationMenu\transport_ca.paa'/>)
J'ai essayé pleins de méthodes, mais rien ne semble fonctionner. En dehors de ça, le script est tout à fait fonctionnel, traduit en VF et incluant les sons en Anglais.
J'utilise 2 fichiers pour faire tourner ça:
initPlayerlocal.sqf
Code (Sélectionner)
//insertion [[player,[("<t color=""#2097F7"">" + ("Transport Aérien") + "</t>"),{_this execVM "scripts\insertion.sqf"},[player],0,false,true, "",'player ==_target and (_target distance getMarkerPos ''safezone'') >= 250']],"addAction",true,true,false] call BIS_fnc_MP; // Add it back when you die/respawn. player addEventHandler [ "respawn", { insertion = [[player,[("<t color=""#2097F7"">" + ("Transport Aérien") + "</t>"),{_this execVM "scripts\insertion.sqf"},[player],0,false,true, "",'player ==_target and (_target distance getMarkerPos ''safezone'') >= 250']],"addAction",true,true,false] call BIS_fnc_MP; } ];
et
insertion.sqf
Code (Sélectionner)
/************************************************************************************************************* Original code: thedubl Modification with sound & French translation: P. Milkman setup: 1. add this to initplayerlocal [[player,[("<t color=""#ff8000"">" + ("Transport") + "</t>"),{_this execVM "scripts\insertion.sqf"},[player],0,false,true, "",'player ==_target']],"addAction",true,true,false] call BIS_fnc_MP; 2. Place this code in folder called "scripts" and name it "insertion.sqf" 3. Place the folder "heli" in a folder named Sound in your mission's folder 3. place a default marker anywhere on the map called "transportdelete" ************************************************************************************************************/ _host = _this select 0; _caller = _this select 1; _id = _this select 2; _params = _this select 3; _type = _params select 0;//true for all group, false for player only. execVm "Sound\heli\heli1.sqf"; //heli1 sleep 4; //heli1 /******************************************************************** spawn chopper **Going to make this spawn multiple helos later. ********************************************************************/ _heliPos = [(getPos player select 0)+1000,(getPos player select 1)+random 1000,(getPos player select 2)+300]; InsertionHeli = createGroup WEST; { _vehType = _x select 0; _vehName = _x select 1; _veh = [_heliPos, 0, _vehType, InsertionHeli] call BIS_fnc_spawnVehicle; if (_vehName != "") then { (_veh select 0) setVehicleVarName _vehName; missionNamespace setVariable [_vehName, (_veh select 0)]; }; } forEach [ ["B_Heli_Transport_01_F", "helo"] //** heli classname ]; sleep 1; //pickup _playerPos = getPos player; _arrivePos = [( _playerPos select 0)+50,(_playerPos select 1)+100,( _playerPos select 2)]; _pickupPos = [( _playerPos select 0)+round(random 10),( _playerPos select 1)+round(random 10),( _playerPos select 2)]; //monitor _monitor = [] spawn { waituntil { sleep 1; (!alive helo) && (!alive player)}; {deleteVehicle _x} forEach crew helo + [helo];}; //Go to location wait for signal _insertWp = InsertionHeli addWaypoint [_arrivePos, 0]; _insertWp setWaypointType "Move"; _insertWp setWaypointSpeed "LIMITED"; _insertWp setWaypointFormation "COLUMN"; //_insertWp setWaypointLoiterRadius 50; _insertWp setWaypointCompletionRadius 50; //_insertWp setWaypointStatements ["true", "if (daytime >= 0 && daytime <= 6 ) then {""Deploy IR gernade!"" remoteExec [""hint""];}else{"" Pop smoke!"" remoteExec [""hint""];};"]; //depending on time of dayt requires either ir or smoke if (daytime >= 0 && daytime <= 6 ) then { //_caller groupchat "Wait to deploy IR gernade until we clear the area and in range!"; execVm "Sound\heli\heli2.sqf"; //heli2 }else{ //_caller groupchat "Wait to pop smoke until we clear the area and in range!"; execVm "Sound\heli\heli3.sqf"; //heli3 }; //Wait until the chopper is close. waituntil { sleep 1; (_caller distance helo) <= 250 ; }; //B_IR_Grenade if (daytime >= 0 && daytime <= 6 ) then { execVm "Sound\heli\heli4.sqf"; //heli4 waituntil { sleep 1; count(_caller nearObjects ["IRStrobeBase",50])!=0 }; }else{ execVm "Sound\heli\heli5.sqf"; //heli5 waituntil { sleep 1; count( _caller nearObjects ["SmokeShell",50])!=0;}; }; sleep 5; //PICKUP!!! //_caller groupchat "We have eyes on... Landing!"; execVm "Sound\heli\heli6.sqf"; //heli6 sleep 2; //set the way point for pickup _insertionWp = InsertionHeli addWaypoint [_pickupPos, 0]; _insertionWp setWaypointType "TR UNLOAD"; _insertionWp setWaypointSpeed "LIMITED"; _insertionWp setWaypointFormation "COLUMN"; _insertionWp setWaypointCompletionRadius 10; sleep 3; //_caller groupchat "Once we land, load up quickly..."; execVm "Sound\heli\heli7.sqf"; //heli7 //Once in allow order options waituntil { sleep 1; (player != vehicle player && player in helo && alive helo || (!alive helo)) } ; //**********************************open map and get pos*************************** if (not alive _host) exitwith { hint "Insertion non valide"; _host removeaction _id; }; //_caller groupchat "Select insertion point."; hint "Commande: Choisir un point d'insertion."; openMap true; mapclick = false; onMapSingleClick "clickpos = _pos; mapclick = true; onMapSingleClick """";true;"; waituntil {mapclick or !(visiblemap)}; if (!visibleMap) exitwith { //_caller groupchat "Request Cancelled..."; hint "Commande: Demande annulée..."; }; pos = clickpos; sleep 1; openMap false; //***************************************************************************** //_caller groupchat "Waiting for orders... use the order pilot action!"; execVm "Sound\heli\heli8.sqf"; //heli8 if (!alive helo) exitWith {}; /**************Funcitons for commanding pilot******************************/ dub_showActions = true; dub_fnc_Land = { _insertionWp2 = InsertionHeli addWaypoint [pos, 0]; _insertionWp2 setWaypointType "TR UNLOAD"; _insertionWp2 setWaypointSpeed "FULL"; _insertionWp2 setWaypointFormation "COLUMN"; _insertionWp2 setWaypointCompletionRadius 10; InsertionHeli setBehaviour "CARELESS"; _insertionWp2 setWaypointStatements ["true", {_this execVm "Sound\heli\heli9.sqf";}]; //heli9"]; helo flyInHeightASL [25,50,50]; //Add rtb addaction [] spawn dub_fnc_rtb; dub_showActions = false; }; dub_fnc_rtb = { sleep 3; execVm "Sound\heli\heli10.sqf"; //heli10 sleep 2; _rtb = player addAction ["<t color='#2097F7'>Retour à la base!</t>" ,{ _insertionWp3 = InsertionHeli addWaypoint [getMarkerPos "transportdelete", 0]; _insertionWp3 setWaypointType "MOVE"; _insertionWp3 setWaypointSpeed "FULL"; _insertionWp3 setWaypointFormation "COLUMN"; _insertionWp3 setWaypointCompletionRadius 50; InsertionHeli setBehaviour "CARELESS"; _insertionWp3 setWaypointStatements ["true","{deleteVehicle _x} forEach crew helo + [helo]; " ]; _player = _this select 1; _id = _this select 2; _player removeaction _id; execVm "Sound\heli\heli11.sqf";//heli11 },[],0,false,true,"",'vehicle player ==_target']; }; /****************************************MENU***************************************/ INSERTIONMENU = [ ["Options",true], ["Attérir", [3], "", -5, [["expression", "_thread = 1 spawn dub_fnc_Land ;"]], "1", "1"] ]; _menu = _caller addAction [("<t color=""#2097F7"">" + ("Ordre de départ") + "</t>"), {showCommandingMenu "#USER:INSERTIONMENU";}, [], -99, false, true, "", "dub_showActions"]; if (!alive helo) exitWith { _caller removeaction _menu;};
Est-ce que l'un d'entre vous aurez une idée pour mes deux petits soucis ?
D'avance merci