Advertisement
Mitharg

THE ROUND TABLE -CORE - NTTR

May 13th, 2021
904
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 109.66 KB | None | 0 0
  1. --[[
  2.         ████████╗██╗  ██╗███████╗    ██████╗  ██████╗ ██╗   ██╗███╗   ██╗██████╗     ████████╗ █████╗ ██████╗ ██╗     ███████╗
  3.         ╚══██╔══╝██║  ██║██╔════╝    ██╔══██╗██╔═══██╗██║   ██║████╗  ██║██╔══██╗    ╚══██╔══╝██╔══██╗██╔══██╗██║     ██╔════╝
  4.            ██║   ███████║█████╗      ██████╔╝██║   ██║██║   ██║██╔██╗ ██║██║  ██║       ██║   ███████║██████╔╝██║     █████╗  
  5.            ██║   ██╔══██║██╔══╝      ██╔══██╗██║   ██║██║   ██║██║╚██╗██║██║  ██║       ██║   ██╔══██║██╔══██╗██║     ██╔══╝  
  6.            ██║   ██║  ██║███████╗    ██║  ██║╚██████╔╝╚██████╔╝██║ ╚████║██████╔╝       ██║   ██║  ██║██████╔╝███████╗███████╗
  7.            ╚═╝   ╚═╝  ╚═╝╚══════╝    ╚═╝  ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═══╝╚═════╝        ╚═╝   ╚═╝  ╚═╝╚═════╝ ╚══════╝╚══════╝
  8.                                                                                                                              
  9.                                                     ██████╗ ██╗   ██╗                                                        
  10.                                                     ██╔══██╗╚██╗ ██╔╝                                                        
  11.                                                     ██████╔╝ ╚████╔╝                                                          
  12.                                                     ██╔══██╗  ╚██╔╝                                                          
  13.                                                     ██████╔╝   ██║                                                            
  14.                                                     ╚═════╝    ╚═╝                                                            
  15.                                                                                                                              
  16.                                 ███╗   ███╗██╗████████╗██╗  ██╗            █████╗ ██████╗  ██████╗                            
  17.                                 ████╗ ████║██║╚══██╔══╝██║  ██║           ██╔══██╗██╔══██╗██╔════╝                            
  18.                                 ██╔████╔██║██║   ██║   ███████║           ███████║██████╔╝██║  ███╗                          
  19.                                 ██║╚██╔╝██║██║   ██║   ██╔══██║           ██╔══██║██╔══██╗██║   ██║                          
  20.                                 ██║ ╚═╝ ██║██║   ██║   ██║  ██║    ██╗    ██║  ██║██║  ██║╚██████╔╝                          
  21.                                 ╚═╝     ╚═╝╚═╝   ╚═╝   ╚═╝  ╚═╝    ╚═╝    ╚═╝  ╚═╝╚═╝  ╚═╝ ╚═════╝                            
  22.                                                                                                                              
  23.                                                                                                                              
  24.                                                                                                                              
  25.                                                                                                                              
  26.                                                                                                                              
  27.                                                                                                                              
  28.                                                                                                                              
  29.                                                                                                                              
  30.                     ███╗   ██╗████████╗████████╗██████╗     ███████╗██████╗ ██╗████████╗██╗ ██████╗ ███╗   ██╗                
  31.                     ████╗  ██║╚══██╔══╝╚══██╔══╝██╔══██╗    ██╔════╝██╔══██╗██║╚══██╔══╝██║██╔═══██╗████╗  ██║                
  32.                     ██╔██╗ ██║   ██║      ██║   ██████╔╝    █████╗  ██║  ██║██║   ██║   ██║██║   ██║██╔██╗ ██║                
  33.                     ██║╚██╗██║   ██║      ██║   ██╔══██╗    ██╔══╝  ██║  ██║██║   ██║   ██║██║   ██║██║╚██╗██║                
  34.                     ██║ ╚████║   ██║      ██║   ██║  ██║    ███████╗██████╔╝██║   ██║   ██║╚██████╔╝██║ ╚████║                
  35.                     ╚═╝  ╚═══╝   ╚═╝      ╚═╝   ╚═╝  ╚═╝    ╚══════╝╚═════╝ ╚═╝   ╚═╝   ╚═╝ ╚═════╝ ╚═╝  ╚═══╝                
  36. --]]
  37.  
  38. --↓↓ ZONES ↓↓-------------------------------------------------------------------------------------------------------------------------------------------------------
  39. zone1 = ZONE:New("Zona 001")
  40. zone2 = ZONE:New("Zona 002")
  41. zone3 = ZONE:New("Zona 003")
  42. zone4 = ZONE:New("Zona 004")
  43. zone5 = ZONE:New("Zona 005")
  44. zone6 = ZONE:New("Zona 006")
  45. zone7 = ZONE:New("Zona 007")
  46. zone8 = ZONE:New("Zona 008")
  47. zone9 = ZONE:New("Zona 009")
  48. zone10 = ZONE:New("Zona 010")
  49. zone11 = ZONE:New("Zona 011")
  50. zone12 = ZONE:New("Zona 012")
  51. zone13 = ZONE:New("Zona 013")
  52. zone14 = ZONE:New("Zona 014")
  53. zone15 = ZONE:New("Zona 015")
  54. zone16 = ZONE:New("Zona 016")
  55. zone17 = ZONE:New("Zona 017")
  56. zone18 = ZONE:New("Zona 018")
  57. zone19 = ZONE:New("Zona 019")
  58. zone20 = ZONE:New("Zona 020")
  59. zone21 = ZONE:New("Zona 021")
  60. zone22 = ZONE:New("Zona 022")
  61. zone23 = ZONE:New("Zona 023")
  62. zone24 = ZONE:New("Zona 024")
  63. zone25 = ZONE:New("Zona 025")
  64. zone26 = ZONE:New("Zona 026")
  65. zone27 = ZONE:New("Zona 027")
  66. zone28 = ZONE:New("Zona 028")
  67. zone29 = ZONE:New("Zona 029")
  68. zone30 = ZONE:New("Zona 030")
  69. zone31 = ZONE:New("Zona 031")
  70. zone32 = ZONE:New("Zona 032")
  71. zone33 = ZONE:New("Zona 033")
  72. zone34 = ZONE:New("Zona 034")
  73. zone35 = ZONE:New("Zona 035")
  74. zone36 = ZONE:New("Zona 036")
  75. zone37 = ZONE:New("Zona 037")
  76. zone38 = ZONE:New("Zona 038")
  77. zone39 = ZONE:New("Zona 039")
  78. zone40 = ZONE:New("Zona 040")
  79. zone41 = ZONE:New("Zona 041")
  80. zone42 = ZONE:New("Zona 042")
  81. zone43 = ZONE:New("Zona 043")
  82. zone44 = ZONE:New("Zona 044")
  83. zone45 = ZONE:New("Zona 045")
  84. zone46 = ZONE:New("Zona 046")
  85. zone47 = ZONE:New("Zona 047")
  86. zone48 = ZONE:New("Zona 048")
  87. zone49 = ZONE:New("Zona 049")
  88. zone50 = ZONE:New("Zona 050")
  89. zone51 = ZONE:New("Zona 051")
  90. zone52 = ZONE:New("Zona 052")
  91. zone53 = ZONE:New("Zona 053")
  92. zone54 = ZONE:New("Zona 054")
  93. zone55 = ZONE:New("Zona 055")
  94. zone56 = ZONE:New("Zona 056")
  95. zone57 = ZONE:New("Zona 057")
  96. zone58 = ZONE:New("Zona 058")
  97. zone59 = ZONE:New("Zona 059")
  98. zone60 = ZONE:New("Zona 060")
  99. zone61 = ZONE:New("Zona 061")
  100. zone62 = ZONE:New("Zona 062")
  101. zone63 = ZONE:New("Zona 063")
  102. zone64 = ZONE:New("Zona 064")
  103. zone65 = ZONE:New("Zona 065")
  104. zone66 = ZONE:New("Zona 066")
  105. zone67 = ZONE:New("Zona 067")
  106. zone68 = ZONE:New("Zona 068")
  107. zone69 = ZONE:New("Zona 069")
  108. zone70 = ZONE:New("Zona 070")
  109. zone71 = ZONE:New("Zona 071")
  110. zone72 = ZONE:New("Zona 072")
  111. zone73 = ZONE:New("Zona 073")
  112. zone74 = ZONE:New("Zona 074")
  113. zone75 = ZONE:New("Zona 075")
  114. zone76 = ZONE:New("Zona 076")
  115. zone77 = ZONE:New("Zona 077")
  116. zone78 = ZONE:New("Zona 078")
  117. zone79 = ZONE:New("Zona 079")
  118. zone80 = ZONE:New("Zona 080")
  119. zone81 = ZONE:New("Zona 081")
  120. zone82 = ZONE:New("Zona 082")
  121. zone83 = ZONE:New("Zona 083")
  122. zone84 = ZONE:New("Zona 084")
  123. zone85 = ZONE:New("Zona 085")
  124. zone86 = ZONE:New("Zona 086")
  125. zone87 = ZONE:New("Zona 087")
  126. zone88 = ZONE:New("Zona 088")
  127. zone89 = ZONE:New("Zona 089")
  128. zone90 = ZONE:New("Zona 090")
  129. zone91 = ZONE:New("Zona 091")
  130. zone92 = ZONE:New("Zona 092")
  131. zone93 = ZONE:New("Zona 093")
  132. zone94 = ZONE:New("Zona 094")
  133. zone95 = ZONE:New("Zona 095")
  134. zone96 = ZONE:New("Zona 096")
  135. zone97 = ZONE:New("Zona 097")
  136. zone98 = ZONE:New("Zona 098")
  137. zone99 = ZONE:New("Zona 099")
  138. zone100 = ZONE:New("Zona 100")
  139. zone101 = ZONE:New("Zona 101")
  140. zone102 = ZONE:New("Zona 102")
  141. zone103 = ZONE:New("Zona 103")
  142. zone104 = ZONE:New("Zona 104")
  143. zone105 = ZONE:New("Zona 105")
  144. zone106 = ZONE:New("Zona 106")
  145. zone107 = ZONE:New("Zona 107")
  146. zone108 = ZONE:New("Zona 108")
  147. zone109 = ZONE:New("Zona 109")
  148. zone110 = ZONE:New("Zona 110")
  149. zone111 = ZONE:New("Zona 111")
  150. zone112 = ZONE:New("Zona 112")
  151. zone113 = ZONE:New("Zona 113")
  152. zone114 = ZONE:New("Zona 114")
  153. zone115 = ZONE:New("Zona 115")
  154. zone116 = ZONE:New("Zona 116")
  155. zone117 = ZONE:New("Zona 117")
  156. zone118 = ZONE:New("Zona 118")
  157. zone119 = ZONE:New("Zona 119")
  158. zone120 = ZONE:New("Zona 120")
  159. zone121 = ZONE:New("Zona 121")
  160. zone122 = ZONE:New("Zona 122")
  161. zone123 = ZONE:New("Zona 123")
  162. zone124 = ZONE:New("Zona 124")
  163. zone125 = ZONE:New("Zona 125")
  164. zone126 = ZONE:New("Zona 126")
  165. zone127 = ZONE:New("Zona 127")
  166. zone128 = ZONE:New("Zona 128")
  167. zone129 = ZONE:New("Zona 129")
  168. zone130 = ZONE:New("Zona 130")
  169. zone131 = ZONE:New("Zona 131")
  170. zone132 = ZONE:New("Zona 132")
  171. zone133 = ZONE:New("Zona 133")
  172. zone134 = ZONE:New("Zona 134")
  173. zone135 = ZONE:New("Zona 135")
  174. zone136 = ZONE:New("Zona 136")
  175. zone137 = ZONE:New("Zona 137")
  176. zone138 = ZONE:New("Zona 138")
  177. zone139 = ZONE:New("Zona 139")
  178. zone140 = ZONE:New("Zona 140")
  179. zone141 = ZONE:New("Zona 141")
  180. zone142 = ZONE:New("Zona 142")
  181. zone143 = ZONE:New("Zona 143")
  182. zone144 = ZONE:New("Zona 144")
  183. zone145 = ZONE:New("Zona 145")
  184. zone146 = ZONE:New("Zona 146")
  185. zone147 = ZONE:New("Zona 147")
  186. zone148 = ZONE:New("Zona 148")
  187. zone149 = ZONE:New("Zona 149")
  188. zone150 = ZONE:New("Zona 150")
  189.  
  190. HeliZone1 = ZONE:New("ZonaHELI 001")
  191. HeliZone2 = ZONE:New("ZonaHELI 002")
  192. HeliZone3 = ZONE:New("ZonaHELI 003")
  193. HeliZone4 = ZONE:New("ZonaHELI 004")
  194. HeliZone5 = ZONE:New("ZonaHELI 005")
  195. HeliZone6 = ZONE:New("ZonaHELI 006")
  196. HeliZone7 = ZONE:New("ZonaHELI 007")
  197. HeliZone8 = ZONE:New("ZonaHELI 008")
  198. HeliZone9 = ZONE:New("ZonaHELI 009")
  199. HeliZone10 = ZONE:New("ZonaHELI 010")
  200. HeliZone11 = ZONE:New("ZonaHELI 011")
  201. HeliZone12 = ZONE:New("ZonaHELI 012")
  202. HeliZone13 = ZONE:New("ZonaHELI 013")
  203. HeliZone14 = ZONE:New("ZonaHELI 014")
  204. HeliZone15 = ZONE:New("ZonaHELI 015")
  205. HeliZone16 = ZONE:New("ZonaHELI 016")
  206. HeliZone17 = ZONE:New("ZonaHELI 017")
  207. HeliZone18 = ZONE:New("ZonaHELI 018")
  208. HeliZone19 = ZONE:New("ZonaHELI 019")
  209. HeliZone20 = ZONE:New("ZonaHELI 020")
  210. HeliZone21 = ZONE:New("ZonaHELI 021")
  211. HeliZone22 = ZONE:New("ZonaHELI 022")
  212. HeliZone23 = ZONE:New("ZonaHELI 023")
  213. HeliZone24 = ZONE:New("ZonaHELI 024")
  214. HeliZone25 = ZONE:New("ZonaHELI 025")
  215. HeliZone26 = ZONE:New("ZonaHELI 026")
  216. HeliZone27 = ZONE:New("ZonaHELI 027")
  217. HeliZone28 = ZONE:New("ZonaHELI 028")
  218. HeliZone29 = ZONE:New("ZonaHELI 029")
  219. HeliZone30 = ZONE:New("ZonaHELI 030")
  220. HeliZone31 = ZONE:New("ZonaHELI 031")
  221. HeliZone32 = ZONE:New("ZonaHELI 032")
  222. HeliZone33 = ZONE:New("ZonaHELI 033")
  223. HeliZone34 = ZONE:New("ZonaHELI 034")
  224. HeliZone35 = ZONE:New("ZonaHELI 035")
  225. HeliZone36 = ZONE:New("ZonaHELI 036")
  226. HeliZone37 = ZONE:New("ZonaHELI 037")
  227. HeliZone38 = ZONE:New("ZonaHELI 038")
  228. HeliZone39 = ZONE:New("ZonaHELI 039")
  229. HeliZone40 = ZONE:New("ZonaHELI 040")
  230. --↓↓ TABLES ↓↓------------------------------------------------------------------------------------------------------------------------------------------------------
  231. BriefingBAITable = {
  232.     "Our Navy Seals have seen Enemy troops using this facility. Command has authorised and immediate Strike.",
  233.     "Command has observed this target from satellite reconnaisance and ordered an airstrike.",
  234.     "Previous airstrikes on this target have missed, the target is now available for replanning.",
  235.     "This is a key Opfor strategic target. Command has designated it for immediate destruction.",
  236.     "One package has marked a new area with enemy targets. Command has designated them for immediate destruction .",
  237.     }
  238.    
  239.     BriefingSEADTable = {
  240.     "The enemy air defenses begin to be really dangerous in the target area. The high command has ordered a SEAD strike",
  241.     "Several packages were lost in the target zone, we must reduce the enemy's defensive capacity as soon as possible.",
  242.     "Our recon teams managed to spot a SAM site. The high command orders a SEAD in that area",
  243.     "We have marked a new SAM site. HQ wants those radars disabled as soon as possible",
  244.     }
  245.    
  246.     BriefingNAVTable = {
  247.     "Enemy ship in the area. The High Command orders its neutralization",
  248.     "The presence of a new enemy vessel was detected in the area. Destroy it",
  249.     "This ship escaped several times from our attempts to destroy it, hunt it once and for all",
  250.     }
  251.    
  252.     TemplateZones = {zone1,zone2,zone3,zone4, zone5, zone6, zone7, zone8, zone9, zone10, zone11, zone12, zone13, zone14, zone15, zone16, zone17, zone18, zone19, zone20, zone21, zone22, zone23, zone24, zone25, zone26, zone27, zone28, zone29, zone30, zone31, zone32, zone33,zone34, zone35, zone36, zone37, zone38, zone39, zone40, zone41, zone42, zone43, zone44, zone45, zone46, zone47, zone48, zone49, zone50, zone51, zone52, zone53, zone54, zone55, zone56, zone57, zone58, zone59, zone60, zone61, zone62, zone63, zone64, zone65, zone66, zone67, zone68, zone69, zone70, zone71, zone72, zone73, zone74, zone75, zone76, zone77, zone78, zone79, zone80, zone81, zone82, zone83, zone84, zone85, zone86, zone87, zone88, zone89, zone90, zone91, zone92, zone93, zone94, zone95, zone96, zone97, zone98, zone99, zone100, zone101, zone102, zone103, zone104, zone105, zone106, zone107, zone108, zone109, zone110, zone111, zone112, zone113, zone114, zone115, zone116, zone117, zone118, zone119, zone120, zone121, zone122, zone123, zone124, zone125, zone126, zone127, zone128, zone129, zone130, zone131, zone132, zone133, zone134, zone135, zone136, zone137, zone138, zone139, zone140, zone141, zone142, zone143, zone144, zone145, zone146, zone147, zone148, zone149, zone150}
  253.     TemplateHELOZones = {HeliZone1, HeliZone2, HeliZone3, HeliZone4, HeliZone5, HeliZone6, HeliZone7, HeliZone8, HeliZone9, HeliZone10, HeliZone11, HeliZone12, HeliZone13, HeliZone14, HeliZone15, HeliZone16, HeliZone17, HeliZone18, HeliZone19, HeliZone20, HeliZone21, HeliZone22, HeliZone23, HeliZone24, HeliZone25, HeliZone26, HeliZone27, HeliZone28, HeliZone29, HeliZone30, HeliZone31, HeliZone32, HeliZone33, HeliZone34, HeliZone35, HeliZone36, HeliZone37, HeliZone38, HeliZone39, HeliZone40}
  254.     TemplateBAI = {"Template0001","Template0002","Template0003","Template0004","Template0005","Template0006","Template0007","Template0008","Template0009","Template0010","Template0011","fob1_red","fob2_red","fob3_red","fob5_red","fob6_red", "Template0012", "Template0013", "Template0014", "Template0015", "Template0016", "Template0017"}
  255.     TemplateHELOBAI = {"Template0001", "Template0003", "Template0005", "Template0006", "Template0008", "Template0010", "Template0012", "HELI_Template0001", "HELI_Template0002", "HELI_Template0003", "HELI_Template0004", "HELI_Template0005", "HELI_Template0006"}
  256.     TemplateSEAD = {"s3_red", "s2_red", "s6_red", "buk_red", "s11_red", "s10_red", "osa_red", "strela_red", "tunguska_red", "tor_red"}
  257.     ColourTable = {"Red","White","Black","Yellow","Green","Blue","Purple","Orange","Grey","Ivory","Jade","Scarlet","Silver","Deadly","Lively","Rough","Smooth","Bright","Insane","Cheap","Cruel","Dirty","Exhausted","Fat","Hollow","Hot","Huge","Loud","Messy","Quick","Quiet","Serious","Sharp","Solid","Spicy","Strange","Sudden","Tight","Violent","Wet","Ugly","Wise"}
  258.     NounTable = {"Scorpion","Leopard","Dog","Tiger","Pig","Wolf","Warlock","Shaman","Paladin","Warrior","Druid","Rogue","Samurai","Assassin","Sniper","Marksman","Frost","Fire","Tornado","Affliction","Fury","Hands","Windwalker","Retribution","Blood","Cat","Cow","Hole","Snake","Rain","Sand","Sister","Soldier","War","Solution","Star"}
  259.  
  260. --↓↓ TABLES / ARRAYS ↓↓---------------------------------------------------------------------------------------------------------------------------------------------
  261. BAI={}
  262. BAIHARD={}
  263. NavBAI={}
  264. SEAD={}
  265. HELOBAI = {}
  266. TargetSetUnitBAI={}
  267. TargetSetUnitBAIHARD={}
  268. TargetSetUnitNavBAI={}
  269. TargetSetUnitSEAD={}
  270. TargetSetUnitHELO_BAI = {}
  271. TaskBAI={}
  272. TaskBAIHARD={}
  273. TaskNavBAI={}
  274. TaskSEAD={}
  275. TaskHELOBAI = {}
  276. TaskTableBAI={}
  277. TaskTableBAIHARD={}
  278. TaskTableSEAD={}
  279. TaskTableNavBAI={}
  280. TaskTable_HELO_BAI = {}
  281. BAIJTAC={}
  282. BAIHARDJTAC={}
  283. SEADJTAC={}
  284. --↓↓ CUSTOM FUNCTIONS ↓↓--------------------------------------------------------------------------------------------------------------------------------------------
  285. function RandOpName()
  286. local Colour = ColourTable[math.random(1,table.getn(ColourTable))]
  287. local Noun = NounTable[math.random(1,table.getn(NounTable))]
  288. return Colour .." ".. Noun
  289. end
  290.  
  291. function MissionTextBAI()
  292. local Briefing = BriefingBAITable[math.random(1,table.getn(BriefingBAITable))]
  293. return Briefing
  294. end
  295.  
  296. function MissionTextNAV()
  297. local Briefing = BriefingNAVTable[math.random(1,table.getn(BriefingNAVTable))]
  298. return Briefing
  299. end
  300.  
  301. function MissionTextSEAD()
  302. local Briefing = BriefingSEADTable[math.random(1,table.getn(BriefingSEADTable))]
  303. return Briefing
  304. end
  305.  
  306. function randomnumber()
  307. local rng = math.random(1,100000)
  308. return rng
  309. end
  310.  
  311. function randomcolor()
  312. local color = math.random(0,4)
  313. return color
  314. end
  315.  
  316. function Serialise(object)
  317. local Resulttable = routines.utils.oneLineSerialize(object)
  318. return Resulttable
  319. end
  320.  
  321. function Fun_LocX()
  322.     local LocX = math.random(100,500)
  323.     return LocX
  324.     end
  325.  
  326. function Fun_LocY()
  327.     local LocY = math.random(100,500)
  328.     return LocY
  329. end
  330.  
  331. --↓↓ INIT ↓↓------------------------------------------------------------------------------------------------------------------------------------------------------
  332. _SETTINGS:SetPlayerMenuOff()
  333. RadioAmbienteActivada_AA = 1
  334. RadioAmbienteActivada_AG = 1
  335. SoundLockout = 0
  336. ActiveTasksbai = false
  337. ActiveTasksbai_HARD = false
  338. ActiveTasksNAVbai = false
  339. ActiveTasksSead = false
  340. ActiveTasks_heliBAI = false
  341. enable_jtac_drones = true
  342.  
  343.  
  344. local SamSet = SET_GROUP:New():FilterPrefixes("✦ SEAD"):FilterCoalitions("red"):FilterStart()
  345. myshorad = SHORAD:New("RED_Shorad", "Red SHORAD", SamSet, 22000, 120, "red")
  346.  
  347. MenuCoalition_BLUE_TASK = MENU_COALITION:New(coalition.side.BLUE, '➣[ACTIVE TASKS]')
  348. --↓↓ BAI TASK ↓↓----------------------------------------------------------------------------------------------------------------------------------------------------
  349. if enable_BAI_tasks == true then
  350.     function MakeTaskBAI()
  351.         local RngNum = randomnumber()
  352.         local RngCol = randomcolor()
  353.         local Rng_OP_NAME1 = RandOpName()
  354.         local Rng_OP_Brief_BAI = MissionTextBAI()
  355.         local RNGzone1 = math.random(1, #(TemplateZones))
  356.         local tempRandGroup1 = math.random(1, #(TemplateBAI))
  357.         local tempGrpAlias1 = '✧ BAI' .. RngNum
  358.         local LocX = Fun_LocX()
  359.         local LocY = Fun_LocY()
  360.  
  361.         BAI_task =
  362.             SPAWN:NewWithAlias(TemplateBAI[tempRandGroup1], tempGrpAlias1):OnSpawnGroup(
  363.             function(SpawnGroup)
  364.                 location1 = SpawnGroup:GetCoordinate()
  365.                 BAI_Marker_Loc = SpawnGroup:GetCoordinate()
  366.                 BAI_Amenaza = SpawnGroup:GetThreatLevel()
  367.                 newlocation1 = location1:GetRandomVec2InRadius(10, 50)
  368.                 FLAKlocation1 = location1:GetRandomVec2InRadius(2000, 3500)
  369.                 FLAKlocation2 = location1:GetRandomVec2InRadius(2000, 3500)
  370.                 FLAK_FAW_location1 = location1:GetRandomVec2InRadius(LocX, LocY)
  371.                 FLAK_FAW_location2 = location1:GetRandomVec2InRadius(LocX, LocY)
  372.  
  373.                 BAIMAPMARKER =
  374.                     MARKER:New(
  375.                     BAI_Marker_Loc,
  376.                     '⇨ Op: ' ..
  377.                         Rng_OP_NAME1 ..
  378.                             ' ⇦ ☾ BAI ☽ :' ..
  379.                                 '\n' ..
  380.                                     BAI_Marker_Loc:ToStringLLDDM(SETTINGS:SetLL_Accuracy()) ..
  381.                                         '\n' .. BAI_Marker_Loc:ToStringLLDMS(SETTINGS:SetLL_Accuracy())
  382.                 ):ToAll():ReadOnly()
  383.                 function BAI_INFO_MENU(SpawnGroup)
  384.                     BAI_INFO =
  385.                         trigger.action.outText(
  386.                         '⇨ Operation: ' ..
  387.                             Rng_OP_NAME1 ..
  388.                                 ' ⇦ ☾ BAI ☽' ..
  389.                                     '\n \n' ..
  390.                                         Rng_OP_Brief_BAI ..
  391.                                             '\n \n' ..
  392.                                                 BAI_Marker_Loc:ToStringLLDDM(SETTINGS:SetLL_Accuracy()) ..
  393.                                                     '\n' ..
  394.                                                         BAI_Marker_Loc:ToStringLLDMS(SETTINGS:SetLL_Accuracy()) ..
  395.                                                             '\n' ..
  396.                                                                 BAI_Marker_Loc:ToStringMGRS(SETTINGS:SetLL_Accuracy()),
  397.                         60
  398.                     )
  399.                 end
  400.  
  401.                 MenuCoalition_BLUE_TASK_BAI =
  402.                     MENU_COALITION_COMMAND:New(
  403.                     coalition.side.BLUE,
  404.                     '⇨ ' .. Rng_OP_NAME1 .. ' ⇦ ☾ BAI ☽',
  405.                     MenuCoalition_BLUE_TASK,
  406.                     BAI_INFO_MENU
  407.                 )
  408.  
  409.                 trigger.action.outText(
  410.                     '⇨ Operation: ' ..
  411.                         Rng_OP_NAME1 ..
  412.                             ' ⇦ ☾ BAI ☽' ..
  413.                                 '\n \n' ..
  414.                                     Rng_OP_Brief_BAI ..
  415.                                         '\n \n' ..
  416.                                             BAI_Marker_Loc:ToStringLLDDM(SETTINGS:SetLL_Accuracy()) ..
  417.                                                 '\n' ..
  418.                                                     BAI_Marker_Loc:ToStringLLDMS(SETTINGS:SetLL_Accuracy()) ..
  419.                                                         '\n' .. BAI_Marker_Loc:ToStringMGRS(SETTINGS:SetLL_Accuracy()),
  420.                     60
  421.                 )
  422.  
  423.                 NEWBAI = USERSOUND:New('TRT OGGs/TransmisionEntrante.ogg')
  424.                 NEWBAI:ToCoalition(coalition.side.BLUE)
  425.  
  426.                 BAIJTAC = SPAWN:NewWithAlias('jtac', 'jtac  BAI-' .. RngNum):SpawnFromVec2(newlocation1)
  427.                 BAIJTACName = BAIJTAC:GetName()
  428.                 JTACAutoLase(BAIJTACName, 1688, Enable_JTAC_Smoke, 'all', RngCol)
  429.                 BAIFLAK1 = SPAWN:NewWithAlias('FLAK_Combo', 'FLAK1 -' .. RngNum):SpawnFromVec2(FLAKlocation1)
  430.                 BAIFLAK2 = SPAWN:NewWithAlias('FLAK_Combo', 'FLAK2 -' .. RngNum):SpawnFromVec2(FLAKlocation2)
  431.                 BAIFLAK_Ammo1 = SPAWN:NewWithAlias('AMMO_Vehicle', 'FLAK Ammo1 -' .. RngNum):SpawnFromVec2(FLAKlocation1)
  432.                 BAIFLAK_Ammo2 = SPAWN:NewWithAlias('AMMO_Vehicle', 'FLAK Ammo2 -' .. RngNum):SpawnFromVec2(FLAKlocation2)
  433.  
  434. --[[ ---
  435.                 Flak_Tasks1 = {}
  436.                 BAIFLAK_FAW1 = BAIFLAK1:GetName()
  437.                 BAIFLAK_FAW1_grp = GROUP:FindByName(BAIFLAK_FAW1)
  438.                 BAIFLAK_FAW1_units = BAIFLAK_FAW1_grp:GetUnits()
  439.                 for i = 1, #BAIFLAK_FAW1_units do
  440.                 local BAIFLAK_FAW1_units = BAIFLAK_FAW1_grp:GetUnit( i )
  441.                 Flak_Tasks1[#Flak_Tasks1+1] = BAIFLAK_FAW1_grp:TaskFireAtPoint(FLAK_FAW_location1, 1000, nil, nil, 3000, 1)   --:TaskFireAtPoint(Vec2, Radius, AmmoCount, WeaponType, Altitude, ASL)
  442.                 end
  443.                 BAIFLAK_FAW1_grp:PushTask(BAIFLAK_FAW1_grp:TaskCombo(Flak_Tasks1), 5 )
  444.  
  445.                 Flak_Tasks2 = {}
  446.                 BAIFLAK_FAW2 = BAIFLAK2:GetName()
  447.                 BAIFLAK_FAW2_grp = GROUP:FindByName(BAIFLAK_FAW2)
  448.                 BAIFLAK_FAW2_units = BAIFLAK_FAW2_grp:GetUnits()
  449.                 for i = 1, #BAIFLAK_FAW2_units do
  450.                 local BAIFLAK_FAW2_units = BAIFLAK_FAW2_grp:GetUnit( i )
  451.                 Flak_Tasks2[#Flak_Tasks2+1] = BAIFLAK_FAW2_grp:TaskFireAtPoint(FLAK_FAW_location2, 1000, nil, nil, 3000, 1)   --:TaskFireAtPoint(Vec2, Radius, AmmoCount, WeaponType, Altitude, ASL)
  452.                 end
  453.                 BAIFLAK_FAW2_grp:PushTask(BAIFLAK_FAW2_grp:TaskCombo(Flak_Tasks2), 5 )
  454.  --]]---
  455.                 SpawnGroup:HandleEvent(EVENTS.Dead)
  456.                 function SpawnGroup:OnEventDead(EventData)
  457.                     if SpawnGroup:GetSize() <= 1 then
  458.                         trigger.action.outText('⇨ Operation: ' .. Rng_OP_NAME1 .. ' ⇦ ☾ BAI ☽ SUCCESSFUL ', 15)
  459.                         BAIMAPMARKER:Remove(1)
  460.                         SNDTAKEOFF = USERSOUND:New('TRT OGGs/TransmisionEntrante.ogg')
  461.                         SNDTAKEOFF:ToCoalition(coalition.side.BLUE)
  462.                         BAIJTACName1 = BAIJTAC:GetName()
  463.                         BAIFLAKName1 = BAIFLAK1:GetName()
  464.                         BAIFLAKName2 = BAIFLAK2:GetName()
  465.                         BAIFLAK_AmmoName1 = BAIFLAK_Ammo1:GetName()
  466.                         BAIFLAK_AmmoName2 = BAIFLAK_Ammo2:GetName()
  467.                         Group.getByName(BAIJTACName1):destroy()
  468.                         --Group.getByName(BAIFLAKName1):ClearTasks()
  469.                         --Group.getByName(BAIFLAKName2):ClearTasks()
  470.                         Group.getByName(BAIFLAKName1):destroy()
  471.                         Group.getByName(BAIFLAKName2):destroy()
  472.                         Group.getByName(BAIFLAK_AmmoName1):destroy()
  473.                         Group.getByName(BAIFLAK_AmmoName2):destroy()
  474.                         MenuCoalition_BLUE_TASK_BAI:Remove()
  475.                         ActiveTasksbai = false
  476.                     end
  477.                 end
  478.             end
  479.         ):SpawnInZone(TemplateZones[RNGzone1], true)
  480.     end
  481.  
  482.     --↓↓ SCHEDULER BAI ↓↓
  483.     SCHEDULER:New(
  484.         nil,
  485.         function()
  486.             if ActiveTasksbai == false then
  487.                 LastTask = MakeTaskBAI()
  488.                 ActiveTasksbai = true
  489.             elseif ActiveTasksbai == true then
  490.             -- no hagas nada
  491.             end
  492.         end,
  493.         {},
  494.         60,
  495.         120,
  496.         0.5
  497.     )
  498. end
  499.  
  500.     --↓↓ BAI HARD TASK ↓↓-----------------------------------------------------------------------------------------------------------------------------------------------
  501.     if enable_BAI_HARD_tasks == true then
  502.         function MakeTaskBAIHARD()
  503.             local RngNum = randomnumber()
  504.             local RngCol = randomcolor()
  505.             local Rng_OP_NAME2 = RandOpName()
  506.             local Rng_OP_Brief_BAIHARD = MissionTextBAI()
  507.             local RNGzone4 = math.random(1, #(TemplateZones))
  508.             local tempRandGroup4 = math.random(1, #(TemplateBAI))
  509.             local tempRandGroup_SEAD = math.random(1, #(TemplateSEAD))
  510.             local tempGrpAlias4 = '☠ BAI ' .. RngNum
  511.             local LocX = Fun_LocX()
  512.             local LocY = Fun_LocY()
  513.    
  514.             BAI_HARD_task =
  515.                 SPAWN:NewWithAlias(TemplateBAI[tempRandGroup4], tempGrpAlias4):OnSpawnGroup(
  516.                 function(SpawnGroup)
  517.                     location2 = SpawnGroup:GetCoordinate()
  518.                     BAI_HARD_Marker_Loc = SpawnGroup:GetCoordinate()
  519.                     newlocation2 = location2:GetRandomVec2InRadius(10, 50)
  520.                     SEADlocation = location2:GetRandomVec2InRadius(500, 750)
  521.                     FLAKlocation3 = location2:GetRandomVec2InRadius(2000, 3500)
  522.                     FLAKlocation4 = location2:GetRandomVec2InRadius(2000, 3500)
  523.                     FLAK_FAW_location3 = location2:GetRandomVec2InRadius(LocX, LocY)
  524.                     FLAK_FAW_location4 = location2:GetRandomVec2InRadius(LocX, LocY)
  525.                     BAI_HARD_MAPMARKER =
  526.                         MARKER:New(
  527.                         BAI_HARD_Marker_Loc,
  528.                         '⇨ Op: ' ..
  529.                             Rng_OP_NAME2 ..
  530.                                 ' ⇦ ☾ BAI Hard ☽' ..
  531.                                     '\n' ..
  532.                                         BAI_HARD_Marker_Loc:ToStringLLDDM(SETTINGS:SetLL_Accuracy()) ..
  533.                                             '\n' .. BAI_HARD_Marker_Loc:ToStringLLDMS(SETTINGS:SetLL_Accuracy())
  534.                     ):ToAll():ReadOnly()
  535.                     function BAI_HARD_INFO_MENU(SpawnGroup)
  536.                         BAI_HARD_INFO =
  537.                             trigger.action.outText(
  538.                             '⇨ Operation: ' ..
  539.                                 Rng_OP_NAME2 ..
  540.                                     ' ⇦ ☾ BAI Hard  ☽' ..
  541.                                         '\n \n' ..
  542.                                             Rng_OP_Brief_BAIHARD ..
  543.                                                 '\n \n' ..
  544.                                                     BAI_HARD_Marker_Loc:ToStringLLDDM(SETTINGS:SetLL_Accuracy()) ..
  545.                                                         '\n' ..
  546.                                                             BAI_HARD_Marker_Loc:ToStringLLDMS(SETTINGS:SetLL_Accuracy()) ..
  547.                                                                 '\n' ..
  548.                                                                     BAI_HARD_Marker_Loc:ToStringMGRS(
  549.                                                                         SETTINGS:SetLL_Accuracy()
  550.                                                                     ),
  551.                             60
  552.                         )
  553.                     end
  554.    
  555.                     MenuCoalition_BLUE_TASK_BAIHARD =
  556.                         MENU_COALITION_COMMAND:New(
  557.                         coalition.side.BLUE,
  558.                         '⇨ ' .. Rng_OP_NAME2 .. ' ⇦ ☾ BAI Hard ☽',
  559.                         MenuCoalition_BLUE_TASK,
  560.                         BAI_HARD_INFO_MENU
  561.                     )
  562.    
  563.                     trigger.action.outText(
  564.                         '⇨ Operation: ' ..
  565.                             Rng_OP_NAME2 ..
  566.                                 ' ⇦ ☾ BAI Hard  ☽' ..
  567.                                     '\n \n' ..
  568.                                         Rng_OP_Brief_BAIHARD ..
  569.                                             '\n \n' ..
  570.                                                 BAI_HARD_Marker_Loc:ToStringLLDDM(SETTINGS:SetLL_Accuracy()) ..
  571.                                                     '\n' ..
  572.                                                         BAI_HARD_Marker_Loc:ToStringLLDMS(SETTINGS:SetLL_Accuracy()) ..
  573.                                                             '\n' ..
  574.                                                                 BAI_HARD_Marker_Loc:ToStringMGRS(SETTINGS:SetLL_Accuracy()),
  575.                         60
  576.                     )
  577.                     NEWBAIHARD = USERSOUND:New('TRT OGGs/TransmisionEntrante.ogg')
  578.                     NEWBAIHARD:ToCoalition(coalition.side.BLUE)
  579.    
  580.                     BAIHARDJTAC = SPAWN:NewWithAlias('jtac', 'jtac  BAI-' .. RngNum):SpawnFromVec2(newlocation2)
  581.                     BAIHARDJTACName = BAIHARDJTAC:GetName()
  582.                     JTACAutoLase(BAIHARDJTACName, 1688, Enable_JTAC_Smoke, 'all', RngCol)
  583.                     BAIHARDSEAD =
  584.                         SPAWN:NewWithAlias(TemplateSEAD[tempRandGroup_SEAD], '✦ SEAD -' .. RngNum):SpawnFromVec2(
  585.                         SEADlocation
  586.                     )
  587.    
  588.                     BAIFLAK3 = SPAWN:NewWithAlias('FLAK_Combo', 'FLAK1 -' .. RngNum):SpawnFromVec2(FLAKlocation3)
  589.                     BAIFLAK4 = SPAWN:NewWithAlias('FLAK_Combo', 'FLAK2 -' .. RngNum):SpawnFromVec2(FLAKlocation4)
  590.                     BAIFLAK_Ammo3 =
  591.                         SPAWN:NewWithAlias('AMMO_Vehicle', 'FLAK Ammo1 -' .. RngNum):SpawnFromVec2(FLAKlocation3)
  592.                     BAIFLAK_Ammo4 =
  593.                         SPAWN:NewWithAlias('AMMO_Vehicle', 'FLAK Ammo2 -' .. RngNum):SpawnFromVec2(FLAKlocation4)
  594. --[[ ---    
  595.                     Flak_Tasks3 = {}
  596.                     BAIFLAK_FAW3 = BAIFLAK3:GetName()
  597.                     BAIFLAK_FAW3_grp = GROUP:FindByName(BAIFLAK_FAW3)
  598.                     BAIFLAK_FAW3_units = BAIFLAK_FAW3_grp:GetUnits()
  599.                     for i = 1, #BAIFLAK_FAW3_units do
  600.                         local BAIFLAK_FAW3_units = BAIFLAK_FAW3_grp:GetUnit(i)
  601.                         Flak_Tasks3[#Flak_Tasks3 + 1] =
  602.                             BAIFLAK_FAW3_grp:TaskFireAtPoint(FLAK_FAW_location3, 1000, nil, nil, 3000, 1)
  603.                     end
  604.                     BAIFLAK_FAW3_grp:PushTask(BAIFLAK_FAW3_grp:TaskCombo(Flak_Tasks3), 5)
  605.    
  606.                     Flak_Tasks4 = {}
  607.                     BAIFLAK_FAW4 = BAIFLAK4:GetName()
  608.                     BAIFLAK_FAW4_grp = GROUP:FindByName(BAIFLAK_FAW4)
  609.                     BAIFLAK_FAW4_units = BAIFLAK_FAW4_grp:GetUnits()
  610.                     for i = 1, #BAIFLAK_FAW4_units do
  611.                         local BAIFLAK_FAW4_units = BAIFLAK_FAW4_grp:GetUnit(i)
  612.                         Flak_Tasks4[#Flak_Tasks4 + 1] =
  613.                             BAIFLAK_FAW4_grp:TaskFireAtPoint(FLAK_FAW_location4, 1000, nil, nil, 3000, 1)
  614.                     end
  615.                     BAIFLAK_FAW4_grp:PushTask(BAIFLAK_FAW4_grp:TaskCombo(Flak_Tasks4), 5)
  616.  --]]---
  617.                     SpawnGroup:HandleEvent(EVENTS.Dead)
  618.                     function SpawnGroup:OnEventDead(EventData)
  619.                         if SpawnGroup:GetSize() <= 1 then
  620.                             trigger.action.outText('⇨ Operation: ' .. Rng_OP_NAME2 .. ' ⇦ ☾ BAI Hard ☽ SUCCESSFUL', 15)
  621.                             BAI_HARD_MAPMARKER:Remove(1)
  622.                             SNDTAKEOFF = USERSOUND:New('TRT OGGs/TransmisionEntrante.ogg')
  623.                             SNDTAKEOFF:ToCoalition(coalition.side.BLUE)
  624.                             BAI_HARD_JTACName1 = BAIHARDJTAC:GetName()
  625.                             BAIHARDSEADName = BAIHARDSEAD:GetName()
  626.                             BAIHARDFLAKName1 = BAIFLAK3:GetName()
  627.                             BAIHARDFLAKName2 = BAIFLAK4:GetName()
  628.                             BAIFLAK_Ammo3Name = BAIFLAK_Ammo3:GetName()
  629.                             BAIFLAK_Ammo4Name = BAIFLAK_Ammo4:GetName()
  630.                             Group.getByName(BAI_HARD_JTACName1):destroy()
  631.                             Group.getByName(BAIHARDSEADName):destroy()
  632.                             --Group.getByName(BAIHARDFLAKName1):ClearTasks()
  633.                             --Group.getByName(BAIHARDFLAKName2):ClearTasks()
  634.                             Group.getByName(BAIHARDFLAKName1):destroy()
  635.                             Group.getByName(BAIHARDFLAKName2):destroy()
  636.                             Group.getByName(BAIFLAK_Ammo3Name):destroy()
  637.                             Group.getByName(BAIFLAK_Ammo4Name):destroy()
  638.                             MenuCoalition_BLUE_TASK_BAIHARD:Remove()
  639.                             ActiveTasksbai_HARD = false
  640.                         end
  641.                     end
  642.                 end
  643.             ):SpawnInZone(TemplateZones[RNGzone4], true)
  644.         end
  645.    
  646.         --↓↓ SCHEDULER BAI HARD↓↓
  647.         SCHEDULER:New(
  648.             nil,
  649.             function()
  650.                 if ActiveTasksbai_HARD == false then
  651.                     LastTask = MakeTaskBAIHARD()
  652.                     ActiveTasksbai_HARD = true
  653.                 elseif ActiveTasksbai_HARD == true then
  654.                 -- no hagas nada
  655.                 end
  656.             end,
  657.             {},
  658.             90,
  659.             120,
  660.             0.5
  661.         )
  662.     end
  663. --↓↓ SEAD TASK ↓↓----------------------------------------------------------------------------------------------------------------------------------------------------
  664. if enable_SEAD_tasks == true then
  665.     function MakeTaskSEAD()
  666.         local RngNum = randomnumber()
  667.         local RngCol = randomcolor()
  668.         local Rng_OP_NAME4 = RandOpName()
  669.         local Rng_OP_Brief_SEAD = MissionTextSEAD()
  670.         local RNGzone3 = math.random(1, #(TemplateZones))
  671.         local tempRandGroup2 = math.random(1, #(SEAD_GROUPS))
  672.         local tempGrpAlias2 = '✦ SEAD' .. RngNum
  673.         local LocX = Fun_LocX()
  674.         local LocY = Fun_LocY()
  675.  
  676.         SEAD_task =
  677.             SPAWN:NewWithAlias(SEAD_GROUPS[tempRandGroup2], tempGrpAlias2):OnSpawnGroup(
  678.             function(SpawnGroup)
  679.                 location3 = SpawnGroup:GetCoordinate()
  680.                 SEAD_Marker_Loc = SpawnGroup:GetCoordinate()
  681.                 newlocation3 = location3:GetRandomVec2InRadius(10, 50)
  682.                 FLAKlocation5 = location3:GetRandomVec2InRadius(2000, 3500)
  683.                 FLAKlocation6 = location3:GetRandomVec2InRadius(2000, 3500)
  684.                 FLAK_FAW_location5 = location3:GetRandomVec2InRadius(LocX, LocY)
  685.                 FLAK_FAW_location6 = location3:GetRandomVec2InRadius(LocX, LocY)
  686.                 SEADMAPMARKER =
  687.                     MARKER:New(
  688.                     SEAD_Marker_Loc,
  689.                     '⇨ Op: ' ..
  690.                         Rng_OP_NAME4 ..
  691.                             ' ⇦ ☾ SEAD ☽ :' ..
  692.                                 '\n' ..
  693.                                     SEAD_Marker_Loc:ToStringLLDDM(SETTINGS:SetLL_Accuracy()) ..
  694.                                         '\n' .. SEAD_Marker_Loc:ToStringLLDMS(SETTINGS:SetLL_Accuracy())
  695.                 ):ToAll():ReadOnly()
  696.                 function SEAD_INFO_MENU(SpawnGroup)
  697.                     SEAD_INFO =
  698.                         trigger.action.outText(
  699.                         '⇨ Operation: ' ..
  700.                             Rng_OP_NAME4 ..
  701.                                 ' ⇦ ☾ SEAD ☽' ..
  702.                                     '\n \n' ..
  703.                                         Rng_OP_Brief_SEAD ..
  704.                                             '\n \n' ..
  705.                                                 SEAD_Marker_Loc:ToStringLLDDM(SETTINGS:SetLL_Accuracy()) ..
  706.                                                     '\n' ..
  707.                                                         SEAD_Marker_Loc:ToStringLLDMS(SETTINGS:SetLL_Accuracy()) ..
  708.                                                             '\n' ..
  709.                                                                 SEAD_Marker_Loc:ToStringMGRS(SETTINGS:SetLL_Accuracy()),
  710.                         60
  711.                     )
  712.                 end
  713.  
  714.                 MenuCoalition_BLUE_TASK_SEAD =
  715.                     MENU_COALITION_COMMAND:New(
  716.                     coalition.side.BLUE,
  717.                     '⇨ ' .. Rng_OP_NAME4 .. ' ⇦ ☾ SEAD ☽',
  718.                     MenuCoalition_BLUE_TASK,
  719.                     SEAD_INFO_MENU
  720.                 )
  721.  
  722.                 trigger.action.outText(
  723.                     '⇨ Operation: ' ..
  724.                         Rng_OP_NAME4 ..
  725.                             ' ⇦ ☾ SEAD ☽' ..
  726.                                 '\n \n' ..
  727.                                     Rng_OP_Brief_SEAD ..
  728.                                         '\n \n' ..
  729.                                             SEAD_Marker_Loc:ToStringLLDDM(SETTINGS:SetLL_Accuracy()) ..
  730.                                                 '\n' ..
  731.                                                     SEAD_Marker_Loc:ToStringLLDMS(SETTINGS:SetLL_Accuracy()) ..
  732.                                                         '\n' .. SEAD_Marker_Loc:ToStringMGRS(SETTINGS:SetLL_Accuracy()),
  733.                     60
  734.                 )
  735.  
  736.                 NEWBAIHARD = USERSOUND:New('TRT OGGs/TransmisionEntrante.ogg')
  737.                 NEWBAIHARD:ToCoalition(coalition.side.BLUE)
  738.  
  739.                 SEADJTAC = SPAWN:NewWithAlias('jtac', 'jtac  SEAD-' .. RngNum):SpawnFromVec2(newlocation3)
  740.                 SEADJTACName = SEADJTAC:GetName()
  741.                 JTACAutoLase(SEADJTACName, 1688, Enable_JTAC_Smoke, 'all', RngCol)
  742.                 BAIFLAK5 = SPAWN:NewWithAlias('FLAK_Combo', 'FLAK1 -' .. RngNum):SpawnFromVec2(FLAKlocation5)
  743.                 BAIFLAK6 = SPAWN:NewWithAlias('FLAK_Combo', 'FLAK2 -' .. RngNum):SpawnFromVec2(FLAKlocation6)
  744.                 BAIFLAK_Ammo5 =
  745.                     SPAWN:NewWithAlias('AMMO_Vehicle', 'FLAK Ammo1 -' .. RngNum):SpawnFromVec2(FLAKlocation5)
  746.                 BAIFLAK_Ammo6 =
  747.                     SPAWN:NewWithAlias('AMMO_Vehicle', 'FLAK Ammo2 -' .. RngNum):SpawnFromVec2(FLAKlocation6)
  748. --[[ ---
  749.                 Flak_Tasks5 = {}
  750.                 BAIFLAK_FAW5 = BAIFLAK5:GetName()
  751.                 BAIFLAK_FAW5_grp = GROUP:FindByName(BAIFLAK_FAW5)
  752.                 BAIFLAK_FAW5_units = BAIFLAK_FAW5_grp:GetUnits()
  753.                 for i = 1, #BAIFLAK_FAW5_units do
  754.                     local BAIFLAK_FAW5_units = BAIFLAK_FAW5_grp:GetUnit(i)
  755.                     Flak_Tasks5[#Flak_Tasks5 + 1] =
  756.                         BAIFLAK_FAW5_grp:TaskFireAtPoint(FLAK_FAW_location5, 1000, nil, nil, 3000, 1)
  757.                 end
  758.                 BAIFLAK_FAW5_grp:PushTask(BAIFLAK_FAW5_grp:TaskCombo(Flak_Tasks5), 5)
  759.  
  760.                 Flak_Tasks6 = {}
  761.                 BAIFLAK_FAW6 = BAIFLAK6:GetName()
  762.                 BAIFLAK_FAW6_grp = GROUP:FindByName(BAIFLAK_FAW6)
  763.                 BAIFLAK_FAW6_units = BAIFLAK_FAW6_grp:GetUnits()
  764.                 for i = 1, #BAIFLAK_FAW6_units do
  765.                     local BAIFLAK_FAW6_units = BAIFLAK_FAW6_grp:GetUnit(i)
  766.                     Flak_Tasks6[#Flak_Tasks6 + 1] =
  767.                         BAIFLAK_FAW6_grp:TaskFireAtPoint(FLAK_FAW_location6, 1000, nil, nil, 3000, 1)
  768.                 end
  769.                 BAIFLAK_FAW6_grp:PushTask(BAIFLAK_FAW6_grp:TaskCombo(Flak_Tasks6), 5)
  770. --]]---
  771.                 SpawnGroup:HandleEvent(EVENTS.Dead)
  772.                 function SpawnGroup:OnEventDead(EventData)
  773.                     if SpawnGroup:GetSize() <= 1 then
  774.                         trigger.action.outText('⇨ Operation: ' .. Rng_OP_NAME4 .. ' ⇦ ☾ SEAD ☽ SUCCESSFUL', 15)
  775.                         SEADMAPMARKER:Remove(1)
  776.                         SNDTAKEOFF = USERSOUND:New('TRT OGGs/TransmisionEntrante.ogg')
  777.                         SNDTAKEOFF:ToCoalition(coalition.side.BLUE)
  778.                         SEADJTACName1 = SEADJTAC:GetName()
  779.                         BAIFLAK5name = BAIFLAK5:GetName()
  780.                         BAIFLAK6name = BAIFLAK6:GetName()
  781.                         BAIFLAK_Ammo5Name = BAIFLAK_Ammo5:GetName()
  782.                         BAIFLAK_Ammo6Name = BAIFLAK_Ammo6:GetName()
  783.                         --Group.getByName(BAIFLAK_Ammo5Name):ClearTasks()
  784.                         --Group.getByName(BAIFLAK_Ammo6Name):ClearTasks()
  785.                         Group.getByName(SEADJTACName1):destroy()
  786.                         Group.getByName(BAIFLAK5name):destroy()
  787.                         Group.getByName(BAIFLAK6name):destroy()
  788.                         Group.getByName(BAIFLAK_Ammo5Name):destroy()
  789.                         Group.getByName(BAIFLAK_Ammo6Name):destroy()
  790.                         MenuCoalition_BLUE_TASK_SEAD:Remove()
  791.                         ActiveTasksSead = false
  792.                     end
  793.                 end
  794.             end
  795.         ):SpawnInZone(TemplateZones[RNGzone3], true)
  796.     end
  797.  
  798.     --↓↓ SCHEDULER SEAD ↓↓
  799.     SCHEDULER:New(
  800.         nil,
  801.         function()
  802.             if ActiveTasksSead == false then
  803.                 LastTask = MakeTaskSEAD()
  804.                 ActiveTasksSead = true
  805.             elseif ActiveTasksSead == true then
  806.             -- no hagas nada
  807.             end
  808.         end,
  809.         {},
  810.         120,
  811.         120,
  812.         0.5
  813.     )
  814. end
  815.  
  816. --↓↓ HELO BAI TASK ↓↓----------------------------------------------------------------------------------------------------------------------------------------------------
  817. if enable_Helo_tasking == true then
  818. function MakeTask_HELO_BAI()
  819.     local RngNum = randomnumber()
  820.     local RngCol = randomcolor()
  821.     local Rng_OP_NAME5 = RandOpName()
  822.     local Rng_OP_Brief_HELIBAI = MissionTextBAI()
  823.     local RNGHELIzone1 = math.random(1, #(TemplateHELOZones))
  824.     local tempRandGroup7 = math.random(1, #(TemplateHELOBAI))
  825.     local tempGrpAlias7 = '✧ Heli BAI' .. RngNum
  826.  
  827.     BAI_task =
  828.         SPAWN:NewWithAlias(TemplateHELOBAI[tempRandGroup7], tempGrpAlias7):OnSpawnGroup(
  829.         function(SpawnGroup)
  830.             location4 = SpawnGroup:GetCoordinate()
  831.             HELI_BAI_Marker_Loc = SpawnGroup:GetCoordinate()
  832.             newlocation4 = location4:GetRandomVec2InRadius(10, 50)
  833.             HELI_BAIMAPMARKER =
  834.                 MARKER:New(
  835.                 HELI_BAI_Marker_Loc,
  836.                 '⇨ Op: ' ..
  837.                     Rng_OP_NAME5 ..
  838.                         ' ⇦ ☾ HELI BAI ☽ :' ..
  839.                             '\n' ..
  840.                                 HELI_BAI_Marker_Loc:ToStringLLDDM(SETTINGS:SetLL_Accuracy()) ..
  841.                                     '\n' .. HELI_BAI_Marker_Loc:ToStringLLDMS(SETTINGS:SetLL_Accuracy())
  842.             ):ToAll():ReadOnly()
  843.  
  844.             function HELIBAI_INFO_MENU(SpawnGroup)
  845.                 HELIBAI_INFO =
  846.                     trigger.action.outText(
  847.                     '⇨ Operation: ' ..
  848.                         Rng_OP_NAME5 ..
  849.                             ' ⇦ ☾ HELI BAI ☽' ..
  850.                                 '\n \n' ..
  851.                                     Rng_OP_Brief_HELIBAI ..
  852.                                         '\n \n' ..
  853.                                             HELI_BAI_Marker_Loc:ToStringLLDDM(SETTINGS:SetLL_Accuracy()) ..
  854.                                                 '\n' ..
  855.                                                     HELI_BAI_Marker_Loc:ToStringLLDMS(SETTINGS:SetLL_Accuracy()) ..
  856.                                                         '\n' ..
  857.                                                             HELI_BAI_Marker_Loc:ToStringMGRS(
  858.                                                                 SETTINGS:SetLL_Accuracy()
  859.                                                             ),
  860.                     60
  861.                 )
  862.             end
  863.  
  864.             MenuCoalition_BLUE_TASK_HELIBAI =
  865.                 MENU_COALITION_COMMAND:New(
  866.                 coalition.side.BLUE,
  867.                 '⇨ ' .. Rng_OP_NAME5 .. ' ⇦ ☾ HELI BAI ☽',
  868.                 MenuCoalition_BLUE_TASK,
  869.                 HELIBAI_INFO_MENU
  870.             )
  871.  
  872.             trigger.action.outText(
  873.                 '⇨ Operation: ' ..
  874.                     Rng_OP_NAME5 ..
  875.                         ' ⇦ ☾ HELI BAI ☽' ..
  876.                             '\n \n' ..
  877.                                 Rng_OP_Brief_HELIBAI ..
  878.                                     '\n \n' ..
  879.                                         HELI_BAI_Marker_Loc:ToStringLLDDM(SETTINGS:SetLL_Accuracy()) ..
  880.                                             '\n' ..
  881.                                                 HELI_BAI_Marker_Loc:ToStringLLDMS(SETTINGS:SetLL_Accuracy()) ..
  882.                                                     '\n' ..
  883.                                                         HELI_BAI_Marker_Loc:ToStringMGRS(SETTINGS:SetLL_Accuracy()),
  884.                 60
  885.             )
  886.  
  887.             NEWBAIHARD = USERSOUND:New('TRT OGGs/TransmisionEntrante.ogg')
  888.             NEWBAIHARD:ToCoalition(coalition.side.BLUE)
  889.  
  890.             HELI_BAIJTAC = SPAWN:NewWithAlias('jtac', 'jtac  BAI-' .. RngNum):SpawnFromVec2(newlocation4)
  891.             HELI_BAIJTACName = HELI_BAIJTAC:GetName()
  892.             JTACAutoLase(HELI_BAIJTACName, 1688, Enable_JTAC_Smoke, 'all', RngCol)
  893.  
  894.             SpawnGroup:HandleEvent(EVENTS.Dead)
  895.             function SpawnGroup:OnEventDead(EventData)
  896.                 if SpawnGroup:GetSize() <= 1 then
  897.                     trigger.action.outText('⇨ Operation: ' .. Rng_OP_NAME5 .. ' ⇦ ☾ HELI BAI ☽ SUCCESSFUL', 15)
  898.                     HELI_BAIMAPMARKER:Remove(1)
  899.                     SNDTAKEOFF = USERSOUND:New('TRT OGGs/TransmisionEntrante.ogg')
  900.                     SNDTAKEOFF:ToCoalition(coalition.side.BLUE)
  901.                     HELI_BAIJTACName1 = HELI_BAIJTAC:GetName()
  902.                     Group.getByName(HELI_BAIJTACName1):destroy()
  903.                     MenuCoalition_BLUE_TASK_HELIBAI:Remove()
  904.                     ActiveTasks_heliBAI = false
  905.                 end
  906.             end
  907.         end
  908.     ):SpawnInZone(TemplateHELOZones[RNGHELIzone1], true)
  909. end
  910.  
  911. --↓↓ SCHEDULER HELO BAI ↓↓
  912. SCHEDULER:New(
  913.     nil,
  914.     function()
  915.         if ActiveTasks_heliBAI == false then
  916.             LastTask = MakeTask_HELO_BAI()
  917.             ActiveTasks_heliBAI = true
  918.         elseif ActiveTasks_heliBAI == true then
  919.         -- no hagas nada
  920.         end
  921.     end,
  922.     {},
  923.     75,
  924.     120,
  925.     0.5
  926. )
  927. end
  928. --FIN-----------------------------------------------------------------------------------------------------------------------------------------------
  929. --↓↓ BAI TASK (MENU) ↓↓----------------------------------------------------------------------------------------------------------------------------------------------------
  930. function MakeTaskBAI_menucmd()
  931.     local RngNum = randomnumber()
  932.     local RngCol = randomcolor()
  933.     local Rng_OP_NAME_BAICMD = RandOpName()
  934.     local Rng_OP_Brief_BAICMD = MissionTextBAI()
  935.     local RNGzone1 = math.random(1, #(TemplateZones))
  936.     local tempRandGroup1 = math.random(1, #(TemplateBAI))
  937.     local tempGrpAlias1 = '✧ BAI' .. RngNum
  938.     local LocX = Fun_LocX()
  939.     local LocY = Fun_LocY()
  940.  
  941.     BAI_task =
  942.         SPAWN:NewWithAlias(TemplateBAI[tempRandGroup1], tempGrpAlias1):OnSpawnGroup(
  943.         function(SpawnGroup)
  944.             location1m = SpawnGroup:GetCoordinate()
  945.             BAI_Marker_Loc = SpawnGroup:GetCoordinate()
  946.             BAI_Amenaza = SpawnGroup:GetThreatLevel()
  947.             newlocation1m = location1m:GetRandomVec2InRadius(10, 50)
  948.             FLAKlocation1m = location1m:GetRandomVec2InRadius(2000, 3500)
  949.             FLAKlocation2m = location1m:GetRandomVec2InRadius(2000, 3500)
  950.             FLAK_FAW_location1m = location1m:GetRandomVec2InRadius(LocX, LocY)
  951.             FLAK_FAW_location2m = location1m:GetRandomVec2InRadius(LocX, LocY)
  952.  
  953.             BAIMAPMARKER =
  954.                 MARKER:New(
  955.                 BAI_Marker_Loc,
  956.                 '⇨ Op: ' ..
  957.                     Rng_OP_NAME_BAICMD ..
  958.                         ' ⇦ ☾ BAI ☽ :' ..
  959.                             '\n' ..
  960.                                 BAI_Marker_Loc:ToStringLLDDM(SETTINGS:SetLL_Accuracy()) ..
  961.                                     '\n' .. BAI_Marker_Loc:ToStringLLDMS(SETTINGS:SetLL_Accuracy())
  962.             ):ToAll():ReadOnly()
  963.             function BAI_INFO_MENU(SpawnGroup)
  964.                 BAI_INFO =
  965.                     trigger.action.outText(
  966.                     '⇨ Operation: ' ..
  967.                         Rng_OP_NAME_BAICMD ..
  968.                             ' ⇦ ☾ BAI ☽' ..
  969.                                 '\n \n' ..
  970.                                     Rng_OP_Brief_BAICMD ..
  971.                                         '\n \n' ..
  972.                                             BAI_Marker_Loc:ToStringLLDDM(SETTINGS:SetLL_Accuracy()) ..
  973.                                                 '\n' ..
  974.                                                     BAI_Marker_Loc:ToStringLLDMS(SETTINGS:SetLL_Accuracy()) ..
  975.                                                         '\n' .. BAI_Marker_Loc:ToStringMGRS(SETTINGS:SetLL_Accuracy()),
  976.                     60
  977.                 )
  978.             end
  979.  
  980.             MenuCoalition_BLUE_TASK_BAI =
  981.                 MENU_COALITION_COMMAND:New(
  982.                 coalition.side.BLUE,
  983.                 '⇨ ' .. Rng_OP_NAME_BAICMD .. ' ⇦ ☾ BAI ☽',
  984.                 MenuCoalition_BLUE_TASK,
  985.                 BAI_INFO_MENU
  986.             )
  987.  
  988.             trigger.action.outText(
  989.                 '⇨ Operation: ' ..
  990.                     Rng_OP_NAME_BAICMD ..
  991.                         ' ⇦ ☾ BAI ☽' ..
  992.                             '\n \n' ..
  993.                                 Rng_OP_Brief_BAICMD ..
  994.                                     '\n \n' ..
  995.                                         BAI_Marker_Loc:ToStringLLDDM(SETTINGS:SetLL_Accuracy()) ..
  996.                                             '\n' ..
  997.                                                 BAI_Marker_Loc:ToStringLLDMS(SETTINGS:SetLL_Accuracy()) ..
  998.                                                     '\n' .. BAI_Marker_Loc:ToStringMGRS(SETTINGS:SetLL_Accuracy()),
  999.                 60
  1000.             )
  1001.  
  1002.             NEWBAI = USERSOUND:New('TRT OGGs/TransmisionEntrante.ogg')
  1003.             NEWBAI:ToCoalition(coalition.side.BLUE)
  1004.  
  1005.             BAIJTAC4 = SPAWN:NewWithAlias('jtac', 'jtac  BAI-' .. RngNum):SpawnFromVec2(newlocation1m)
  1006.             BAIJTACName4 = BAIJTAC4:GetName()
  1007.             JTACAutoLase(BAIJTACName4, 1688, Enable_JTAC_Smoke, 'all', RngCol)
  1008.             BAIFLAK1m = SPAWN:NewWithAlias('FLAK_Combo', 'FLAK1 -' .. RngNum):SpawnFromVec2(FLAKlocation1m)
  1009.             BAIFLAK2m = SPAWN:NewWithAlias('FLAK_Combo', 'FLAK2 -' .. RngNum):SpawnFromVec2(FLAKlocation2m)
  1010.             BAIFLAK_Ammo1m = SPAWN:NewWithAlias('AMMO_Vehicle', 'FLAK Ammo1 -' .. RngNum):SpawnFromVec2(FLAKlocation1m)
  1011.             BAIFLAK_Ammo2m = SPAWN:NewWithAlias('AMMO_Vehicle', 'FLAK Ammo2 -' .. RngNum):SpawnFromVec2(FLAKlocation2m)
  1012. --[[ ---
  1013.             Flak_Tasks1m = {}
  1014.             BAIFLAK_FAW1m = BAIFLAK1m:GetName()
  1015.             BAIFLAK_FAW1m_grp = GROUP:FindByName(BAIFLAK_FAW1m)
  1016.             BAIFLAK_FAW1m_units = BAIFLAK_FAW1m_grp:GetUnits()
  1017.             for i = 1, #BAIFLAK_FAW1m_units do
  1018.                 local BAIFLAK_FAW1m_units = BAIFLAK_FAW1m_grp:GetUnit(i)
  1019.                 Flak_Tasks1m[#Flak_Tasks1m + 1] =
  1020.                     BAIFLAK_FAW1m_grp:TaskFireAtPoint(FLAK_FAW_location1m, 1000, nil, nil, 3000, 1)
  1021.             end
  1022.             BAIFLAK_FAW1m_grp:PushTask(BAIFLAK_FAW1m_grp:TaskCombo(Flak_Tasks1m), 5)
  1023.  
  1024.             Flak_Tasks2m = {}
  1025.             BAIFLAK_FAW2m = BAIFLAK2m:GetName()
  1026.             BAIFLAK_FAW2m_grp = GROUP:FindByName(BAIFLAK_FAW2m)
  1027.             BAIFLAK_FAW2m_units = BAIFLAK_FAW2m_grp:GetUnits()
  1028.             for i = 1, #BAIFLAK_FAW2m_units do
  1029.                 local BAIFLAK_FAW2m_units = BAIFLAK_FAW2m_grp:GetUnit(i)
  1030.                 Flak_Tasks2m[#Flak_Tasks2m + 1] =
  1031.                     BAIFLAK_FAW2m_grp:TaskFireAtPoint(FLAK_FAW_location2m, 1000, nil, nil, 3000, 1)
  1032.             end
  1033.             BAIFLAK_FAW2m_grp:PushTask(BAIFLAK_FAW2m_grp:TaskCombo(Flak_Tasks2m), 5)
  1034.  --]]---
  1035.             SpawnGroup:HandleEvent(EVENTS.Dead)
  1036.             function SpawnGroup:OnEventDead(EventData)
  1037.                 if SpawnGroup:GetSize() <= 1 then
  1038.                     trigger.action.outText('⇨ Operation: ' .. Rng_OP_NAME_BAICMD .. ' ⇦ ☾ BAI ☽ SUCCESSFUL ', 15)
  1039.                     BAIMAPMARKER:Remove(1)
  1040.                     SNDTAKEOFF = USERSOUND:New('TRT OGGs/TransmisionEntrante.ogg')
  1041.                     SNDTAKEOFF:ToCoalition(coalition.side.BLUE)
  1042.                     BAIJTACName5 = BAIJTAC4:GetName()
  1043.  
  1044.                     BAIFLAKName1m = BAIFLAK1m:GetName()
  1045.                     BAIFLAKName2m = BAIFLAK2m:GetName()
  1046.                     BAIFLAK_AmmoName1m = BAIFLAK_Ammo1m:GetName()
  1047.                     BAIFLAK_AmmoName2m = BAIFLAK_Ammo2m:GetName()
  1048.                     --Group.getByName(BAIFLAKName1m):ClearTasks()
  1049.                     --Group.getByName(BAIFLAKName2m):ClearTasks()
  1050.                     Group.getByName(BAIJTACName5):destroy()
  1051.                     Group.getByName(BAIFLAKName1m):destroy()
  1052.                     Group.getByName(BAIFLAKName2m):destroy()
  1053.                     Group.getByName(BAIFLAK_AmmoName1m):destroy()
  1054.                     Group.getByName(BAIFLAK_AmmoName2m):destroy()
  1055.                     MenuCoalition_BLUE_TASK_BAI:Remove()
  1056.                 end
  1057.             end
  1058.         end
  1059.     ):SpawnInZone(TemplateZones[RNGzone1], true)
  1060. end
  1061.  
  1062. --↓↓ BAI HARD TASK (MENU) ↓↓-----------------------------------------------------------------------------------------------------------------------------------------------
  1063. function MakeTaskBAIHARD_menucmd()
  1064.     local RngNum = randomnumber()
  1065.     local RngCol = randomcolor()
  1066.     local Rng_OP_BAIHARDCMD = RandOpName()
  1067.     local Rng_OP_Brief_BAIHARDCMD = MissionTextBAI()
  1068.     local RNGzone4 = math.random(1, #(TemplateZones))
  1069.     local tempRandGroup4m = math.random(1, #(TemplateBAI))
  1070.     local tempRandGroup_SEAD = math.random(1, #(TemplateSEAD))
  1071.     local tempGrpAlias4m = '☠ BAI ' .. RngNum
  1072.     local LocX = Fun_LocX()
  1073.     local LocY = Fun_LocY()
  1074.  
  1075.     BAI_HARD_task =
  1076.         SPAWN:NewWithAlias(TemplateBAI[tempRandGroup4m], tempGrpAlias4m):OnSpawnGroup(
  1077.         function(SpawnGroup)
  1078.             location2m = SpawnGroup:GetCoordinate()
  1079.             BAI_HARD_Marker_Loc = SpawnGroup:GetCoordinate()
  1080.             newlocation2m = location2m:GetRandomVec2InRadius(10, 50)
  1081.             SEADlocationm = location2m:GetRandomVec2InRadius(500, 750)
  1082.             FLAKlocation3m = location2m:GetRandomVec2InRadius(2000, 3500)
  1083.             FLAKlocation4m = location2m:GetRandomVec2InRadius(2000, 3500)
  1084.             FLAK_FAW_location3m = location2m:GetRandomVec2InRadius(LocX, LocY)
  1085.             FLAK_FAW_location4m = location2m:GetRandomVec2InRadius(LocX, LocY)
  1086.  
  1087.             BAI_HARD_MAPMARKER =
  1088.                 MARKER:New(
  1089.                 BAI_HARD_Marker_Loc,
  1090.                 '⇨ Op: ' ..
  1091.                     Rng_OP_BAIHARDCMD ..
  1092.                         ' ⇦ ☾ BAI Hard ☽ :' ..
  1093.                             '\n' ..
  1094.                                 BAI_HARD_Marker_Loc:ToStringLLDDM(SETTINGS:SetLL_Accuracy()) ..
  1095.                                     '\n' .. BAI_HARD_Marker_Loc:ToStringLLDMS(SETTINGS:SetLL_Accuracy())
  1096.             ):ToAll():ReadOnly()
  1097.             function BAI_HARD_INFO_MENU(SpawnGroup)
  1098.                 BAI_HARD_INFO =
  1099.                     trigger.action.outText(
  1100.                     '⇨ Operation: ' ..
  1101.                         Rng_OP_BAIHARDCMD ..
  1102.                             ' ⇦ ☾ BAI Hard  ☽' ..
  1103.                                 '\n \n' ..
  1104.                                     Rng_OP_Brief_BAIHARDCMD ..
  1105.                                         '\n \n' ..
  1106.                                             BAI_HARD_Marker_Loc:ToStringLLDDM(SETTINGS:SetLL_Accuracy()) ..
  1107.                                                 '\n' ..
  1108.                                                     BAI_HARD_Marker_Loc:ToStringLLDMS(SETTINGS:SetLL_Accuracy()) ..
  1109.                                                         '\n' ..
  1110.                                                             BAI_HARD_Marker_Loc:ToStringMGRS(SETTINGS:SetLL_Accuracy()),
  1111.                     60
  1112.                 )
  1113.             end
  1114.  
  1115.             MenuCoalition_BLUE_TASK_BAIHARD =
  1116.                 MENU_COALITION_COMMAND:New(
  1117.                 coalition.side.BLUE,
  1118.                 '⇨ ' .. Rng_OP_BAIHARDCMD .. ' ⇦ ☾ BAI Hard ☽',
  1119.                 MenuCoalition_BLUE_TASK,
  1120.                 BAI_HARD_INFO_MENU
  1121.             )
  1122.  
  1123.             trigger.action.outText(
  1124.                 '⇨ Operation: ' ..
  1125.                     Rng_OP_BAIHARDCMD ..
  1126.                         ' ⇦ ☾ BAI Hard  ☽' ..
  1127.                             '\n \n' ..
  1128.                                 Rng_OP_Brief_BAIHARDCMD ..
  1129.                                     '\n \n' ..
  1130.                                         BAI_HARD_Marker_Loc:ToStringLLDDM(SETTINGS:SetLL_Accuracy()) ..
  1131.                                             '\n' ..
  1132.                                                 BAI_HARD_Marker_Loc:ToStringLLDMS(SETTINGS:SetLL_Accuracy()) ..
  1133.                                                     '\n' .. BAI_HARD_Marker_Loc:ToStringMGRS(SETTINGS:SetLL_Accuracy()),
  1134.                 60
  1135.             )
  1136.  
  1137.             NEWBAIHARD = USERSOUND:New('TRT OGGs/TransmisionEntrante.ogg')
  1138.             NEWBAIHARD:ToCoalition(coalition.side.BLUE)
  1139.  
  1140.             BAIHARDJTACm = SPAWN:NewWithAlias('jtac', 'jtac  BAI-' .. RngNum):SpawnFromVec2(newlocation2m)
  1141.             BAIHARDJTACNamem = BAIHARDJTACm:GetName()
  1142.             JTACAutoLase(BAIHARDJTACNamem, 1688, Enable_JTAC_Smoke, 'all', RngCol)
  1143.             BAIHARDSEADm = SPAWN:NewWithAlias(TemplateSEAD[tempRandGroup_SEAD], '✦ SEAD -' .. RngNum):SpawnFromVec2(SEADlocationm)
  1144.             BAIFLAK3m = SPAWN:NewWithAlias('FLAK_Combo', 'FLAK1 -' .. RngNum):SpawnFromVec2(FLAKlocation3m)
  1145.             BAIFLAK4m = SPAWN:NewWithAlias('FLAK_Combo', 'FLAK2 -' .. RngNum):SpawnFromVec2(FLAKlocation4m)
  1146.             BAIFLAK_Ammo3m = SPAWN:NewWithAlias('AMMO_Vehicle', 'FLAK Ammo1 -' .. RngNum):SpawnFromVec2(FLAKlocation3m)
  1147.             BAIFLAK_Ammo4m = SPAWN:NewWithAlias('AMMO_Vehicle', 'FLAK Ammo2 -' .. RngNum):SpawnFromVec2(FLAKlocation4m)
  1148. --[[ ---
  1149.             Flak_Tasks3m = {}
  1150.             BAIFLAK_FAW3m = BAIFLAK3m:GetName()
  1151.             BAIFLAK_FAW3_grp = GROUP:FindByName(BAIFLAK_FAW3m)
  1152.             BAIFLAK_FAW3m_units = BAIFLAK_FAW3_grp:GetUnits()
  1153.             for i = 1, #BAIFLAK_FAW3m_units do
  1154.                 local BAIFLAK_FAW3m_units = BAIFLAK_FAW3_grp:GetUnit(i)
  1155.                 Flak_Tasks3m[#Flak_Tasks3m + 1] =
  1156.                     BAIFLAK_FAW3_grp:TaskFireAtPoint(FLAK_FAW_location3m, 1000, nil, nil, 3000, 1)
  1157.             end
  1158.             BAIFLAK_FAW3_grp:PushTask(BAIFLAK_FAW3_grp:TaskCombo(Flak_Tasks3m), 5)
  1159.  
  1160.             Flak_Tasks4m = {}
  1161.             BAIFLAK_FAW4m = BAIFLAK4m:GetName()
  1162.             BAIFLAK_FAW4m_grp = GROUP:FindByName(BAIFLAK_FAW4m)
  1163.             BAIFLAK_FAW4m_units = BAIFLAK_FAW4m_grp:GetUnits()
  1164.             for i = 1, #BAIFLAK_FAW4m_units do
  1165.                 local BAIFLAK_FAW4m_units = BAIFLAK_FAW4m_grp:GetUnit(i)
  1166.                 Flak_Tasks4m[#Flak_Tasks4m + 1] =
  1167.                     BAIFLAK_FAW4m_grp:TaskFireAtPoint(FLAK_FAW_location4m, 1000, nil, nil, 3000, 1)
  1168.             end
  1169.             BAIFLAK_FAW4m_grp:PushTask(BAIFLAK_FAW4m_grp:TaskCombo(Flak_Tasks4m), 5)
  1170.  --]]---
  1171.             SpawnGroup:HandleEvent(EVENTS.Dead)
  1172.             function SpawnGroup:OnEventDead(EventData)
  1173.                 if SpawnGroup:GetSize() <= 1 then
  1174.                     trigger.action.outText('⇨ Operation: ' .. Rng_OP_BAIHARDCMD .. ' ⇦ ☾ BAI Hard ☽ SUCCESSFUL', 15)
  1175.                     BAI_HARD_MAPMARKER:Remove(1)
  1176.                     SNDTAKEOFF = USERSOUND:New('TRT OGGs/TransmisionEntrante.ogg')
  1177.                     SNDTAKEOFF:ToCoalition(coalition.side.BLUE)
  1178.                     BAI_HARD_JTACName1m = BAIHARDJTACm:GetName()
  1179.                     BAIHARDSEADNamem = BAIHARDSEADm:GetName()
  1180.                     BAIHARDFLAKName1m = BAIFLAK3m:GetName()
  1181.                     BAIHARDFLAKName2m = BAIFLAK4m:GetName()
  1182.                     BAIFLAK_Ammo3Namem = BAIFLAK_Ammo3m:GetName()
  1183.                     BAIFLAK_Ammo4Namem = BAIFLAK_Ammo4m:GetName()
  1184.                     Group.getByName(BAI_HARD_JTACName1m):destroy()
  1185.                     Group.getByName(BAIHARDSEADNamem):destroy()
  1186.                     --Group.getByName(BAIHARDFLAKName1m):ClearTasks()
  1187.                     --Group.getByName(BAIHARDFLAKName2m):ClearTasks()
  1188.                     Group.getByName(BAIHARDFLAKName1m):destroy()
  1189.                     Group.getByName(BAIHARDFLAKName2m):destroy()
  1190.                     Group.getByName(BAIFLAK_Ammo3Namem):destroy()
  1191.                     Group.getByName(BAIFLAK_Ammo4Namem):destroy()
  1192.                     MenuCoalition_BLUE_TASK_BAIHARD:Remove()
  1193.                 end
  1194.             end
  1195.         end
  1196.     ):SpawnInZone(TemplateZones[RNGzone4], true)
  1197. end
  1198. --↓↓ SEAD TASK (MENU) ↓↓---------------------------------------------------------------------------------------------------------------------------------------------------
  1199. function MakeTaskSEAD_menucmd()
  1200.     local RngNum = randomnumber()
  1201.     local RngCol = randomcolor()
  1202.     local Rng_OP_SEADCMD = RandOpName()
  1203.     local Rng_OP_Brief_SEADCMD = MissionTextSEAD()
  1204.     local RNGzone3 = math.random(1, #(TemplateZones))
  1205.     local tempRandGroup2 = math.random(1, #(SEAD_GROUPS))
  1206.     local tempGrpAlias2 = '✦ SEAD' .. RngNum
  1207.     local LocX = Fun_LocX()
  1208.     local LocY = Fun_LocY()
  1209.  
  1210.  
  1211.     SEAD_task =
  1212.         SPAWN:NewWithAlias(SEAD_GROUPS[tempRandGroup2], tempGrpAlias2):OnSpawnGroup(
  1213.         function(SpawnGroup)
  1214.             location3m = SpawnGroup:GetCoordinate()
  1215.             SEAD_Marker_Loc = SpawnGroup:GetCoordinate()
  1216.             newlocation3m = location3m:GetRandomVec2InRadius(10, 50)
  1217.             FLAKlocation5m = location3m:GetRandomVec2InRadius(2000, 3500)
  1218.             FLAKlocation6m = location3m:GetRandomVec2InRadius(2000, 3500)
  1219.             FLAK_FAW_location5m = location3m:GetRandomVec2InRadius(LocX, LocY)
  1220.             FLAK_FAW_location6m = location3m:GetRandomVec2InRadius(LocX, LocY)
  1221.  
  1222.  
  1223.             SEADMAPMARKER =
  1224.                 MARKER:New(
  1225.                 SEAD_Marker_Loc,
  1226.                 '⇨ Op: ' ..
  1227.                     Rng_OP_SEADCMD ..
  1228.                         ' ⇦ ☾ SEAD ☽ :' ..
  1229.                             '\n' ..
  1230.                                 SEAD_Marker_Loc:ToStringLLDDM(SETTINGS:SetLL_Accuracy()) ..
  1231.                                     '\n' .. SEAD_Marker_Loc:ToStringLLDMS(SETTINGS:SetLL_Accuracy())
  1232.             ):ToAll():ReadOnly()
  1233.             function SEAD_INFO_MENU(SpawnGroup)
  1234.                 SEAD_INFO =
  1235.                     trigger.action.outText(
  1236.                     '⇨ Operation: ' ..
  1237.                         Rng_OP_SEADCMD ..
  1238.                             ' ⇦ ☾ SEAD ☽' ..
  1239.                                 '\n \n' ..
  1240.                                     Rng_OP_Brief_SEADCMD ..
  1241.                                         '\n \n' ..
  1242.                                             SEAD_Marker_Loc:ToStringLLDDM(SETTINGS:SetLL_Accuracy()) ..
  1243.                                                 '\n' ..
  1244.                                                     SEAD_Marker_Loc:ToStringLLDMS(SETTINGS:SetLL_Accuracy()) ..
  1245.                                                         '\n' .. SEAD_Marker_Loc:ToStringMGRS(SETTINGS:SetLL_Accuracy()),
  1246.                     60
  1247.                 )
  1248.             end
  1249.  
  1250.             MenuCoalition_BLUE_TASK_SEAD =
  1251.                 MENU_COALITION_COMMAND:New(
  1252.                 coalition.side.BLUE,
  1253.                 '⇨ ' .. Rng_OP_SEADCMD .. ' ⇦ ☾ SEAD ☽',
  1254.                 MenuCoalition_BLUE_TASK,
  1255.                 SEAD_INFO_MENU
  1256.             )
  1257.  
  1258.             trigger.action.outText(
  1259.                 '⇨ Operation: ' ..
  1260.                     Rng_OP_SEADCMD ..
  1261.                         ' ⇦ ☾ SEAD ☽' ..
  1262.                             '\n \n' ..
  1263.                                 Rng_OP_Brief_SEADCMD ..
  1264.                                     '\n \n' ..
  1265.                                         SEAD_Marker_Loc:ToStringLLDDM(SETTINGS:SetLL_Accuracy()) ..
  1266.                                             '\n' ..
  1267.                                                 SEAD_Marker_Loc:ToStringLLDMS(SETTINGS:SetLL_Accuracy()) ..
  1268.                                                     '\n' .. SEAD_Marker_Loc:ToStringMGRS(SETTINGS:SetLL_Accuracy()),
  1269.                 60
  1270.             )
  1271.  
  1272.             NEWBAIHARD = USERSOUND:New('TRT OGGs/TransmisionEntrante.ogg')
  1273.             NEWBAIHARD:ToCoalition(coalition.side.BLUE)
  1274.  
  1275.             SEADJTAC = SPAWN:NewWithAlias('jtac', 'jtac  SEAD-' .. RngNum):SpawnFromVec2(newlocation3m)
  1276.             SEADJTACName = SEADJTAC:GetName()
  1277.             JTACAutoLase(SEADJTACName, 1688, Enable_JTAC_Smoke, 'all', RngCol)
  1278.             BAIFLAK5m = SPAWN:NewWithAlias('FLAK_Combo', 'FLAK1 -' .. RngNum):SpawnFromVec2(FLAKlocation5m)
  1279.             BAIFLAK6m = SPAWN:NewWithAlias('FLAK_Combo', 'FLAK2 -' .. RngNum):SpawnFromVec2(FLAKlocation6m)
  1280.             BAIFLAK_Ammo5m = SPAWN:NewWithAlias('AMMO_Vehicle', 'FLAK Ammo1 -' .. RngNum):SpawnFromVec2(FLAKlocation5m)
  1281.             BAIFLAK_Ammo6m = SPAWN:NewWithAlias('AMMO_Vehicle', 'FLAK Ammo2 -' .. RngNum):SpawnFromVec2(FLAKlocation6m)
  1282. --[[ ---
  1283.             Flak_Tasks5m = {}
  1284.             BAIFLAK_FAW5m = BAIFLAK5m:GetName()
  1285.             BAIFLAK_FAW5m_grp = GROUP:FindByName(BAIFLAK_FAW5m)
  1286.             BAIFLAK_FAW5m_units = BAIFLAK_FAW5m_grp:GetUnits()
  1287.             for i = 1, #BAIFLAK_FAW5m_units do
  1288.                 local BAIFLAK_FAW5m_units = BAIFLAK_FAW5m_grp:GetUnit(i)
  1289.                 Flak_Tasks5m[#Flak_Tasks5m + 1] =
  1290.                     BAIFLAK_FAW5m_grp:TaskFireAtPoint(FLAK_FAW_location5, 1000, nil, nil, 3000, 1)
  1291.             end
  1292.             BAIFLAK_FAW5m_grp:PushTask(BAIFLAK_FAW5m_grp:TaskCombo(Flak_Tasks5m), 5)
  1293.  
  1294.             Flak_Tasks6m = {}
  1295.             BAIFLAK_FAW6m = BAIFLAK6m:GetName()
  1296.             BAIFLAK_FAW6m_grp = GROUP:FindByName(BAIFLAK_FAW6m)
  1297.             BAIFLAK_FAW6m_units = BAIFLAK_FAW6m_grp:GetUnits()
  1298.             for i = 1, #BAIFLAK_FAW6m_units do
  1299.                 local BAIFLAK_FAW6m_units = BAIFLAK_FAW6m_grp:GetUnit(i)
  1300.                 Flak_Tasks6m[#Flak_Tasks6m + 1] =
  1301.                     BAIFLAK_FAW6m_grp:TaskFireAtPoint(FLAK_FAW_location6, 1000, nil, nil, 3000, 1)
  1302.             end
  1303.             BAIFLAK_FAW6m_grp:PushTask(BAIFLAK_FAW6m_grp:TaskCombo(Flak_Tasks6m), 5)
  1304.  --]]---
  1305.  
  1306.             SpawnGroup:HandleEvent(EVENTS.Dead)
  1307.             function SpawnGroup:OnEventDead(EventData)
  1308.                 if SpawnGroup:GetSize() <= 1 then
  1309.                     trigger.action.outText('⇨ Operation: ' .. Rng_OP_SEADCMD .. ' ⇦ ☾ SEAD ☽ SUCCESSFUL', 15)
  1310.                     SEADMAPMARKER:Remove(1)
  1311.                     SNDTAKEOFF = USERSOUND:New('TRT OGGs/TransmisionEntrante.ogg')
  1312.                     SNDTAKEOFF:ToCoalition(coalition.side.BLUE)
  1313.                     SEADJTACName1m = SEADJTAC:GetName()
  1314.                     BAIFLAK5namem = BAIFLAK5m:GetName()
  1315.                     BAIFLAK6namem = BAIFLAK6m:GetName()
  1316.                     BAIFLAK_Ammo5Namem = BAIFLAK_Ammo5m:GetName()
  1317.                     BAIFLAK_Ammo6Namem = BAIFLAK_Ammo6m:GetName()
  1318.                     --Group.getByName(BAIFLAK_Ammo5Namem):ClearTasks()
  1319.                     --Group.getByName(BAIFLAK_Ammo6Namem):ClearTasks()
  1320.                     Group.getByName(SEADJTACName1mm):destroy()
  1321.                     Group.getByName(BAIFLAK5namem):destroy()
  1322.                     Group.getByName(BAIFLAK6namem):destroy()
  1323.                     Group.getByName(BAIFLAK_Ammo5Namem):destroy()
  1324.                     Group.getByName(BAIFLAK_Ammo6Namem):destroy()
  1325.                     MenuCoalition_BLUE_TASK_SEAD:Remove()
  1326.                 end
  1327.             end
  1328.         end
  1329.     ):SpawnInZone(TemplateZones[RNGzone3], true)
  1330. end
  1331. --↓↓ HELI BAI (MENU) ↓↓---------------------------------------------------------------------------------------------------------------------------------------------
  1332. function MakeTask_HELO_BAIcmd()
  1333.     local RngNum = randomnumber()
  1334.     local RngCol = randomcolor()
  1335.     local Rng_OP_NAME5CMD = RandOpName()
  1336.     local Rng_OP_Brief_HELIBAICMD = MissionTextBAI()
  1337.     local RNGHELIzone1 = math.random(1, #(TemplateHELOZones))
  1338.     local tempRandGroup7 = math.random(1, #(TemplateHELOBAI))
  1339.     local tempGrpAlias7 = '✧ Heli BAI' .. RngNum
  1340.  
  1341.     BAI_task =
  1342.         SPAWN:NewWithAlias(TemplateHELOBAI[tempRandGroup7], tempGrpAlias7):OnSpawnGroup(
  1343.         function(SpawnGroup)
  1344.             location4 = SpawnGroup:GetCoordinate()
  1345.             HELI_BAI_Marker_Loc = SpawnGroup:GetCoordinate()
  1346.             newlocation4 = location4:GetRandomVec2InRadius(10, 50)
  1347.             HELI_BAIMAPMARKER =
  1348.                 MARKER:New(
  1349.                 HELI_BAI_Marker_Loc,
  1350.                 '⇨ Op: ' ..
  1351.                     Rng_OP_NAME5CMD ..
  1352.                         ' ⇦ ☾ HELI BAI ☽ :' ..
  1353.                             '\n' ..
  1354.                                 HELI_BAI_Marker_Loc:ToStringLLDDM(SETTINGS:SetLL_Accuracy()) ..
  1355.                                     '\n' .. HELI_BAI_Marker_Loc:ToStringLLDMS(SETTINGS:SetLL_Accuracy())
  1356.             ):ToAll():ReadOnly()
  1357.  
  1358.             function HELIBAI_INFO_MENU(SpawnGroup)
  1359.                 HELIBAI_INFO =
  1360.                     trigger.action.outText(
  1361.                     '⇨ Operation: ' ..
  1362.                         Rng_OP_NAME5CMD ..
  1363.                             ' ⇦ ☾ HELI BAI ☽' ..
  1364.                                 '\n \n' ..
  1365.                                     Rng_OP_Brief_HELIBAICMD ..
  1366.                                         '\n \n' ..
  1367.                                             HELI_BAI_Marker_Loc:ToStringLLDDM(SETTINGS:SetLL_Accuracy()) ..
  1368.                                                 '\n' ..
  1369.                                                     HELI_BAI_Marker_Loc:ToStringLLDMS(SETTINGS:SetLL_Accuracy()) ..
  1370.                                                         '\n' ..
  1371.                                                             HELI_BAI_Marker_Loc:ToStringMGRS(SETTINGS:SetLL_Accuracy()),
  1372.                     60
  1373.                 )
  1374.             end
  1375.  
  1376.             MenuCoalition_BLUE_TASK_HELIBAI =
  1377.                 MENU_COALITION_COMMAND:New(
  1378.                 coalition.side.BLUE,
  1379.                 '⇨ ' .. Rng_OP_NAME5CMD .. ' ⇦ ☾ HELI BAI ☽',
  1380.                 MenuCoalition_BLUE_TASK,
  1381.                 HELIBAI_INFO_MENU
  1382.             )
  1383.  
  1384.             trigger.action.outText(
  1385.                 '⇨ Operation: ' ..
  1386.                     Rng_OP_NAME5CMD ..
  1387.                         ' ⇦ ☾ HELI BAI ☽' ..
  1388.                             '\n \n' ..
  1389.                                 Rng_OP_Brief_HELIBAICMD ..
  1390.                                     '\n \n' ..
  1391.                                         HELI_BAI_Marker_Loc:ToStringLLDDM(SETTINGS:SetLL_Accuracy()) ..
  1392.                                             '\n' ..
  1393.                                                 HELI_BAI_Marker_Loc:ToStringLLDMS(SETTINGS:SetLL_Accuracy()) ..
  1394.                                                     '\n' .. HELI_BAI_Marker_Loc:ToStringMGRS(SETTINGS:SetLL_Accuracy()),
  1395.                 60
  1396.             )
  1397.  
  1398.             NEWBAIHARD = USERSOUND:New('TRT OGGs/TransmisionEntrante.ogg')
  1399.             NEWBAIHARD:ToCoalition(coalition.side.BLUE)
  1400.  
  1401.             HELI_BAIJTAC = SPAWN:NewWithAlias('jtac', 'jtac  BAI-' .. RngNum):SpawnFromVec2(newlocation4)
  1402.             HELI_BAIJTACName = HELI_BAIJTAC:GetName()
  1403.             JTACAutoLase(HELI_BAIJTACName, 1688, Enable_JTAC_Smoke, 'all', RngCol)
  1404.  
  1405.             SpawnGroup:HandleEvent(EVENTS.Dead)
  1406.             function SpawnGroup:OnEventDead(EventData)
  1407.                 if SpawnGroup:GetSize() <= 1 then
  1408.                     trigger.action.outText('⇨ Operation: ' .. Rng_OP_NAME5CMD .. ' ⇦ ☾ HELI BAI ☽ SUCCESSFUL', 15)
  1409.                     HELI_BAIMAPMARKER:Remove(1)
  1410.                     SNDTAKEOFF = USERSOUND:New('TRT OGGs/TransmisionEntrante.ogg')
  1411.                     SNDTAKEOFF:ToCoalition(coalition.side.BLUE)
  1412.                     HELI_BAIJTACName1 = HELI_BAIJTAC:GetName()
  1413.                     Group.getByName(HELI_BAIJTACName1):destroy()
  1414.                     MenuCoalition_BLUE_TASK_HELIBAI:Remove()
  1415.                 end
  1416.             end
  1417.         end
  1418.     ):SpawnInZone(TemplateHELOZones[RNGHELIzone1], true)
  1419. end
  1420. --↓↓ AIRBOSS ↓↓-----------------------------------------------------------------------------------------------------------------------------------------------------
  1421. local tanker=RECOVERYTANKER:New(UNIT:FindByName("☮ SCP 5050"), "☮ YPF")  
  1422. :SetTakeoffAir()
  1423. :SetAltitude(Tanker_BOOM_Altitude)
  1424. :SetSpeed(Tanker_BOOM_Speed)
  1425. :SetHomeBase(AIRBASE.Nevada.Tonopah_Airport)
  1426. :SetRadio(255)
  1427. :SetModex(511)
  1428. :SetTACAN(24, "YPF")
  1429. :SetRacetrackDistances(50, 50)
  1430. :Start()
  1431.  
  1432. local tanker2=RECOVERYTANKER:New(UNIT:FindByName("☮ SCP 5050"), "☮ ARCO")  
  1433. :SetTakeoffAir()
  1434. :SetAltitude(Tanker_BASKET_Altitude)
  1435. :SetSpeed(Tanker_BASKET_Speed)
  1436. :SetHomeBase(AIRBASE.Nevada.Tonopah_Airport)
  1437. :SetRadio(257)
  1438. :SetModex(512)
  1439. :SetTACAN(25, "ARC")
  1440. :SetRacetrackDistances(50, 50)
  1441. :Start()
  1442.  
  1443. local awacs=RECOVERYTANKER:New(UNIT:FindByName("☮ SCP 5050"), "☮ Wizard")
  1444. :SetAWACS()
  1445. :SetTakeoffAir()
  1446. :SetRadio(251)
  1447. :SetAltitude(20000)
  1448. :SetHomeBase(AIRBASE.Nevada.Tonopah_Airport)
  1449. :SetCallsign(CALLSIGN.AWACS.Wizard)
  1450. :SetRacetrackDistances(50, 50)
  1451. :SetTACAN(26, "WIZ")
  1452. :SetModex(611)
  1453. :__Start(1)
  1454. --FIN---------------------------------------------------------------------------------------------------------------------------------------------------------------
  1455. --↓↓ A2A ↓↓---------------------------------------------------------------------------------------------------------------------------------------------------------
  1456. EnemySpawnSector1 = ZONE:New('ZONA_REDA2A_SPAWN01')
  1457. EnemySpawnSector2 = ZONE:New('ZONA_REDA2A_SPAWN02')
  1458. EnemySpawnSector3 = ZONE:New('ZONA_REDA2A_SPAWN03')
  1459. EnemySpawnSector4 = ZONE:New('ZONA_REDA2A_SPAWN04')
  1460. EnemySpawnSector5 = ZONE:New('ZONA_REDA2A_SPAWN05')
  1461. EnemySpawnSector6 = ZONE:New('ZONA_REDA2A_SPAWN06')
  1462. AlliedSpawnSector1 = ZONE:New('ZONA_BLUEA2A_SPAWN01')
  1463. AlliedSpawnSector2 = ZONE:New('ZONA_BLUEA2A_SPAWN02')
  1464. AlliedSpawnSector3 = ZONE:New('ZONA_BLUEA2A_SPAWN03')
  1465. AlliedSpawnSector4 = ZONE:New('ZONA_BLUEA2A_SPAWN04')
  1466. EnemyCAPZoneList = {EnemySpawnSector1, EnemySpawnSector2, EnemySpawnSector3, EnemySpawnSector4, EnemySpawnSector5, EnemySpawnSector6}
  1467. AlliedCAPZoneList = {AlliedSpawnSector1, AlliedSpawnSector2, AlliedSpawnSector3, AlliedSpawnSector4}
  1468.  
  1469. local RngIDred = randomnumber()
  1470. local RngIDblue = randomnumber()
  1471. local RngIDBOMBRED = randomnumber()
  1472. local RedCatSQDN = '☢ CAT SQN' .. RngIDred
  1473. local RedBearSQDN = '☢ BEAR SQN' .. RngIDred
  1474. local RedTigerSQDN = '☢ TIGER SQN' .. RngIDred
  1475. local BlueShieldA2ASQDN = '☮ SHIELD SQN A2A' .. RngIDblue
  1476. local BlueShieldA2GSQDN = '☮ SHIELD SQN A2G' .. RngIDblue
  1477. local BlueFalconSQDN = '☮ FALCON SQN' .. RngIDblue
  1478. local BlueHawkSQDN = '☮ HAWK SQN' .. RngIDblue
  1479. local BlueEagleSQDN = '☮ EAGLE SQN' .. RngIDblue
  1480. local RedBOMBSQDN = '☢ BOMBER ' .. RngIDBOMBRED
  1481.  
  1482. -----------------------------------------CAT SQN-----------------------------------------
  1483. if Enable_CAT_Squadron == true then
  1484.     CATSQDN_CAP =
  1485.         SPAWN:NewWithAlias('A2A_REDCAP_TEMPLATE', RedCatSQDN):InitRandomizeTemplate(RedCapPlanesLIST):InitRandomizeRoute(
  1486.         1,
  1487.         2,
  1488.         20000
  1489.     ):InitCleanUp(60):InitHeading(330, 40):InitSkill(CAT_SQDN_Skill):InitLimit(TotalAliveRedPlanes, 0)
  1490.  
  1491.     function CATSQDN_CAP_start()
  1492.         local REDRNG_CAP_ZONE = math.random(1, #(EnemyCAPZoneList))
  1493.         CATSQDN_CAP:SpawnInZone(EnemyCAPZoneList[REDRNG_CAP_ZONE], true, 5000, 10000)
  1494.     end
  1495.  
  1496.     function CATSQDN_CAP_Timer()
  1497.         timer.scheduleFunction(CATSQDN_CAP_Timer, {}, timer.getTime() + math.random(Cap_interval_min, Cap_interval_max))
  1498.         CATSQDN_CAP_start()
  1499.     end
  1500.  
  1501.     timer.scheduleFunction(
  1502.         function()
  1503.             CATSQDN_CAP_Timer()
  1504.         end,
  1505.         nil,
  1506.         timer.getTime() + math.random(300, 600)
  1507.     )
  1508. end
  1509. if Enable_CAT_Squadron == false then
  1510. --nothing
  1511. end
  1512. -----------------------------------------BEAR SQN-----------------------------------------
  1513. if Enable_BEAR_Squadron == true then
  1514.     BEARSQDN_CAP_Timer =
  1515.         SPAWN:NewWithAlias('A2A_REDCAP_TEMPLATE', RedBearSQDN):InitRandomizeTemplate(RedCapPlanesLIST):InitRandomizeRoute(
  1516.         1,
  1517.         2,
  1518.         20000
  1519.     ):InitCleanUp(60):InitHeading(330, 40):InitSkill(BEAR_SQDN_Skill):InitLimit(TotalAliveRedPlanes, 0)
  1520.  
  1521.     function BEARSQDN_CAP_Timer_start()
  1522.         local REDRNG_CAP_ZONE = math.random(1, #(EnemyCAPZoneList))
  1523.         BEARSQDN_CAP_Timer:SpawnInZone(EnemyCAPZoneList[REDRNG_CAP_ZONE], true, 5000, 10000)
  1524.     end
  1525.  
  1526.     function BEARSQDN_CAP_Timer_Timer()
  1527.         timer.scheduleFunction(
  1528.             BEARSQDN_CAP_Timer_Timer,
  1529.             {},
  1530.             timer.getTime() + math.random(Cap_interval_min, Cap_interval_max)
  1531.         )
  1532.         BEARSQDN_CAP_Timer_start()
  1533.     end
  1534.  
  1535.     timer.scheduleFunction(
  1536.         function()
  1537.             BEARSQDN_CAP_Timer_Timer()
  1538.         end,
  1539.         nil,
  1540.         timer.getTime() + math.random(300, 600)
  1541.     )
  1542. end
  1543. if Enable_BEAR_Squadron == false then
  1544. --nothing
  1545. end
  1546. -----------------------------------------TIGER SQN-----------------------------------------
  1547. if Enable_TIGER_Squadron == true then
  1548.     TIGERSQDN_CAP_Timer =
  1549.         SPAWN:NewWithAlias('A2A_REDCAP_TEMPLATE', RedTigerSQDN):InitRandomizeTemplate(RedCapPlanesLIST):InitRandomizeRoute(
  1550.         1,
  1551.         2,
  1552.         20000
  1553.     ):InitCleanUp(60):InitHeading(330, 40):InitSkill(TIGER_SQDN_Skill):InitLimit(TotalAliveRedPlanes, 0)
  1554.  
  1555.     function TIGERSQDN_CAP_Timer_start()
  1556.         local REDRNG_CAP_ZONE = math.random(1, #(EnemyCAPZoneList))
  1557.         TIGERSQDN_CAP_Timer:SpawnInZone(EnemyCAPZoneList[REDRNG_CAP_ZONE], true, 5000, 10000)
  1558.     end
  1559.  
  1560.     function TIGERSQDN_CAP_Timer_Timer()
  1561.         timer.scheduleFunction(
  1562.             TIGERSQDN_CAP_Timer_Timer,
  1563.             {},
  1564.             timer.getTime() + math.random(Cap_interval_min, Cap_interval_max)
  1565.         )
  1566.         TIGERSQDN_CAP_Timer_start()
  1567.     end
  1568.  
  1569.     timer.scheduleFunction(
  1570.         function()
  1571.             TIGERSQDN_CAP_Timer_Timer()
  1572.         end,
  1573.         nil,
  1574.         timer.getTime() + math.random(300, 600)
  1575.     )
  1576. end
  1577. if Enable_TIGER_Squadron == false then
  1578. --nothing
  1579. end
  1580. -----------------------------------------BOMB SQUADS----------------------------------------------------------------------------------------------------------------
  1581. if Enable_BOMBER_Squadrons == true then
  1582.     BomberSquadron =
  1583.         SPAWN:NewWithAlias('A2A_BOMBSQUADTEMPLATE', RedBOMBSQDN):InitRandomizeTemplate(RedBombPlanesLIST):InitRandomizeRoute(
  1584.         1,
  1585.         2,
  1586.         20000
  1587.     ):InitCleanUp(240):InitHeading(330, 40):InitLimit(4, 0)
  1588.  
  1589.     function BomberSquadron_start()
  1590.         local REDRNG_CAP_ZONE = math.random(1, #(EnemyCAPZoneList))
  1591.         BomberSquadron:SpawnInZone(EnemyCAPZoneList[REDRNG_CAP_ZONE], true, 5000, 10000)
  1592.         --trigger.action.outSound('TRT OGGs/TransmisionEntrante.ogg')
  1593.     end
  1594.  
  1595.     function BomberSquadron_Timer()
  1596.         timer.scheduleFunction(
  1597.             BomberSquadron_Timer,
  1598.             {},
  1599.             timer.getTime() + math.random(Bomber_interval_min, Bomber_interval_max)
  1600.         )
  1601.         BomberSquadron_start()
  1602.     end
  1603.  
  1604.     timer.scheduleFunction(
  1605.         function()
  1606.             BomberSquadron_Timer()
  1607.         end,
  1608.         nil,
  1609.         timer.getTime() + math.random(600, 900)
  1610.     )
  1611. end
  1612. if Enable_BOMBER_Squadrons == false then
  1613. --nothing
  1614. end
  1615. --FIN---------------------------------------------------------------------------------------------------------------------------------------------------------------
  1616. -----------------------------------------FALCON SQN-----------------------------------------
  1617. if Enable_FALCON_Squadron == true then
  1618.     FALCONSQDN_CAP_Timer =
  1619.         SPAWN:NewWithAlias('A2A_BLUECAP_TEMPLATE', BlueFalconSQDN):InitRandomizeTemplate(BlueCapPlanesLIST):InitRandomizeRoute(
  1620.         1,
  1621.         2,
  1622.         20000
  1623.     ):InitCleanUp(60):InitHeading(0, 50):InitSkill(FALCON_SQDN_Skill):InitLimit(TotalAliveBluePlanes, 0)
  1624.  
  1625.     function FALCONSQDN_CAP_Timer_start()
  1626.         local BLUERNG_CAP_ZONE = math.random(1, #(AlliedCAPZoneList))
  1627.         FALCONSQDN_CAP_Timer:SpawnInZone(AlliedCAPZoneList[BLUERNG_CAP_ZONE], true, 5000, 10000)
  1628.     end
  1629.  
  1630.     function FALCONSQDN_CAP_Timer_Timer()
  1631.         timer.scheduleFunction(
  1632.             FALCONSQDN_CAP_Timer_Timer,
  1633.             {},
  1634.             timer.getTime() + math.random(Cap_interval_min, Cap_interval_max)
  1635.         )
  1636.         FALCONSQDN_CAP_Timer_start()
  1637.     end
  1638.  
  1639.     timer.scheduleFunction(
  1640.         function()
  1641.             FALCONSQDN_CAP_Timer_Timer()
  1642.         end,
  1643.         nil,
  1644.         timer.getTime() + math.random(300, 600)
  1645.     )
  1646. end
  1647. if Enable_FALCON_Squadron == false then
  1648. --nothing
  1649. end
  1650. -----------------------------------------HAWK SQN-----------------------------------------
  1651. if Enable_HAWK_Squadron == true then
  1652.     HAWKSQDN_CAP_Timer =
  1653.         SPAWN:NewWithAlias('A2A_BLUECAP_TEMPLATE', BlueHawkSQDN):InitRandomizeTemplate(BlueCapPlanesLIST):InitRandomizeRoute(
  1654.         1,
  1655.         2,
  1656.         20000
  1657.     ):InitCleanUp(60):InitHeading(0, 50):InitSkill(HAWK_SQDN_Skill):InitLimit(TotalAliveBluePlanes, 0)
  1658.  
  1659.     function HAWKSQDN_CAP_Timer_start()
  1660.         local BLUERNG_CAP_ZONE = math.random(1, #(AlliedCAPZoneList))
  1661.         HAWKSQDN_CAP_Timer:SpawnInZone(AlliedCAPZoneList[BLUERNG_CAP_ZONE], true, 5000, 10000)
  1662.     end
  1663.  
  1664.     function HAWKSQDN_CAP_Timer_Timer()
  1665.         timer.scheduleFunction(
  1666.             HAWKSQDN_CAP_Timer_Timer,
  1667.             {},
  1668.             timer.getTime() + math.random(Cap_interval_min, Cap_interval_max)
  1669.         )
  1670.         HAWKSQDN_CAP_Timer_start()
  1671.     end
  1672.  
  1673.     timer.scheduleFunction(
  1674.         function()
  1675.             HAWKSQDN_CAP_Timer_Timer()
  1676.         end,
  1677.         nil,
  1678.         timer.getTime() + math.random(300, 600)
  1679.     )
  1680. end
  1681. if Enable_HAWK_Squadron == false then
  1682. --nothing
  1683. end
  1684. -----------------------------------------EAGLE SQN-----------------------------------------
  1685. if Enable_EAGLE_Squadron == true then
  1686.     EAGLESQDN_CAP_Timer =
  1687.         SPAWN:NewWithAlias('A2A_BLUECAP_TEMPLATE', BlueEagleSQDN):InitRandomizeTemplate(BlueCapPlanesLIST):InitRandomizeRoute(
  1688.         1,
  1689.         2,
  1690.         20000
  1691.     ):InitCleanUp(60):InitHeading(0, 50):InitSkill(EAGLE_SQDN_Skill):InitLimit(TotalAliveBluePlanes, 0)
  1692.  
  1693.     function EAGLESQDN_CAP_Timer_start()
  1694.         local BLUERNG_CAP_ZONE = math.random(1, #(AlliedCAPZoneList))
  1695.         EAGLESQDN_CAP_Timer:SpawnInZone(AlliedCAPZoneList[BLUERNG_CAP_ZONE], true, 5000, 10000)
  1696.     end
  1697.  
  1698.     function EAGLESQDN_CAP_Timer_Timer()
  1699.         timer.scheduleFunction(
  1700.             EAGLESQDN_CAP_Timer_Timer,
  1701.             {},
  1702.             timer.getTime() + math.random(Cap_interval_min, Cap_interval_max)
  1703.         )
  1704.         EAGLESQDN_CAP_Timer_start()
  1705.     end
  1706.  
  1707.     timer.scheduleFunction(
  1708.         function()
  1709.             EAGLESQDN_CAP_Timer_Timer()
  1710.         end,
  1711.         nil,
  1712.         timer.getTime() + math.random(300, 600)
  1713.     )
  1714. end
  1715. if Enable_EAGLE_Squadron == false then
  1716. --nothing
  1717. end
  1718. --FIN---------------------------------------------------------------------------------------------------------------------------------------------------------------
  1719. -----------------------------------------FAKE CSAR-----------------------------------------
  1720. FAKE_CSAR_Planes_LIST = {
  1721.     '☮ F14B',
  1722.     --'☮ F16C'
  1723.   }
  1724.  
  1725.   if enable_CSAR == true then
  1726.     FAKE_CSAR_Timer =
  1727.         SPAWN:NewWithAlias('A2A_BLUECAP_CSAR', "Allied Plane"):InitRandomizeTemplate(FAKE_CSAR_Planes_LIST):InitRandomizeRoute(
  1728.         1,
  1729.         2,
  1730.         20000
  1731.     ):InitHeading(0, 360):InitLimit(1, 0)
  1732.  
  1733.     function FAKE_CSAR_Timer_start()
  1734.         local FAKE_CSAR_Zone = math.random(1, #(TemplateHELOZones))
  1735.         FAKE_CSAR_Timer:SpawnInZone(TemplateHELOZones[FAKE_CSAR_Zone], true, 5000, 10000)
  1736.     end
  1737.  
  1738.     function FAKE_CSAR_Timer_Timer()
  1739.         timer.scheduleFunction(FAKE_CSAR_Timer_Timer, {}, timer.getTime() + math.random(CSAR_Time_Min, CSAR_Time_Max))
  1740.         FAKE_CSAR_Timer_start()
  1741.     end
  1742.  
  1743.     timer.scheduleFunction(
  1744.         function()
  1745.             FAKE_CSAR_Timer_Timer()
  1746.         end,
  1747.         nil,
  1748.         timer.getTime() + math.random(30, 60)
  1749.     )
  1750.   end
  1751.   --FIN-------------------------------------------------------------------------------------------------------------------------------------------------------------
  1752.   Escorts_A2A = {}
  1753.   Escorts_A2G = {}
  1754.  
  1755.   BlueESCORTPlanesLIST = {
  1756.       '☮ F15_A2A_Escort',
  1757.       '☮ F16_A2A_Escort',
  1758.       '☮ F18_A2A_Escort',
  1759.       '☮ F14_A2A_Escort'
  1760.     }
  1761.   BlueESCORTPlanesLISTA2G = {
  1762.       '☮ F16_A2G_Escort'
  1763.    }
  1764.  
  1765.   local Blue_Client_CarrierSet = SET_GROUP:New():FilterPrefixes('✈'):FilterStart()
  1766.   local Blue_A2A_Airbase_Escort = AIRBASE:FindByName(AIRBASE.Nevada.Groom_Lake_AFB)
  1767.   local Blue_Escort_Planes = SPAWN:NewWithAlias('A2A_BLUE_ESCORT_TEMPLATE', BlueShieldA2ASQDN):InitRandomizeTemplate(BlueESCORTPlanesLIST):InitCleanUp(60):InitSkill("Random"):InitLimit(10,0)
  1768.   local Blue_Client_CarrierSetA2G = SET_GROUP:New():FilterPrefixes('✈'):FilterStart()
  1769.   local Blue_A2G_Airbase_Escort = AIRBASE:FindByName(AIRBASE.Nevada.Groom_Lake_AFB)
  1770.   local Blue_A2GEscort_Planes = SPAWN:NewWithAlias('A2G_BLUE_ESCORT_TEMPLATE', BlueShieldA2GSQDN):InitRandomizeTemplate(BlueESCORTPlanesLISTA2G):InitCleanUp(60):InitSkill("Random"):InitLimit(10,0)
  1771.  
  1772.   Blue_A2A_Escort_Dispatcher = AI_ESCORT_DISPATCHER_REQUEST:New(Blue_Client_CarrierSet,Blue_Escort_Planes,Blue_A2A_Airbase_Escort,'➣[A2A ESCORT]','')
  1773.   Blue_A2G_Escort_Dispatcher =AI_ESCORT_DISPATCHER_REQUEST:New(Blue_Client_CarrierSetA2G,Blue_A2GEscort_Planes,Blue_A2G_Airbase_Escort,'➣[A2G ESCORT]','')
  1774.  
  1775.   Blue_A2A_Escort_Dispatcher:Start()
  1776.   Blue_A2G_Escort_Dispatcher:Start()
  1777.   --↓↓ FOX MISSILE TRAINER ↓↓-----------------------------------------------------------------------------------------------------------------------------------------
  1778. if enable_MissileTrainer == true then
  1779.     fox = FOX:New()
  1780.  
  1781.     fox:AddSafeZone(ZONE:New('SAFE01'))
  1782.     fox:AddSafeZone(ZONE:New('SAFE02'))
  1783.     fox:AddSafeZone(ZONE:New('SAFE03'))
  1784.     fox:AddLaunchZone(ZONE:New('Lanzamientos'))
  1785.     fox:SetDefaultLaunchMarks(false)
  1786.     fox:SetDisableF10Menu(true)
  1787.  
  1788.     function fox:OnAfterEnterSafeZone(From, Event, To, _player)
  1789.         local player = _player --Functional.Fox2#FOX.PlayerData
  1790.         --    MESSAGE:New("✠ You are in a safe area ✠"):ToClient(player.client)
  1791.         trigger.action.outSound('TRT OGGs/ISA.ogg')
  1792.     end
  1793.  
  1794.     function fox:OnAfterExitSafeZone(From, Event, To, _player)
  1795.         local player = _player --Functional.Fox2#FOX.PlayerData
  1796.         --    MESSAGE:New("✠ You are leaving a safe area ✠"):ToClient(player.client)
  1797.         trigger.action.outSound('TRT OGGs/LSA.ogg')
  1798.     end
  1799.     fox:Start()
  1800.   end
  1801.   --FIN---------------------------------------------------------------------------------------------------------------------------------------------------------------
  1802. --↓↓ MOOSE SOUND LIB ↓↓---------------------------------------------------------------------------------------------------------------------------------------------
  1803. BajasAA1 = USERSOUND:New( "TRT OGGs/Baja AA 1.ogg" )
  1804. BajasAA2 = USERSOUND:New( "TRT OGGs/Baja AA 2.ogg" )
  1805. BajasAA3 = USERSOUND:New( "TRT OGGs/Baja AA 3.ogg" )
  1806. BajasAA4 = USERSOUND:New( "TRT OGGs/Baja AA 4.ogg" )
  1807. BajasAA5 = USERSOUND:New( "TRT OGGs/Baja AA 5.ogg" )
  1808. BajasAA6 = USERSOUND:New( "TRT OGGs/Baja AA 6.ogg" )
  1809. BajasAA7 = USERSOUND:New( "TRT OGGs/Baja AA 7.ogg" )
  1810. BajasAA8 = USERSOUND:New( "TRT OGGs/Baja AA 8.ogg" )
  1811. BajasAA9 = USERSOUND:New( "TRT OGGs/Baja AA 9.ogg" )
  1812. BajasAA10 = USERSOUND:New( "TRT OGGs/Baja AA 10.ogg" )
  1813. BajasAA11 = USERSOUND:New( "TRT OGGs/Baja AA 11.ogg" )
  1814. BajasAA12 = USERSOUND:New( "TRT OGGs/Baja AA 12.ogg" )
  1815. BajasAA13 = USERSOUND:New( "TRT OGGs/Baja AA 13.ogg" )
  1816. BajasAA14 = USERSOUND:New( "TRT OGGs/Baja AA 14.ogg" )
  1817. BajasAA15 = USERSOUND:New( "TRT OGGs/Baja AA 15.ogg" )
  1818. BajasAA16 = USERSOUND:New( "TRT OGGs/Baja AA 16.ogg" )
  1819.  
  1820. BajasAL1 = USERSOUND:New( "TRT OGGs/PISO 1.ogg" )
  1821. BajasAL2 = USERSOUND:New( "TRT OGGs/PISO 2.ogg" )
  1822. BajasAL3 = USERSOUND:New( "TRT OGGs/PISO 3.ogg" )
  1823. BajasAL4 = USERSOUND:New( "TRT OGGs/PISO 4.ogg" )
  1824. BajasAL5 = USERSOUND:New( "TRT OGGs/PISO 5.ogg" )
  1825. BajasAL6 = USERSOUND:New( "TRT OGGs/PISO 6.ogg" )
  1826. BajasAL7 = USERSOUND:New( "TRT OGGs/PISO 7.ogg" )
  1827. BajasAL8 = USERSOUND:New( "TRT OGGs/PISO 8.ogg" )
  1828. BajasAL9 = USERSOUND:New( "TRT OGGs/PISO 9.ogg" )
  1829. BajasAL10 = USERSOUND:New( "TRT OGGs/PISO 10.ogg" )
  1830. BajasAL11 = USERSOUND:New( "TRT OGGs/PISO 11.ogg" )
  1831. BajasAL12 = USERSOUND:New( "TRT OGGs/PISO 12.ogg" )
  1832. BajasAL13 = USERSOUND:New( "TRT OGGs/PISO 13.ogg" )
  1833. BajasAL14 = USERSOUND:New( "TRT OGGs/PISO 14.ogg" )
  1834. BajasAL15 = USERSOUND:New( "TRT OGGs/PISO 15.ogg" )
  1835. BajasAL16 = USERSOUND:New( "TRT OGGs/PISO 16.ogg" )
  1836.  
  1837. BajasAG1 = USERSOUND:New( "TRT OGGs/Baja AG 1.ogg" )
  1838. BajasAG2 = USERSOUND:New( "TRT OGGs/Baja AG 2.ogg" )
  1839. BajasAG3 = USERSOUND:New( "TRT OGGs/Baja AG 3.ogg" )
  1840. BajasAG4 = USERSOUND:New( "TRT OGGs/Baja AG 4.ogg" )
  1841. BajasAG5 = USERSOUND:New( "TRT OGGs/Baja AG 5.ogg" )
  1842. BajasAG6 = USERSOUND:New( "TRT OGGs/Baja AG 6.ogg" )
  1843. BajasAG7 = USERSOUND:New( "TRT OGGs/Baja AG 7.ogg" )
  1844. BajasAG8 = USERSOUND:New( "TRT OGGs/Baja AG 8.ogg" )
  1845. BajasAG9 = USERSOUND:New( "TRT OGGs/Baja AG 9.ogg" )
  1846.  
  1847. TempBAJASAA = {BajasAA1, BajasAA2, BajasAA3, BajasAA4, BajasAA5, BajasAA6,BajasAA7,BajasAA8,BajasAA9,BajasAA10,BajasAA11,BajasAA12,BajasAA13,BajasAA14,BajasAA15,BajasAA16}
  1848. TempBAJASAL = {BajasAL1, BajasAL2, BajasAL3, BajasAL4, BajasAL5, BajasAL6,BajasAL7,BajasAL8,BajasAL9,BajasAL10,BajasAL11,BajasAL12,BajasAL13,BajasAL14,BajasAL15,BajasAL16}
  1849. TempBAJASAG = {BajasAG1, BajasAG2, BajasAG3, BajasAG4, BajasAG5, BajasAG6,BajasAG7,BajasAG8,BajasAG9}
  1850.  
  1851. Contadorde_BajasAA = SET_UNIT:New():FilterPrefixes({'☢'}):FilterCoalitions('Red'):FilterStart()
  1852. Contadorde_BajasAA:HandleEvent(EVENTS.Crash)
  1853.  
  1854. function SonidoBajaAA()
  1855.     local Sound = TempBAJASAA[math.random(1, table.getn(TempBAJASAA))]
  1856.     return Sound
  1857. end
  1858.  
  1859. function SonidoBajaAL()
  1860.     local Sound = TempBAJASAL[math.random(1, table.getn(TempBAJASAL))]
  1861.     return Sound
  1862. end
  1863.  
  1864. function SonidoBajaAG()
  1865.     local Sound = TempBAJASAG[math.random(1, table.getn(TempBAJASAG))]
  1866.     return Sound
  1867. end
  1868.  
  1869. function Contadorde_BajasAA:OnEventCrash(EventData)
  1870.     local CrashedUnitCoalition = EventData.IniCoalition
  1871.     local CrashedUnitType = EventData.IniTypeName
  1872.  
  1873.     if (RadioAmbienteActivada_AA == 1) then
  1874.         if (CrashedUnitCoalition == 1) then
  1875.             trigger.action.outText('✗ Enemy ' .. CrashedUnitType .. ' shot down!', 5)
  1876.             SNDBAJAEN = SonidoBajaAA()
  1877.             SNDBAJAEN:ToCoalition(coalition.side.BLUE)
  1878.         elseif (CrashedUnitCoalition == 2) then
  1879.             trigger.action.outText('✝ Allied ' .. CrashedUnitType .. ' shot down!', 5)
  1880.             SNDBAJAAL = SonidoBajaAL()
  1881.             SNDBAJAAL:ToCoalition(coalition.side.BLUE)
  1882.         else
  1883.             --NADA
  1884.         end
  1885.     else
  1886.         --NADA
  1887.     end
  1888. end
  1889.  
  1890. Contadorde_BajasAG = SET_UNIT:New():FilterCoalitions('Red'):FilterStart()
  1891. Contadorde_BajasAG:HandleEvent(EVENTS.Dead)
  1892.  
  1893. function Contadorde_BajasAG:OnEventDead(EventData)
  1894.     local A2Gdestroyedcoalition = EventData.IniCoalition
  1895.     local A2GdestroyedType = EventData.IniTypeName
  1896.  
  1897.     if (RadioAmbienteActivada_AG == 1) then
  1898.         if (A2Gdestroyedcoalition == 1) then
  1899.             if (timer.getAbsTime() >= SoundLockout + 7) then
  1900.                 --trigger.action.outText("✗ A " .. A2GdestroyedType .. " has been destroyed! ",15)
  1901.                 SNDBAJAAG = SonidoBajaAG()
  1902.                 SNDBAJAAG:ToCoalition(coalition.side.BLUE)
  1903.                 SoundLockout = timer.getAbsTime()
  1904.             end
  1905.         end
  1906.     else
  1907.         --NADA
  1908.     end
  1909. end
  1910.  
  1911.  
  1912. SET_Despegues = SET_UNIT:New():FilterPrefixes({'✈'}):FilterCoalitions({'Blue'}):FilterStart()
  1913. SET_Despegues:HandleEvent(EVENTS.Takeoff)
  1914.  
  1915. function SET_Despegues:OnEventTakeoff(EventData)
  1916.     local GRUPODEJUGADOR = EventData.IniDCSGroupName
  1917.     local LUGARDEDESPEGUE = EventData.PlaceName
  1918.     local NOMBREDEJUGADOR1 = EventData.IniPlayerName
  1919.  
  1920.     if string.find(GRUPODEJUGADOR, '✈') then
  1921.         trigger.action.outText(NOMBREDEJUGADOR1 .. ' took off from ' .. LUGARDEDESPEGUE, 15)
  1922.         SNDTAKEOFF = USERSOUND:New('TRT OGGs/TransmisionEntrante.ogg')
  1923.         SNDTAKEOFF:ToCoalition(coalition.side.BLUE)
  1924.     else
  1925.         --NADA
  1926.     end
  1927. end
  1928.  
  1929. DeleteLanding = EVENTHANDLER:New()
  1930. DeleteLanding:HandleEvent(EVENTS.Land)
  1931. function DeleteLanding:OnEventLand(EventData)
  1932.     ThisGroup = GROUP:FindByName(EventData.IniGroupName)
  1933.     GroupUnit = ThisGroup:GetDCSUnit(1)
  1934.     FirstUnit = UNIT:Find(GroupUnit)
  1935.     if FirstUnit:GetPlayerName() then
  1936.         PlayerName = FirstUnit:GetPlayerName()
  1937.         trigger.action.outText(PlayerName .. ' has landed', 15)
  1938.         SNDLANDING = USERSOUND:New('TRT OGGs/TransmisionEntrante.ogg')
  1939.         SNDLANDING:ToCoalition(coalition.side.BLUE)
  1940.         env.info(PlayerName .. ' has landed')
  1941.     else
  1942.         env.info('Not a player landed, deleting')
  1943.         ScheduleDelete(ThisGroup)
  1944.      -- custom schedule to delete a group
  1945.     end
  1946. end
  1947.  
  1948. function ScheduleDelete(group)
  1949.     SCHEDULER:New(
  1950.         nil,
  1951.         function()
  1952.             env.info('Cleaning up: Destroying landed group')
  1953.             --trigger.action.outText('Cleaning up: Destroying landed AI groups', 15)
  1954.             group:Destroy()
  1955.         end,
  1956.         {},
  1957.         240
  1958.     )
  1959.  --once only after 240 seconds
  1960. end
  1961.  
  1962. SET_CLIENTJOIN = SET_UNIT:New():FilterPrefixes({'✈'}):FilterStart()
  1963. SET_CLIENTJOIN:HandleEvent(EVENTS.PlayerEnterUnit)
  1964.  
  1965. function SET_CLIENTJOIN:OnEventPlayerEnterUnit(EventData)
  1966.     local Playerenter = EventData.IniPlayerName
  1967.     local PlayerPlaneType = EventData.IniTypeName
  1968.  
  1969.     trigger.action.outText('Pilot ' .. Playerenter .. ' is in a ' .. PlayerPlaneType .. ' cockpit.', 15)
  1970.     trigger.action.outSound('TRT OGGs/CFTO.ogg')
  1971. end
  1972.  
  1973. --FIN---------------------------------------------------------------------------------------------------------------------------------------------------------------
  1974. -------------------------
  1975. --   Menu / Funciones  --
  1976. -------------------------
  1977. TRTOpciones = missionCommands.addSubMenuForCoalition(coalition.side.BLUE, "➣[MISSION OPTIONS]", nil)
  1978. TRTOpcionesSonido = missionCommands.addSubMenuForCoalition(coalition.side.BLUE, "➣[SOUND OPTIONS]", TRTOpciones, nil)
  1979. TRTCurrentMissionSettings = missionCommands.addCommandForCoalition(coalition.side.BLUE, "➣[CURRENT SETTINGS]", TRTOpciones, function() CurrentMissionSettings() end, nil)
  1980. TRTCurrentSQDN = missionCommands.addCommandForCoalition(coalition.side.BLUE, "➣[ACTIVE SQDNS LIST", TRTOpciones, function() CurrentCAPSettings() end, nil)
  1981. if allow_EndMissionViaRadio == true then
  1982. TRTOpcionesENDMISSION = missionCommands.addSubMenuForCoalition(coalition.side.BLUE, "➣[END MISSION]", TRTOpciones, nil)
  1983. TRTOpcionesENDMISSIONconfirm1 = missionCommands.addSubMenuForCoalition(coalition.side.BLUE, "✱ [ARE YOU SURE???]", TRTOpcionesENDMISSION, nil)
  1984. TRTOpcionesENDMISSION2 = missionCommands.addCommandForCoalition(coalition.side.BLUE, "✱ [YES! get me outta here]", TRTOpcionesENDMISSIONconfirm1, function() ENDMISSIONTRIGGER() end, nil)
  1985. TRTOpcionesENDMISSION3 = missionCommands.addCommandForCoalition(coalition.side.BLUE, "✱ [NO!, changed my mind]", TRTOpcionesENDMISSIONconfirm1, function() ENDMISSIONTRIGGERNO() end, nil)
  1986. end
  1987. TRTOpcionesRadioChatA2A = missionCommands.addCommandForCoalition(coalition.side.BLUE, "➣[TOGGLE A2A COMMS]", TRTOpcionesSonido, function() DesactivarRadioAmbienteAA() end, nil)
  1988. TRTOpcionesRadioChatA2G = missionCommands.addCommandForCoalition(coalition.side.BLUE, "➣[TOGGLE A2G COMMS]", TRTOpcionesSonido, function() DesactivarRadioAmbienteAG() end, nil)
  1989. if allow_CallSupportViaRadio == true then
  1990. TRTOpcionesSoporte = missionCommands.addSubMenuForCoalition(coalition.side.BLUE, "➣[CALL SUPPORT]", TRTOpciones, nil)
  1991. TRTOpcionesSoporteBAI = missionCommands.addCommandForCoalition(coalition.side.BLUE, "✱ [BAI]", TRTOpcionesSoporte, function() BLUE_BAI() end, nil)
  1992. TRTOpcionesSoporteSEAD = missionCommands.addCommandForCoalition(coalition.side.BLUE, "✱ [SEAD]", TRTOpcionesSoporte, function() BLUE_SEAD() end, nil)
  1993. end
  1994. if allow_SpawnRedCAPs == true then
  1995. TRTOpcionesREDCAPS = missionCommands.addSubMenuForCoalition(coalition.side.BLUE, "➣[ENEMY CAP SPAWN]", TRTOpciones, nil)
  1996. TRTOpcionesEASYCAP = missionCommands.addCommandForCoalition(coalition.side.BLUE, "✱ [EASY - ✈x2]", TRTOpcionesREDCAPS, function() EASYCAP() end, nil)
  1997. TRTOpcionesMEDCAP = missionCommands.addCommandForCoalition(coalition.side.BLUE, "✱ [MEDIUM - ✈x3]", TRTOpcionesREDCAPS, function() MEDCAP() end, nil)
  1998. TRTOpcionesHARDCAP = missionCommands.addCommandForCoalition(coalition.side.BLUE, "✱ [HARD - ✈x4]", TRTOpcionesREDCAPS, function() HARDCAP() end, nil)
  1999. end
  2000. if allow_ManualTaskCreation == true then
  2001. TRTOpcionesTASKSMAIN = missionCommands.addSubMenuForCoalition(coalition.side.BLUE, "➣[MANUAL TASK CREATION]", TRTOpciones, nil)
  2002. TRTOpcionesMakeBAI = missionCommands.addCommandForCoalition(coalition.side.BLUE, "✱ [BAI TASK]", TRTOpcionesTASKSMAIN, function() MakeTaskBAI_menucmd() end, nil)
  2003. TRTOpcionesMakeBAIHard = missionCommands.addCommandForCoalition(coalition.side.BLUE, "✱ [BAI (HARD) TASK]", TRTOpcionesTASKSMAIN, function() MakeTaskBAIHARD_menucmd() end, nil)
  2004. TRTOpcionesMakeSEAD = missionCommands.addCommandForCoalition(coalition.side.BLUE, "✱ [SEAD TASK]", TRTOpcionesTASKSMAIN, function() MakeTaskSEAD_menucmd() end, nil)
  2005. TRTOpcionesMakeHeliBAI = missionCommands.addCommandForCoalition(coalition.side.BLUE, "✱ [HELI BAI TASK]", TRTOpcionesTASKSMAIN, function() MakeTask_HELO_BAIcmd() end, nil)
  2006. end
  2007. --FIN---------------------------------------------------------------------------------------------------------------------------------------------------------------
  2008. --↓↓ ENEMY CAP SPAWN ↓↓---------------------------------------------------------------------------------------------------------------------------------------------
  2009. EASY_CapPlanesLIST = {
  2010.     '☢ MiG-31',
  2011.     '☢ MiG-29S',
  2012.     '☢ MiG-21Bis',
  2013.     '☢ Su-27',
  2014.     '☢ Su-33',
  2015.     '☢ MiG-19P',
  2016.     '☢ MiG-23MLD',
  2017.     '☢ MiG-25PD',
  2018.     '☢ Su-34',
  2019.     '☢ F5E3',
  2020.     '☢ F-15C',
  2021.     '☢ F-18C',
  2022.     '☢ F-14B',
  2023.     '☢ JF-17',
  2024.     '☢ J-11',
  2025.     '☢ Mirage 2000'
  2026. }
  2027.  
  2028. MEDIUM_CapPlanesLIST = {
  2029.     '☢ MiG-31_Med',
  2030.     '☢ MiG-29S_Med',
  2031.     '☢ MiG-21Bis_Med',
  2032.     '☢ Su-27_Med',
  2033.     '☢ Su-33_Med',
  2034.     '☢ MiG-19P_Med',
  2035.     '☢ MiG-23MLD_Med',
  2036.     '☢ MiG-25PD_Med',
  2037.     '☢ Su-34_Med',
  2038.     '☢ F5E3_Med',
  2039.     '☢ F-15C_Med',
  2040.     '☢ F-18C_Med',
  2041.     '☢ F-14B_Med',
  2042.     '☢ JF-17_Med',
  2043.     '☢ J-11_Med',
  2044.     '☢ Mirage 2000_Med'
  2045. }
  2046.  
  2047. HARD_CapPlanesLIST = {
  2048.     '☢ MiG-31_Hard',
  2049.     '☢ MiG-29S_Hard',
  2050.     '☢ MiG-21Bis_Hard',
  2051.     '☢ Su-27_Hard',
  2052.     '☢ Su-33_Hard',
  2053.     '☢ MiG-19P_Hard',
  2054.     '☢ MiG-23MLD_Hard',
  2055.     '☢ MiG-25PD_Hard',
  2056.     '☢ Su-34_Hard',
  2057.     '☢ F5E3_Hard',
  2058.     '☢ F-15C_Hard',
  2059.     '☢ F-18C_Hard',
  2060.     '☢ F-14B_Hard',
  2061.     '☢ JF-17_Hard',
  2062.     '☢ J-11_Hard',
  2063.     '☢ Mirage 2000_Hard'
  2064. }
  2065.  
  2066. function EASYCAP()
  2067.     EASY_CapSpawn =
  2068.         SPAWN:NewWithAlias('A2A_REDCAP_TEMPLATE', 'EASY CAP'):InitRandomizeTemplate(EASY_CapPlanesLIST):InitSkill(
  2069.         'Average'
  2070.     ):InitRandomizeRoute(1, 2, 20000):InitCleanUp(60):InitHeading(120, 180):InitLimit(4, 0)
  2071.     local REDRNG_CAP_ZONE = math.random(1, #(EnemyCAPZoneList))
  2072.     EASY_CapSpawn:SpawnInZone(EnemyCAPZoneList[REDRNG_CAP_ZONE], true, 5000, 10000)
  2073. end
  2074.  
  2075. function MEDCAP()
  2076.     MEDIUM_CapSpawn =
  2077.         SPAWN:NewWithAlias('A2A_REDCAP_TEMPLATE', 'MEDIUM CAP'):InitRandomizeTemplate(MEDIUM_CapPlanesLIST):InitSkill(
  2078.         'Good'
  2079.     ):InitRandomizeRoute(1, 2, 20000):InitCleanUp(60):InitHeading(120, 180):InitLimit(6, 0)
  2080.     local REDRNG_CAP_ZONE = math.random(1, #(EnemyCAPZoneList))
  2081.     MEDIUM_CapSpawn:SpawnInZone(EnemyCAPZoneList[REDRNG_CAP_ZONE], true, 5000, 10000)
  2082. end
  2083.  
  2084. function HARDCAP()
  2085.     HARDCapSpawn =
  2086.         SPAWN:NewWithAlias('A2A_REDCAP_TEMPLATE', 'HARD CAP'):InitRandomizeTemplate(HARD_CapPlanesLIST):InitSkill(
  2087.         'Excellent'
  2088.     ):InitRandomizeRoute(1, 2, 20000):InitCleanUp(60):InitHeading(120, 180):InitLimit(8, 0)
  2089.     local REDRNG_CAP_ZONE = math.random(1, #(EnemyCAPZoneList))
  2090.     HARDCapSpawn:SpawnInZone(EnemyCAPZoneList[REDRNG_CAP_ZONE], true, 5000, 10000)
  2091. end
  2092. --FIN-------------------------------------------------------------------------------------------------------------------------------------------------------------
  2093. --↓↓ SUPPORT SPAWN ↓↓---------------------------------------------------------------------------------------------------------------------------------------------
  2094. BAI_PlanesLIST = {
  2095.     'BAI_F14',
  2096.     'BAI_AV8B',
  2097.     'BAI_F15',
  2098.     'BAI_A10',
  2099.     'BAI_F18',
  2100.     'BAI_M2000',
  2101.     'BAI_F16'
  2102. }
  2103.  
  2104. SEAD_PlanesLIST = {
  2105.     'SEAD_AV8B',
  2106.     'SEAD_F18',
  2107.     'SEAD_JF17',
  2108.     'SEAD_F16'
  2109. }
  2110.  
  2111. function BLUE_BAI()
  2112.     BAI_PLANESSPAWN =
  2113.         SPAWN:NewWithAlias('BLUE_CAS_TMP', 'ALLIED BAI PATROL'):InitRandomizeTemplate(BAI_PlanesLIST):InitRandomizeRoute(
  2114.         1,
  2115.         2,
  2116.         20000
  2117.     ):InitCleanUp(60):InitHeading(120, 180):InitSkill('Random'):InitLimit(2, 0)
  2118.  
  2119.     local BLUERNG_CAP_ZONE = math.random(1, #(AlliedCAPZoneList))
  2120.     BAI_PLANESSPAWN:SpawnInZone(AlliedCAPZoneList[BLUERNG_CAP_ZONE], true, 5000, 10000)
  2121. end
  2122.  
  2123.  
  2124. function BLUE_SEAD()
  2125.     SEAD_PLANESSPAWN =
  2126.         SPAWN:NewWithAlias('BLUE_SEAD_TMP', 'ALLIED SEAD PATROL'):InitRandomizeTemplate(SEAD_PlanesLIST):InitRandomizeRoute(
  2127.         1,
  2128.         2,
  2129.         20000
  2130.     ):InitCleanUp(60):InitHeading(120, 180):InitSkill('Random'):InitLimit(2, 0)
  2131.  
  2132.     local BLUERNG_CAP_ZONE = math.random(1, #(AlliedCAPZoneList))
  2133.     SEAD_PLANESSPAWN:SpawnInZone(AlliedCAPZoneList[BLUERNG_CAP_ZONE], true, 5000, 10000)
  2134. end
  2135. --FIN---------------------------------------------------------------------------------------------------------------------------------------------------------------
  2136.  
  2137.  
  2138. function DesactivarRadioAmbienteAA()
  2139.   if (RadioAmbienteActivada_AA == 0) then
  2140.       RadioAmbienteActivada_AA = 1
  2141.       trigger.action.outText('A2A kills comms are now Enabled', 15)
  2142.   elseif (RadioAmbienteActivada_AA == 1) then
  2143.       RadioAmbienteActivada_AA = 0
  2144.       trigger.action.outText('A2A kills comms are now Disabled', 15)
  2145.   else
  2146.   end
  2147. end
  2148.  
  2149. function DesactivarRadioAmbienteAG()
  2150.   if (RadioAmbienteActivada_AG == 0) then
  2151.       RadioAmbienteActivada_AG = 1
  2152.       trigger.action.outText('A2G kills comms are now Enabled', 15)
  2153.   elseif (RadioAmbienteActivada_AG == 1) then
  2154.       RadioAmbienteActivada_AG = 0
  2155.       trigger.action.outText('A2G kills comms are now Disabled', 15)
  2156.   else
  2157.   end
  2158. end
  2159.  
  2160. function CurrentMissionSettings()
  2161.     if (enable_BAI_tasks == true) then
  2162.         trigger.action.outText('BAI tasks: ✔', 20)
  2163.     end
  2164.     if (enable_BAI_HARD_tasks == true) then
  2165.       trigger.action.outText('BAI (HARD) tasks: ✔', 20)
  2166.   end
  2167.   if (enable_SEAD_tasks == true) then
  2168.       trigger.action.outText('SEAD tasks: ✔', 20)
  2169.   end
  2170.   if (enable_MissileTrainer == true) then
  2171.       trigger.action.outText('FOX Missile trainer: ✔', 20)
  2172.   end
  2173.   if (enable_ExtraDamage == true) then
  2174.       trigger.action.outText('Extra Damage: ✔', 20)
  2175.   end
  2176.   if (enable_AirTraffic == true) then
  2177.     trigger.action.outText('Random Air Traffic: ✔', 20)
  2178. end
  2179.   if (enable_CTDL == true) then
  2180.       trigger.action.outText('CTDL: ✔', 20)
  2181.   end
  2182.   if (enable_CSAR == true) then
  2183.       trigger.action.outText('CSAR: ✔', 20)
  2184.   end
  2185.   if (enable_ZEUS == true) then
  2186.       trigger.action.outText('Enhanced Gamemaster Script: ✔', 20)
  2187.   end
  2188.   if (enable_RescueHelos == true) then
  2189.       trigger.action.outText('Rescue Helos: ✔', 20)
  2190.   end
  2191.   if (allow_EndMissionViaRadio == true) then
  2192.       trigger.action.outText('You can finish the mission with the radio', 20)
  2193.   end
  2194.   if (allow_CallSupportViaRadio == true) then
  2195.       trigger.action.outText('You can spawn support planes via radio', 20)
  2196.   end
  2197.   if (allow_SpawnRedCAPs == true) then
  2198.     trigger.action.outText('You can spawn enemy CAPs via radio', 20)
  2199.   end
  2200.   if (allow_ManualTaskCreation == true) then
  2201.       trigger.action.outText('You can create A2G tasks manually via radio', 20)
  2202.   end
  2203. end
  2204.  
  2205. function CurrentCAPSettings()
  2206.   if (Enable_CAT_Squadron == true) then
  2207.       trigger.action.outText('Enemy CAT Squadron: ✔', 20)
  2208.   end
  2209.   if (Enable_BEAR_Squadron == true) then
  2210.       trigger.action.outText('Enemy BEAR Squadron: ✔', 20)
  2211.   end
  2212.   if (Enable_TIGER_Squadron == true) then
  2213.       trigger.action.outText('Enemy TIGER Squadron: ✔', 20)
  2214.   end
  2215.   if (Enable_BOMBER_Squadrons == true) then
  2216.     trigger.action.outText('Enemy Bomber SQUADRON: ✔', 20)
  2217. end
  2218.   if (Enable_FALCON_Squadron == true) then
  2219.       trigger.action.outText('Allied FALCON Squadron: ✔', 20)
  2220.   end
  2221.   if (Enable_HAWK_Squadron == true) then
  2222.       trigger.action.outText('Allied HAWK Squadron: ✔', 20)
  2223.   end
  2224.   if (Enable_EAGLE_Squadron == true) then
  2225.       trigger.action.outText('Allied EAGLE Squadron: ✔', 20)
  2226.   end
  2227.   if (Enable_CAT_Squadron == false) and (Enable_BEAR_Squadron == false) and (Enable_TIGER_Squadron == false) then
  2228.     trigger.action.outText('Enemy CAPs are turned OFF', 20)
  2229.   end
  2230.   if (Enable_FALCON_Squadron == false) and (Enable_HAWK_Squadron == false) and (Enable_EAGLE_Squadron == false) then
  2231.     trigger.action.outText('Allied CAPs are turned OFF', 20)
  2232.   end
  2233. end
  2234.  
  2235. function ENDMISSIONTRIGGER()
  2236.   trigger.action.setUserFlag(50, 5)
  2237. end
  2238.  
  2239. function ENDMISSIONTRIGGERNO()
  2240.   trigger.action.outText('Ok then...', 15)
  2241. end
  2242.  
  2243. function CASF14()
  2244.   F14CAS = SPAWN:New('☮ F-14B CAS'):InitCleanUp(60):InitLimit(2, 0):Spawn()
  2245. end
  2246.  
  2247. function CASF16()
  2248.   F16CAS = SPAWN:New('☮ F-16 CAS'):InitCleanUp(60):InitLimit(2, 0):Spawn()
  2249. end
  2250.  
  2251. function SEADF18()
  2252.   SEADF18 = SPAWN:New('☮ F-18 SEAD'):InitCleanUp(60):InitLimit(2, 0):Spawn()
  2253. end
  2254.  
  2255. function SEADF16()
  2256.   SEADF16 = SPAWN:New('☮ F-16 SEAD'):InitCleanUp(60):InitLimit(2, 0):Spawn()
  2257. end
  2258.  
  2259. trigger.action.outText("▁ ▂ ▄ ▅ ▆ ▇ █ THE ROUND TABLE █ ▇ ▆ ▅ ▄ ▂ ▁", 20)
  2260. trigger.action.outText("EN: CHECK YOUR MISSION CONFIG VIA RADIO MENU: Mission Options > Current Mission Settings & Mission Options > Active SQN List -", 15)
  2261. trigger.action.outText("ES: REVISA TU CONFIGURACION CON EL MENÚ DE RADIO: Mission Options > Current Mission Settings & Mission Options > Active SQN List -", 13)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement