Next step of folder restructure

This commit is contained in:
kaltokri
2024-01-01 22:40:31 +01:00
parent b95cb6fd83
commit ccbc7dc549
898 changed files with 17060 additions and 258791 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,59 @@
-------------------------------------------------------------------------
-- PlayerTask 010 - Caucasus - Test Mission with manual target addition
-------------------------------------------------------------------------
-- Documentation
--
-- PLAYERTASK: https://flightcontrol-master.github.io/MOOSE_DOCS_DEVELOP/Documentation/Ops.PlayerTask.html
--
-------------------------------------------------------------------------
-- Join the game master slot initially, and then a plane slot after a few
-- seconds, to allow event capturing to start. Tasking is made available
-- over the F10 Menu
-------------------------------------------------------------------------
-- Date: August 2022
-------------------------------------------------------------------------
-- Settings
_SETTINGS:SetPlayerMenuOn()
_SETTINGS:SetImperial()
_SETTINGS:SetA2G_BR()
-- Set up A2G task controller for the blue side named "82nd Airborne"
local taskmanager = PLAYERTASKCONTROLLER:New("82nd Airborne",coalition.side.BLUE,PLAYERTASKCONTROLLER.Type.A2G)
-- Set the name for SRS and Menu to be "Mudder"
taskmanager:SetMenuName("Mudder")
-- Manually add a GROUP as a target
taskmanager:AddTarget(GROUP:FindByName("Kobuleti Trucks"))
-- Manually add an AIRBASE as a target
taskmanager:AddTarget(AIRBASE:FindByName(AIRBASE.Caucasus.Senaki_Kolkhi))
-- Manually add a COORDINATE as a target
taskmanager:AddTarget(GROUP:FindByName("Scout Coordinate"):GetCoordinate())
-- auto-add map markers when tasks are added
function taskmanager:OnAfterTaskAdded(From,Event,To,Task)
local task = Task -- Ops.PlayerTask#PLAYERTASK
local coord = task.Target:GetCoordinate()
local taskID = string.format("Task ID #%03d | Type: %s | Threat: %d",task.PlayerTaskNr,task.Type,task.Target:GetThreatLevelMax())
local mark = MARKER:New(coord,taskID)
mark:ReadWrite()
mark:ToCoalition(taskmanager.Coalition)
end
-- Function to explode trucks in Kobuleti
function killtrucks()
local coord = GROUP:FindByName("Kobuleti Trucks"):GetCoordinate()
GROUP:FindByName("Kobuleti Trucks"):Destroy(true)
coord:Explosion(10000)
coord:BigSmokeAndFireLarge()
end
-- Timer for the trucks
local kaboom = TIMER:New(killtrucks)
kaboom:Start(600)

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,59 @@
-------------------------------------------------------------------------
-- PlayerTask 020 - Caucasus - Test Mission with detection
-------------------------------------------------------------------------
-- Documentation
--
-- PLAYERTASK: https://flightcontrol-master.github.io/MOOSE_DOCS_DEVELOP/Documentation/Ops.PlayerTask.html
--
-------------------------------------------------------------------------
-- Join the game master slot initially, and then a plane slot after a few
-- seconds, to allow event capturing to start. Tasking is made available
-- over the F10 Menu
-------------------------------------------------------------------------
-- Date: August 2022
-------------------------------------------------------------------------
-- Settings
_SETTINGS:SetPlayerMenuOn()
_SETTINGS:SetImperial()
_SETTINGS:SetA2G_BR()
-- Set up A2G task controller for the blue side named "82nd Airborne"
local taskmanager = PLAYERTASKCONTROLLER:New("82nd Airborne",coalition.side.BLUE,PLAYERTASKCONTROLLER.Type.A2G)
-- Set up detection with grup names containing "Blue Recce", these will add targets to our controller. Here's it's a Reaper Drone
taskmanager:SetupIntel("Blue Recce")
-- Add a single Recce group name "Blue Humvee"
taskmanager:AddAgent(GROUP:FindByName("Blue Humvee"))
-- Set the menu to be calles Eagle Eye
taskmanager:SetMenuName("Eagle Eye")
-- Add accept- and reject-zones for detection
taskmanager:AddAcceptZone(ZONE:New("AcceptZone"))
taskmanager:AddRejectZone(ZONE:FindByName("RejectZone"))
-- auto-add map markers when tasks are added
function taskmanager:OnAfterTaskAdded(From,Event,To,Task)
local task = Task -- Ops.PlayerTask#PLAYERTASK
local coord = task.Target:GetCoordinate()
local taskID = string.format("Task ID #%03d | Type: %s | Threat: %d",task.PlayerTaskNr,task.Type,task.Target:GetThreatLevelMax())
local mark = MARKER:New(coord,taskID)
mark:ReadWrite()
mark:ToCoalition(taskmanager.Coalition)
end
-- Function to explode trucks in Kobuleti
function killtrucks()
local coord = GROUP:FindByName("Kobuleti Trucks"):GetCoordinate()
GROUP:FindByName("Kobuleti Trucks"):Destroy(true)
coord:Explosion(10000)
coord:BigSmokeAndFireLarge()
end
-- Timer for the trucks
local kaboom = TIMER:New(killtrucks)
kaboom:Start(300)

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,71 @@
-------------------------------------------------------------------------
-- PlayerTask 030 - Caucasus - Test Mission with SRS
-------------------------------------------------------------------------
-- Documentation
--
-- PLAYERTASK: https://flightcontrol-master.github.io/MOOSE_DOCS_DEVELOP/Documentation/Ops.PlayerTask.html
--
-------------------------------------------------------------------------
-- Join the game master slot initially, and then a plane slot after a few
-- seconds, to allow event capturing to start.
--
-- Tasking is made available over the F10 Menu.
-- Listen to AM 130 or 255 on SRS for messages.
-------------------------------------------------------------------------
-- Date: August 2022
-------------------------------------------------------------------------
-- Settings
_SETTINGS:SetPlayerMenuOn()
_SETTINGS:SetImperial()
_SETTINGS:SetA2G_BR()
-- Set up A2G task controller for the blue side named "82nd Airborne"
local taskmanager = PLAYERTASKCONTROLLER:New("82nd Airborne",coalition.side.BLUE,PLAYERTASKCONTROLLER.Type.A2G)
-- Set up detection with grup names containing "Blue Recce", these will add targets to our controller. Here's it's a Reaper Drone
taskmanager:SetupIntel("Blue Recce")
-- Add a single Recce group name "Blue Humvee"
taskmanager:AddAgent(GROUP:FindByName("Blue Humvee"))
-- Set the menu to be calles Eagle Eye
taskmanager:SetMenuName("Eagle Eye")
-- Add accept- and reject-zones for detection
taskmanager:AddAcceptZone(ZONE:New("AcceptZone"))
taskmanager:AddRejectZone(ZONE:FindByName("RejectZone"))
-- Set up using SRS
local hereSRSPath = "C:\\Program Files\\DCS-SimpleRadio-Standalone" -- location of the SRS installation folder, not the double \
local hereSRSPort = 5002 -- SRS server listening to port 5002
-- Set controller to use radio 130 and 255 AM, female voice, GB english, use "Microsoft Hazel" as voice pack (must be installed on your machine), volume 70%.
taskmanager:SetSRS({130,255},{radio.modulation.AM,radio.modulation.AM},hereSRSPath,"female","en-GB",hereSRSPort,"Microsoft Hazel Desktop",0.7)
-- Controller will announce itself after 60 seconds, on these two broadcast frequencies, when a new player joins
taskmanager:SetSRSBroadcast({127.5,305},{radio.modulation.AM,radio.modulation.AM})
-- auto-add map markers when tasks are added
function taskmanager:OnAfterTaskAdded(From,Event,To,Task)
local task = Task -- Ops.PlayerTask#PLAYERTASK
local coord = task.Target:GetCoordinate()
local taskID = string.format("Task ID #%03d | Type: %s | Threat: %d",task.PlayerTaskNr,task.Type,task.Target:GetThreatLevelMax())
local mark = MARKER:New(coord,taskID)
mark:ReadWrite()
mark:ToCoalition(taskmanager.Coalition)
end
-- Function to explode trucks in Kobuleti
function killtrucks()
local coord = GROUP:FindByName("Kobuleti Trucks"):GetCoordinate()
GROUP:FindByName("Kobuleti Trucks"):Destroy(true)
coord:Explosion(10000)
coord:BigSmokeAndFireLarge()
end
-- Timer for the trucks
local kaboom = TIMER:New(killtrucks)
kaboom:Start(300)

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,79 @@
-------------------------------------------------------------------------
-- PlayerTask 031 - Caucasus - Test Mission with SRS and Options
-------------------------------------------------------------------------
-- Documentation
--
-- PLAYERTASK: https://flightcontrol-master.github.io/MOOSE_DOCS_DEVELOP/Documentation/Ops.PlayerTask.html
--
-------------------------------------------------------------------------
-- Join the game master slot initially, and then a plane slot after a few
-- seconds, to allow event capturing to start.
--
-- Tasking is made available over the F10 Menu.
-- Listen to AM 130 or 255 on SRS for messages.
-- An additional info menu is available to review tasks before joining.
--
-------------------------------------------------------------------------
-- Date: August 2022
-------------------------------------------------------------------------
-- Settings
_SETTINGS:SetPlayerMenuOn()
_SETTINGS:SetImperial()
_SETTINGS:SetA2G_BR()
-- Set up A2G task controller for the blue side named "82nd Airborne"
local taskmanager = PLAYERTASKCONTROLLER:New("82nd Airborne",coalition.side.BLUE,PLAYERTASKCONTROLLER.Type.A2G)
-- Set up detection with grup names containing "Blue Recce", these will add targets to our controller. Here's it's a Reaper Drone
taskmanager:SetupIntel("Blue Recce")
-- Add a single Recce group name "Blue Humvee"
taskmanager:AddAgent(GROUP:FindByName("Blue Humvee"))
-- Set the menu to be called Eagle Eye
taskmanager:SetMenuName("Spectre")
-- Set the Info Task menu to be available
taskmanager:EnableTaskInfoMenu()
-- Menu options:
-- Don't show the nfo Task menu when a player has joined a task.
-- Limit menu entries to top-3 per category
-- Hold menu refresh at least 45 seconds, when player has no task
taskmanager:SetMenuOptions(false,3,45)
-- Allow option to request flash directions (on a per-player basis)
taskmanager:SetAllowFlashDirection(true)
-- Set option to use the full custom player callsign after the # on the group name.
-- If not available, call out the call sign and major flight number only.
taskmanager:SetCallSignOptions(true,true)
-- Add accept- and reject-zones for detection
taskmanager:AddAcceptZone(ZONE:New("AcceptZone"))
taskmanager:AddRejectZone(ZONE:FindByName("RejectZone"))
-- Set up using SRS
local hereSRSPath = "C:\\Program Files\\DCS-SimpleRadio-Standalone" -- location of the SRS installation folder, not the double \
local hereSRSPort = 5002 -- SRS server listening to port 5002
-- Set controller to use radio 130 and 255 AM, female voice, GB english, use "Microsoft Hazel" as voice pack (must be installed on your machine), volume 70%.
taskmanager:SetSRS({130,255},{radio.modulation.AM,radio.modulation.AM},hereSRSPath,"female","en-GB",hereSRSPort,"Microsoft Hazel Desktop",0.7)
-- Controller will announce itself after 60 seconds, on these two broadcast frequencies, when a new player joins
taskmanager:SetSRSBroadcast({127.5,305},{radio.modulation.AM,radio.modulation.AM})
-- Function to explode trucks in Kobuleti
function killtrucks()
local coord = GROUP:FindByName("Kobuleti Trucks"):GetCoordinate()
GROUP:FindByName("Kobuleti Trucks"):Destroy(true)
coord:Explosion(10000)
coord:BigSmokeAndFireLarge()
end
-- Timer for the trucks
local kaboom = TIMER:New(killtrucks)
kaboom:Start(900)

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,86 @@
-------------------------------------------------------------------------
-- PlayerTask 030 - Caucasus - Test Mission with precision (laser-guided) bombing
-------------------------------------------------------------------------
-- Documentation
--
-- PLAYERTASK: https://flightcontrol-master.github.io/MOOSE_DOCS_DEVELOP/Documentation/Ops.PlayerTask.html
--
-------------------------------------------------------------------------
-- Join the game master slot initially, and then a plane slot after a few
-- seconds, to allow event capturing to start. Tasking is made available
-- over the F10 Menu.
--
-- Join one of the precision bombing tasks. The A10
-- will fly towards and circle over the target and start to lase it on
-- code 1688. Use a GBU to neutralize the target.
--
-- Listen to AM 130 or 255 on SRS for messages.
-------------------------------------------------------------------------
-- Date: August 2022
-------------------------------------------------------------------------
-- Settings
_SETTINGS:SetPlayerMenuOn()
_SETTINGS:SetImperial()
_SETTINGS:SetA2G_BR()
-- Set up A2G task controller for the blue side named "82nd Airborne"
local taskmanager = PLAYERTASKCONTROLLER:New("82nd Airborne",coalition.side.BLUE,PLAYERTASKCONTROLLER.Type.A2G)
-- Set up detection with grup names containing "Blue Recce", these will add targets to our controller. Here's it's a Reaper Drone
taskmanager:SetupIntel("Blue Recce")
-- Add a single Recce group name "Blue Humvee"
taskmanager:AddAgent(GROUP:FindByName("Blue Humvee"))
-- Set the menu to be calles Eagle Eye
taskmanager:SetMenuName("Eagle Eye")
-- Add accept- and reject-zones for detection
taskmanager:AddAcceptZone(ZONE:New("AcceptZone"))
taskmanager:AddRejectZone(ZONE:FindByName("RejectZone"))
-- Set up using SRS
local hereSRSPath = "C:\\Program Files\\DCS-SimpleRadio-Standalone" -- location of the SRS installation folder, not the double \
local hereSRSPort = 5002 -- SRS server listening to port 5002
-- Set controller to use radio 130 and 255 AM, female voice, GB english, use "Microsoft Hazel" as voice pack (must be installed on your machine), volume 70%.
taskmanager:SetSRS({130,255},{radio.modulation.AM,radio.modulation.AM},hereSRSPath,"female","en-GB",hereSRSPort,"Microsoft Hazel Desktop",0.7)
-- Controller will announce itself after 60 seconds, on these two broadcast frequencies, when a new player joins
taskmanager:SetSRSBroadcast({127.5,305},{radio.modulation.AM,radio.modulation.AM})
-- Set a blacklist for tasks, skip SEAD tasks in this case
taskmanager:SetTaskBlackList({AUFTRAG.Type.SEAD})
-- Add a lasing unit, that will lase with code 1688. In our case that is a F10 Warthog.
-- Create a FLIGHTGROUP object from the template and activate it
local FlightGroup = FLIGHTGROUP:New("LasingUnit")
FlightGroup:Activate()
-- Enable laser guided bombing
taskmanager:EnablePrecisionBombing(FlightGroup,1688)
-- Manually add a COORDINATE as a target - in this case this will generate bombing tasks
taskmanager:AddTarget(GROUP:FindByName("Scout Coordinate"):GetCoordinate())
-- auto-add map markers when tasks are added
function taskmanager:OnAfterTaskAdded(From,Event,To,Task)
local task = Task -- Ops.PlayerTask#PLAYERTASK
local coord = task.Target:GetCoordinate()
local taskID = string.format("Task ID #%03d | Type: %s | Threat: %d",task.PlayerTaskNr,task.Type,task.Target:GetThreatLevelMax())
local mark = MARKER:New(coord,taskID)
mark:ReadWrite()
mark:ToCoalition(taskmanager.Coalition)
end
-- Function to explode trucks in Kobuleti
function killtrucks()
local coord = GROUP:FindByName("Kobuleti Trucks"):GetCoordinate()
GROUP:FindByName("Kobuleti Trucks"):Destroy(true)
coord:Explosion(10000)
coord:BigSmokeAndFireLarge()
end
-- Timer for the trucks
local kaboom = TIMER:New(killtrucks)
kaboom:Start(300)

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,70 @@
-------------------------------------------------------------------------
-- PlayerTask 041 - Caucasus - Test Mission with static targets
-------------------------------------------------------------------------
-- Documentation
--
-- PLAYERTASK: https://flightcontrol-master.github.io/MOOSE_DOCS_DEVELOP/Documentation/Ops.PlayerTask.html
--
-------------------------------------------------------------------------
-- Join the game master slot initially, and then a plane slot after a few
-- seconds, to allow event capturing to start. Tasking is made available
-- over the F10 Menu.
--
-- Join one of bombing tasks.
--
-- Listen to AM 130 or 255 on SRS for messages. Change path below.
-------------------------------------------------------------------------
-- Date: October 2022
-------------------------------------------------------------------------
-- Settings
_SETTINGS:SetPlayerMenuOn()
_SETTINGS:SetImperial()
_SETTINGS:SetA2G_BR()
-- Set up A2G task controller for the blue side named "82nd Airborne"
local taskmanager = PLAYERTASKCONTROLLER:New("82nd Airborne",coalition.side.BLUE,PLAYERTASKCONTROLLER.Type.A2G)
-- Set the menu to be called Eagle Eye
taskmanager:SetMenuName("Eagle Eye")
-- Set up using SRS
local hereSRSPath = "C:\\Program Files\\DCS-SimpleRadio-Standalone" -- location of the SRS installation folder, not the double \
local hereSRSPort = 5002 -- SRS server listening to port 5002
-- Set controller to use radio 130 and 255 AM, female voice, GB english, use "Microsoft Hazel" as voice pack (must be installed on your machine), volume 70%.
taskmanager:SetSRS({130,255},{radio.modulation.AM,radio.modulation.AM},hereSRSPath,"female","en-GB",hereSRSPort,"Microsoft Hazel Desktop",0.7)
-- Controller will announce itself after 60 seconds, on these two broadcast frequencies, when a new player joins
taskmanager:SetSRSBroadcast({127.5,305},{radio.modulation.AM,radio.modulation.AM})
-- Add a static as a target - here, a TV Tower
local target = STATIC:FindByName("Radiotower")
local newtask2 = PLAYERTASK:New(AUFTRAG.Type.BOMBING,target,true,3,"Bombing")
-- Briefing
newtask2:AddFreetext("Find and neutralize the TV tower!")
-- Menu name of this task
newtask2:SetMenuName("Neutralize TV Tower")
-- add custom success function - if the tower is dead or lost 80% of its lifepoints, we're done.
newtask2:AddConditionSuccess(
function(static)
if (not static) or static:GetLife() < 1 or static:GetLife() < 0.2* static:GetLife0() then
return true
else
return false
end
end, target
)
taskmanager:AddPlayerTaskToQueue(newtask2)
-- auto-add map markers when tasks are added
function taskmanager:OnAfterTaskAdded(From,Event,To,Task)
local task = Task -- Ops.PlayerTask#PLAYERTASK
local coord = task.Target:GetCoordinate()
local taskID = string.format("Task ID #%03d | Type: %s | Threat: %d",task.PlayerTaskNr,task.Type,task.Target:GetThreatLevelMax())
local mark = MARKER:New(coord,taskID)
mark:ReadWrite()
mark:ToCoalition(taskmanager.Coalition)
end

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,64 @@
-------------------------------------------------------------------------
-- PlayerTask 042 - Caucasus - Test Mission with scenery (map object) targets
-------------------------------------------------------------------------
-- Documentation
--
-- PLAYERTASK: https://flightcontrol-master.github.io/MOOSE_DOCS_DEVELOP/Documentation/Ops.PlayerTask.html
--
-------------------------------------------------------------------------
-- Join the game master slot initially, and then a plane slot after a few
-- seconds, to allow event capturing to start. Tasking is made available
-- over the F10 Menu.
--
-- Join the bombing task "Bomb Bridge". Bridges are near Poti on the map.
--
-- Listen to AM 130 or 255 on SRS for messages. Change path below.
-------------------------------------------------------------------------
-- Date: October 2022
-------------------------------------------------------------------------
-- Settings
_SETTINGS:SetPlayerMenuOn()
_SETTINGS:SetImperial()
_SETTINGS:SetA2G_BR()
-- Set up A2G task controller for the blue side named "82nd Airborne"
local taskmanager = PLAYERTASKCONTROLLER:New("82nd Airborne",coalition.side.BLUE,PLAYERTASKCONTROLLER.Type.A2G)
-- Set the menu to be called Eagle Eye
taskmanager:SetMenuName("Eagle Eye")
-- Set up using SRS
local hereSRSPath = "C:\\Program Files\\DCS-SimpleRadio-Standalone" -- location of the SRS installation folder, not the double \
local hereSRSPort = 5002 -- SRS server listening to port 5002
-- Set controller to use radio 130 and 255 AM, female voice, GB english, use "Microsoft Hazel" as voice pack (must be installed on your machine), volume 70%.
taskmanager:SetSRS({130,255},{radio.modulation.AM,radio.modulation.AM},hereSRSPath,"female","en-GB",hereSRSPort,"Microsoft Hazel Desktop",0.7)
-- Controller will announce itself after 60 seconds, on these two broadcast frequencies, when a new player joins
taskmanager:SetSRSBroadcast({127.5,305},{radio.modulation.AM,radio.modulation.AM})
-- create set of zones with the eight bridge component references
local bridges = SET_ZONE:New():FilterPrefixes("Quai"):FilterOnce()
-- build a SET_SCENERY containing the bridges' SCENERY objects
local scenset = SET_SCENERY:New(bridges)
-- create a task
local scenerytask = PLAYERTASK:New(AUFTRAG.Type.BOMBING,scenset,true,2,"Bombing")
-- Menu name of this task
scenerytask:SetMenuName("Bomb bridge")
-- Briefing
scenerytask:AddFreetext("Find and destroy the bridges over the River Quai!")
taskmanager:AddPlayerTaskToQueue(scenerytask)
-- Blow up one bridge component
local scenery = SCENERY:FindByZoneName("Quai-2")
function DestroyBridgeComponent()
scenery:GetCoordinate():Explosion(500,2)
end
local BridgeTimer=TIMER:New(DestroyBridgeComponent)
BridgeTimer:Start(60)

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,94 @@
-------------------------------------------------------------------------
-- PlayerTask 042 - Caucasus - Test Mission CTLD and CSAR tasks
-------------------------------------------------------------------------
-- Documentation
--
-- PLAYERTASK: https://flightcontrol-master.github.io/MOOSE_DOCS_DEVELOP/Documentation/Ops.PlayerTask.html
--
-------------------------------------------------------------------------
-- Join the game master slot initially, and then a helicopter slot after a few
-- seconds, to allow event capturing to start. Tasking is made available
-- over the F10 Menu.
--
-- Listen to AM 130 or 255 on SRS for messages. Change path below.
-------------------------------------------------------------------------
-- Date: October 2022
-------------------------------------------------------------------------
-- Settings
_SETTINGS:SetPlayerMenuOn()
_SETTINGS:SetImperial()
_SETTINGS:SetA2G_BR()
-- Set up A2G task controller for the blue side named "82nd Airborne"
local taskmanager = PLAYERTASKCONTROLLER:New("82nd Airborne",coalition.side.BLUE,PLAYERTASKCONTROLLER.Type.A2G)
-- Set the menu to be called Eagle Eye
taskmanager:SetMenuName("Eagle Eye")
-- Set up using SRS
local hereSRSPath = "C:\\Program Files\\DCS-SimpleRadio-Standalone" -- location of the SRS installation folder, not the double \
local hereSRSPort = 5002 -- SRS server listening to port 5002
-- Set controller to use radio 130 and 255 AM, female voice, GB english, use "Microsoft Hazel" as voice pack (must be installed on your machine), volume 70%.
taskmanager:SetSRS({130,255},{radio.modulation.AM,radio.modulation.AM},hereSRSPath,"female","en-GB",hereSRSPort,"Microsoft Hazel Desktop",0.7)
-- Controller will announce itself after 60 seconds, on these two broadcast frequencies, when a new player joins
taskmanager:SetSRSBroadcast({127.5,305},{radio.modulation.AM,radio.modulation.AM})
-- create a CTLD instance
local myCTLD = CTLD:New(coalition.side.BLUE,{"Air America"},"82nd Transport Wing")
myCTLD:AddCratesCargo("Humvee",{"Humvee"},CTLD_CARGO.Enum.VEHICLE,1,50)
myCTLD:AddTroopsCargo("Platoon",{"Infantry6"},CTLD_CARGO.Enum.TROOPS,6,80)
myCTLD:AddCTLDZoneFromAirbase(AIRBASE.Caucasus.Batumi,CTLD.CargoZoneType.LOAD,SMOKECOLOR.Red,true,false)
myCTLD:AddCTLDZone("CTLD Drop Zone",CTLD.CargoZoneType.DROP,SMOKECOLOR.Green,true,true)
myCTLD.forcehoverload = false
myCTLD:__Start(2)
-- create a CSAR instance
local myCSAR = CSAR:New(coalition.side.BLUE,"Downed Pilot","82nd Transport Wing")
myCSAR.csarPrefix = { "Air America", "helicargo", "MEDEVAC"}
myCSAR.pilotmustopendoors = true
myCSAR:__Start(2)
-- create a CTLD task and assign it
local newtask = PLAYERTASK:New(AUFTRAG.Type.CTLD,ZONE:FindByName("CTLD Drop Zone"),false,0,"Combat Transport")
newtask:SetSubType("CratesBuild") -- this type name is the FSM event in CTLD we'll need to decide if the build was successful
newtask:SetMenuName("Humvee Transport") -- name for the menu entry
newtask:AddFreetext("Pick up crates for a Humvee and build a Humvee at the CTLD Drop Zone!")
-- Assign
taskmanager:AddPlayerTaskToQueue(newtask) -- add to task controller
myCTLD:AddPlayerTask(newtask) -- add to CTLD instance
-- create two CSAR tasks and assign them - this will be an chained task
local csartask = PLAYERTASK:New(AUFTRAG.Type.CSAR,ZONE:FindByName("CSAR Rescue Zone"),false,0,"Rescue Pilot")
csartask:SetSubType("Boarded") -- this type name is the FSM event in CSAR we'll need to decide the build was successful
csartask:SetMenuName("Rescue Pilot") -- name for the menu entry
csartask:AddFreetext("Pick up the downed pilot 'Moose' from the CSAR Rescue Zone!") -- this will be the text in the Task Info
csartask.CSARPilotName = "Moose" -- this is the pilot we want to save
-- Assign
taskmanager:AddPlayerTaskToQueue(csartask) -- add to task controller
myCSAR:AddPlayerTask(csartask) -- add to CTLD instance
local csartask2 = PLAYERTASK:New(AUFTRAG.Type.CSAR,ZONE:FindByName("CSAR Drop Zone"),false,0,"Deliver Rescued Pilot")
csartask2:SetSubType("Rescued") -- this type name is the FSM event in CSAR we'll need to decide the build was successful
csartask2:SetMenuName("Deliver Rescued Pilot") -- name for the menu entry
csartask2:AddFreetext("Deliver rescued pilots to nearest AFB, FARP or MASH!") -- this will be the text in the Task Info
csartask2.CSARPilotName = "Moose" -- this is the pilot we want to save
-- make this a follow-up task to csartask
csartask:AddNextTaskAfterSuccess(csartask2) -- make csartask2 the task assigned to same pilots when csartask is successfully done
-- assign
taskmanager:AddPlayerTaskToQueue(csartask2) -- add to task controller
myCSAR:AddPlayerTask(csartask2) -- add to CTLD instance
-- drop a pilot in the field after 1 minute
local function Csars()
myCSAR:SpawnCSARAtZone("CSAR Rescue Zone",coalition.side.BLUE,"Moose",true,false,"Moose",nil,true)
end
local timer=TIMER:New(Csars)
timer:Start(60)