Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private["_spawnPos", "_spaceHeli", "_transportHeliType", "_supportHeliType", "_countPlayer", "_heliNumber", "_heliList", "_supportHeliList", "_transportHeliList", "_supportPos1", "_supportPos2", "_landPos", "_escapePos", "_leavePos"];
- // Init des variables
- _transportHeliType = "RHS_UH1Y_Unarmed";
- _supportHeliType = "RHS_UH1Y";
- _spaceHeli = 50;
- _landPos = getMarkerPos "exfil";
- _leavePos = getMarkerPos "base";
- _escapePos = getMarkerPos "extract";
- _supportPos1 = getMarkerPos "support1";
- _supportPos2 = getMarkerPos "support2";
- _spawnPos = [(_landPos select 0),(_landPos select 1) - 20000,0];
- _heliList = [];
- _supportHeliList = [];
- _transportHeliList = [];
- // Compte du nombre de joueurs
- if(isMultiplayer) then
- {
- _countPlayer = count playableUnits;
- }
- else
- {
- _countPlayer = count switchableUnits;
- };
- // Compte du nombre de place dans l'hélico
- seats = count ("getNumber (_x >> 'isPersonTurret') > 0" configClasses (configFile >> "CfgVehicles" >> _transportHeliType >> "Turrets"));
- seats = seats + (getNumber (configFile >> "CfgVehicles" >> _transportHeliType >> "transportSoldier"));
- // Calcul du nombre d'hélico
- _transportHeliNumber = ceil (_countPlayer / seats);
- _supportHeliNumber = 2;
- // Spawn d'un hélico de support sur l'aile gauche de la formation
- _veh = [_spawnPos, 0, _supportHeliType , WEST] call bis_fnc_spawnvehicle;
- _supportHeliList pushBack (_veh select 2);
- _spawnPos = [(_spawnPos select 0) + _spaceHeli,_spawnPos select 1, _spawnPos select 2];
- {
- _x setSkill 1;
- } forEach units (_veh select 2);
- // Spawn d'un hélico de transport
- for "_i" from 1 to _transportHeliNumber do {
- _veh = [_spawnPos, 0, _transportHeliType , WEST] call bis_fnc_spawnvehicle;
- _transportHeliList pushBack (_veh select 2);
- _spawnPos = [(_spawnPos select 0) + _spaceHeli,_spawnPos select 1, _spawnPos select 2];
- {
- _x setSkill 1;
- } forEach units (_veh select 2);
- };
- // Spawn d'un hélico de support sur l'aile droite de la formation
- _veh = [_spawnPos, 0, _supportHeliType , WEST] call bis_fnc_spawnvehicle;
- _supportHeliList pushBack (_veh select 2);
- _spawnPos = [(_spawnPos select 0) + _spaceHeli,_spawnPos select 1, _spawnPos select 2];
- {
- _x setSkill 1;
- } forEach units (_veh select 2);
- // Regroupement des hélicos dans une liste unique
- _heliList = _transportHeliList + _supportHeliList;
- // Marker de support hélico 1
- _wp = _supportHeliList select 0 addWaypoint [_supportPos1, 0];
- _wp setWaypointType "SAD";
- _wp setWaypointSpeed "FULL";
- // Marker de support hélico 2
- _wp = _supportHeliList select 1 addWaypoint [_supportPos2, 0];
- _wp setWaypointType "SAD";
- _wp setWaypointSpeed "FULL";
- _i = 0;
- sleep 5.0;
- // Markers d'extraction
- {
- _helipad = "Land_HelipadEmpty_F" createVehicle [(_landPos select 0) + _spaceHeli*_i, (_landPos select 1),0];
- _helipad setDir 45;
- _wp = _x addWaypoint [[ (_landPos select 0) + _spaceHeli*_i, (_landPos select 1),0], 0];
- _wp setWaypointType "MOVE";
- _wp setWaypointSpeed "FULL";
- _wp setWaypointBehaviour "CARELESS";
- _wp setWaypointCombatMode "BLUE";
- _wp setWaypointFormation "LINE";
- _wp setWaypointCompletionRadius 50;
- _wp setWaypointStatements ["true", "(vehicle this) LAND 'GET IN'; (vehicle this) addAction ['Rentrer', {vip_inside = 1; publicVariable 'vip_inside'; removeAllActions (vehicle this)}]"];
- _i = _i + 1;
- } forEach _transportHeliList;
- waitUntil { sleep 0.1; vip_inside == 1 };
- // S'assurer que les hélicos de support s'en vont
- {
- while {(count (waypoints _x)) > 0} do
- {
- deleteWaypoint ((waypoints _x) select 0);
- };
- } forEach _supportHeliList;
- _i = 0;
- // Markers d'evac
- {
- _wp1 = _x addWaypoint [[(_leavePos select 0), _landPos select 1,0],0];
- _wp1 setWaypointType "MOVE";
- _wp1 setWaypointSpeed "FULL";
- _wp1 setWaypointBehaviour "CARELESS";
- _wp1 setWaypointCombatMode "BLUE";
- _wp1 setWaypointFormation "LINE";
- _wp2 = _x addWaypoint [[(_escapePos select 0), _escapePos select 1,0],0];
- _wp2 setWaypointType "MOVE";
- _wp2 setWaypointSpeed "FULL";
- _wp2 setWaypointBehaviour "CARELESS";
- _wp2 setWaypointCombatMode "BLUE";
- _wp2 setWaypointFormation "LINE";
- _helipad = "Land_HelipadEmpty_F" createVehicle [(_leavePos select 0) + _spaceHeli*_i, (_leavePos select 1),0];
- _wp3 = _x addWaypoint [position _helipad,1];
- _wp3 setWaypointType "GETOUT";
- _wp3 setWaypointSpeed "FULL";
- _wp3 setWaypointBehaviour "CARELESS";
- _wp3 setWaypointCombatMode "BLUE";
- _wp3 setWaypointFormation "LINE";
- sleep 8.0;
- _i = _i + 1;
- } forEach _heliList;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement