Advertisement
Guest User

Untitled

a guest
Oct 20th, 2019
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.55 KB | None | 0 0
  1. private["_spawnPos", "_spaceHeli", "_transportHeliType", "_supportHeliType", "_countPlayer", "_heliNumber", "_heliList", "_supportHeliList", "_transportHeliList", "_supportPos1", "_supportPos2", "_landPos", "_escapePos", "_leavePos"];
  2.  
  3. // Init des variables
  4. _transportHeliType = "RHS_UH1Y_Unarmed";
  5. _supportHeliType = "RHS_UH1Y";
  6. _spaceHeli = 50;
  7. _landPos = getMarkerPos "exfil";
  8. _leavePos = getMarkerPos "base";
  9. _escapePos = getMarkerPos "extract";
  10. _supportPos1 = getMarkerPos "support1";
  11. _supportPos2 = getMarkerPos "support2";
  12. _spawnPos = [(_landPos select 0),(_landPos select 1) - 20000,0];
  13. _heliList = [];
  14. _supportHeliList = [];
  15. _transportHeliList = [];
  16.  
  17. // Compte du nombre de joueurs
  18. if(isMultiplayer) then
  19. {
  20. _countPlayer = count playableUnits;
  21. }
  22. else
  23. {
  24. _countPlayer = count switchableUnits;
  25. };
  26.  
  27. // Compte du nombre de place dans l'hélico
  28. seats = count ("getNumber (_x >> 'isPersonTurret') > 0" configClasses (configFile >> "CfgVehicles" >> _transportHeliType >> "Turrets"));
  29. seats = seats + (getNumber (configFile >> "CfgVehicles" >> _transportHeliType >> "transportSoldier"));
  30.  
  31. // Calcul du nombre d'hélico
  32. _transportHeliNumber = ceil (_countPlayer / seats);
  33. _supportHeliNumber = 2;
  34.  
  35. // Spawn d'un hélico de support sur l'aile gauche de la formation
  36. _veh = [_spawnPos, 0, _supportHeliType , WEST] call bis_fnc_spawnvehicle;
  37. _supportHeliList pushBack (_veh select 2);
  38. _spawnPos = [(_spawnPos select 0) + _spaceHeli,_spawnPos select 1, _spawnPos select 2];
  39. {
  40. _x setSkill 1;
  41.  
  42. } forEach units (_veh select 2);
  43.  
  44. // Spawn d'un hélico de transport
  45. for "_i" from 1 to _transportHeliNumber do {
  46. _veh = [_spawnPos, 0, _transportHeliType , WEST] call bis_fnc_spawnvehicle;
  47. _transportHeliList pushBack (_veh select 2);
  48. _spawnPos = [(_spawnPos select 0) + _spaceHeli,_spawnPos select 1, _spawnPos select 2];
  49. {
  50. _x setSkill 1;
  51. } forEach units (_veh select 2);
  52. };
  53.  
  54. // Spawn d'un hélico de support sur l'aile droite de la formation
  55. _veh = [_spawnPos, 0, _supportHeliType , WEST] call bis_fnc_spawnvehicle;
  56. _supportHeliList pushBack (_veh select 2);
  57. _spawnPos = [(_spawnPos select 0) + _spaceHeli,_spawnPos select 1, _spawnPos select 2];
  58. {
  59. _x setSkill 1;
  60. } forEach units (_veh select 2);
  61.  
  62. // Regroupement des hélicos dans une liste unique
  63. _heliList = _transportHeliList + _supportHeliList;
  64.  
  65. // Marker de support hélico 1
  66. _wp = _supportHeliList select 0 addWaypoint [_supportPos1, 0];
  67. _wp setWaypointType "SAD";
  68. _wp setWaypointSpeed "FULL";
  69.  
  70. // Marker de support hélico 2
  71. _wp = _supportHeliList select 1 addWaypoint [_supportPos2, 0];
  72. _wp setWaypointType "SAD";
  73. _wp setWaypointSpeed "FULL";
  74.  
  75. _i = 0;
  76. sleep 5.0;
  77. // Markers d'extraction
  78. {
  79. _helipad = "Land_HelipadEmpty_F" createVehicle [(_landPos select 0) + _spaceHeli*_i, (_landPos select 1),0];
  80. _helipad setDir 45;
  81. _wp = _x addWaypoint [[ (_landPos select 0) + _spaceHeli*_i, (_landPos select 1),0], 0];
  82. _wp setWaypointType "MOVE";
  83. _wp setWaypointSpeed "FULL";
  84. _wp setWaypointBehaviour "CARELESS";
  85. _wp setWaypointCombatMode "BLUE";
  86. _wp setWaypointFormation "LINE";
  87. _wp setWaypointCompletionRadius 50;
  88. _wp setWaypointStatements ["true", "(vehicle this) LAND 'GET IN'; (vehicle this) addAction ['Rentrer', {vip_inside = 1; publicVariable 'vip_inside'; removeAllActions (vehicle this)}]"];
  89.  
  90. _i = _i + 1;
  91.  
  92. } forEach _transportHeliList;
  93.  
  94. waitUntil { sleep 0.1; vip_inside == 1 };
  95.  
  96. // S'assurer que les hélicos de support s'en vont
  97. {
  98. while {(count (waypoints _x)) > 0} do
  99. {
  100. deleteWaypoint ((waypoints _x) select 0);
  101. };
  102.  
  103. } forEach _supportHeliList;
  104.  
  105. _i = 0;
  106.  
  107. // Markers d'evac
  108. {
  109. _wp1 = _x addWaypoint [[(_leavePos select 0), _landPos select 1,0],0];
  110. _wp1 setWaypointType "MOVE";
  111. _wp1 setWaypointSpeed "FULL";
  112. _wp1 setWaypointBehaviour "CARELESS";
  113. _wp1 setWaypointCombatMode "BLUE";
  114. _wp1 setWaypointFormation "LINE";
  115.  
  116. _wp2 = _x addWaypoint [[(_escapePos select 0), _escapePos select 1,0],0];
  117. _wp2 setWaypointType "MOVE";
  118. _wp2 setWaypointSpeed "FULL";
  119. _wp2 setWaypointBehaviour "CARELESS";
  120. _wp2 setWaypointCombatMode "BLUE";
  121. _wp2 setWaypointFormation "LINE";
  122.  
  123. _helipad = "Land_HelipadEmpty_F" createVehicle [(_leavePos select 0) + _spaceHeli*_i, (_leavePos select 1),0];
  124. _wp3 = _x addWaypoint [position _helipad,1];
  125. _wp3 setWaypointType "GETOUT";
  126. _wp3 setWaypointSpeed "FULL";
  127. _wp3 setWaypointBehaviour "CARELESS";
  128. _wp3 setWaypointCombatMode "BLUE";
  129. _wp3 setWaypointFormation "LINE";
  130. sleep 8.0;
  131.  
  132. _i = _i + 1;
  133.  
  134. } forEach _heliList;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement