Advertisement
Guest User

Untitled

a guest
Dec 9th, 2016
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.78 KB | None | 0 0
  1. /*
  2. =======================================================================================================================
  3.  
  4. T8 Units Script
  5.  
  6. File: T8_missionEXEC.sqf
  7. Author: T-800a
  8. E-Mail: t-800a@gmx.net
  9.  
  10. This file creates the Units, kind of
  11.  
  12.  
  13. This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
  14. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/4.0/ or send a letter to
  15. Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA.
  16.  
  17. =======================================================================================================================
  18. */
  19.  
  20.  
  21. // include the few macros we use ...
  22. #include <T8\MACRO.hpp>
  23.  
  24. // wait until everything is initalized correctly
  25. waitUntil { !isNil "T8U_var_useHC" };
  26. waitUntil { !isNil "T8U_var_InitDONE" };
  27.  
  28. // cancel execute if not server / hc
  29. __allowEXEC(__FILE__);
  30.  
  31.  
  32. sleep 5;
  33.  
  34. ////////////////////////////////////// CUSTOM FUNCTION //////////////////////////////////////
  35. //
  36. // This function is called for every unit in a group
  37. // where it is defined in the groups definiton below
  38. //
  39.  
  40. T8U_fnc_rmNVG_TEST =
  41. {
  42. _this spawn
  43. {
  44. sleep 5;
  45.  
  46. private ["_i"];
  47. _i = true;
  48. switch ( side _this ) do
  49. {
  50. case WEST: { _this unlinkItem "NVGoggles"; };
  51. case EAST: { _this unlinkItem "NVGoggles_OPFOR"; };
  52. case RESISTANCE: { _this unlinkItem "NVGoggles_INDEP"; };
  53. default { _i = false; };
  54. };
  55.  
  56. if ( _i ) then
  57. {
  58. _this removePrimaryWeaponItem "acc_pointer_IR";
  59. _this addPrimaryWeaponItem "acc_flashlight";
  60.  
  61. sleep 1;
  62.  
  63. group _this enableGunLights "forceon";
  64. };
  65. };
  66. };
  67.  
  68. ////////////////////////////////////// UNIT SETUP //////////////////////////////////////
  69.  
  70. // Pre-defined Arrays for Groups ( group setup )
  71. _equipoEmboscada = [ "LOP_AM_Infantry_TL", "LOP_AM_Infantry_SL", "LOP_AM_Infantry_GL", "LOP_AM_Infantry_Rifleman", "LOP_AM_Infantry_AR", "LOP_AM_Infantry_Corpsman" ];
  72.  
  73. _civil1 = [ "LOP_Tak_Civ_Man_01" ];
  74. _civil2 = [ "LOP_Tak_Civ_Man_02" ];
  75. _civil4 = [ "LOP_Tak_Civ_Man_04" ];
  76. _civiles12 = [ "LOP_Tak_Civ_Man_01", "LOP_Tak_Civ_Man_02" ];
  77. _civiles24 = [ "LOP_Tak_Civ_Man_02", "LOP_Tak_Civ_Man_04" ];
  78. _civiles14 = [ "LOP_Tak_Civ_Man_01", "LOP_Tak_Civ_Man_04" ];
  79.  
  80. // Groups, available for HALO, ... support! - this means EAST has two groups with 4 man, which are available as HALP Drop
  81. T8U_var_SupportUnitsEAST = [];
  82. T8U_var_SupportUnitsWEST = [];
  83. T8U_var_SupportUnitsRESISTANCE = [];
  84.  
  85.  
  86. /// this groups of units are spawned directly at mission startm
  87. _SpawnThisUnits =
  88. [
  89. [ [ _civil1, "area1", civilian ], [ "PATROL_URBAN" ], [ false, false, false ] ],
  90. [ [ _civiles24, "area1", civilian ], [ "PATROL_URBAN" ], [ false, false, false ] ],
  91. [ [ _civil4, "area1", civilian ], [ "PATROL_URBAN" ], [ false, false, false ] ],
  92. [ [ _civil2, "area2", civilian ], [ "PATROL_URBAN" ], [ false, false, false ] ],
  93. [ [ _civiles14, "area2", civilian ], [ "PATROL_URBAN" ], [ false, false, false ] ],
  94. [ [ _civil1, "area2", civilian ], [ "PATROL_URBAN" ], [ false, false, false ] ],
  95. [ [ _civil4, "area3", civilian ], [ "PATROL_URBAN" ], [ false, false, false ] ],
  96. [ [ _civiles12, "area3", civilian ], [ "PATROL_URBAN" ], [ false, false, false ] ],
  97. [ [ _civil2, "area3", civilian ], [ "PATROL_URBAN" ], [ false, false, false ] ],
  98. [ [ _equipoEmboscada, "area4", RESISTANCE ], [ "GARRISON" ], [ false, false, false ] ],
  99. [ [ _equipoEmboscada, "area5", RESISTANCE ], [ "GARRISON" ], [ false, false, false ] ]
  100. ];
  101.  
  102. [ _SpawnThisUnits ] spawn T8U_fnc_Spawn;
  103.  
  104. // this groups of units are spawned on demand with triggers created by a function -> T8U_fnc_Zone
  105. // they are spawned when a WEST unit is near and they will be cached when no WEST unit is near
  106. SpawnIAzonaHeli =
  107. [
  108. /* [ [ _pelotonFuego, "marcadorBaseHeli", RESISTANCE ], [ "OCCUPY" ], [ true, false, false ] ],
  109. [ [ _equipoSniper, "marcadorBaseHeli", RESISTANCE ], [ "PATROL" ], [ false, false, false ] ],
  110. [ [ _pelotonFuego, "marcadorBaseHeli", RESISTANCE ], [ "PATROL" ], [ true, false, false ] ],
  111. [ [ _pelotonFuego, "marcadorBaseHeli", RESISTANCE ], [ "PATROL_GARRISON" ], [ true, false, false ] ],
  112. [ [ _patrullaCentinela, "marcadorBaseHeli", RESISTANCE ], [ "PATROL_AROUND" ], [ true, true, true ] ],
  113. [ [ _patrullaCentinela, "marcadorBaseHeli", RESISTANCE ], [ "PATROL_AROUND" ], [ true, true, true ] ],
  114. [ [ _patrullaCentinela, "marcadorBaseHeli", RESISTANCE ], [ "PATROL_AROUND" ], [ true, true, true ] ]
  115. */];
  116.  
  117. // [ _unitsArray, _marker, _distance, _condition, _actSide, _actType, _actRepeat, _onAct, _onDeAct ] call T8U_fnc_TriggerSpawn;
  118.  
  119. [ "SpawnIAzonaHeli", "marcadorBaseHeli", 2500, "this", "WEST", "PRESENT", false, "", "" ] call T8U_fnc_TriggerSpawn;
  120.  
  121.  
  122. SpawnZonePU =
  123. [
  124. // [ [ _equipoFuego, "MarkerZonePU", "T8u_fnc_rmNVG_TEST" ], [ "PATROL_AROUND" ] ],
  125. // [ [ _groupArrayT_APC, "MarkerZonePU", false ], [ "PATROL_URBAN" ] ]
  126. ];
  127.  
  128. // [ _unitsArray, _marker, _owner, _actSide, _distance, _condition, _onAct, _onDeAct ] call T8U_fnc_Zone
  129. [ "SpawnZonePU", "MarkerZonePU", "EAST", "WEST" ] spawn T8U_fnc_Zone;
  130.  
  131. BLUFOR_attack_01 =
  132. [
  133. // [ [ [ "B_MRAP_01_F", "B_MRAP_01_F" ] + _groupArrayBluTeam, "BLUFOR_attack_spawn_01", false, WEST ], [ "ATTACK", "Marker04" ] ],
  134. // [ [ [ "B_Truck_01_transport_F" ] + _groupArrayBluTeam, "BLUFOR_attack_spawn_01", false, WEST ], [ "ATTACK", "Marker04" ] ]
  135. ];
  136. // im Radio-Trigger: [ BLUFOR_attack_01 ] spawn T8U_fnc_Spawn;
  137.  
  138. BLUFOR_attack_02 =
  139. [
  140. // [ [ _groupArrayBluTeam, "BLUFOR_attack_spawn_02", true, WEST ], [ "ATTACK", "overwatchTHIS" ] ],
  141. // [ [ _groupArrayBluTeam, "BLUFOR_attack_spawn_02", true, WEST ], [ "ATTACK", "overwatchTHIS" ] ]
  142. ];
  143. // im Radio-Trigger: [ BLUFOR_attack_02 ] spawn T8U_fnc_Spawn;
  144.  
  145. /*
  146.  
  147. testpol_01 = [ testlog_01 ] call T8U_fnc_getPolygon;
  148. testpol_02 = [ testlog_02 ] call T8U_fnc_getPolygon;
  149. testpol_03 = [ testlog_03 ] call T8U_fnc_getPolygon;
  150. testpol_04 = [ testlog_04 ] call T8U_fnc_getPolygon;
  151.  
  152. private [ "_extreme", "_allPoints" ];
  153.  
  154. _extreme = [ testpol_01 ] call T8U_fnc_findExtreme;
  155. hint str _extreme;
  156. _allPoints = [];
  157.  
  158. for "_i" from 1 to 200 do
  159. {
  160. private [ "_pos" ];
  161.  
  162. _posX = ( _extreme select 0 select 0 ) + random (( _extreme select 1 select 0 ) - ( _extreme select 0 select 0 ));
  163. _posY = ( _extreme select 0 select 1 ) + random (( _extreme select 1 select 1 ) - ( _extreme select 0 select 1 ));
  164.  
  165. if ( [[ _posX, _posY ], testpol_01 ] call T8U_fnc_checkPolygon ) then
  166. {
  167. [[ _posX, _posY ], "ICON", "mil_dot", 1, "ColorGreen" ] call T8U_fnc_DebugMarker;
  168. } else {
  169. [[ _posX, _posY ], "ICON", "mil_dot", 1, "ColorRed" ] call T8U_fnc_DebugMarker;
  170. };
  171.  
  172. _allPoints pushBack [ _posX, _posY ];
  173. };
  174.  
  175. _extreme = [ testpol_02 ] call T8U_fnc_findExtreme;
  176. hint str _extreme;
  177. _allPoints = [];
  178.  
  179. for "_i" from 1 to 200 do
  180. {
  181. private [ "_pos" ];
  182.  
  183. _posX = ( _extreme select 0 select 0 ) + random (( _extreme select 1 select 0 ) - ( _extreme select 0 select 0 ));
  184. _posY = ( _extreme select 0 select 1 ) + random (( _extreme select 1 select 1 ) - ( _extreme select 0 select 1 ));
  185.  
  186. if ( [[ _posX, _posY ], testpol_02 ] call T8U_fnc_checkPolygon ) then
  187. {
  188. [[ _posX, _posY ], "ICON", "mil_dot", 1, "ColorGreen" ] call T8U_fnc_DebugMarker;
  189. } else {
  190. [[ _posX, _posY ], "ICON", "mil_dot", 1, "ColorRed" ] call T8U_fnc_DebugMarker;
  191. };
  192.  
  193. _allPoints pushBack [ _posX, _posY ];
  194. };
  195.  
  196. _extreme = [ testpol_03 ] call T8U_fnc_findExtreme;
  197. hint str _extreme;
  198. _allPoints = [];
  199.  
  200. for "_i" from 1 to 200 do
  201. {
  202. private [ "_pos" ];
  203.  
  204. _posX = ( _extreme select 0 select 0 ) + random (( _extreme select 1 select 0 ) - ( _extreme select 0 select 0 ));
  205. _posY = ( _extreme select 0 select 1 ) + random (( _extreme select 1 select 1 ) - ( _extreme select 0 select 1 ));
  206.  
  207. if ( [[ _posX, _posY ], testpol_03 ] call T8U_fnc_checkPolygon ) then
  208. {
  209. [[ _posX, _posY ], "ICON", "mil_dot", 1, "ColorGreen" ] call T8U_fnc_DebugMarker;
  210. } else {
  211. [[ _posX, _posY ], "ICON", "mil_dot", 1, "ColorRed" ] call T8U_fnc_DebugMarker;
  212. };
  213.  
  214. _allPoints pushBack [ _posX, _posY ];
  215. };
  216.  
  217. _extreme = [ testpol_04 ] call T8U_fnc_findExtreme;
  218. hint str _extreme;
  219. _allPoints = [];
  220.  
  221. for "_i" from 1 to 200 do
  222. {
  223. private [ "_pos" ];
  224.  
  225. _posX = ( _extreme select 0 select 0 ) + random (( _extreme select 1 select 0 ) - ( _extreme select 0 select 0 ));
  226. _posY = ( _extreme select 0 select 1 ) + random (( _extreme select 1 select 1 ) - ( _extreme select 0 select 1 ));
  227.  
  228. if ( [[ _posX, _posY ], testpol_04 ] call T8U_fnc_checkPolygon ) then
  229. {
  230. [[ _posX, _posY ], "ICON", "mil_dot", 1, "ColorGreen" ] call T8U_fnc_DebugMarker;
  231. } else {
  232. [[ _posX, _posY ], "ICON", "mil_dot", 1, "ColorRed" ] call T8U_fnc_DebugMarker;
  233. };
  234.  
  235. _allPoints pushBack [ _posX, _posY ];
  236. };
  237.  
  238.  
  239. // ------------------------------------------------ THE END ---------------------------------------------------
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement