mirror of
https://github.com/iTracerFacer/DCS_MissionDev.git
synced 2025-12-03 04:14:46 +00:00
asdfl;kasjdflkas
This commit is contained in:
parent
57f895c881
commit
4519810d86
Binary file not shown.
Binary file not shown.
@ -113,12 +113,6 @@ blue_ctld.EngineerSearch = 2000 -- Search radius for engineers.
|
|||||||
["CH-47Fbl1"] = {type="CH-47Fbl1", crates=true, troops=true, cratelimit = 4, trooplimit = 31, length = 20, cargoweightlimit = 8000},
|
["CH-47Fbl1"] = {type="CH-47Fbl1", crates=true, troops=true, cratelimit = 4, trooplimit = 31, length = 20, cargoweightlimit = 8000},
|
||||||
--]]
|
--]]
|
||||||
|
|
||||||
-- Custom Capabilities
|
|
||||||
blue_ctld:SetUnitCapabilities("UH-1H", true, true, 1, 10, 15, 6000)
|
|
||||||
red_ctld:SetUnitCapabilities("UH-1H", true, true, 1, 10, 15, 6000)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
-- Start the CTLD Instances
|
-- Start the CTLD Instances
|
||||||
red_ctld:Start(5)
|
red_ctld:Start(5)
|
||||||
blue_ctld:Start(5)
|
blue_ctld:Start(5)
|
||||||
@ -143,27 +137,27 @@ red_ctld:AddTroopsCargo("Anti-Air (4)",{"Red-AA"},CTLD_CARGO.Enum.TROOPS, 4, 80,
|
|||||||
blue_ctld:AddTroopsCargo("Anti-Air(4)",{"Blue-AA"},CTLD_CARGO.Enum.TROOPS, 4, 80, 10)
|
blue_ctld:AddTroopsCargo("Anti-Air(4)",{"Blue-AA"},CTLD_CARGO.Enum.TROOPS, 4, 80, 10)
|
||||||
|
|
||||||
-- Add Engineers
|
-- Add Engineers
|
||||||
red_ctld:AddTroopsCargo("Engineer Team (3)",{"Red-Eng"},CTLD_CARGO.Enum.ENGINEERS, 3, 80)
|
--red_ctld:AddTroopsCargo("Engineer Team (3)",{"Red-Eng"},CTLD_CARGO.Enum.ENGINEERS, 3, 80)
|
||||||
blue_ctld:AddTroopsCargo("Engineer Team (3)",{"Blue-Eng"},CTLD_CARGO.Enum.ENGINEERS, 3, 80)
|
--blue_ctld:AddTroopsCargo("Engineer Team (3)",{"Blue-Eng"},CTLD_CARGO.Enum.ENGINEERS, 3, 80)
|
||||||
|
|
||||||
-- Add Ammo Trucks
|
-- Add Ammo Trucks
|
||||||
red_ctld:AddCratesCargo("Ammo Truck",{"Red-Ammo"},CTLD_CARGO.Enum.VEHICLE, 2, 2775, 10)
|
red_ctld:AddCratesCargo("Ammo Truck",{"Red-Ammo"},CTLD_CARGO.Enum.VEHICLE, 2, 500, 10)
|
||||||
blue_ctld:AddCratesCargo("Ammo Truck",{"Blue-Ammo"},CTLD_CARGO.Enum.VEHICLE, 2, 2775, 10)
|
blue_ctld:AddCratesCargo("Ammo Truck",{"Blue-Ammo"},CTLD_CARGO.Enum.VEHICLE, 2, 500, 10)
|
||||||
|
|
||||||
-- Add JTACs
|
-- Add JTACs
|
||||||
--red_ctld:AddCratesCargo("JTAC",{"Red-JTAC"},CTLD_CARGO.Enum.VEHICLE, 1, 2775, 10) -- no soup for you commie bitches!
|
--red_ctld:AddCratesCargo("JTAC",{"Red-JTAC"},CTLD_CARGO.Enum.VEHICLE, 1, 2775, 10) -- no soup for you commie bitches!
|
||||||
blue_ctld:AddCratesCargo("JTAC",{"Blue-JTAC"},CTLD_CARGO.Enum.VEHICLE, 1, 2775, 10)
|
blue_ctld:AddCratesCargo("JTAC",{"Blue-JTAC"},CTLD_CARGO.Enum.VEHICLE, 1, 500, 10)
|
||||||
|
|
||||||
-- Add HUMVEE
|
-- Add HUMVEE
|
||||||
blue_ctld:AddCratesCargo("HUMVEE",{"Blue-HUMVEE"},CTLD_CARGO.Enum.VEHICLE, 1, 3000, 25)
|
blue_ctld:AddCratesCargo("HUMVEE",{"Blue-HUMVEE"},CTLD_CARGO.Enum.VEHICLE, 1, 500, 25)
|
||||||
|
|
||||||
-- Add Tanks
|
-- Add Tanks
|
||||||
red_ctld:AddCratesCargo("T-90 (20000kg)",{"Red-T90"},CTLD_CARGO.Enum.VEHICLE, 1, 95000, 25)
|
red_ctld:AddCratesCargo("T-90",{"Red-T90"},CTLD_CARGO.Enum.VEHICLE, 1, 8500, 25)
|
||||||
blue_ctld:AddCratesCargo("M1A2 (20000kg)",{"Blue-M1A2"},CTLD_CARGO.Enum.VEHICLE, 1, 95000, 25)
|
blue_ctld:AddCratesCargo("M1A2",{"Blue-M1A2"},CTLD_CARGO.Enum.VEHICLE, 1, 8500, 25)
|
||||||
|
|
||||||
-- Add FOBs
|
-- Add FOBs
|
||||||
red_ctld:AddCratesCargo("Forward Ops Base (500kg)",{"Red-FOB"},CTLD_CARGO.Enum.FOB, 4, 500, 8)
|
red_ctld:AddCratesCargo("Forward Ops Base",{"Red-FOB"},CTLD_CARGO.Enum.FOB, 4, 500, 8)
|
||||||
blue_ctld:AddCratesCargo("Forward Ops Base (500kg)",{"Blue-FOB"},CTLD_CARGO.Enum.FOB, 4, 500, 8)
|
blue_ctld:AddCratesCargo("Forward Ops Base",{"Blue-FOB"},CTLD_CARGO.Enum.FOB, 4, 500, 8)
|
||||||
|
|
||||||
-- AA Crates
|
-- AA Crates
|
||||||
red_ctld:AddCratesCargo("SA-8",{"SA8"},CTLD_CARGO.Enum.CRATE, 4, 500, 10)
|
red_ctld:AddCratesCargo("SA-8",{"SA8"},CTLD_CARGO.Enum.CRATE, 4, 500, 10)
|
||||||
|
|||||||
90
DCS_Afgainistan/Insurgent_Sandstorm/Moose_DroneOps.lua
Normal file
90
DCS_Afgainistan/Insurgent_Sandstorm/Moose_DroneOps.lua
Normal file
@ -0,0 +1,90 @@
|
|||||||
|
-- Define the red and blue zones
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
local redZones = {
|
||||||
|
ZONE:New("FrontLine1"),
|
||||||
|
ZONE:New("FrontLine2"),
|
||||||
|
ZONE:New("FrontLine3"),
|
||||||
|
ZONE:New("FrontLine4"),
|
||||||
|
ZONE:New("FrontLine5"),
|
||||||
|
ZONE:New("FrontLine6"),
|
||||||
|
ZONE:New("FrontLine7"),
|
||||||
|
ZONE:New("FrontLine8")
|
||||||
|
}
|
||||||
|
|
||||||
|
local blueZones = {
|
||||||
|
ZONE:New("FrontLine9"),
|
||||||
|
ZONE:New("FrontLine10"),
|
||||||
|
ZONE:New("FrontLine11"),
|
||||||
|
ZONE:New("FrontLine12"),
|
||||||
|
ZONE:New("FrontLine13"),
|
||||||
|
ZONE:New("FrontLine14"),
|
||||||
|
ZONE:New("FrontLine15"),
|
||||||
|
ZONE:New("FrontLine16")
|
||||||
|
}
|
||||||
|
|
||||||
|
-- Combine the redZones and blueZones tables into one table
|
||||||
|
local combinedZones = {}
|
||||||
|
for _, zone in ipairs(redZones) do
|
||||||
|
table.insert(combinedZones, zone)
|
||||||
|
end
|
||||||
|
for _, zone in ipairs(blueZones) do
|
||||||
|
table.insert(combinedZones, zone)
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Create a detection area using the Blue_Drone group and the combined zones
|
||||||
|
local droneDetection = DETECTION_UNITS:New(Blue_Drone)
|
||||||
|
droneDetection:SetAcceptZones(combinedZones)
|
||||||
|
droneDetection:Start()
|
||||||
|
|
||||||
|
-- Function to present target options to the player
|
||||||
|
local function RequestTargetOptions()
|
||||||
|
if not droneDetection then
|
||||||
|
MESSAGE:New("Drone detection is not initialized", 10):ToAll()
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
local detectedTargets = droneDetection:GetDetectedSet()
|
||||||
|
if not detectedTargets or #detectedTargets == 0 then
|
||||||
|
MESSAGE:New("No targets detected", 10):ToAll()
|
||||||
|
return
|
||||||
|
end
|
||||||
|
MESSAGE:New("Targets Detected, use menu again to select.", 10):ToAll()
|
||||||
|
local targetMenu = MENU_COALITION:New(coalition.side.BLUE, "Select Target", nil)
|
||||||
|
|
||||||
|
for i, target in ipairs(detectedTargets) do
|
||||||
|
local targetName = target:GetName()
|
||||||
|
MENU_COALITION_COMMAND:New(coalition.side.BLUE, targetName, targetMenu, function()
|
||||||
|
PresentActionOptions(target)
|
||||||
|
end)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Function to present action options for a selected target
|
||||||
|
local function PresentActionOptions(target)
|
||||||
|
local actionMenu = MENU_COALITION:New(coalition.side.BLUE, "Select Action for " .. target:GetName(), nil)
|
||||||
|
|
||||||
|
MENU_COALITION_COMMAND:New(coalition.side.BLUE, "Smoke (Red)", actionMenu, function()
|
||||||
|
target:SmokeTarget(SMOKECOLOR.Red)
|
||||||
|
end)
|
||||||
|
MENU_COALITION_COMMAND:New(coalition.side.BLUE, "Smoke (Green)", actionMenu, function()
|
||||||
|
target:SmokeTarget(SMOKECOLOR.Green)
|
||||||
|
end)
|
||||||
|
MENU_COALITION_COMMAND:New(coalition.side.BLUE, "Lase (Code 1688)", actionMenu, function()
|
||||||
|
target:LaseTarget(1688)
|
||||||
|
end)
|
||||||
|
MENU_COALITION_COMMAND:New(coalition.side.BLUE, "Flare (Red)", actionMenu, function()
|
||||||
|
target:FlareTarget(FLARECOLOR.Red)
|
||||||
|
end)
|
||||||
|
MENU_COALITION_COMMAND:New(coalition.side.BLUE, "Flare (Green)", actionMenu, function()
|
||||||
|
target:FlareTarget(FLARECOLOR.Green)
|
||||||
|
end)
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Create the main mission menu
|
||||||
|
missionMenu = MENU_MISSION:New("Mission Menu")
|
||||||
|
|
||||||
|
-- Create the Drone Menu for the player to interact with the drone
|
||||||
|
local DroneMenu = MENU_COALITION:New(coalition.side.BLUE, "Drone Ops", missionMenu)
|
||||||
|
MENU_COALITION_COMMAND:New(coalition.side.BLUE, "Request Target Options", DroneMenu, RequestTargetOptions)
|
||||||
@ -139,16 +139,20 @@ local redZones = {
|
|||||||
ZONE:New("FrontLine3"),
|
ZONE:New("FrontLine3"),
|
||||||
ZONE:New("FrontLine4"),
|
ZONE:New("FrontLine4"),
|
||||||
ZONE:New("FrontLine5"),
|
ZONE:New("FrontLine5"),
|
||||||
ZONE:New("FrontLine6")
|
ZONE:New("FrontLine6"),
|
||||||
|
ZONE:New("FrontLine7"),
|
||||||
|
ZONE:New("FrontLine8")
|
||||||
}
|
}
|
||||||
|
|
||||||
local blueZones = {
|
local blueZones = {
|
||||||
ZONE:New("FrontLine7"),
|
|
||||||
ZONE:New("FrontLine8"),
|
|
||||||
ZONE:New("FrontLine9"),
|
ZONE:New("FrontLine9"),
|
||||||
ZONE:New("FrontLine10"),
|
ZONE:New("FrontLine10"),
|
||||||
ZONE:New("FrontLine11"),
|
ZONE:New("FrontLine11"),
|
||||||
ZONE:New("FrontLine12")
|
ZONE:New("FrontLine12"),
|
||||||
|
ZONE:New("FrontLine13"),
|
||||||
|
ZONE:New("FrontLine14"),
|
||||||
|
ZONE:New("FrontLine15"),
|
||||||
|
ZONE:New("FrontLine16")
|
||||||
}
|
}
|
||||||
|
|
||||||
-- Define warehouses for each side. These warehouses will be used to calculate the spawn frequency of ground units.
|
-- Define warehouses for each side. These warehouses will be used to calculate the spawn frequency of ground units.
|
||||||
@ -317,15 +321,19 @@ function ZONE_CAPTURE_COALITION:OnEnterGuarded(From, Event, To)
|
|||||||
-- Draw zone DARK BLUE for guarded
|
-- Draw zone DARK BLUE for guarded
|
||||||
self:UndrawZone()
|
self:UndrawZone()
|
||||||
self:DrawZone(-1, {0, 0, 0.5}, 2) -- Draw the zone on the map for 30 seconds, dark blue color, and thickness 2
|
self:DrawZone(-1, {0, 0, 0.5}, 2) -- Draw the zone on the map for 30 seconds, dark blue color, and thickness 2
|
||||||
US_CC:MessageTypeToCoalition(string.format("%s is under protection of the USA", self:GetZoneName()), MESSAGE.Type.Information)
|
if ENABLE_CAPTURE_ZONE_MESSAGES then
|
||||||
RU_CC:MessageTypeToCoalition(string.format("%s is under protection of the USA", self:GetZoneName()), MESSAGE.Type.Information)
|
US_CC:MessageTypeToCoalition(string.format("%s is under protection of the USA", self:GetZoneName()), MESSAGE.Type.Information)
|
||||||
|
RU_CC:MessageTypeToCoalition(string.format("%s is under protection of the USA", self:GetZoneName()), MESSAGE.Type.Information)
|
||||||
|
end
|
||||||
else
|
else
|
||||||
self:Smoke(SMOKECOLOR.Red)
|
self:Smoke(SMOKECOLOR.Red)
|
||||||
-- Draw zone DARK RED for guarded
|
-- Draw zone DARK RED for guarded
|
||||||
self:UndrawZone()
|
self:UndrawZone()
|
||||||
self:DrawZone(-1, {0.5, 0, 0}, 2) -- Draw the zone on the map for 30 seconds, dark red color, and thickness 2
|
self:DrawZone(-1, {0.5, 0, 0}, 2) -- Draw the zone on the map for 30 seconds, dark red color, and thickness 2
|
||||||
RU_CC:MessageTypeToCoalition(string.format("%s is under protection of Russia", self:GetZoneName()), MESSAGE.Type.Information)
|
if ENABLE_CAPTURE_ZONE_MESSAGES then
|
||||||
US_CC:MessageTypeToCoalition(string.format("%s is under protection of Russia", self:GetZoneName()), MESSAGE.Type.Information)
|
RU_CC:MessageTypeToCoalition(string.format("%s is under protection of Russia", self:GetZoneName()), MESSAGE.Type.Information)
|
||||||
|
US_CC:MessageTypeToCoalition(string.format("%s is under protection of Russia", self:GetZoneName()), MESSAGE.Type.Information)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -340,8 +348,10 @@ function ZONE_CAPTURE_COALITION:OnEnterEmpty(From, Event, To)
|
|||||||
self:Smoke(SMOKECOLOR.Green)
|
self:Smoke(SMOKECOLOR.Green)
|
||||||
self:UndrawZone()
|
self:UndrawZone()
|
||||||
self:DrawZone(-1, {0, 1, 0}, 2) -- Draw the zone on the map for 30 seconds, green color, and thickness 2
|
self:DrawZone(-1, {0, 1, 0}, 2) -- Draw the zone on the map for 30 seconds, green color, and thickness 2
|
||||||
US_CC:MessageTypeToCoalition(string.format("%s is now empty", self:GetZoneName()), MESSAGE.Type.Information)
|
if ENABLE_CAPTURE_ZONE_MESSAGES then
|
||||||
RU_CC:MessageTypeToCoalition(string.format("%s is now empty", self:GetZoneName()), MESSAGE.Type.Information)
|
US_CC:MessageTypeToCoalition(string.format("%s is now empty", self:GetZoneName()), MESSAGE.Type.Information)
|
||||||
|
RU_CC:MessageTypeToCoalition(string.format("%s is now empty", self:GetZoneName()), MESSAGE.Type.Information)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -358,14 +368,18 @@ function ZONE_CAPTURE_COALITION:OnEnterAttacked(From, Event, To)
|
|||||||
-- Draw the zone orange for contested
|
-- Draw the zone orange for contested
|
||||||
self:UndrawZone()
|
self:UndrawZone()
|
||||||
self:DrawZone(-1, {1, 0.5, 0}, 2) -- Draw the zone on the map for 30 seconds, orange color, and thickness 2
|
self:DrawZone(-1, {1, 0.5, 0}, 2) -- Draw the zone on the map for 30 seconds, orange color, and thickness 2
|
||||||
US_CC:MessageTypeToCoalition(string.format("%s is under attack by Russia", self:GetZoneName()), MESSAGE.Type.Information)
|
if ENABLE_CAPTURE_ZONE_MESSAGES then
|
||||||
RU_CC:MessageTypeToCoalition(string.format("%s is attacking the USA", self:GetZoneName()), MESSAGE.Type.Information)
|
US_CC:MessageTypeToCoalition(string.format("%s is under attack by Russia", self:GetZoneName()), MESSAGE.Type.Information)
|
||||||
|
RU_CC:MessageTypeToCoalition(string.format("%s is attacking the USA", self:GetZoneName()), MESSAGE.Type.Information)
|
||||||
|
end
|
||||||
else
|
else
|
||||||
self:Smoke(SMOKECOLOR.Red)
|
self:Smoke(SMOKECOLOR.Red)
|
||||||
self:UndrawZone()
|
self:UndrawZone()
|
||||||
self:DrawZone(-1, {1, 0.5, 0}, 2) -- Draw the zone on the map for 30 seconds, orange color, and thickness 2
|
self:DrawZone(-1, {1, 0.5, 0}, 2) -- Draw the zone on the map for 30 seconds, orange color, and thickness 2
|
||||||
RU_CC:MessageTypeToCoalition(string.format("%s is under attack by the USA", self:GetZoneName()), MESSAGE.Type.Information)
|
if ENABLE_CAPTURE_ZONE_MESSAGES then
|
||||||
US_CC:MessageTypeToCoalition(string.format("%s is attacking Russia", self:GetZoneName()), MESSAGE.Type.Information)
|
RU_CC:MessageTypeToCoalition(string.format("%s is under attack by the USA", self:GetZoneName()), MESSAGE.Type.Information)
|
||||||
|
US_CC:MessageTypeToCoalition(string.format("%s is attacking Russia", self:GetZoneName()), MESSAGE.Type.Information)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -380,8 +394,10 @@ function ZONE_CAPTURE_COALITION:OnEnterNeutral(From, Event, To)
|
|||||||
self:Smoke(SMOKECOLOR.Green)
|
self:Smoke(SMOKECOLOR.Green)
|
||||||
self:UndrawZone()
|
self:UndrawZone()
|
||||||
self:DrawZone(-1, {0, 1, 0}, 2) -- Draw the zone on the map for 30 seconds, green color, and thickness 2
|
self:DrawZone(-1, {0, 1, 0}, 2) -- Draw the zone on the map for 30 seconds, green color, and thickness 2
|
||||||
US_CC:MessageTypeToCoalition(string.format("%s is now neutral", self:GetZoneName()), MESSAGE.Type.Information)
|
if ENABLE_CAPTURE_ZONE_MESSAGES then
|
||||||
RU_CC:MessageTypeToCoalition(string.format("%s is now neutral", self:GetZoneName()), MESSAGE.Type.Information)
|
US_CC:MessageTypeToCoalition(string.format("%s is now neutral", self:GetZoneName()), MESSAGE.Type.Information)
|
||||||
|
RU_CC:MessageTypeToCoalition(string.format("%s is now neutral", self:GetZoneName()), MESSAGE.Type.Information)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -897,10 +913,16 @@ local function checkWinCondition()
|
|||||||
SOUND:New("MotherRussia.ogg"):ToAll()
|
SOUND:New("MotherRussia.ogg"):ToAll()
|
||||||
return true
|
return true
|
||||||
end
|
end
|
||||||
|
|
||||||
return false
|
return false
|
||||||
end
|
end
|
||||||
|
|
||||||
|
-- Function to toggle capture zone messages
|
||||||
|
local function ToggleCaptureZoneMessages()
|
||||||
|
ENABLE_CAPTURE_ZONE_MESSAGES = not ENABLE_CAPTURE_ZONE_MESSAGES
|
||||||
|
local status = ENABLE_CAPTURE_ZONE_MESSAGES and "enabled" or "disabled"
|
||||||
|
MESSAGE:New("Capture zone messages are now " .. status, 15):ToAll()
|
||||||
|
end
|
||||||
|
|
||||||
-- Timer function to periodically check the win condition
|
-- Timer function to periodically check the win condition
|
||||||
local function monitorWinCondition()
|
local function monitorWinCondition()
|
||||||
if not checkWinCondition() then
|
if not checkWinCondition() then
|
||||||
@ -918,8 +940,17 @@ SCHEDULER:New(nil, MonitorWarehouses, {}, 0, 120)
|
|||||||
-- Scheduler to assign tasks to groups periodically
|
-- Scheduler to assign tasks to groups periodically
|
||||||
SCHEDULER:New(nil, AssignTasksToGroups, {}, 0, ASSIGN_TASKS_SCHED) -- Check every 600 seconds (10 minutes) - Adjust as needed
|
SCHEDULER:New(nil, AssignTasksToGroups, {}, 0, ASSIGN_TASKS_SCHED) -- Check every 600 seconds (10 minutes) - Adjust as needed
|
||||||
|
|
||||||
-- Create a mission menu
|
|
||||||
local missionMenu = MENU_MISSION:New("Warehouse Monitoring")
|
|
||||||
|
|
||||||
-- Add a menu item to run the MonitorWarehouses function
|
|
||||||
MENU_MISSION_COMMAND:New("Check Warehouse Status", missionMenu, MonitorWarehouses)
|
MENU_MISSION_COMMAND:New("Check Warehouse Status", missionMenu, MonitorWarehouses)
|
||||||
|
|
||||||
|
-- Add a menu item to toggle capture zone messages under the sub menu
|
||||||
|
MENU_MISSION_COMMAND:New("Toggle Capture Zone Messages", missionMenu, ToggleCaptureZoneMessages)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -95,6 +95,10 @@ local RED_AA_ZONES = {
|
|||||||
|
|
||||||
|
|
||||||
-- Schedule RED AA spawns using the calculated frequencies
|
-- Schedule RED AA spawns using the calculated frequencies
|
||||||
|
-- Must allow enough room for an entire group to spawn. If the group only has 1 unit and you put 5, 5 will spawn,
|
||||||
|
-- but if the group has 5 units, and you put 5, only 1 will spawn..if you only put 4, it will never spawn.
|
||||||
|
-- If you put 10, 2 of them will spawn, etc etc.
|
||||||
|
|
||||||
RED_SA08 = SPAWN:New("RED EWR SA08")
|
RED_SA08 = SPAWN:New("RED EWR SA08")
|
||||||
:InitRandomizeZones(RED_AA_ZONES)
|
:InitRandomizeZones(RED_AA_ZONES)
|
||||||
:InitLimit(5, 5)
|
:InitLimit(5, 5)
|
||||||
@ -112,23 +116,18 @@ RED_SA11 = SPAWN:New("RED EWR AA SA112-1")
|
|||||||
:InitLimit(48, 48)
|
:InitLimit(48, 48)
|
||||||
:SpawnScheduled(1, 0.5)
|
:SpawnScheduled(1, 0.5)
|
||||||
|
|
||||||
-- There are 12 units in this group. Need space for each one in the numbers. So if I want 4 SA11s i'm just rounding up to 48
|
-- There are 11 units in this group. Need space for each one in the numbers. So if I want 4 SA11s i'm just rounding up to 44
|
||||||
RED_SA06 = SPAWN:New("RED EWR SA6")
|
RED_SA06 = SPAWN:New("RED EWR SA6")
|
||||||
:InitRandomizeZones(RED_AA_ZONES)
|
:InitRandomizeZones(RED_AA_ZONES)
|
||||||
:InitLimit(48, 48)
|
:InitLimit(44, 44)
|
||||||
:SpawnScheduled(1, 0.5)
|
:SpawnScheduled(1, 0.5)
|
||||||
|
|
||||||
-- There are 12 units in this group. Need space for each one in the numbers. So if I want 4 SA11s i'm just rounding up to 48
|
|
||||||
RED_SA02 = SPAWN:New("RED EWR SA2")
|
RED_SA02 = SPAWN:New("RED EWR SA2")
|
||||||
:InitRandomizeZones(RED_AA_ZONES)
|
:InitRandomizeZones(RED_AA_ZONES)
|
||||||
:InitLimit(48, 48)
|
:InitLimit(90, 90)
|
||||||
:SpawnScheduled(1, 0.5)
|
:SpawnScheduled(1, 0.5)
|
||||||
|
|
||||||
-- Setup AI A2A Dispatchers
|
-- Setup Air Dispatchers for RED and BLUE
|
||||||
--Red
|
|
||||||
|
|
||||||
|
|
||||||
--Blue
|
|
||||||
BLUEBorderZone = ZONE_POLYGON:New( "BLUE BORDER", GROUP:FindByName( "BLUE BORDER" ) )
|
BLUEBorderZone = ZONE_POLYGON:New( "BLUE BORDER", GROUP:FindByName( "BLUE BORDER" ) )
|
||||||
BLUEA2ADispatcher = AI_A2A_GCICAP:New( { "BLUE EWR" }, { "FIGHTER SWEEP BLUE" }, { "BLUE BORDER" }, BLUEBorderZone )
|
BLUEA2ADispatcher = AI_A2A_GCICAP:New( { "BLUE EWR" }, { "FIGHTER SWEEP BLUE" }, { "BLUE BORDER" }, BLUEBorderZone )
|
||||||
BLUEA2ADispatcher:SetDefaultLandingAtEngineShutdown()
|
BLUEA2ADispatcher:SetDefaultLandingAtEngineShutdown()
|
||||||
@ -171,10 +170,11 @@ BostDispatcher:SetDefaultFuelThreshold( 0.20 )
|
|||||||
BostDispatcher:SetRefreshTimeInterval( 300 )
|
BostDispatcher:SetRefreshTimeInterval( 300 )
|
||||||
BostDispatcher:SetDefaultOverhead(BlueA2ADefaultOverhead)
|
BostDispatcher:SetDefaultOverhead(BlueA2ADefaultOverhead)
|
||||||
|
|
||||||
|
-- There are 12 units in this group. Need space for each one in the numbers. So if I want 4 SA11s i'm just rounding up to 48
|
||||||
|
|
||||||
Blue_Drone = SPAWN:New("BLUE DRONE")
|
Blue_Drone = SPAWN:New("BLUE DRONE")
|
||||||
:InitLimit(1, 25)
|
:InitLimit(1, 99)
|
||||||
:SpawnScheduled(600, 0.5)
|
:SpawnScheduled(1, 0.5)
|
||||||
|
|
||||||
|
-- Create the main mission menu.
|
||||||
|
missionMenu = MENU_MISSION:New("Mission Menu")
|
||||||
|
|
||||||
|
|||||||
@ -69,7 +69,7 @@ function Blue_IntelSoundSettingOn()
|
|||||||
Blue_Intel_Sound_Setting = true
|
Blue_Intel_Sound_Setting = true
|
||||||
end
|
end
|
||||||
|
|
||||||
local INTELMenu = MENU_COALITION:New(coalition.side.BLUE,"INTEL HQ")
|
local INTELMenu = MENU_COALITION:New(coalition.side.BLUE,"INTEL HQ", missionMenu)
|
||||||
MENU_COALITION_COMMAND:New(coalition.side.BLUE, "Display Messages (ON)", INTELMenu, Blue_IntelMessageSettingOn)
|
MENU_COALITION_COMMAND:New(coalition.side.BLUE, "Display Messages (ON)", INTELMenu, Blue_IntelMessageSettingOn)
|
||||||
MENU_COALITION_COMMAND:New(coalition.side.BLUE, "Display Messages (OFF)", INTELMenu, Blue_IntelMessageSettingOff)
|
MENU_COALITION_COMMAND:New(coalition.side.BLUE, "Display Messages (OFF)", INTELMenu, Blue_IntelMessageSettingOff)
|
||||||
MENU_COALITION_COMMAND:New(coalition.side.BLUE, "Disable Morse Code Sound", INTELMenu, Blue_IntelSoundSettingOff)
|
MENU_COALITION_COMMAND:New(coalition.side.BLUE, "Disable Morse Code Sound", INTELMenu, Blue_IntelSoundSettingOff)
|
||||||
@ -135,8 +135,11 @@ function Red_IntelSoundSettingOn()
|
|||||||
Red_Intel_Sound_Setting = true
|
Red_Intel_Sound_Setting = true
|
||||||
end
|
end
|
||||||
|
|
||||||
local RedINTELMenu = MENU_COALITION:New(coalition.side.RED,"INTEL HQ")
|
-- Create the "INTEL HQ" submenu under "Tanker & Other Settings"
|
||||||
MENU_COALITION_COMMAND:New(coalition.side.RED, "Dispaly Messages (ON)",RedINTELMenu,Red_IntelMessageSettingOn)
|
local RedINTELMenu = MENU_COALITION:New(coalition.side.RED, "INTEL HQ", missionMenu)
|
||||||
MENU_COALITION_COMMAND:New(coalition.side.RED, "Dispaly Messages (OFF)",RedINTELMenu,Red_IntelMessageSettingOff)
|
|
||||||
|
-- Add menu items to the "INTEL HQ" submenu
|
||||||
|
MENU_COALITION_COMMAND:New(coalition.side.RED, "Display Messages (ON)", RedINTELMenu, Red_IntelMessageSettingOn)
|
||||||
|
MENU_COALITION_COMMAND:New(coalition.side.RED, "Display Messages (OFF)", RedINTELMenu, Red_IntelMessageSettingOff)
|
||||||
MENU_COALITION_COMMAND:New(coalition.side.RED, "Disable Morse Code Sound", RedINTELMenu, Red_IntelSoundSettingOff)
|
MENU_COALITION_COMMAND:New(coalition.side.RED, "Disable Morse Code Sound", RedINTELMenu, Red_IntelSoundSettingOff)
|
||||||
MENU_COALITION_COMMAND:New(coalition.side.RED, "Enable Morse Code Sound", RedINTELMenu, Red_IntelSoundSettingOn)
|
MENU_COALITION_COMMAND:New(coalition.side.RED, "Enable Morse Code Sound", RedINTELMenu, Red_IntelSoundSettingOn)
|
||||||
@ -45,7 +45,7 @@ function SpawnTankerMPRS()
|
|||||||
end
|
end
|
||||||
|
|
||||||
-- Create a mission menu for requesting the tankers
|
-- Create a mission menu for requesting the tankers
|
||||||
MenuCoalitionBlue = MENU_COALITION:New(coalition.side.BLUE, "Request TANKER")
|
MenuCoalitionBlue = MENU_COALITION:New(coalition.side.BLUE, "Request TANKER", missionMenu)
|
||||||
MenuCoalitionBlueTanker = MENU_COALITION_COMMAND:New(coalition.side.BLUE, "Launch TANKER 135", MenuCoalitionBlue, SpawnTanker)
|
MenuCoalitionBlueTanker = MENU_COALITION_COMMAND:New(coalition.side.BLUE, "Launch TANKER 135", MenuCoalitionBlue, SpawnTanker)
|
||||||
MenuCoalitionBlueTankerMPRS = MENU_COALITION_COMMAND:New(coalition.side.BLUE, "Launch TANKER 135 MPRS", MenuCoalitionBlue, SpawnTankerMPRS)
|
MenuCoalitionBlueTankerMPRS = MENU_COALITION_COMMAND:New(coalition.side.BLUE, "Launch TANKER 135 MPRS", MenuCoalitionBlue, SpawnTankerMPRS)
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user