Advertisement
Mitharg

THE ROUND TABLE -CORE - Syria

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