Restructuring of folder tree

This commit is contained in:
kaltokri
2024-01-01 11:42:34 +01:00
parent a18ac8ab4d
commit 08c03ceceb
1074 changed files with 7510 additions and 14158 deletions

View File

@@ -1,3 +0,0 @@
local PlanesClientSet = SET_CLIENT:New():FilterCategories( "plane" ):FilterStart()
local AirbasePolice = AIRBASEPOLICE_CAUCASUS:New( PlanesClientSet )

View File

@@ -1,3 +0,0 @@
local PlanesClientSet = SET_CLIENT:New():FilterCategories( "plane" ):FilterStart()
local AirbasePolice = AIRBASEPOLICE_CAUCASUS:New( PlanesClientSet )

View File

@@ -1,10 +0,0 @@
$dir = split-path -parent $MyInvocation.MyCommand.Definition
cd $dir
$file = Split-Path $dir -leaf
$dir
$file
cd "_unpacked"
. 7z a -r -y -tzip "..\$file.miz" *
cd ..

View File

@@ -1,7 +0,0 @@
$dir = split-path -parent $MyInvocation.MyCommand.Definition
cd $dir
$file = Split-Path $dir -leaf
Remove-Item .\_unpacked -Force -Recurse
md "_unpacked"
cd "_unpacked"
. 7z x -r -y "..\$file.miz" *

View File

@@ -1,3 +0,0 @@
local PlanesClientSet = SET_CLIENT:New():FilterCategories( "plane" ):FilterStart()
local AirbasePolice = AIRBASEPOLICE_NEVADA:New( PlanesClientSet )

View File

@@ -1,3 +0,0 @@
local PlanesClientSet = SET_CLIENT:New():FilterCategories( "plane" ):FilterStart()
local AirbasePolice = AIRBASEPOLICE_NEVADA:New( PlanesClientSet )

View File

@@ -1,10 +0,0 @@
$dir = split-path -parent $MyInvocation.MyCommand.Definition
cd $dir
$file = Split-Path $dir -leaf
$dir
$file
cd "_unpacked"
. 7z a -r -y -tzip "..\$file.miz" *
cd ..

View File

@@ -1,7 +0,0 @@
$dir = split-path -parent $MyInvocation.MyCommand.Definition
cd $dir
$file = Split-Path $dir -leaf
Remove-Item .\_unpacked -Force -Recurse
md "_unpacked"
cd "_unpacked"
. 7z x -r -y "..\$file.miz" *

View File

@@ -1,27 +1,27 @@
--- ---
-- Name: AID-008 - AI_A2A - CAP Grouping Test -- Name: AID-008 - AI_A2A - CAP Grouping Test
-- Author: FlightControl -- Author: FlightControl
-- Date Created: 06 Aug 2017 -- Date Created: 06 Aug 2017
-- Define a SET_GROUP object that builds a collection of groups that define the EWR network. -- Define a SET_GROUP object that builds a collection of groups that define the EWR network.
-- Here we build the network with all the groups that have a name starting with DF CCCP AWACS and DF CCCP EWR. -- Here we build the network with all the groups that have a name starting with DF CCCP AWACS and DF CCCP EWR.
DetectionSetGroup = SET_GROUP:New() DetectionSetGroup = SET_GROUP:New()
DetectionSetGroup:FilterPrefixes( { "DF CCCP AWACS", "DF CCCP EWR" } ) DetectionSetGroup:FilterPrefixes( { "DF CCCP AWACS", "DF CCCP EWR" } )
DetectionSetGroup:FilterStart() DetectionSetGroup:FilterStart()
Detection = DETECTION_AREAS:New( DetectionSetGroup, 30000 ) Detection = DETECTION_AREAS:New( DetectionSetGroup, 30000 )
-- Setup the A2A dispatcher, and initialize it. -- Setup the A2A dispatcher, and initialize it.
A2ADispatcher = AI_A2A_DISPATCHER:New( Detection ) A2ADispatcher = AI_A2A_DISPATCHER:New( Detection )
A2ADispatcher:SetTacticalDisplay( true ) A2ADispatcher:SetTacticalDisplay( true )
-- Setup the squadrons. -- Setup the squadrons.
A2ADispatcher:SetSquadron( "Sochi", AIRBASE.Caucasus.Sochi_Adler, { "SQ CCCP SU-27" } ) A2ADispatcher:SetSquadron( "Sochi", AIRBASE.Caucasus.Sochi_Adler, { "SQ CCCP SU-27" } )
CAPZoneWest = ZONE_POLYGON:New( "CAP Zone West", GROUP:FindByName( "CAP Zone West" ) ) CAPZoneWest = ZONE_POLYGON:New( "CAP Zone West", GROUP:FindByName( "CAP Zone West" ) )
A2ADispatcher:SetSquadronCap( "Sochi", CAPZoneWest, 4000, 8000, 600, 800, 800, 1200 ) A2ADispatcher:SetSquadronCap( "Sochi", CAPZoneWest, 4000, 8000, 600, 800, 800, 1200 )
A2ADispatcher:SetSquadronCapInterval( "Sochi", 2, 10, 30, 1 ) A2ADispatcher:SetSquadronCapInterval( "Sochi", 2, 10, 30, 1 )
A2ADispatcher:SetSquadronGrouping( "Sochi", 2 ) A2ADispatcher:SetSquadronGrouping( "Sochi", 2 )

View File

@@ -1,30 +1,30 @@
--- ---
-- Name: AID-009 - AI_A2A - Border Test -- Name: AID-009 - AI_A2A - Border Test
-- Author: FlightControl -- Author: FlightControl
-- Date Created: 06 Aug 2017 -- Date Created: 06 Aug 2017
-- Define a SET_GROUP object that builds a collection of groups that define the EWR network. -- Define a SET_GROUP object that builds a collection of groups that define the EWR network.
-- Here we build the network with all the groups that have a name starting with DF CCCP AWACS and DF CCCP EWR. -- Here we build the network with all the groups that have a name starting with DF CCCP AWACS and DF CCCP EWR.
DetectionSetGroup = SET_GROUP:New() DetectionSetGroup = SET_GROUP:New()
DetectionSetGroup:FilterPrefixes( { "DF CCCP AWACS", "DF CCCP EWR" } ) DetectionSetGroup:FilterPrefixes( { "DF CCCP AWACS", "DF CCCP EWR" } )
DetectionSetGroup:FilterStart() DetectionSetGroup:FilterStart()
Detection = DETECTION_AREAS:New( DetectionSetGroup, 30000 ) Detection = DETECTION_AREAS:New( DetectionSetGroup, 30000 )
-- Setup the A2A dispatcher, and initialize it. -- Setup the A2A dispatcher, and initialize it.
A2ADispatcher = AI_A2A_DISPATCHER:New( Detection ) A2ADispatcher = AI_A2A_DISPATCHER:New( Detection )
-- Setup the border zone. -- Setup the border zone.
-- In this case the border is a POLYGON, -- In this case the border is a POLYGON,
-- which takes the waypoints of a late activated group with the name CCCP Border as the boundaries of the border area. -- which takes the waypoints of a late activated group with the name CCCP Border as the boundaries of the border area.
-- Any enemy crossing this border will be engaged. -- Any enemy crossing this border will be engaged.
CCCPBorderZone = ZONE_POLYGON:New( "CCCP Border", GROUP:FindByName( "CCCP Border" ) ) CCCPBorderZone = ZONE_POLYGON:New( "CCCP Border", GROUP:FindByName( "CCCP Border" ) )
A2ADispatcher:SetBorderZone( CCCPBorderZone ) A2ADispatcher:SetBorderZone( CCCPBorderZone )
A2ADispatcher:SetTacticalDisplay( true ) A2ADispatcher:SetTacticalDisplay( true )
-- Setup the squadrons. -- Setup the squadrons.
A2ADispatcher:SetSquadron( "Sochi", AIRBASE.Caucasus.Sochi_Adler, { "SQ CCCP SU-27" } ) A2ADispatcher:SetSquadron( "Sochi", AIRBASE.Caucasus.Sochi_Adler, { "SQ CCCP SU-27" } )
A2ADispatcher:SetSquadronGci( "Sochi", 1000, 1500 ) A2ADispatcher:SetSquadronGci( "Sochi", 1000, 1500 )

View File

@@ -1,50 +1,50 @@
--- ---
-- Name: AID-010 - AI_A2A - RTB and ReEngage -- Name: AID-010 - AI_A2A - RTB and ReEngage
-- Author: FlightControl -- Author: FlightControl
-- Date Created: 30 May 2017 -- Date Created: 30 May 2017
-- Define a SET_GROUP object that builds a collection of groups that define the EWR network. -- Define a SET_GROUP object that builds a collection of groups that define the EWR network.
-- Here we build the network with all the groups that have a name starting with DF CCCP AWACS and DF CCCP EWR. -- Here we build the network with all the groups that have a name starting with DF CCCP AWACS and DF CCCP EWR.
DetectionSetGroup = SET_GROUP:New() DetectionSetGroup = SET_GROUP:New()
DetectionSetGroup:FilterPrefixes( { "DF CCCP AWACS", "DF CCCP EWR" } ) DetectionSetGroup:FilterPrefixes( { "DF CCCP AWACS", "DF CCCP EWR" } )
DetectionSetGroup:FilterStart() DetectionSetGroup:FilterStart()
Detection = DETECTION_AREAS:New( DetectionSetGroup, 30000 ) Detection = DETECTION_AREAS:New( DetectionSetGroup, 30000 )
-- Setup the A2A dispatcher, and initialize it. -- Setup the A2A dispatcher, and initialize it.
A2ADispatcher = AI_A2A_DISPATCHER:New( Detection ) A2ADispatcher = AI_A2A_DISPATCHER:New( Detection )
-- Initialize the dispatcher, setting up a border zone. This is a polygon, -- Initialize the dispatcher, setting up a border zone. This is a polygon,
-- which takes the waypoints of a late activated group with the name CCCP Border as the boundaries of the border area. -- which takes the waypoints of a late activated group with the name CCCP Border as the boundaries of the border area.
-- Any enemy crossing this border will be engaged. -- Any enemy crossing this border will be engaged.
CCCPBorderZone = ZONE_POLYGON:New( "CCCP Border", GROUP:FindByName( "CCCP Border" ) ) CCCPBorderZone = ZONE_POLYGON:New( "CCCP Border", GROUP:FindByName( "CCCP Border" ) )
--A2ADispatcher:SetBorderZone( CCCPBorderZone ) --A2ADispatcher:SetBorderZone( CCCPBorderZone )
-- Initialize the dispatcher, setting up a radius of 100km where any airborne friendly -- Initialize the dispatcher, setting up a radius of 100km where any airborne friendly
-- without an assignment within 100km radius from a detected target, will engage that target. -- without an assignment within 100km radius from a detected target, will engage that target.
A2ADispatcher:SetEngageRadius( 200000 ) A2ADispatcher:SetEngageRadius( 200000 )
A2ADispatcher:SetTacticalDisplay( true ) A2ADispatcher:SetTacticalDisplay( true )
-- Setup the squadrons. -- Setup the squadrons.
A2ADispatcher:SetSquadron( "Sochi", AIRBASE.Caucasus.Sochi_Adler, { "SQ CCCP SU-27" }, 20 ) A2ADispatcher:SetSquadron( "Sochi", AIRBASE.Caucasus.Sochi_Adler, { "SQ CCCP SU-27" }, 20 )
A2ADispatcher:SetSquadronGci( "Sochi", 900, 1200 ) A2ADispatcher:SetSquadronGci( "Sochi", 900, 1200 )
A2ADispatcher:SetDefaultTakeoffFromParkingCold() A2ADispatcher:SetDefaultTakeoffFromParkingCold()
A2ADispatcher:SetDefaultLandingAtEngineShutdown() A2ADispatcher:SetDefaultLandingAtEngineShutdown()
-- Blue attack simulation -- Blue attack simulation
local Frequency = 180 local Frequency = 180
BlueSpawn2 = SPAWN BlueSpawn2 = SPAWN
:New( "RT NATO 2" ) :New( "RT NATO 2" )
:InitLimit( 8, 40 ) :InitLimit( 8, 40 )
:InitRandomizeTemplate( { "SQ NATO A-10C", "SQ NATO F-15C", "SQ NATO F-16A", "SQ NATO F/A-18", "SQ NATO F-16C" } ) :InitRandomizeTemplate( { "SQ NATO A-10C", "SQ NATO F-15C", "SQ NATO F-16A", "SQ NATO F/A-18", "SQ NATO F-16C" } )
:InitRandomizeRoute( 0, 0, 30000 ) :InitRandomizeRoute( 0, 0, 30000 )
:InitDelayOn() :InitDelayOn()
:SpawnScheduled( Frequency, 0.5 ) :SpawnScheduled( Frequency, 0.5 )

View File

@@ -1,51 +1,51 @@
--- ---
-- Name: AID-011 - AI_A2A - RTB Fuel Threshold test -- Name: AID-011 - AI_A2A - RTB Fuel Threshold test
-- Author: FlightControl -- Author: FlightControl
-- Date Created: 30 Jul 2017 -- Date Created: 30 Jul 2017
-- Define a SET_GROUP object that builds a collection of groups that define the EWR network. -- Define a SET_GROUP object that builds a collection of groups that define the EWR network.
-- Here we build the network with all the groups that have a name starting with DF CCCP AWACS and DF CCCP EWR. -- Here we build the network with all the groups that have a name starting with DF CCCP AWACS and DF CCCP EWR.
DetectionSetGroup = SET_GROUP:New() DetectionSetGroup = SET_GROUP:New()
DetectionSetGroup:FilterPrefixes( { "DF CCCP AWACS", "DF CCCP EWR" } ) DetectionSetGroup:FilterPrefixes( { "DF CCCP AWACS", "DF CCCP EWR" } )
DetectionSetGroup:FilterStart() DetectionSetGroup:FilterStart()
Detection = DETECTION_AREAS:New( DetectionSetGroup, 30000 ) Detection = DETECTION_AREAS:New( DetectionSetGroup, 30000 )
-- Setup the A2A dispatcher, and initialize it. -- Setup the A2A dispatcher, and initialize it.
A2ADispatcher = AI_A2A_DISPATCHER:New( Detection ) A2ADispatcher = AI_A2A_DISPATCHER:New( Detection )
-- Initialize the dispatcher, setting up a border zone. This is a polygon, -- Initialize the dispatcher, setting up a border zone. This is a polygon,
-- which takes the waypoints of a late activated group with the name CCCP Border as the boundaries of the border area. -- which takes the waypoints of a late activated group with the name CCCP Border as the boundaries of the border area.
-- Any enemy crossing this border will be engaged. -- Any enemy crossing this border will be engaged.
CCCPBorderZone = ZONE_POLYGON:New( "CCCP Border", GROUP:FindByName( "CCCP Border" ) ) CCCPBorderZone = ZONE_POLYGON:New( "CCCP Border", GROUP:FindByName( "CCCP Border" ) )
--A2ADispatcher:SetBorderZone( CCCPBorderZone ) --A2ADispatcher:SetBorderZone( CCCPBorderZone )
-- Initialize the dispatcher, setting up a radius of 100km where any airborne friendly -- Initialize the dispatcher, setting up a radius of 100km where any airborne friendly
-- without an assignment within 100km radius from a detected target, will engage that target. -- without an assignment within 100km radius from a detected target, will engage that target.
A2ADispatcher:SetEngageRadius( 200000 ) A2ADispatcher:SetEngageRadius( 200000 )
A2ADispatcher:SetTacticalDisplay( true ) A2ADispatcher:SetTacticalDisplay( true )
-- Set the fuel treshold to 40%. Airplanes will return when only 40% of fuel left in the tank. -- Set the fuel treshold to 40%. Airplanes will return when only 40% of fuel left in the tank.
A2ADispatcher:SetDefaultFuelThreshold( 0.4 ) A2ADispatcher:SetDefaultFuelThreshold( 0.4 )
-- Setup the squadrons. -- Setup the squadrons.
A2ADispatcher:SetSquadron( "Sochi", AIRBASE.Caucasus.Sochi_Adler, { "SQ CCCP SU-27" }, 20 ) A2ADispatcher:SetSquadron( "Sochi", AIRBASE.Caucasus.Sochi_Adler, { "SQ CCCP SU-27" }, 20 )
A2ADispatcher:SetSquadronOverhead( "Sochi", 1 ) A2ADispatcher:SetSquadronOverhead( "Sochi", 1 )
A2ADispatcher:SetSquadronGrouping( "Sochi", 2 ) A2ADispatcher:SetSquadronGrouping( "Sochi", 2 )
-- CAP Squadron execution. -- CAP Squadron execution.
CAPZoneWest = ZONE_POLYGON:New( "CAP Zone West", GROUP:FindByName( "CAP Zone West" ) ) CAPZoneWest = ZONE_POLYGON:New( "CAP Zone West", GROUP:FindByName( "CAP Zone West" ) )
A2ADispatcher:SetSquadronCap( "Sochi", CAPZoneWest, 4000, 8000, 600, 800, 800, 1200, "BARO" ) A2ADispatcher:SetSquadronCap( "Sochi", CAPZoneWest, 4000, 8000, 600, 800, 800, 1200, "BARO" )
A2ADispatcher:SetSquadronCapInterval( "Sochi", 2, 30, 120, 1 ) A2ADispatcher:SetSquadronCapInterval( "Sochi", 2, 30, 120, 1 )
A2ADispatcher:SetSquadronGci( "Sochi", 900, 1200 ) A2ADispatcher:SetSquadronGci( "Sochi", 900, 1200 )
A2ADispatcher:SetSquadronTakeoffFromParkingHot("Sochi") A2ADispatcher:SetSquadronTakeoffFromParkingHot("Sochi")
A2ADispatcher:SetSquadronLandingAtEngineShutdown("Sochi") A2ADispatcher:SetSquadronLandingAtEngineShutdown("Sochi")

View File

@@ -1,51 +1,51 @@
--- ---
-- Name: AID-012 - AI_A2A - CAP Time Interval Test -- Name: AID-012 - AI_A2A - CAP Time Interval Test
-- Author: FlightControl -- Author: FlightControl
-- Date Created: 30 Jul 2017 -- Date Created: 30 Jul 2017
-- Define a SET_GROUP object that builds a collection of groups that define the EWR network. -- Define a SET_GROUP object that builds a collection of groups that define the EWR network.
-- Here we build the network with all the groups that have a name starting with DF CCCP AWACS and DF CCCP EWR. -- Here we build the network with all the groups that have a name starting with DF CCCP AWACS and DF CCCP EWR.
DetectionSetGroup = SET_GROUP:New() DetectionSetGroup = SET_GROUP:New()
DetectionSetGroup:FilterPrefixes( { "DF CCCP AWACS", "DF CCCP EWR" } ) DetectionSetGroup:FilterPrefixes( { "DF CCCP AWACS", "DF CCCP EWR" } )
DetectionSetGroup:FilterStart() DetectionSetGroup:FilterStart()
Detection = DETECTION_AREAS:New( DetectionSetGroup, 30000 ) Detection = DETECTION_AREAS:New( DetectionSetGroup, 30000 )
-- Setup the A2A dispatcher, and initialize it. -- Setup the A2A dispatcher, and initialize it.
A2ADispatcher = AI_A2A_DISPATCHER:New( Detection ) A2ADispatcher = AI_A2A_DISPATCHER:New( Detection )
-- Initialize the dispatcher, setting up a border zone. This is a polygon, -- Initialize the dispatcher, setting up a border zone. This is a polygon,
-- which takes the waypoints of a late activated group with the name CCCP Border as the boundaries of the border area. -- which takes the waypoints of a late activated group with the name CCCP Border as the boundaries of the border area.
-- Any enemy crossing this border will be engaged. -- Any enemy crossing this border will be engaged.
CCCPBorderZone = ZONE_POLYGON:New( "CCCP Border", GROUP:FindByName( "CCCP Border" ) ) CCCPBorderZone = ZONE_POLYGON:New( "CCCP Border", GROUP:FindByName( "CCCP Border" ) )
--A2ADispatcher:SetBorderZone( CCCPBorderZone ) --A2ADispatcher:SetBorderZone( CCCPBorderZone )
-- Initialize the dispatcher, setting up a radius of 100km where any airborne friendly -- Initialize the dispatcher, setting up a radius of 100km where any airborne friendly
-- without an assignment within 100km radius from a detected target, will engage that target. -- without an assignment within 100km radius from a detected target, will engage that target.
A2ADispatcher:SetEngageRadius( 200000 ) A2ADispatcher:SetEngageRadius( 200000 )
A2ADispatcher:SetTacticalDisplay( true ) A2ADispatcher:SetTacticalDisplay( true )
A2ADispatcher:SetDefaultCapLimit( 2 ) A2ADispatcher:SetDefaultCapLimit( 2 )
A2ADispatcher:SetDefaultCapTimeInterval( 300, 300 ) -- Spawn each 5 minutes. A2ADispatcher:SetDefaultCapTimeInterval( 300, 300 ) -- Spawn each 5 minutes.
-- Setup the squadrons. -- Setup the squadrons.
A2ADispatcher:SetSquadron( "Sochi", AIRBASE.Caucasus.Sochi_Adler, { "SQ CCCP SU-27" }, 20 ) A2ADispatcher:SetSquadron( "Sochi", AIRBASE.Caucasus.Sochi_Adler, { "SQ CCCP SU-27" }, 20 )
A2ADispatcher:SetSquadronOverhead( "Sochi", 1 ) A2ADispatcher:SetSquadronOverhead( "Sochi", 1 )
A2ADispatcher:SetSquadronGrouping( "Sochi", 2 ) A2ADispatcher:SetSquadronGrouping( "Sochi", 2 )
-- CAP Squadron execution. -- CAP Squadron execution.
CAPZoneWest = ZONE_POLYGON:New( "CAP Zone West", GROUP:FindByName( "CAP Zone West" ) ) CAPZoneWest = ZONE_POLYGON:New( "CAP Zone West", GROUP:FindByName( "CAP Zone West" ) )
A2ADispatcher:SetSquadronCap( "Sochi", CAPZoneWest, 4000, 8000, 600, 800, 800, 1200, "BARO" ) A2ADispatcher:SetSquadronCap( "Sochi", CAPZoneWest, 4000, 8000, 600, 800, 800, 1200, "BARO" )
A2ADispatcher:SetSquadronGci( "Sochi", 900, 1200 ) A2ADispatcher:SetSquadronGci( "Sochi", 900, 1200 )
A2ADispatcher:SetSquadronTakeoffFromParkingHot("Sochi") A2ADispatcher:SetSquadronTakeoffFromParkingHot("Sochi")
A2ADispatcher:SetSquadronLandingAtEngineShutdown("Sochi") A2ADispatcher:SetSquadronLandingAtEngineShutdown("Sochi")

View File

@@ -1,47 +1,47 @@
--- ---
-- Name: AID-A2A-013 - Intercept Test -- Name: AID-A2A-013 - Intercept Test
-- Author: FlightControl -- Author: FlightControl
-- Date Created: 31 Jul 2017 -- Date Created: 31 Jul 2017
-- Define a SET_GROUP object that builds a collection of groups that define the EWR network. -- Define a SET_GROUP object that builds a collection of groups that define the EWR network.
-- Here we build the network with all the groups that have a name starting with DF CCCP AWACS and DF CCCP EWR. -- Here we build the network with all the groups that have a name starting with DF CCCP AWACS and DF CCCP EWR.
DetectionSetGroup = SET_GROUP:New() DetectionSetGroup = SET_GROUP:New()
DetectionSetGroup:FilterPrefixes( { "DF CCCP AWACS", "DF CCCP EWR" } ) DetectionSetGroup:FilterPrefixes( { "DF CCCP AWACS", "DF CCCP EWR" } )
DetectionSetGroup:FilterStart() DetectionSetGroup:FilterStart()
Detection = DETECTION_AREAS:New( DetectionSetGroup, 30000 ) Detection = DETECTION_AREAS:New( DetectionSetGroup, 30000 )
-- Setup the A2A dispatcher, and initialize it. -- Setup the A2A dispatcher, and initialize it.
A2ADispatcher = AI_A2A_DISPATCHER:New( Detection ) A2ADispatcher = AI_A2A_DISPATCHER:New( Detection )
-- Initialize the dispatcher, setting up a border zone. This is a polygon, -- Initialize the dispatcher, setting up a border zone. This is a polygon,
-- which takes the waypoints of a late activated group with the name CCCP Border as the boundaries of the border area. -- which takes the waypoints of a late activated group with the name CCCP Border as the boundaries of the border area.
-- Any enemy crossing this border will be engaged. -- Any enemy crossing this border will be engaged.
CCCPBorderZone = ZONE_POLYGON:New( "CCCP Border", GROUP:FindByName( "CCCP Border" ) ) CCCPBorderZone = ZONE_POLYGON:New( "CCCP Border", GROUP:FindByName( "CCCP Border" ) )
--A2ADispatcher:SetBorderZone( CCCPBorderZone ) --A2ADispatcher:SetBorderZone( CCCPBorderZone )
-- Initialize the dispatcher, setting up a radius of 100km where any airborne friendly -- Initialize the dispatcher, setting up a radius of 100km where any airborne friendly
-- without an assignment within 100km radius from a detected target, will engage that target. -- without an assignment within 100km radius from a detected target, will engage that target.
A2ADispatcher:SetEngageRadius( 200000 ) A2ADispatcher:SetEngageRadius( 200000 )
A2ADispatcher:SetTacticalDisplay( true ) A2ADispatcher:SetTacticalDisplay( true )
-- Test intercept. -- Test intercept.
A2ADispatcher:SetIntercept( 450 ) A2ADispatcher:SetIntercept( 450 )
-- Setup the squadrons. -- Setup the squadrons.
A2ADispatcher:SetSquadron( "Sochi", AIRBASE.Caucasus.Sochi_Adler, { "SQ CCCP MIG-31" }, 20 ) A2ADispatcher:SetSquadron( "Sochi", AIRBASE.Caucasus.Sochi_Adler, { "SQ CCCP MIG-31" }, 20 )
A2ADispatcher:SetSquadronGci( "Sochi", 900, 1200 ) A2ADispatcher:SetSquadronGci( "Sochi", 900, 1200 )
A2ADispatcher:SetSquadronTakeoffFromParkingCold( "Sochi" ) A2ADispatcher:SetSquadronTakeoffFromParkingCold( "Sochi" )
A2ADispatcher:SetSquadronLandingAtEngineShutdown( "Sochi" ) A2ADispatcher:SetSquadronLandingAtEngineShutdown( "Sochi" )
A2ADispatcher:SetSquadron( "Gelend", AIRBASE.Caucasus.Gelendzhik, { "SQ CCCP SU-27" }, 20 ) A2ADispatcher:SetSquadron( "Gelend", AIRBASE.Caucasus.Gelendzhik, { "SQ CCCP SU-27" }, 20 )
A2ADispatcher:SetSquadronGci( "Gelend", 800, 1200 ) A2ADispatcher:SetSquadronGci( "Gelend", 800, 1200 )
A2ADispatcher:SetSquadronTakeoffFromParkingCold( "Gelend" ) A2ADispatcher:SetSquadronTakeoffFromParkingCold( "Gelend" )
A2ADispatcher:SetSquadronLandingAtEngineShutdown( "Gelend" ) A2ADispatcher:SetSquadronLandingAtEngineShutdown( "Gelend" )
A2ADispatcher:Start() A2ADispatcher:Start()

View File

@@ -1,48 +1,48 @@
--- ---
-- Name: AID-014 - AI_A2A - DisengageRange Test -- Name: AID-014 - AI_A2A - DisengageRange Test
-- Author: FlightControl -- Author: FlightControl
-- Date Created: 31 Jul 2017 -- Date Created: 31 Jul 2017
-- Define a SET_GROUP object that builds a collection of groups that define the EWR network. -- Define a SET_GROUP object that builds a collection of groups that define the EWR network.
-- Here we build the network with all the groups that have a name starting with DF CCCP AWACS and DF CCCP EWR. -- Here we build the network with all the groups that have a name starting with DF CCCP AWACS and DF CCCP EWR.
DetectionSetGroup = SET_GROUP:New() DetectionSetGroup = SET_GROUP:New()
DetectionSetGroup:FilterPrefixes( { "DF CCCP AWACS", "DF CCCP EWR" } ) DetectionSetGroup:FilterPrefixes( { "DF CCCP AWACS", "DF CCCP EWR" } )
DetectionSetGroup:FilterStart() DetectionSetGroup:FilterStart()
Detection = DETECTION_AREAS:New( DetectionSetGroup, 30000 ) Detection = DETECTION_AREAS:New( DetectionSetGroup, 30000 )
-- Setup the A2A dispatcher, and initialize it. -- Setup the A2A dispatcher, and initialize it.
A2ADispatcher = AI_A2A_DISPATCHER:New( Detection ) A2ADispatcher = AI_A2A_DISPATCHER:New( Detection )
-- Initialize the dispatcher, setting up a border zone. This is a polygon, -- Initialize the dispatcher, setting up a border zone. This is a polygon,
-- which takes the waypoints of a late activated group with the name CCCP Border as the boundaries of the border area. -- which takes the waypoints of a late activated group with the name CCCP Border as the boundaries of the border area.
-- Any enemy crossing this border will be engaged. -- Any enemy crossing this border will be engaged.
CCCPBorderZone = ZONE_POLYGON:New( "CCCP Border", GROUP:FindByName( "CCCP Border" ) ) CCCPBorderZone = ZONE_POLYGON:New( "CCCP Border", GROUP:FindByName( "CCCP Border" ) )
--A2ADispatcher:SetBorderZone( CCCPBorderZone ) --A2ADispatcher:SetBorderZone( CCCPBorderZone )
-- Initialize the dispatcher, setting up a radius of 100km where any airborne friendly -- Initialize the dispatcher, setting up a radius of 100km where any airborne friendly
-- without an assignment within 100km radius from a detected target, will engage that target. -- without an assignment within 100km radius from a detected target, will engage that target.
A2ADispatcher:SetEngageRadius( 200000 ) A2ADispatcher:SetEngageRadius( 200000 )
A2ADispatcher:SetTacticalDisplay( true ) A2ADispatcher:SetTacticalDisplay( true )
-- Test intercept. -- Test intercept.
A2ADispatcher:SetIntercept( 450 ) A2ADispatcher:SetIntercept( 450 )
-- Test an other disengage radius. -- Test an other disengage radius.
A2ADispatcher:SetDisengageRadius( 150000 ) A2ADispatcher:SetDisengageRadius( 150000 )
-- Setup the squadrons. -- Setup the squadrons.
A2ADispatcher:SetSquadron( "Sochi", AIRBASE.Caucasus.Sochi_Adler, { "SQ CCCP MIG-31" }, 20 ) A2ADispatcher:SetSquadron( "Sochi", AIRBASE.Caucasus.Sochi_Adler, { "SQ CCCP MIG-31" }, 20 )
A2ADispatcher:SetSquadronGci( "Sochi", 900, 1200 ) A2ADispatcher:SetSquadronGci( "Sochi", 900, 1200 )
A2ADispatcher:SetSquadronTakeoffFromParkingCold( "Sochi" ) A2ADispatcher:SetSquadronTakeoffFromParkingCold( "Sochi" )
A2ADispatcher:SetSquadron( "Gelend", AIRBASE.Caucasus.Gelendzhik, { "SQ CCCP SU-27" }, 20 ) A2ADispatcher:SetSquadron( "Gelend", AIRBASE.Caucasus.Gelendzhik, { "SQ CCCP SU-27" }, 20 )
A2ADispatcher:SetSquadronGci( "Gelend", 800, 1200 ) A2ADispatcher:SetSquadronGci( "Gelend", 800, 1200 )
A2ADispatcher:SetSquadronTakeoffFromParkingCold( "Gelend" ) A2ADispatcher:SetSquadronTakeoffFromParkingCold( "Gelend" )

View File

@@ -1,53 +1,53 @@
--- ---
-- Name: AID-015 - AI_A2A - Takeoff Test -- Name: AID-015 - AI_A2A - Takeoff Test
-- Author: FlightControl -- Author: FlightControl
-- Date Created: 01 Aug 2017 -- Date Created: 01 Aug 2017
-- Define a SET_GROUP object that builds a collection of groups that define the EWR network. -- Define a SET_GROUP object that builds a collection of groups that define the EWR network.
-- Here we build the network with all the groups that have a name starting with DF CCCP AWACS and DF CCCP EWR. -- Here we build the network with all the groups that have a name starting with DF CCCP AWACS and DF CCCP EWR.
DetectionSetGroup = SET_GROUP:New() DetectionSetGroup = SET_GROUP:New()
DetectionSetGroup:FilterPrefixes( { "DF CCCP AWACS", "DF CCCP EWR" } ) DetectionSetGroup:FilterPrefixes( { "DF CCCP AWACS", "DF CCCP EWR" } )
DetectionSetGroup:FilterStart() DetectionSetGroup:FilterStart()
Detection = DETECTION_AREAS:New( DetectionSetGroup, 30000 ) Detection = DETECTION_AREAS:New( DetectionSetGroup, 30000 )
-- Setup the A2A dispatcher, and initialize it. -- Setup the A2A dispatcher, and initialize it.
A2ADispatcher = AI_A2A_DISPATCHER:New( Detection ) A2ADispatcher = AI_A2A_DISPATCHER:New( Detection )
-- Initialize the dispatcher, setting up a border zone. This is a polygon, -- Initialize the dispatcher, setting up a border zone. This is a polygon,
-- which takes the waypoints of a late activated group with the name CCCP Border as the boundaries of the border area. -- which takes the waypoints of a late activated group with the name CCCP Border as the boundaries of the border area.
-- Any enemy crossing this border will be engaged. -- Any enemy crossing this border will be engaged.
CCCPBorderZone = ZONE_POLYGON:New( "CCCP Border", GROUP:FindByName( "CCCP Border" ) ) CCCPBorderZone = ZONE_POLYGON:New( "CCCP Border", GROUP:FindByName( "CCCP Border" ) )
--A2ADispatcher:SetBorderZone( CCCPBorderZone ) --A2ADispatcher:SetBorderZone( CCCPBorderZone )
-- Initialize the dispatcher, setting up a radius of 100km where any airborne friendly -- Initialize the dispatcher, setting up a radius of 100km where any airborne friendly
-- without an assignment within 100km radius from a detected target, will engage that target. -- without an assignment within 100km radius from a detected target, will engage that target.
A2ADispatcher:SetEngageRadius( 200000 ) A2ADispatcher:SetEngageRadius( 200000 )
A2ADispatcher:SetTacticalDisplay( true ) A2ADispatcher:SetTacticalDisplay( true )
-- Test intercept. -- Test intercept.
A2ADispatcher:SetIntercept( 450 ) A2ADispatcher:SetIntercept( 450 )
-- Test an other disengage radius. -- Test an other disengage radius.
A2ADispatcher:SetDisengageRadius( 20000 ) A2ADispatcher:SetDisengageRadius( 20000 )
-- Setup the squadrons. -- Setup the squadrons.
A2ADispatcher:SetSquadron( "Sochi", AIRBASE.Caucasus.Sochi_Adler, { "SQ CCCP MIG-31" }, 20 ) A2ADispatcher:SetSquadron( "Sochi", AIRBASE.Caucasus.Sochi_Adler, { "SQ CCCP MIG-31" }, 20 )
A2ADispatcher:SetSquadronGci( "Sochi", 900, 1200 ) A2ADispatcher:SetSquadronGci( "Sochi", 900, 1200 )
A2ADispatcher:SetSquadronTakeoffFromParkingCold( "Sochi" ) A2ADispatcher:SetSquadronTakeoffFromParkingCold( "Sochi" )
A2ADispatcher:SetSquadron( "Gelend", AIRBASE.Caucasus.Gelendzhik, { "SQ CCCP SU-27" }, 20 ) A2ADispatcher:SetSquadron( "Gelend", AIRBASE.Caucasus.Gelendzhik, { "SQ CCCP SU-27" }, 20 )
A2ADispatcher:SetSquadronGci( "Gelend", 800, 1200 ) A2ADispatcher:SetSquadronGci( "Gelend", 800, 1200 )
A2ADispatcher:SetSquadronTakeoffFromRunway( "Gelend" ) A2ADispatcher:SetSquadronTakeoffFromRunway( "Gelend" )
A2ADispatcher:SetSquadron( "Anapa", AIRBASE.Caucasus.Anapa_Vityazevo, { "SQ CCCP SU-27" }, 20 ) A2ADispatcher:SetSquadron( "Anapa", AIRBASE.Caucasus.Anapa_Vityazevo, { "SQ CCCP SU-27" }, 20 )
A2ADispatcher:SetSquadronGci( "Anapa", 800, 1200 ) A2ADispatcher:SetSquadronGci( "Anapa", 800, 1200 )
A2ADispatcher:SetSquadronTakeoffInAir( "Anapa" ) A2ADispatcher:SetSquadronTakeoffInAir( "Anapa" )
A2ADispatcher:SetSquadron( "Novo", AIRBASE.Caucasus.Novorossiysk, { "SQ CCCP SU-27" }, 20 ) A2ADispatcher:SetSquadron( "Novo", AIRBASE.Caucasus.Novorossiysk, { "SQ CCCP SU-27" }, 20 )
A2ADispatcher:SetSquadronGci( "Novo", 800, 1200 ) A2ADispatcher:SetSquadronGci( "Novo", 800, 1200 )
A2ADispatcher:SetSquadronTakeoffFromParkingHot( "Novo" ) A2ADispatcher:SetSquadronTakeoffFromParkingHot( "Novo" )

View File

@@ -1,50 +1,50 @@
--- ---
-- Name: AID-016 - AI_A2A - Refuel Tanker Test -- Name: AID-016 - AI_A2A - Refuel Tanker Test
-- Author: FlightControl -- Author: FlightControl
-- Date Created: 01 Aug 2017 -- Date Created: 01 Aug 2017
-- Define a SET_GROUP object that builds a collection of groups that define the EWR network. -- Define a SET_GROUP object that builds a collection of groups that define the EWR network.
-- Here we build the network with all the groups that have a name starting with DF CCCP AWACS and DF CCCP EWR. -- Here we build the network with all the groups that have a name starting with DF CCCP AWACS and DF CCCP EWR.
DetectionSetGroup = SET_GROUP:New() DetectionSetGroup = SET_GROUP:New()
DetectionSetGroup:FilterPrefixes( { "DF CCCP AWACS", "DF CCCP EWR" } ) DetectionSetGroup:FilterPrefixes( { "DF CCCP AWACS", "DF CCCP EWR" } )
DetectionSetGroup:FilterStart() DetectionSetGroup:FilterStart()
Detection = DETECTION_AREAS:New( DetectionSetGroup, 30000 ) Detection = DETECTION_AREAS:New( DetectionSetGroup, 30000 )
-- Setup the A2A dispatcher, and initialize it. -- Setup the A2A dispatcher, and initialize it.
A2ADispatcher = AI_A2A_DISPATCHER:New( Detection ) A2ADispatcher = AI_A2A_DISPATCHER:New( Detection )
-- Initialize the dispatcher, setting up a radius of 100km where any airborne friendly -- Initialize the dispatcher, setting up a radius of 100km where any airborne friendly
-- without an assignment within 100km radius from a detected target, will engage that target. -- without an assignment within 100km radius from a detected target, will engage that target.
A2ADispatcher:SetEngageRadius( 200000 ) A2ADispatcher:SetEngageRadius( 200000 )
A2ADispatcher:SetTacticalDisplay( true ) A2ADispatcher:SetTacticalDisplay( true )
-- Test intercept. -- Test intercept.
A2ADispatcher:SetIntercept( 450 ) A2ADispatcher:SetIntercept( 450 )
-- Setup the squadrons. -- Setup the squadrons.
A2ADispatcher:SetSquadron( "Sochi", AIRBASE.Caucasus.Sochi_Adler, { "SQ CCCP SU-34" }, 20 ) A2ADispatcher:SetSquadron( "Sochi", AIRBASE.Caucasus.Sochi_Adler, { "SQ CCCP SU-34" }, 20 )
A2ADispatcher:SetSquadronCap( "Sochi", ZONE:New( "PatrolZone" ), 4000, 8000, 600, 800, 1000, 1300 ) A2ADispatcher:SetSquadronCap( "Sochi", ZONE:New( "PatrolZone" ), 4000, 8000, 600, 800, 1000, 1300 )
A2ADispatcher:SetSquadronCapInterval("Sochi", 2, 30, 600, 1 ) A2ADispatcher:SetSquadronCapInterval("Sochi", 2, 30, 600, 1 )
A2ADispatcher:SetSquadronGci( "Sochi", 900, 1200 ) A2ADispatcher:SetSquadronGci( "Sochi", 900, 1200 )
A2ADispatcher:SetDefaultFuelThreshold( 0.9 ) A2ADispatcher:SetDefaultFuelThreshold( 0.9 )
A2ADispatcher:SetDefaultTanker( "Tanker" ) A2ADispatcher:SetDefaultTanker( "Tanker" )
A2ADispatcher:SetSquadron( "Gelend", AIRBASE.Caucasus.Gelendzhik, { "SQ CCCP SU-30" }, 20 ) A2ADispatcher:SetSquadron( "Gelend", AIRBASE.Caucasus.Gelendzhik, { "SQ CCCP SU-30" }, 20 )
A2ADispatcher:SetSquadronCap( "Gelend", ZONE:New( "PatrolZoneGelend" ), 4000, 8000, 600, 800, 1000, 1300 ) A2ADispatcher:SetSquadronCap( "Gelend", ZONE:New( "PatrolZoneGelend" ), 4000, 8000, 600, 800, 1000, 1300 )
A2ADispatcher:SetSquadronCapInterval( "Gelend", 2, 30, 600, 1 ) A2ADispatcher:SetSquadronCapInterval( "Gelend", 2, 30, 600, 1 )
A2ADispatcher:SetSquadronGci( "Gelend", 900, 1200 ) A2ADispatcher:SetSquadronGci( "Gelend", 900, 1200 )
A2ADispatcher:SetSquadronFuelThreshold( "Gelend", 0.8 ) A2ADispatcher:SetSquadronFuelThreshold( "Gelend", 0.8 )
A2ADispatcher:SetSquadronTanker( "Gelend", "TankerGelend" ) A2ADispatcher:SetSquadronTanker( "Gelend", "TankerGelend" )

View File

@@ -1,44 +1,44 @@
--- ---
-- Name: AID-017 - AI_A2A - Spawn Altitude Test -- Name: AID-017 - AI_A2A - Spawn Altitude Test
-- Author: FlightControl -- Author: FlightControl
-- Date Created: 05 Aug 2017 -- Date Created: 05 Aug 2017
-- Define a SET_GROUP object that builds a collection of groups that define the EWR network. -- Define a SET_GROUP object that builds a collection of groups that define the EWR network.
-- Here we build the network with all the groups that have a name starting with DF CCCP AWACS and DF CCCP EWR. -- Here we build the network with all the groups that have a name starting with DF CCCP AWACS and DF CCCP EWR.
DetectionSetGroup = SET_GROUP:New() DetectionSetGroup = SET_GROUP:New()
DetectionSetGroup:FilterPrefixes( { "DF CCCP AWACS", "DF CCCP EWR" } ) DetectionSetGroup:FilterPrefixes( { "DF CCCP AWACS", "DF CCCP EWR" } )
DetectionSetGroup:FilterStart() DetectionSetGroup:FilterStart()
Detection = DETECTION_AREAS:New( DetectionSetGroup, 30000 ) Detection = DETECTION_AREAS:New( DetectionSetGroup, 30000 )
-- Setup the A2A dispatcher, and initialize it. -- Setup the A2A dispatcher, and initialize it.
A2ADispatcher = AI_A2A_DISPATCHER:New( Detection ) A2ADispatcher = AI_A2A_DISPATCHER:New( Detection )
A2ADispatcher:SetTacticalDisplay( true ) A2ADispatcher:SetTacticalDisplay( true )
-- Set the default takeoff method in the air. -- Set the default takeoff method in the air.
A2ADispatcher:SetDefaultTakeoffInAir() A2ADispatcher:SetDefaultTakeoffInAir()
-- Set the default takeoff altitude at 2000 meters. -- Set the default takeoff altitude at 2000 meters.
A2ADispatcher:SetDefaultTakeoffInAirAltitude( 2000 ) -- Takeoff by default at 2000 meters. A2ADispatcher:SetDefaultTakeoffInAirAltitude( 2000 ) -- Takeoff by default at 2000 meters.
-- Spawn for Sochi airbase. -- Spawn for Sochi airbase.
A2ADispatcher:SetSquadron( "Sochi", AIRBASE.Caucasus.Sochi_Adler, { "SQ CCCP SU-34" }, 20 ) A2ADispatcher:SetSquadron( "Sochi", AIRBASE.Caucasus.Sochi_Adler, { "SQ CCCP SU-34" }, 20 )
A2ADispatcher:SetSquadronCap( "Sochi", ZONE:New( "PatrolZone" ), 4000, 8000, 600, 800, 1000, 1300 ) A2ADispatcher:SetSquadronCap( "Sochi", ZONE:New( "PatrolZone" ), 4000, 8000, 600, 800, 1000, 1300 )
A2ADispatcher:SetSquadronCapInterval("Sochi", 2, 30, 600, 1 ) A2ADispatcher:SetSquadronCapInterval("Sochi", 2, 30, 600, 1 )
A2ADispatcher:SetSquadronGci( "Sochi", 900, 1200 ) A2ADispatcher:SetSquadronGci( "Sochi", 900, 1200 )
-- Spawn for Gelend airbase. -- Spawn for Gelend airbase.
A2ADispatcher:SetSquadron( "Gelend", AIRBASE.Caucasus.Gelendzhik, { "SQ CCCP SU-30" }, 20 ) A2ADispatcher:SetSquadron( "Gelend", AIRBASE.Caucasus.Gelendzhik, { "SQ CCCP SU-30" }, 20 )
A2ADispatcher:SetSquadronCap( "Gelend", ZONE:New( "PatrolZoneGelend" ), 4000, 8000, 600, 800, 1000, 1300 ) A2ADispatcher:SetSquadronCap( "Gelend", ZONE:New( "PatrolZoneGelend" ), 4000, 8000, 600, 800, 1000, 1300 )
A2ADispatcher:SetSquadronCapInterval( "Gelend", 2, 30, 600, 1 ) A2ADispatcher:SetSquadronCapInterval( "Gelend", 2, 30, 600, 1 )
A2ADispatcher:SetSquadronGci( "Gelend", 900, 1200 ) A2ADispatcher:SetSquadronGci( "Gelend", 900, 1200 )
-- Let Gelend squadron take off in the air at 4000 meters. -- Let Gelend squadron take off in the air at 4000 meters.
A2ADispatcher:SetSquadronTakeoffInAir( "Gelend", 4000 ) -- Takeoff in Gelend at 4000 meters. A2ADispatcher:SetSquadronTakeoffInAir( "Gelend", 4000 ) -- Takeoff in Gelend at 4000 meters.
-- Run the mission and observe the spawning altitudes. -- Run the mission and observe the spawning altitudes.

View File

@@ -1,45 +1,45 @@
--- ---
-- Name: AID-018 - AI_A2A - Unlimited Resources Test -- Name: AID-018 - AI_A2A - Unlimited Resources Test
-- Author: FlightControl -- Author: FlightControl
-- Date Created: 05 Aug 2017 -- Date Created: 05 Aug 2017
-- Define a SET_GROUP object that builds a collection of groups that define the EWR network. -- Define a SET_GROUP object that builds a collection of groups that define the EWR network.
-- Here we build the network with all the groups that have a name starting with DF CCCP AWACS and DF CCCP EWR. -- Here we build the network with all the groups that have a name starting with DF CCCP AWACS and DF CCCP EWR.
DetectionSetGroup = SET_GROUP:New() DetectionSetGroup = SET_GROUP:New()
DetectionSetGroup:FilterPrefixes( { "DF CCCP AWACS", "DF CCCP EWR" } ) DetectionSetGroup:FilterPrefixes( { "DF CCCP AWACS", "DF CCCP EWR" } )
DetectionSetGroup:FilterStart() DetectionSetGroup:FilterStart()
Detection = DETECTION_AREAS:New( DetectionSetGroup, 30000 ) Detection = DETECTION_AREAS:New( DetectionSetGroup, 30000 )
-- Setup the A2A dispatcher, and initialize it. -- Setup the A2A dispatcher, and initialize it.
A2ADispatcher = AI_A2A_DISPATCHER:New( Detection ) A2ADispatcher = AI_A2A_DISPATCHER:New( Detection )
-- Initialize the dispatcher, setting up a border zone. This is a polygon, -- Initialize the dispatcher, setting up a border zone. This is a polygon,
-- which takes the waypoints of a late activated group with the name CCCP Border as the boundaries of the border area. -- which takes the waypoints of a late activated group with the name CCCP Border as the boundaries of the border area.
-- Any enemy crossing this border will be engaged. -- Any enemy crossing this border will be engaged.
CCCPBorderZone = ZONE_POLYGON:New( "CCCP Border", GROUP:FindByName( "CCCP Border" ) ) CCCPBorderZone = ZONE_POLYGON:New( "CCCP Border", GROUP:FindByName( "CCCP Border" ) )
--A2ADispatcher:SetBorderZone( CCCPBorderZone ) --A2ADispatcher:SetBorderZone( CCCPBorderZone )
A2ADispatcher:SetTacticalDisplay( true ) A2ADispatcher:SetTacticalDisplay( true )
-- Setup the squadrons. -- Setup the squadrons.
-- Unlimited resources, as the Resources parameter of the :SetSquadron method is not given. -- Unlimited resources, as the Resources parameter of the :SetSquadron method is not given.
A2ADispatcher:SetSquadron( "Sochi", AIRBASE.Caucasus.Sochi_Adler, { "SQ CCCP MIG-31" } ) A2ADispatcher:SetSquadron( "Sochi", AIRBASE.Caucasus.Sochi_Adler, { "SQ CCCP MIG-31" } )
A2ADispatcher:SetSquadronGci( "Sochi", 900, 1200 ) A2ADispatcher:SetSquadronGci( "Sochi", 900, 1200 )
A2ADispatcher:SetSquadronTakeoffFromParkingCold( "Sochi" ) A2ADispatcher:SetSquadronTakeoffFromParkingCold( "Sochi" )
A2ADispatcher:SetSquadron( "Gelend", AIRBASE.Caucasus.Gelendzhik, { "SQ CCCP SU-27" } ) A2ADispatcher:SetSquadron( "Gelend", AIRBASE.Caucasus.Gelendzhik, { "SQ CCCP SU-27" } )
A2ADispatcher:SetSquadronGci( "Gelend", 800, 1200 ) A2ADispatcher:SetSquadronGci( "Gelend", 800, 1200 )
A2ADispatcher:SetSquadronTakeoffFromRunway( "Gelend" ) A2ADispatcher:SetSquadronTakeoffFromRunway( "Gelend" )
A2ADispatcher:SetSquadron( "Anapa", AIRBASE.Caucasus.Anapa_Vityazevo, { "SQ CCCP SU-27" } ) A2ADispatcher:SetSquadron( "Anapa", AIRBASE.Caucasus.Anapa_Vityazevo, { "SQ CCCP SU-27" } )
A2ADispatcher:SetSquadronGci( "Anapa", 800, 1200 ) A2ADispatcher:SetSquadronGci( "Anapa", 800, 1200 )
A2ADispatcher:SetSquadronTakeoffFromRunway( "Anapa" ) A2ADispatcher:SetSquadronTakeoffFromRunway( "Anapa" )
A2ADispatcher:SetSquadron( "Novo", AIRBASE.Caucasus.Novorossiysk, { "SQ CCCP SU-27" } ) A2ADispatcher:SetSquadron( "Novo", AIRBASE.Caucasus.Novorossiysk, { "SQ CCCP SU-27" } )
A2ADispatcher:SetSquadronGci( "Novo", 800, 1200 ) A2ADispatcher:SetSquadronGci( "Novo", 800, 1200 )
A2ADispatcher:SetSquadronTakeoffFromRunway( "Novo" ) A2ADispatcher:SetSquadronTakeoffFromRunway( "Novo" )

View File

@@ -1,31 +1,31 @@
--- ---
-- Name: AID-019 - AI_A2A - Engage Range Test -- Name: AID-019 - AI_A2A - Engage Range Test
-- Author: FlightControl -- Author: FlightControl
-- Date Created: 06 Aug 2017 -- Date Created: 06 Aug 2017
-- Define a SET_GROUP object that builds a collection of groups that define the EWR network. -- Define a SET_GROUP object that builds a collection of groups that define the EWR network.
-- Here we build the network with all the groups that have a name starting with DF CCCP AWACS and DF CCCP EWR. -- Here we build the network with all the groups that have a name starting with DF CCCP AWACS and DF CCCP EWR.
DetectionSetGroup = SET_GROUP:New() DetectionSetGroup = SET_GROUP:New()
DetectionSetGroup:FilterPrefixes( { "DF CCCP AWACS", "DF CCCP EWR" } ) DetectionSetGroup:FilterPrefixes( { "DF CCCP AWACS", "DF CCCP EWR" } )
DetectionSetGroup:FilterStart() DetectionSetGroup:FilterStart()
Detection = DETECTION_AREAS:New( DetectionSetGroup, 30000 ) Detection = DETECTION_AREAS:New( DetectionSetGroup, 30000 )
-- Setup the A2A dispatcher, and initialize it. -- Setup the A2A dispatcher, and initialize it.
A2ADispatcher = AI_A2A_DISPATCHER:New( Detection ) A2ADispatcher = AI_A2A_DISPATCHER:New( Detection )
-- Initialize the dispatcher, setting up a radius of 50km where any airborne friendly -- Initialize the dispatcher, setting up a radius of 50km where any airborne friendly
-- without an assignment within 50km radius from a detected target, will engage that target. -- without an assignment within 50km radius from a detected target, will engage that target.
A2ADispatcher:SetEngageRadius( 50000 ) A2ADispatcher:SetEngageRadius( 50000 )
A2ADispatcher:SetTacticalDisplay( true ) A2ADispatcher:SetTacticalDisplay( true )
-- Setup the squadrons. -- Setup the squadrons.
A2ADispatcher:SetSquadron( "Sochi", AIRBASE.Caucasus.Sochi_Adler, { "SQ CCCP SU-27" } ) A2ADispatcher:SetSquadron( "Sochi", AIRBASE.Caucasus.Sochi_Adler, { "SQ CCCP SU-27" } )
CAPZoneWest = ZONE_POLYGON:New( "CAP Zone West", GROUP:FindByName( "CAP Zone West" ) ) CAPZoneWest = ZONE_POLYGON:New( "CAP Zone West", GROUP:FindByName( "CAP Zone West" ) )
A2ADispatcher:SetSquadronCap( "Sochi", CAPZoneWest, 4000, 8000, 600, 800, 800, 1200 ) A2ADispatcher:SetSquadronCap( "Sochi", CAPZoneWest, 4000, 8000, 600, 800, 800, 1200 )
A2ADispatcher:SetSquadronCapInterval( "Sochi", 2, 10, 30, 1 ) A2ADispatcher:SetSquadronCapInterval( "Sochi", 2, 10, 30, 1 )

View File

@@ -1,60 +1,60 @@
--- ---
-- Name: AID-A2A-020 - GCI RTB and ReEngage -- Name: AID-A2A-020 - GCI RTB and ReEngage
-- Author: FlightControl -- Author: FlightControl
-- Date Created: 30 May 2017 -- Date Created: 30 May 2017
-- Define a SET_GROUP object that builds a collection of groups that define the EWR network. -- Define a SET_GROUP object that builds a collection of groups that define the EWR network.
-- Here we build the network with all the groups that have a name starting with DF CCCP AWACS and DF CCCP EWR. -- Here we build the network with all the groups that have a name starting with DF CCCP AWACS and DF CCCP EWR.
DetectionSetGroup = SET_GROUP:New() DetectionSetGroup = SET_GROUP:New()
DetectionSetGroup:FilterPrefixes( { "DF CCCP AWACS", "DF CCCP EWR" } ) DetectionSetGroup:FilterPrefixes( { "DF CCCP AWACS", "DF CCCP EWR" } )
DetectionSetGroup:FilterStart() DetectionSetGroup:FilterStart()
Detection = DETECTION_AREAS:New( DetectionSetGroup, 30000 ) Detection = DETECTION_AREAS:New( DetectionSetGroup, 30000 )
-- Setup the A2A dispatcher, and initialize it. -- Setup the A2A dispatcher, and initialize it.
A2ADispatcher = AI_A2A_DISPATCHER:New( Detection ) A2ADispatcher = AI_A2A_DISPATCHER:New( Detection )
-- Initialize the dispatcher, setting up a border zone. This is a polygon, -- Initialize the dispatcher, setting up a border zone. This is a polygon,
-- which takes the waypoints of a late activated group with the name CCCP Border as the boundaries of the border area. -- which takes the waypoints of a late activated group with the name CCCP Border as the boundaries of the border area.
-- Any enemy crossing this border will be engaged. -- Any enemy crossing this border will be engaged.
CCCPBorderZone = ZONE_POLYGON:New( "CCCP Border", GROUP:FindByName( "CCCP Border" ) ) CCCPBorderZone = ZONE_POLYGON:New( "CCCP Border", GROUP:FindByName( "CCCP Border" ) )
--A2ADispatcher:SetBorderZone( CCCPBorderZone ) --A2ADispatcher:SetBorderZone( CCCPBorderZone )
-- Initialize the dispatcher, setting up a radius of 100km where any airborne friendly -- Initialize the dispatcher, setting up a radius of 100km where any airborne friendly
-- without an assignment within 100km radius from a detected target, will engage that target. -- without an assignment within 100km radius from a detected target, will engage that target.
A2ADispatcher:SetEngageRadius( 200000 ) A2ADispatcher:SetEngageRadius( 200000 )
A2ADispatcher:SetTacticalDisplay( true ) A2ADispatcher:SetTacticalDisplay( true )
-- Setup the squadrons. -- Setup the squadrons.
A2ADispatcher:SetSquadron( "Kras1", AIRBASE.Caucasus.Krasnodar_Center, { "SQ CCCP SU-27" } ) A2ADispatcher:SetSquadron( "Kras1", AIRBASE.Caucasus.Krasnodar_Center, { "SQ CCCP SU-27" } )
A2ADispatcher:SetSquadronGci( "Kras1", 900, 1200 ) A2ADispatcher:SetSquadronGci( "Kras1", 900, 1200 )
A2ADispatcher:SetSquadron( "Kras2", AIRBASE.Caucasus.Krasnodar_Pashkovsky, { "SQ CCCP SU-27" } ) A2ADispatcher:SetSquadron( "Kras2", AIRBASE.Caucasus.Krasnodar_Pashkovsky, { "SQ CCCP SU-27" } )
A2ADispatcher:SetSquadronGci( "Kras2", 900, 1200 ) A2ADispatcher:SetSquadronGci( "Kras2", 900, 1200 )
A2ADispatcher:SetSquadron( "May", AIRBASE.Caucasus.Maykop_Khanskaya, { "SQ CCCP SU-27" } ) A2ADispatcher:SetSquadron( "May", AIRBASE.Caucasus.Maykop_Khanskaya, { "SQ CCCP SU-27" } )
A2ADispatcher:SetSquadronGci( "May", 900, 1200 ) A2ADispatcher:SetSquadronGci( "May", 900, 1200 )
A2ADispatcher:SetDefaultTakeoffInAir() A2ADispatcher:SetDefaultTakeoffInAir()
A2ADispatcher:SetDefaultLandingNearAirbase() A2ADispatcher:SetDefaultLandingNearAirbase()
A2ADispatcher:Start() A2ADispatcher:Start()
-- Blue attack simulation -- Blue attack simulation
local Frequency = 300 local Frequency = 300
BlueSpawn2 = SPAWN BlueSpawn2 = SPAWN
:New( "RT NATO 2" ) :New( "RT NATO 2" )
:InitLimit( 8, 40 ) :InitLimit( 8, 40 )
:InitRandomizeTemplate( { "SQ NATO A-10C", "SQ NATO F-15C", "SQ NATO F-16A", "SQ NATO F/A-18", "SQ NATO F-16C" } ) :InitRandomizeTemplate( { "SQ NATO A-10C", "SQ NATO F-15C", "SQ NATO F-16A", "SQ NATO F/A-18", "SQ NATO F-16C" } )
:InitRandomizeRoute( 0, 0, 30000 ) :InitRandomizeRoute( 0, 0, 30000 )
:InitDelayOn() :InitDelayOn()
:SpawnScheduled( Frequency, 0.5 ) :SpawnScheduled( Frequency, 0.5 )

View File

@@ -1,42 +1,42 @@
--- ---
-- Name: AID-021 - AI_A2A - GCI Radius Test -- Name: AID-021 - AI_A2A - GCI Radius Test
-- Author: FlightControl -- Author: FlightControl
-- Date Created: 30 May 2017 -- Date Created: 30 May 2017
-- Define a SET_GROUP object that builds a collection of groups that define the EWR network. -- Define a SET_GROUP object that builds a collection of groups that define the EWR network.
-- Here we build the network with all the groups that have a name starting with DF CCCP AWACS and DF CCCP EWR. -- Here we build the network with all the groups that have a name starting with DF CCCP AWACS and DF CCCP EWR.
DetectionSetGroup = SET_GROUP:New() DetectionSetGroup = SET_GROUP:New()
DetectionSetGroup:FilterPrefixes( { "DF CCCP AWACS", "DF CCCP EWR" } ) DetectionSetGroup:FilterPrefixes( { "DF CCCP AWACS", "DF CCCP EWR" } )
DetectionSetGroup:FilterStart() DetectionSetGroup:FilterStart()
Detection = DETECTION_AREAS:New( DetectionSetGroup, 30000 ) Detection = DETECTION_AREAS:New( DetectionSetGroup, 30000 )
-- Setup the A2A dispatcher, and initialize it. -- Setup the A2A dispatcher, and initialize it.
A2ADispatcher = AI_A2A_DISPATCHER:New( Detection ) A2ADispatcher = AI_A2A_DISPATCHER:New( Detection )
-- Initialize the dispatcher, setting up a radius of 100km where any airborne friendly -- Initialize the dispatcher, setting up a radius of 100km where any airborne friendly
-- without an assignment within 100km radius from a detected target, will engage that target. -- without an assignment within 100km radius from a detected target, will engage that target.
A2ADispatcher:SetEngageRadius( 200000 ) A2ADispatcher:SetEngageRadius( 200000 )
A2ADispatcher:SetGciRadius( 100000 ) A2ADispatcher:SetGciRadius( 100000 )
A2ADispatcher:SetTacticalDisplay( true ) A2ADispatcher:SetTacticalDisplay( true )
-- Setup the squadrons. -- Setup the squadrons.
A2ADispatcher:SetSquadron( "Kras1", AIRBASE.Caucasus.Krasnodar_Center, { "SQ CCCP SU-27" } ) A2ADispatcher:SetSquadron( "Kras1", AIRBASE.Caucasus.Krasnodar_Center, { "SQ CCCP SU-27" } )
A2ADispatcher:SetSquadronGci( "Kras1", 900, 1200 ) A2ADispatcher:SetSquadronGci( "Kras1", 900, 1200 )
A2ADispatcher:SetSquadron( "Kras2", AIRBASE.Caucasus.Krasnodar_Pashkovsky, { "SQ CCCP SU-27" } ) A2ADispatcher:SetSquadron( "Kras2", AIRBASE.Caucasus.Krasnodar_Pashkovsky, { "SQ CCCP SU-27" } )
A2ADispatcher:SetSquadronGci( "Kras2", 900, 1200 ) A2ADispatcher:SetSquadronGci( "Kras2", 900, 1200 )
A2ADispatcher:SetSquadron( "May", AIRBASE.Caucasus.Maykop_Khanskaya, { "SQ CCCP SU-27" } ) A2ADispatcher:SetSquadron( "May", AIRBASE.Caucasus.Maykop_Khanskaya, { "SQ CCCP SU-27" } )
A2ADispatcher:SetSquadronGci( "May", 900, 1200 ) A2ADispatcher:SetSquadronGci( "May", 900, 1200 )
A2ADispatcher:SetDefaultTakeoffInAir() A2ADispatcher:SetDefaultTakeoffInAir()
A2ADispatcher:SetDefaultLandingNearAirbase() A2ADispatcher:SetDefaultLandingNearAirbase()

View File

@@ -1,49 +1,49 @@
--- ---
-- Name: AID-022 - AI_A2A - GCI Overhead -- Name: AID-022 - AI_A2A - GCI Overhead
-- Author: FlightControl -- Author: FlightControl
-- Date Created: 05 Sep 2017 -- Date Created: 05 Sep 2017
-- Define a SET_GROUP object that builds a collection of groups that define the EWR network. -- Define a SET_GROUP object that builds a collection of groups that define the EWR network.
-- Here we build the network with all the groups that have a name starting with DF CCCP AWACS and DF CCCP EWR. -- Here we build the network with all the groups that have a name starting with DF CCCP AWACS and DF CCCP EWR.
DetectionSetGroup = SET_GROUP:New() DetectionSetGroup = SET_GROUP:New()
DetectionSetGroup:FilterPrefixes( { "DF CCCP AWACS", "DF CCCP EWR" } ) DetectionSetGroup:FilterPrefixes( { "DF CCCP AWACS", "DF CCCP EWR" } )
DetectionSetGroup:FilterStart() DetectionSetGroup:FilterStart()
Detection = DETECTION_AREAS:New( DetectionSetGroup, 30000 ) Detection = DETECTION_AREAS:New( DetectionSetGroup, 30000 )
-- Setup the A2A dispatcher, and initialize it. -- Setup the A2A dispatcher, and initialize it.
A2ADispatcher = AI_A2A_DISPATCHER:New( Detection ) A2ADispatcher = AI_A2A_DISPATCHER:New( Detection )
-- Initialize the dispatcher, setting up a radius of 100km where any airborne friendly -- Initialize the dispatcher, setting up a radius of 100km where any airborne friendly
-- without an assignment within 100km radius from a detected target, will engage that target. -- without an assignment within 100km radius from a detected target, will engage that target.
A2ADispatcher:SetEngageRadius( 200000 ) A2ADispatcher:SetEngageRadius( 200000 )
A2ADispatcher:SetTacticalDisplay( true ) A2ADispatcher:SetTacticalDisplay( true )
-- Setup the squadrons. -- Setup the squadrons.
A2ADispatcher:SetSquadron( "May", AIRBASE.Caucasus.Maykop_Khanskaya, { "SQ CCCP SU-27" } ) A2ADispatcher:SetSquadron( "May", AIRBASE.Caucasus.Maykop_Khanskaya, { "SQ CCCP SU-27" } )
A2ADispatcher:SetSquadronGci( "May", 900, 1200 ) A2ADispatcher:SetSquadronGci( "May", 900, 1200 )
A2ADispatcher:SetSquadronOverhead( "May", 0.25 ) A2ADispatcher:SetSquadronOverhead( "May", 0.25 )
A2ADispatcher:SetSquadron( "Kras", AIRBASE.Caucasus.Krasnodar_Center, { "SQ CCCP SU-27" } ) A2ADispatcher:SetSquadron( "Kras", AIRBASE.Caucasus.Krasnodar_Center, { "SQ CCCP SU-27" } )
A2ADispatcher:SetSquadronGci( "Kras", 900, 1200 ) A2ADispatcher:SetSquadronGci( "Kras", 900, 1200 )
A2ADispatcher:SetSquadronOverhead( "Kras", 1.5 ) A2ADispatcher:SetSquadronOverhead( "Kras", 1.5 )
A2ADispatcher:SetDefaultTakeoffInAir() A2ADispatcher:SetDefaultTakeoffInAir()
A2ADispatcher:SetDefaultLandingNearAirbase() A2ADispatcher:SetDefaultLandingNearAirbase()
-- Blue attack simulation -- Blue attack simulation
local Frequency = 30 local Frequency = 30
BlueSpawn2 = SPAWN BlueSpawn2 = SPAWN
:New( "RT NATO" ) :New( "RT NATO" )
:InitLimit( 1, 40 ) :InitLimit( 1, 40 )
:InitRandomizeTemplate( { "SQ NATO A-10C", "SQ NATO F-15C", "SQ NATO F-16A", "SQ NATO F/A-18", "SQ NATO F-16C" } ) :InitRandomizeTemplate( { "SQ NATO A-10C", "SQ NATO F-15C", "SQ NATO F-16A", "SQ NATO F/A-18", "SQ NATO F-16C" } )
:InitRandomizeRoute( 0, 0, 30000 ) :InitRandomizeRoute( 0, 0, 30000 )
:InitDelayOn() :InitDelayOn()
:SpawnScheduled( Frequency, 0.5 ) :SpawnScheduled( Frequency, 0.5 )

View File

@@ -1,54 +1,54 @@
--- ---
-- Name: AID-A2A-030 - CAP RTB and ReEngage -- Name: AID-A2A-030 - CAP RTB and ReEngage
-- Author: FlightControl -- Author: FlightControl
-- Date Created: 30 May 2017 -- Date Created: 30 May 2017
-- Define a SET_GROUP object that builds a collection of groups that define the EWR network. -- Define a SET_GROUP object that builds a collection of groups that define the EWR network.
-- Here we build the network with all the groups that have a name starting with DF CCCP AWACS and DF CCCP EWR. -- Here we build the network with all the groups that have a name starting with DF CCCP AWACS and DF CCCP EWR.
DetectionSetGroup = SET_GROUP:New() DetectionSetGroup = SET_GROUP:New()
DetectionSetGroup:FilterPrefixes( { "DF CCCP AWACS", "DF CCCP EWR" } ) DetectionSetGroup:FilterPrefixes( { "DF CCCP AWACS", "DF CCCP EWR" } )
DetectionSetGroup:FilterStart() DetectionSetGroup:FilterStart()
Detection = DETECTION_AREAS:New( DetectionSetGroup, 30000 ) Detection = DETECTION_AREAS:New( DetectionSetGroup, 30000 )
--Detection:BoundDetectedZones() --Detection:BoundDetectedZones()
-- Setup the A2A dispatcher, and initialize it. -- Setup the A2A dispatcher, and initialize it.
A2ADispatcher = AI_A2A_DISPATCHER:New( Detection ) A2ADispatcher = AI_A2A_DISPATCHER:New( Detection )
-- Initialize the dispatcher, setting up a radius of 100km where any airborne friendly -- Initialize the dispatcher, setting up a radius of 100km where any airborne friendly
-- without an assignment within 100km radius from a detected target, will engage that target. -- without an assignment within 100km radius from a detected target, will engage that target.
A2ADispatcher:SetEngageRadius( 200000 ) A2ADispatcher:SetEngageRadius( 200000 )
A2ADispatcher:SetDisengageRadius( 200000 ) A2ADispatcher:SetDisengageRadius( 200000 )
A2ADispatcher:SetTacticalDisplay( true ) A2ADispatcher:SetTacticalDisplay( true )
-- Setup the squadrons. -- Setup the squadrons.
A2ADispatcher:SetSquadron( "Kras1", AIRBASE.Caucasus.Krasnodar_Pashkovsky, { "SQ CCCP SU-27" }, 20 ) A2ADispatcher:SetSquadron( "Kras1", AIRBASE.Caucasus.Krasnodar_Pashkovsky, { "SQ CCCP SU-27" }, 20 )
CAPZoneWest = ZONE_POLYGON:New( "CAP Zone West", GROUP:FindByName( "CAP Zone West" ) ) CAPZoneWest = ZONE_POLYGON:New( "CAP Zone West", GROUP:FindByName( "CAP Zone West" ) )
A2ADispatcher:SetSquadronCap( "Kras1", 800, 1200, 4000, 8000, CAPZoneWest, 600, 800, 4000, 8000, "BARO" ) A2ADispatcher:SetSquadronCap( "Kras1", 800, 1200, 4000, 8000, CAPZoneWest, 600, 800, 4000, 8000, "BARO" )
A2ADispatcher:SetSquadronCapInterval( "Kras1", 4, 30, 120, 1 ) A2ADispatcher:SetSquadronCapInterval( "Kras1", 4, 30, 120, 1 )
A2ADispatcher:SetSquadron( "May", AIRBASE.Caucasus.Maykop_Khanskaya, { "SQ CCCP SU-27" }, 20 ) A2ADispatcher:SetSquadron( "May", AIRBASE.Caucasus.Maykop_Khanskaya, { "SQ CCCP SU-27" }, 20 )
CAPZoneWest = ZONE_POLYGON:New( "CAP Zone West", GROUP:FindByName( "CAP Zone West" ) ) CAPZoneWest = ZONE_POLYGON:New( "CAP Zone West", GROUP:FindByName( "CAP Zone West" ) )
A2ADispatcher:SetSquadronCapV2( "May", 800, 1200, 400, 500, "RADIO", CAPZoneWest, 600, 800, 4000, 8000, "BARO" ) A2ADispatcher:SetSquadronCapV2( "May", 800, 1200, 400, 500, "RADIO", CAPZoneWest, 600, 800, 4000, 8000, "BARO" )
A2ADispatcher:SetSquadronCapInterval( "May", 1, 30, 120, 1 ) A2ADispatcher:SetSquadronCapInterval( "May", 1, 30, 120, 1 )
A2ADispatcher:SetDefaultTakeoffInAir() A2ADispatcher:SetDefaultTakeoffInAir()
A2ADispatcher:SetDefaultLandingNearAirbase() A2ADispatcher:SetDefaultLandingNearAirbase()
-- Blue attack simulation -- Blue attack simulation
local Frequency = 150 local Frequency = 150
BlueSpawn2 = SPAWN BlueSpawn2 = SPAWN
:New( "RT NATO 2" ) :New( "RT NATO 2" )
:InitLimit( 6, 40 ) :InitLimit( 6, 40 )
:InitRandomizeTemplate( { "SQ NATO A-10C", "SQ NATO F-15C", "SQ NATO F-16A", "SQ NATO F/A-18", "SQ NATO F-16C" } ) :InitRandomizeTemplate( { "SQ NATO A-10C", "SQ NATO F-15C", "SQ NATO F-16A", "SQ NATO F/A-18", "SQ NATO F-16C" } )
:InitRandomizeRoute( 0, 0, 30000 ) :InitRandomizeRoute( 0, 0, 30000 )
:InitDelayOn() :InitDelayOn()
:SpawnScheduled( Frequency, 0.5 ) :SpawnScheduled( Frequency, 0.5 )

View File

@@ -1,35 +1,35 @@
--- ---
-- Name: AID-A2A-031 - CAP out of fuel -- Name: AID-A2A-031 - CAP out of fuel
-- Author: FlightControl -- Author: FlightControl
-- Date Created: 30 Aug 2017 -- Date Created: 30 Aug 2017
-- Define a SET_GROUP object that builds a collection of groups that define the EWR network. -- Define a SET_GROUP object that builds a collection of groups that define the EWR network.
-- Here we build the network with all the groups that have a name starting with DF CCCP AWACS and DF CCCP EWR. -- Here we build the network with all the groups that have a name starting with DF CCCP AWACS and DF CCCP EWR.
DetectionSetGroup = SET_GROUP:New() DetectionSetGroup = SET_GROUP:New()
DetectionSetGroup:FilterPrefixes( { "DF CCCP AWACS", "DF CCCP EWR" } ) DetectionSetGroup:FilterPrefixes( { "DF CCCP AWACS", "DF CCCP EWR" } )
DetectionSetGroup:FilterStart() DetectionSetGroup:FilterStart()
Detection = DETECTION_AREAS:New( DetectionSetGroup, 30000 ) Detection = DETECTION_AREAS:New( DetectionSetGroup, 30000 )
-- Setup the A2A dispatcher, and initialize it. -- Setup the A2A dispatcher, and initialize it.
A2ADispatcher = AI_A2A_DISPATCHER:New( Detection ) A2ADispatcher = AI_A2A_DISPATCHER:New( Detection )
A2ADispatcher:SetTacticalDisplay( true ) A2ADispatcher:SetTacticalDisplay( true )
-- Setup the squadrons. -- Setup the squadrons.
A2ADispatcher:SetSquadron( "Kras1", AIRBASE.Caucasus.Krasnodar_Pashkovsky, { "SQ CCCP SU-27" }, 20 ) A2ADispatcher:SetSquadron( "Kras1", AIRBASE.Caucasus.Krasnodar_Pashkovsky, { "SQ CCCP SU-27" }, 20 )
CAPZoneWest = ZONE_POLYGON:New( "CAP Zone West", GROUP:FindByName( "CAP Zone West" ) ) CAPZoneWest = ZONE_POLYGON:New( "CAP Zone West", GROUP:FindByName( "CAP Zone West" ) )
A2ADispatcher:SetSquadronCap( "Kras1", CAPZoneWest, 4000, 8000, 600, 800, 800, 1200, "BARO" ) A2ADispatcher:SetSquadronCap( "Kras1", CAPZoneWest, 4000, 8000, 600, 800, 800, 1200, "BARO" )
A2ADispatcher:SetSquadronCapInterval( "Kras1", 1, 30, 120, 1 ) A2ADispatcher:SetSquadronCapInterval( "Kras1", 1, 30, 120, 1 )
A2ADispatcher:SetSquadron( "May", AIRBASE.Caucasus.Maykop_Khanskaya, { "SQ CCCP SU-27" }, 20 ) A2ADispatcher:SetSquadron( "May", AIRBASE.Caucasus.Maykop_Khanskaya, { "SQ CCCP SU-27" }, 20 )
CAPZoneWest = ZONE_POLYGON:New( "CAP Zone West", GROUP:FindByName( "CAP Zone West" ) ) CAPZoneWest = ZONE_POLYGON:New( "CAP Zone West", GROUP:FindByName( "CAP Zone West" ) )
A2ADispatcher:SetSquadronCapV2( "May", 1000, 1200, 30, 30, "RADIO", CAPZoneWest, 600, 800, 4000, 8000, "BARO" ) A2ADispatcher:SetSquadronCapV2( "May", 1000, 1200, 30, 30, "RADIO", CAPZoneWest, 600, 800, 4000, 8000, "BARO" )
A2ADispatcher:SetSquadronCapInterval( "May", 1, 30, 120, 1 ) A2ADispatcher:SetSquadronCapInterval( "May", 1, 30, 120, 1 )
A2ADispatcher:SetDefaultTakeoffInAir() A2ADispatcher:SetDefaultTakeoffInAir()
A2ADispatcher:SetDefaultLandingNearAirbase() A2ADispatcher:SetDefaultLandingNearAirbase()

View File

@@ -1,46 +1,46 @@
--- ---
-- Name: AID-032 - AI_A2A - CAP Damage -- Name: AID-032 - AI_A2A - CAP Damage
-- Author: FlightControl -- Author: FlightControl
-- Date Created: 29 Oct 2017 -- Date Created: 29 Oct 2017
-- Define a SET_GROUP object that builds a collection of groups that define the EWR network. -- Define a SET_GROUP object that builds a collection of groups that define the EWR network.
-- Here we build the network with all the groups that have a name starting with DF CCCP AWACS and DF CCCP EWR. -- Here we build the network with all the groups that have a name starting with DF CCCP AWACS and DF CCCP EWR.
DetectionSetGroup = SET_GROUP:New() DetectionSetGroup = SET_GROUP:New()
DetectionSetGroup:FilterPrefixes( { "DF CCCP AWACS", "DF CCCP EWR" } ) DetectionSetGroup:FilterPrefixes( { "DF CCCP AWACS", "DF CCCP EWR" } )
DetectionSetGroup:FilterStart() DetectionSetGroup:FilterStart()
Detection = DETECTION_AREAS:New( DetectionSetGroup, 30000 ) Detection = DETECTION_AREAS:New( DetectionSetGroup, 30000 )
-- Setup the A2A dispatcher, and initialize it. -- Setup the A2A dispatcher, and initialize it.
A2ADispatcher = AI_A2A_DISPATCHER:New( Detection ) A2ADispatcher = AI_A2A_DISPATCHER:New( Detection )
A2ADispatcher:SetTacticalDisplay( true ) A2ADispatcher:SetTacticalDisplay( true )
-- Setup the squadrons. -- Setup the squadrons.
A2ADispatcher:SetSquadron( "Kras1", AIRBASE.Caucasus.Krasnodar_Pashkovsky, { "SQ CCCP MIG-31" }, 20 ) A2ADispatcher:SetSquadron( "Kras1", AIRBASE.Caucasus.Krasnodar_Pashkovsky, { "SQ CCCP MIG-31" }, 20 )
CAPZoneWest = ZONE_POLYGON:New( "CAP Zone West", GROUP:FindByName( "CAP Zone West" ) ) CAPZoneWest = ZONE_POLYGON:New( "CAP Zone West", GROUP:FindByName( "CAP Zone West" ) )
A2ADispatcher:SetSquadronCap( "Kras1", CAPZoneWest, 4000, 8000, 600, 800, 800, 1200, "BARO" ) A2ADispatcher:SetSquadronCap( "Kras1", CAPZoneWest, 4000, 8000, 600, 800, 800, 1200, "BARO" )
A2ADispatcher:SetSquadronCapInterval( "Kras1", 2, 30, 120, 1 ) A2ADispatcher:SetSquadronCapInterval( "Kras1", 2, 30, 120, 1 )
--A2ADispatcher:SetSquadron( "May", AIRBASE.Caucasus.Maykop_Khanskaya, { "SQ CCCP SU-27" }, 20 ) --A2ADispatcher:SetSquadron( "May", AIRBASE.Caucasus.Maykop_Khanskaya, { "SQ CCCP SU-27" }, 20 )
--CAPZoneWest = ZONE_POLYGON:New( "CAP Zone West", GROUP:FindByName( "CAP Zone West" ) ) --CAPZoneWest = ZONE_POLYGON:New( "CAP Zone West", GROUP:FindByName( "CAP Zone West" ) )
--A2ADispatcher:SetSquadronCap( "May", CAPZoneWest, 4000, 8000, 600, 800, 800, 1200, "BARO" ) --A2ADispatcher:SetSquadronCap( "May", CAPZoneWest, 4000, 8000, 600, 800, 800, 1200, "BARO" )
--A2ADispatcher:SetSquadronCapInterval( "May", 1, 30, 120, 1 ) --A2ADispatcher:SetSquadronCapInterval( "May", 1, 30, 120, 1 )
A2ADispatcher:SetDefaultTakeoffInAir() A2ADispatcher:SetDefaultTakeoffInAir()
A2ADispatcher:SetDefaultLandingAtEngineShutdown() A2ADispatcher:SetDefaultLandingAtEngineShutdown()
-- Blue attack simulation -- Blue attack simulation
local Frequency = 300 local Frequency = 300
BlueSpawn2 = SPAWN BlueSpawn2 = SPAWN
:New( "RT NATO 2" ) :New( "RT NATO 2" )
:InitLimit( 6, 40 ) :InitLimit( 6, 40 )
:InitRandomizeTemplate( { "SQ NATO A-10C", "SQ NATO F-15C", "SQ NATO F-16A", "SQ NATO F/A-18", "SQ NATO F-16C" } ) :InitRandomizeTemplate( { "SQ NATO A-10C", "SQ NATO F-15C", "SQ NATO F-16A", "SQ NATO F/A-18", "SQ NATO F-16C" } )
:InitRandomizeRoute( 0, 0, 30000 ) :InitRandomizeRoute( 0, 0, 30000 )
:InitDelayOn() :InitDelayOn()
:SpawnScheduled( Frequency, 0.5 ) :SpawnScheduled( Frequency, 0.5 )

View File

@@ -1,47 +1,47 @@
--- ---
-- Name: AID-040 - AI_A2A - CAP Independent Detection in EWR -- Name: AID-040 - AI_A2A - CAP Independent Detection in EWR
-- Author: FlightControl -- Author: FlightControl
-- Date Created: 30 Aug 2017 -- Date Created: 30 Aug 2017
-- Define a SET_GROUP object that builds a collection of groups that define the EWR network. -- Define a SET_GROUP object that builds a collection of groups that define the EWR network.
-- Here we build the network with all the groups that have a name starting with DF CCCP AWACS and DF CCCP EWR. -- Here we build the network with all the groups that have a name starting with DF CCCP AWACS and DF CCCP EWR.
DetectionSetGroup = SET_GROUP:New() DetectionSetGroup = SET_GROUP:New()
DetectionSetGroup:FilterPrefixes( { "DF CCCP AWACS", "DF CCCP EWR" } ) DetectionSetGroup:FilterPrefixes( { "DF CCCP AWACS", "DF CCCP EWR" } )
DetectionSetGroup:FilterStart() DetectionSetGroup:FilterStart()
Detection = DETECTION_AREAS:New( DetectionSetGroup, 30000 ) Detection = DETECTION_AREAS:New( DetectionSetGroup, 30000 )
-- Setup the A2A dispatcher, and initialize it. -- Setup the A2A dispatcher, and initialize it.
A2ADispatcher = AI_A2A_DISPATCHER:New( Detection ) A2ADispatcher = AI_A2A_DISPATCHER:New( Detection )
A2ADispatcher:SetTacticalDisplay( true ) A2ADispatcher:SetTacticalDisplay( true )
A2ADispatcher:SetEngageRadius( 90000 ) A2ADispatcher:SetEngageRadius( 90000 )
-- Setup the squadrons. -- Setup the squadrons.
A2ADispatcher:SetSquadron( "Kras1", AIRBASE.Caucasus.Krasnodar_Pashkovsky, { "SQ CCCP SU-27" } ) A2ADispatcher:SetSquadron( "Kras1", AIRBASE.Caucasus.Krasnodar_Pashkovsky, { "SQ CCCP SU-27" } )
CAPZoneWest = ZONE_POLYGON:New( "CAP Zone West", GROUP:FindByName( "CAP Zone West" ) ) CAPZoneWest = ZONE_POLYGON:New( "CAP Zone West", GROUP:FindByName( "CAP Zone West" ) )
A2ADispatcher:SetSquadronCap( "Kras1", CAPZoneWest, 4000, 8000, 600, 800, 800, 1200, "BARO" ) A2ADispatcher:SetSquadronCap( "Kras1", CAPZoneWest, 4000, 8000, 600, 800, 800, 1200, "BARO" )
A2ADispatcher:SetSquadronCapInterval( "Kras1", 4, 30, 120 ) A2ADispatcher:SetSquadronCapInterval( "Kras1", 4, 30, 120 )
--A2ADispatcher:SetSquadron( "May", AIRBASE.Caucasus.Maykop_Khanskaya, { "SQ CCCP SU-27" }, 20 ) --A2ADispatcher:SetSquadron( "May", AIRBASE.Caucasus.Maykop_Khanskaya, { "SQ CCCP SU-27" }, 20 )
--CAPZoneWest = ZONE_POLYGON:New( "CAP Zone West", GROUP:FindByName( "CAP Zone West" ) ) --CAPZoneWest = ZONE_POLYGON:New( "CAP Zone West", GROUP:FindByName( "CAP Zone West" ) )
--A2ADispatcher:SetSquadronCap( "May", CAPZoneWest, 4000, 8000, 600, 800, 800, 1200, "BARO" ) --A2ADispatcher:SetSquadronCap( "May", CAPZoneWest, 4000, 8000, 600, 800, 800, 1200, "BARO" )
--A2ADispatcher:SetSquadronCapInterval( "May", 1, 30, 120 ) --A2ADispatcher:SetSquadronCapInterval( "May", 1, 30, 120 )
A2ADispatcher:SetDefaultTakeoffInAir() A2ADispatcher:SetDefaultTakeoffInAir()
A2ADispatcher:SetDefaultLandingNearAirbase() A2ADispatcher:SetDefaultLandingNearAirbase()
-- Blue attack simulation -- Blue attack simulation
local Frequency = 180 local Frequency = 180
BlueSpawn2 = SPAWN BlueSpawn2 = SPAWN
:New( "RT NATO" ) :New( "RT NATO" )
:InitLimit( 2, 40 ) :InitLimit( 2, 40 )
:InitRandomizeTemplate( { "SQ NATO A-10C", "SQ NATO F-15C", "SQ NATO F-16A", "SQ NATO F/A-18", "SQ NATO F-16C" } ) :InitRandomizeTemplate( { "SQ NATO A-10C", "SQ NATO F-15C", "SQ NATO F-16A", "SQ NATO F/A-18", "SQ NATO F-16C" } )
:InitRandomizeRoute( 0, 0, 30000 ) :InitRandomizeRoute( 0, 0, 30000 )
:InitDelayOn() :InitDelayOn()
:SpawnScheduled( Frequency, 0.5 ) :SpawnScheduled( Frequency, 0.5 )

View File

@@ -1,47 +1,47 @@
--- ---
-- Name: AID-040 - AI_A2A - CAP Independent Detection in EWR -- Name: AID-040 - AI_A2A - CAP Independent Detection in EWR
-- Author: FlightControl -- Author: FlightControl
-- Date Created: 30 Aug 2017 -- Date Created: 30 Aug 2017
-- Define a SET_GROUP object that builds a collection of groups that define the EWR network. -- Define a SET_GROUP object that builds a collection of groups that define the EWR network.
-- Here we build the network with all the groups that have a name starting with DF CCCP AWACS and DF CCCP EWR. -- Here we build the network with all the groups that have a name starting with DF CCCP AWACS and DF CCCP EWR.
DetectionSetGroup = SET_GROUP:New() DetectionSetGroup = SET_GROUP:New()
DetectionSetGroup:FilterPrefixes( { "DF CCCP AWACS", "DF CCCP EWR" } ) DetectionSetGroup:FilterPrefixes( { "DF CCCP AWACS", "DF CCCP EWR" } )
DetectionSetGroup:FilterStart() DetectionSetGroup:FilterStart()
Detection = DETECTION_AREAS:New( DetectionSetGroup, 30000 ) Detection = DETECTION_AREAS:New( DetectionSetGroup, 30000 )
-- Setup the A2A dispatcher, and initialize it. -- Setup the A2A dispatcher, and initialize it.
A2ADispatcher = AI_A2A_DISPATCHER:New( Detection ) A2ADispatcher = AI_A2A_DISPATCHER:New( Detection )
A2ADispatcher:SetTacticalDisplay( true ) A2ADispatcher:SetTacticalDisplay( true )
A2ADispatcher:SetEngageRadius( 90000 ) A2ADispatcher:SetEngageRadius( 90000 )
-- Setup the squadrons. -- Setup the squadrons.
A2ADispatcher:SetSquadron( "Kras1", AIRBASE.Caucasus.Krasnodar_Pashkovsky, { "SQ CCCP SU-27" } ) A2ADispatcher:SetSquadron( "Kras1", AIRBASE.Caucasus.Krasnodar_Pashkovsky, { "SQ CCCP SU-27" } )
CAPZoneWest = ZONE_POLYGON:New( "CAP Zone West", GROUP:FindByName( "CAP Zone West" ) ) CAPZoneWest = ZONE_POLYGON:New( "CAP Zone West", GROUP:FindByName( "CAP Zone West" ) )
A2ADispatcher:SetSquadronCap( "Kras1", CAPZoneWest, 4000, 8000, 600, 800, 800, 1200, "BARO" ) A2ADispatcher:SetSquadronCap( "Kras1", CAPZoneWest, 4000, 8000, 600, 800, 800, 1200, "BARO" )
A2ADispatcher:SetSquadronCapInterval( "Kras1", 4, 30, 120 ) A2ADispatcher:SetSquadronCapInterval( "Kras1", 4, 30, 120 )
--A2ADispatcher:SetSquadron( "May", AIRBASE.Caucasus.Maykop_Khanskaya, { "SQ CCCP SU-27" }, 20 ) --A2ADispatcher:SetSquadron( "May", AIRBASE.Caucasus.Maykop_Khanskaya, { "SQ CCCP SU-27" }, 20 )
--CAPZoneWest = ZONE_POLYGON:New( "CAP Zone West", GROUP:FindByName( "CAP Zone West" ) ) --CAPZoneWest = ZONE_POLYGON:New( "CAP Zone West", GROUP:FindByName( "CAP Zone West" ) )
--A2ADispatcher:SetSquadronCap( "May", CAPZoneWest, 4000, 8000, 600, 800, 800, 1200, "BARO" ) --A2ADispatcher:SetSquadronCap( "May", CAPZoneWest, 4000, 8000, 600, 800, 800, 1200, "BARO" )
--A2ADispatcher:SetSquadronCapInterval( "May", 1, 30, 120 ) --A2ADispatcher:SetSquadronCapInterval( "May", 1, 30, 120 )
A2ADispatcher:SetDefaultTakeoffInAir() A2ADispatcher:SetDefaultTakeoffInAir()
A2ADispatcher:SetDefaultLandingNearAirbase() A2ADispatcher:SetDefaultLandingNearAirbase()
-- Blue attack simulation -- Blue attack simulation
local Frequency = 180 local Frequency = 180
BlueSpawn2 = SPAWN BlueSpawn2 = SPAWN
:New( "RT NATO" ) :New( "RT NATO" )
:InitLimit( 2, 40 ) :InitLimit( 2, 40 )
:InitRandomizeTemplate( { "SQ NATO A-10C", "SQ NATO F-15C", "SQ NATO F-16A", "SQ NATO F/A-18", "SQ NATO F-16C" } ) :InitRandomizeTemplate( { "SQ NATO A-10C", "SQ NATO F-15C", "SQ NATO F-16A", "SQ NATO F/A-18", "SQ NATO F-16C" } )
:InitRandomizeRoute( 0, 0, 30000 ) :InitRandomizeRoute( 0, 0, 30000 )
:InitDelayOn() :InitDelayOn()
:SpawnScheduled( Frequency, 0.5 ) :SpawnScheduled( Frequency, 0.5 )

View File

@@ -1,49 +1,49 @@
--- ---
-- Name: AID-041 - AI_A2A - CAP Independent Detection in EWR with Clients -- Name: AID-041 - AI_A2A - CAP Independent Detection in EWR with Clients
-- Author: FlightControl -- Author: FlightControl
-- Date Created: 01 Sep 2017 -- Date Created: 01 Sep 2017
-- Define a SET_GROUP object that builds a collection of groups that define the EWR network. -- Define a SET_GROUP object that builds a collection of groups that define the EWR network.
-- Here we build the network with all the groups that have a name starting with DF CCCP AWACS and DF CCCP EWR. -- Here we build the network with all the groups that have a name starting with DF CCCP AWACS and DF CCCP EWR.
DetectionSetGroup = SET_GROUP:New() DetectionSetGroup = SET_GROUP:New()
DetectionSetGroup:FilterPrefixes( { "DF CCCP AWACS", "DF CCCP EWR" } ) DetectionSetGroup:FilterPrefixes( { "DF CCCP AWACS", "DF CCCP EWR" } )
DetectionSetGroup:FilterStart() DetectionSetGroup:FilterStart()
Detection = DETECTION_AREAS:New( DetectionSetGroup, 30000 ) Detection = DETECTION_AREAS:New( DetectionSetGroup, 30000 )
Detection:SetRefreshTimeInterval( 10 ) Detection:SetRefreshTimeInterval( 10 )
-- Setup the A2A dispatcher, and initialize it. -- Setup the A2A dispatcher, and initialize it.
A2ADispatcher = AI_A2A_DISPATCHER:New( Detection ) A2ADispatcher = AI_A2A_DISPATCHER:New( Detection )
A2ADispatcher:SetTacticalDisplay( true ) A2ADispatcher:SetTacticalDisplay( true )
A2ADispatcher:SetRefreshTimeInterval( 10 ) A2ADispatcher:SetRefreshTimeInterval( 10 )
A2ADispatcher:SetEngageRadius( 90000 ) A2ADispatcher:SetEngageRadius( 90000 )
-- Setup the squadrons. -- Setup the squadrons.
A2ADispatcher:SetSquadron( "Kras1", AIRBASE.Caucasus.Krasnodar_Pashkovsky, { "SQ CCCP SU-27" } ) A2ADispatcher:SetSquadron( "Kras1", AIRBASE.Caucasus.Krasnodar_Pashkovsky, { "SQ CCCP SU-27" } )
CAPZoneWest = ZONE_POLYGON:New( "CAP Zone West", GROUP:FindByName( "CAP Zone West" ) ) CAPZoneWest = ZONE_POLYGON:New( "CAP Zone West", GROUP:FindByName( "CAP Zone West" ) )
A2ADispatcher:SetSquadronCap( "Kras1", CAPZoneWest, 4000, 8000, 600, 800, 800, 1200, "BARO" ) A2ADispatcher:SetSquadronCap( "Kras1", CAPZoneWest, 4000, 8000, 600, 800, 800, 1200, "BARO" )
A2ADispatcher:SetSquadronCapInterval( "Kras1", 2, 30, 120 ) A2ADispatcher:SetSquadronCapInterval( "Kras1", 2, 30, 120 )
A2ADispatcher:SetSquadron( "May", AIRBASE.Caucasus.Maykop_Khanskaya, { "SQ CCCP SU-27" }, 20 ) A2ADispatcher:SetSquadron( "May", AIRBASE.Caucasus.Maykop_Khanskaya, { "SQ CCCP SU-27" }, 20 )
CAPZoneWest = ZONE_POLYGON:New( "CAP Zone West", GROUP:FindByName( "CAP Zone West" ) ) CAPZoneWest = ZONE_POLYGON:New( "CAP Zone West", GROUP:FindByName( "CAP Zone West" ) )
A2ADispatcher:SetSquadronCap( "May", CAPZoneWest, 4000, 8000, 600, 800, 800, 1200, "BARO" ) A2ADispatcher:SetSquadronCap( "May", CAPZoneWest, 4000, 8000, 600, 800, 800, 1200, "BARO" )
A2ADispatcher:SetSquadronCapInterval( "May", 2, 30, 120 ) A2ADispatcher:SetSquadronCapInterval( "May", 2, 30, 120 )
A2ADispatcher:SetDefaultTakeoffInAir() A2ADispatcher:SetDefaultTakeoffInAir()
A2ADispatcher:SetDefaultLandingNearAirbase() A2ADispatcher:SetDefaultLandingNearAirbase()
-- Blue attack simulation -- Blue attack simulation
--local Frequency = 600 --local Frequency = 600
-- --
--BlueSpawn2 = SPAWN --BlueSpawn2 = SPAWN
-- :New( "RT NATO" ) -- :New( "RT NATO" )
-- :InitLimit( 2, 40 ) -- :InitLimit( 2, 40 )
-- :InitRandomizeTemplate( { "SQ NATO A-10C", "SQ NATO F-15C", "SQ NATO F-16A", "SQ NATO F/A-18", "SQ NATO F-16C" } ) -- :InitRandomizeTemplate( { "SQ NATO A-10C", "SQ NATO F-15C", "SQ NATO F-16A", "SQ NATO F/A-18", "SQ NATO F-16C" } )
-- :InitRandomizeRoute( 0, 0, 30000 ) -- :InitRandomizeRoute( 0, 0, 30000 )
-- :InitDelayOn() -- :InitDelayOn()
-- :SpawnScheduled( Frequency, 0.5 ) -- :SpawnScheduled( Frequency, 0.5 )

View File

@@ -1,68 +1,68 @@
--- ---
-- Name: AID-A2A-050 - Resources -- Name: AID-A2A-050 - Resources
-- Author: FlightControl -- Author: FlightControl
-- Date Created: 21 Sep 2017 -- Date Created: 21 Sep 2017
-- Define a SET_GROUP object that builds a collection of groups that define the EWR network. -- Define a SET_GROUP object that builds a collection of groups that define the EWR network.
-- Here we build the network with all the groups that have a name starting with DF CCCP AWACS and DF CCCP EWR. -- Here we build the network with all the groups that have a name starting with DF CCCP AWACS and DF CCCP EWR.
DetectionSetGroup = SET_GROUP:New() DetectionSetGroup = SET_GROUP:New()
DetectionSetGroup:FilterPrefixes( { "DF CCCP AWACS", "DF CCCP EWR" } ) DetectionSetGroup:FilterPrefixes( { "DF CCCP AWACS", "DF CCCP EWR" } )
DetectionSetGroup:FilterStart() DetectionSetGroup:FilterStart()
Detection = DETECTION_AREAS:New( DetectionSetGroup, 30000 ) Detection = DETECTION_AREAS:New( DetectionSetGroup, 30000 )
-- Setup the A2A dispatcher, and initialize it. -- Setup the A2A dispatcher, and initialize it.
A2ADispatcher = AI_A2A_DISPATCHER:New( Detection ) A2ADispatcher = AI_A2A_DISPATCHER:New( Detection )
-- Enable the tactical display panel. -- Enable the tactical display panel.
A2ADispatcher:SetTacticalDisplay( true ) A2ADispatcher:SetTacticalDisplay( true )
-- Initialize the dispatcher, setting up a border zone. This is a polygon, -- Initialize the dispatcher, setting up a border zone. This is a polygon,
-- which takes the waypoints of a late activated group with the name CCCP Border as the boundaries of the border area. -- which takes the waypoints of a late activated group with the name CCCP Border as the boundaries of the border area.
-- Any enemy crossing this border will be engaged. -- Any enemy crossing this border will be engaged.
CCCPBorderZone = ZONE_POLYGON:New( "CCCP Border", GROUP:FindByName( "CCCP Border" ) ) CCCPBorderZone = ZONE_POLYGON:New( "CCCP Border", GROUP:FindByName( "CCCP Border" ) )
A2ADispatcher:SetBorderZone( CCCPBorderZone ) A2ADispatcher:SetBorderZone( CCCPBorderZone )
-- Initialize the dispatcher, setting up a radius of 100km where any airborne friendly -- Initialize the dispatcher, setting up a radius of 100km where any airborne friendly
-- without an assignment within 100km radius from a detected target, will engage that target. -- without an assignment within 100km radius from a detected target, will engage that target.
A2ADispatcher:SetEngageRadius( 250000 ) A2ADispatcher:SetEngageRadius( 250000 )
-- Setup the squadrons. -- Setup the squadrons.
A2ADispatcher:SetSquadron( "Mineralnye", AIRBASE.Caucasus.Mineralnye_Vody, { "SQ CCCP SU-27" }, 6 ) A2ADispatcher:SetSquadron( "Mineralnye", AIRBASE.Caucasus.Mineralnye_Vody, { "SQ CCCP SU-27" }, 6 )
-- Setup the overhead -- Setup the overhead
A2ADispatcher:SetSquadronOverhead( "Mineralnye", 1.2 ) A2ADispatcher:SetSquadronOverhead( "Mineralnye", 1.2 )
-- Setup the Grouping -- Setup the Grouping
A2ADispatcher:SetSquadronGrouping( "Mineralnye", 1 ) A2ADispatcher:SetSquadronGrouping( "Mineralnye", 1 )
-- Setup the Takeoff methods -- Setup the Takeoff methods
A2ADispatcher:SetSquadronTakeoff( "Mineralnye", AI_A2A_DISPATCHER.Takeoff.Hot ) A2ADispatcher:SetSquadronTakeoff( "Mineralnye", AI_A2A_DISPATCHER.Takeoff.Hot )
-- Setup the Landing methods -- Setup the Landing methods
A2ADispatcher:SetSquadronLandingAtEngineShutdown( "Mineralnye" ) A2ADispatcher:SetSquadronLandingAtEngineShutdown( "Mineralnye" )
-- Setup the visibility before start. -- Setup the visibility before start.
A2ADispatcher:SetSquadronVisible( "Mineralnye" ) A2ADispatcher:SetSquadronVisible( "Mineralnye" )
-- CAP Squadron execution. -- CAP Squadron execution.
CAPZoneEast = ZONE_POLYGON:New( "CAP Zone East", GROUP:FindByName( "CAP Zone East" ) ) CAPZoneEast = ZONE_POLYGON:New( "CAP Zone East", GROUP:FindByName( "CAP Zone East" ) )
A2ADispatcher:SetSquadronCap( "Mineralnye", CAPZoneEast, 4000, 10000, 500, 600, 800, 900 ) A2ADispatcher:SetSquadronCap( "Mineralnye", CAPZoneEast, 4000, 10000, 500, 600, 800, 900 )
A2ADispatcher:SetSquadronCapInterval( "Mineralnye", 1, 30, 60, 1 ) A2ADispatcher:SetSquadronCapInterval( "Mineralnye", 1, 30, 60, 1 )
A2ADispatcher:SetSquadronFuelThreshold( "Mineralnye", 0.20 ) A2ADispatcher:SetSquadronFuelThreshold( "Mineralnye", 0.20 )
-- GCI Squadron execution. -- GCI Squadron execution.
--A2ADispatcher:SetSquadronGci( "Mineralnye", 900, 1200 ) --A2ADispatcher:SetSquadronGci( "Mineralnye", 900, 1200 )
-- Blue attack simulation -- Blue attack simulation
local Frequency = 60 local Frequency = 60
--BlueSpawn1 = SPAWN --BlueSpawn1 = SPAWN
-- :New( "RT NATO 1" ) -- :New( "RT NATO 1" )
-- :InitLimit( 2, 10 ) -- :InitLimit( 2, 10 )
-- :InitRandomizeTemplate( { "SQ NATO A-10C", "SQ NATO F-15C", "SQ NATO F-16A", "SQ NATO F/A-18", "SQ NATO F-16C" } ) -- :InitRandomizeTemplate( { "SQ NATO A-10C", "SQ NATO F-15C", "SQ NATO F-16A", "SQ NATO F/A-18", "SQ NATO F-16C" } )
-- :InitRandomizeRoute( 0, 0, 30000 ) -- :InitRandomizeRoute( 0, 0, 30000 )
-- --:InitDelayOn() -- --:InitDelayOn()
-- :SpawnScheduled( Frequency, 0.4 ) -- :SpawnScheduled( Frequency, 0.4 )

View File

@@ -1,67 +1,67 @@
--- ---
-- Name: AID-A2A-050 - Resources -- Name: AID-A2A-050 - Resources
-- Author: FlightControl -- Author: FlightControl
-- Date Created: 21 Sep 2017 -- Date Created: 21 Sep 2017
-- Define a SET_GROUP object that builds a collection of groups that define the EWR network. -- Define a SET_GROUP object that builds a collection of groups that define the EWR network.
-- Here we build the network with all the groups that have a name starting with DF CCCP AWACS and DF CCCP EWR. -- Here we build the network with all the groups that have a name starting with DF CCCP AWACS and DF CCCP EWR.
DetectionSetGroup = SET_GROUP:New() DetectionSetGroup = SET_GROUP:New()
DetectionSetGroup:FilterPrefixes( { "DF CCCP AWACS", "DF CCCP EWR" } ) DetectionSetGroup:FilterPrefixes( { "DF CCCP AWACS", "DF CCCP EWR" } )
DetectionSetGroup:FilterStart() DetectionSetGroup:FilterStart()
Detection = DETECTION_AREAS:New( DetectionSetGroup, 30000 ) Detection = DETECTION_AREAS:New( DetectionSetGroup, 30000 )
-- Setup the A2A dispatcher, and initialize it. -- Setup the A2A dispatcher, and initialize it.
A2ADispatcher = AI_A2A_DISPATCHER:New( Detection ) A2ADispatcher = AI_A2A_DISPATCHER:New( Detection )
-- Enable the tactical display panel. -- Enable the tactical display panel.
A2ADispatcher:SetTacticalDisplay( true ) A2ADispatcher:SetTacticalDisplay( true )
-- Initialize the dispatcher, setting up a border zone. This is a polygon, -- Initialize the dispatcher, setting up a border zone. This is a polygon,
-- which takes the waypoints of a late activated group with the name CCCP Border as the boundaries of the border area. -- which takes the waypoints of a late activated group with the name CCCP Border as the boundaries of the border area.
-- Any enemy crossing this border will be engaged. -- Any enemy crossing this border will be engaged.
CCCPBorderZone = ZONE_POLYGON:New( "CCCP Border", GROUP:FindByName( "CCCP Border" ) ) CCCPBorderZone = ZONE_POLYGON:New( "CCCP Border", GROUP:FindByName( "CCCP Border" ) )
A2ADispatcher:SetBorderZone( CCCPBorderZone ) A2ADispatcher:SetBorderZone( CCCPBorderZone )
-- Initialize the dispatcher, setting up a radius of 100km where any airborne friendly -- Initialize the dispatcher, setting up a radius of 100km where any airborne friendly
-- without an assignment within 100km radius from a detected target, will engage that target. -- without an assignment within 100km radius from a detected target, will engage that target.
A2ADispatcher:SetEngageRadius( 250000 ) A2ADispatcher:SetEngageRadius( 250000 )
-- Setup the squadrons. -- Setup the squadrons.
A2ADispatcher:SetSquadron( "Mineralnye", AIRBASE.Caucasus.Mineralnye_Vody, { "SQ CCCP SU-27" }, 30 ) A2ADispatcher:SetSquadron( "Mineralnye", AIRBASE.Caucasus.Mineralnye_Vody, { "SQ CCCP SU-27" }, 30 )
-- Setup the overhead -- Setup the overhead
A2ADispatcher:SetSquadronOverhead( "Mineralnye", 1.2 ) A2ADispatcher:SetSquadronOverhead( "Mineralnye", 1.2 )
-- Setup the Grouping -- Setup the Grouping
A2ADispatcher:SetSquadronGrouping( "Mineralnye", 1 ) A2ADispatcher:SetSquadronGrouping( "Mineralnye", 1 )
-- Setup the Takeoff methods -- Setup the Takeoff methods
A2ADispatcher:SetSquadronTakeoff( "Mineralnye", AI_A2A_DISPATCHER.Takeoff.Air ) A2ADispatcher:SetSquadronTakeoff( "Mineralnye", AI_A2A_DISPATCHER.Takeoff.Air )
-- Setup the Landing methods -- Setup the Landing methods
A2ADispatcher:SetSquadronLandingAtRunway( "Mineralnye" ) A2ADispatcher:SetSquadronLandingAtRunway( "Mineralnye" )
-- CAP Squadron execution. -- CAP Squadron execution.
--CAPZoneEast = ZONE_POLYGON:New( "CAP Zone East", GROUP:FindByName( "CAP Zone East" ) ) --CAPZoneEast = ZONE_POLYGON:New( "CAP Zone East", GROUP:FindByName( "CAP Zone East" ) )
--A2ADispatcher:SetSquadronCap( "Mineralnye", CAPZoneEast, 4000, 10000, 500, 600, 800, 900 ) --A2ADispatcher:SetSquadronCap( "Mineralnye", CAPZoneEast, 4000, 10000, 500, 600, 800, 900 )
--A2ADispatcher:SetSquadronCapInterval( "Mineralnye", 2, 30, 60, 1 ) --A2ADispatcher:SetSquadronCapInterval( "Mineralnye", 2, 30, 60, 1 )
-- GCI Squadron execution. -- GCI Squadron execution.
A2ADispatcher:SetSquadronGci( "Mineralnye", 900, 1200 ) A2ADispatcher:SetSquadronGci( "Mineralnye", 900, 1200 )
CleanUp = CLEANUP_AIRBASE:New( { AIRBASE.Caucasus.Novorossiysk } ) CleanUp = CLEANUP_AIRBASE:New( { AIRBASE.Caucasus.Novorossiysk } )
-- Blue attack simulation -- Blue attack simulation
local Frequency = 60 local Frequency = 60
BlueSpawn1 = SPAWN BlueSpawn1 = SPAWN
:New( "RT NATO 1" ) :New( "RT NATO 1" )
:InitLimit( 2, 10 ) :InitLimit( 2, 10 )
:InitRandomizeTemplate( { "SQ NATO A-10C", "SQ NATO F-15C", "SQ NATO F-16A", "SQ NATO F/A-18", "SQ NATO F-16C" } ) :InitRandomizeTemplate( { "SQ NATO A-10C", "SQ NATO F-15C", "SQ NATO F-16A", "SQ NATO F/A-18", "SQ NATO F-16C" } )
:InitRandomizeRoute( 0, 0, 30000 ) :InitRandomizeRoute( 0, 0, 30000 )
--:InitDelayOn() --:InitDelayOn()
:SpawnScheduled( Frequency, 0.4 ) :SpawnScheduled( Frequency, 0.4 )

View File

@@ -1,67 +1,67 @@
--- ---
-- Name: AID-060 - AI_A2A - Takeoff From Runway Test -- Name: AID-060 - AI_A2A - Takeoff From Runway Test
-- Author: FlightControl -- Author: FlightControl
-- Date Created: 21 Sep 2017 -- Date Created: 21 Sep 2017
-- Define a SET_GROUP object that builds a collection of groups that define the EWR network. -- Define a SET_GROUP object that builds a collection of groups that define the EWR network.
-- Here we build the network with all the groups that have a name starting with DF CCCP AWACS and DF CCCP EWR. -- Here we build the network with all the groups that have a name starting with DF CCCP AWACS and DF CCCP EWR.
DetectionSetGroup = SET_GROUP:New() DetectionSetGroup = SET_GROUP:New()
DetectionSetGroup:FilterPrefixes( { "DF CCCP AWACS", "DF CCCP EWR" } ) DetectionSetGroup:FilterPrefixes( { "DF CCCP AWACS", "DF CCCP EWR" } )
DetectionSetGroup:FilterStart() DetectionSetGroup:FilterStart()
Detection = DETECTION_AREAS:New( DetectionSetGroup, 30000 ) Detection = DETECTION_AREAS:New( DetectionSetGroup, 30000 )
-- Setup the A2A dispatcher, and initialize it. -- Setup the A2A dispatcher, and initialize it.
A2ADispatcher = AI_A2A_DISPATCHER:New( Detection ) A2ADispatcher = AI_A2A_DISPATCHER:New( Detection )
-- Enable the tactical display panel. -- Enable the tactical display panel.
A2ADispatcher:SetTacticalDisplay( true ) A2ADispatcher:SetTacticalDisplay( true )
-- Initialize the dispatcher, setting up a border zone. This is a polygon, -- Initialize the dispatcher, setting up a border zone. This is a polygon,
-- which takes the waypoints of a late activated group with the name CCCP Border as the boundaries of the border area. -- which takes the waypoints of a late activated group with the name CCCP Border as the boundaries of the border area.
-- Any enemy crossing this border will be engaged. -- Any enemy crossing this border will be engaged.
CCCPBorderZone = ZONE_POLYGON:New( "CCCP Border", GROUP:FindByName( "CCCP Border" ) ) CCCPBorderZone = ZONE_POLYGON:New( "CCCP Border", GROUP:FindByName( "CCCP Border" ) )
A2ADispatcher:SetBorderZone( CCCPBorderZone ) A2ADispatcher:SetBorderZone( CCCPBorderZone )
-- Initialize the dispatcher, setting up a radius of 100km where any airborne friendly -- Initialize the dispatcher, setting up a radius of 100km where any airborne friendly
-- without an assignment within 100km radius from a detected target, will engage that target. -- without an assignment within 100km radius from a detected target, will engage that target.
A2ADispatcher:SetEngageRadius( 250000 ) A2ADispatcher:SetEngageRadius( 250000 )
-- Setup the squadrons. -- Setup the squadrons.
A2ADispatcher:SetSquadron( "Mineralnye", AIRBASE.Caucasus.Mineralnye_Vody, { "SQ CCCP SU-27" }, 20 ) A2ADispatcher:SetSquadron( "Mineralnye", AIRBASE.Caucasus.Mineralnye_Vody, { "SQ CCCP SU-27" }, 20 )
-- Setup the overhead -- Setup the overhead
A2ADispatcher:SetSquadronOverhead( "Mineralnye", 1.2 ) A2ADispatcher:SetSquadronOverhead( "Mineralnye", 1.2 )
-- Setup the Grouping -- Setup the Grouping
A2ADispatcher:SetSquadronGrouping( "Mineralnye", 1 ) A2ADispatcher:SetSquadronGrouping( "Mineralnye", 1 )
-- Setup the Takeoff methods -- Setup the Takeoff methods
A2ADispatcher:SetSquadronTakeoff( "Mineralnye", AI_A2A_DISPATCHER.Takeoff.Runway ) A2ADispatcher:SetSquadronTakeoff( "Mineralnye", AI_A2A_DISPATCHER.Takeoff.Runway )
-- Setup the Landing methods -- Setup the Landing methods
A2ADispatcher:SetSquadronLandingAtRunway( "Mineralnye" ) A2ADispatcher:SetSquadronLandingAtRunway( "Mineralnye" )
-- CAP Squadron execution. -- CAP Squadron execution.
--CAPZoneEast = ZONE_POLYGON:New( "CAP Zone East", GROUP:FindByName( "CAP Zone East" ) ) --CAPZoneEast = ZONE_POLYGON:New( "CAP Zone East", GROUP:FindByName( "CAP Zone East" ) )
--A2ADispatcher:SetSquadronCap( "Mineralnye", CAPZoneEast, 4000, 10000, 500, 600, 800, 900 ) --A2ADispatcher:SetSquadronCap( "Mineralnye", CAPZoneEast, 4000, 10000, 500, 600, 800, 900 )
--A2ADispatcher:SetSquadronCapInterval( "Mineralnye", 2, 30, 60, 1 ) --A2ADispatcher:SetSquadronCapInterval( "Mineralnye", 2, 30, 60, 1 )
-- GCI Squadron execution. -- GCI Squadron execution.
A2ADispatcher:SetSquadronGci( "Mineralnye", 900, 1200 ) A2ADispatcher:SetSquadronGci( "Mineralnye", 900, 1200 )
CleanUp = CLEANUP_AIRBASE:New( { AIRBASE.Caucasus.Novorossiysk } ) CleanUp = CLEANUP_AIRBASE:New( { AIRBASE.Caucasus.Novorossiysk } )
-- Blue attack simulation -- Blue attack simulation
local Frequency = 60 local Frequency = 60
BlueSpawn1 = SPAWN BlueSpawn1 = SPAWN
:New( "RT NATO 1" ) :New( "RT NATO 1" )
:InitLimit( 2, 10 ) :InitLimit( 2, 10 )
:InitRandomizeTemplate( { "SQ NATO A-10C", "SQ NATO F-15C", "SQ NATO F-16A", "SQ NATO F/A-18", "SQ NATO F-16C" } ) :InitRandomizeTemplate( { "SQ NATO A-10C", "SQ NATO F-15C", "SQ NATO F-16A", "SQ NATO F/A-18", "SQ NATO F-16C" } )
:InitRandomizeRoute( 0, 0, 30000 ) :InitRandomizeRoute( 0, 0, 30000 )
--:InitDelayOn() --:InitDelayOn()
:SpawnScheduled( Frequency, 0.4 ) :SpawnScheduled( Frequency, 0.4 )

View File

@@ -1,61 +1,61 @@
--- ---
-- Name: AID-061 - AI_A2A - Takeoff From Ship Runway Test -- Name: AID-061 - AI_A2A - Takeoff From Ship Runway Test
-- Author: FlightControl -- Author: FlightControl
-- Date Created: 21 Sep 2017 -- Date Created: 21 Sep 2017
-- Define a SET_GROUP object that builds a collection of groups that define the EWR network. -- Define a SET_GROUP object that builds a collection of groups that define the EWR network.
-- Here we build the network with all the groups that have a name starting with DF CCCP AWACS and DF CCCP EWR. -- Here we build the network with all the groups that have a name starting with DF CCCP AWACS and DF CCCP EWR.
DetectionSetGroup = SET_GROUP:New() DetectionSetGroup = SET_GROUP:New()
DetectionSetGroup:FilterPrefixes( { "DF CCCP AWACS", "DF CCCP EWR" } ) DetectionSetGroup:FilterPrefixes( { "DF CCCP AWACS", "DF CCCP EWR" } )
DetectionSetGroup:FilterStart() DetectionSetGroup:FilterStart()
Detection = DETECTION_AREAS:New( DetectionSetGroup, 30000 ) Detection = DETECTION_AREAS:New( DetectionSetGroup, 30000 )
-- Setup the A2A dispatcher, and initialize it. -- Setup the A2A dispatcher, and initialize it.
A2ADispatcher = AI_A2A_DISPATCHER:New( Detection ) A2ADispatcher = AI_A2A_DISPATCHER:New( Detection )
-- Enable the tactical display panel. -- Enable the tactical display panel.
A2ADispatcher:SetTacticalDisplay( true ) A2ADispatcher:SetTacticalDisplay( true )
-- Initialize the dispatcher, setting up a radius of 100km where any airborne friendly -- Initialize the dispatcher, setting up a radius of 100km where any airborne friendly
-- without an assignment within 100km radius from a detected target, will engage that target. -- without an assignment within 100km radius from a detected target, will engage that target.
A2ADispatcher:SetEngageRadius( 250000 ) A2ADispatcher:SetEngageRadius( 250000 )
-- Setup the squadrons. -- Setup the squadrons.
A2ADispatcher:SetSquadron( "Kuznetsov", "Kuznetsov", { "SQ CCCP SU-33" }, 20 ) A2ADispatcher:SetSquadron( "Kuznetsov", "Kuznetsov", { "SQ CCCP SU-33" }, 20 )
-- Setup the overhead -- Setup the overhead
A2ADispatcher:SetSquadronOverhead( "Kuznetsov", 1.2 ) A2ADispatcher:SetSquadronOverhead( "Kuznetsov", 1.2 )
-- Setup the Grouping -- Setup the Grouping
A2ADispatcher:SetSquadronGrouping( "Kuznetsov", 1 ) A2ADispatcher:SetSquadronGrouping( "Kuznetsov", 1 )
-- Setup the Takeoff methods -- Setup the Takeoff methods
A2ADispatcher:SetSquadronTakeoff( "Kuznetsov", AI_A2A_DISPATCHER.Takeoff.Runway ) A2ADispatcher:SetSquadronTakeoff( "Kuznetsov", AI_A2A_DISPATCHER.Takeoff.Runway )
-- Setup the Landing methods -- Setup the Landing methods
A2ADispatcher:SetSquadronLandingAtRunway( "Kuznetsov" ) A2ADispatcher:SetSquadronLandingAtRunway( "Kuznetsov" )
-- CAP Squadron execution. -- CAP Squadron execution.
--CAPZoneEast = ZONE_POLYGON:New( "CAP Zone East", GROUP:FindByName( "CAP Zone East" ) ) --CAPZoneEast = ZONE_POLYGON:New( "CAP Zone East", GROUP:FindByName( "CAP Zone East" ) )
--A2ADispatcher:SetSquadronCap( "Mineralnye", CAPZoneEast, 4000, 10000, 500, 600, 800, 900 ) --A2ADispatcher:SetSquadronCap( "Mineralnye", CAPZoneEast, 4000, 10000, 500, 600, 800, 900 )
--A2ADispatcher:SetSquadronCapInterval( "Mineralnye", 2, 30, 60, 1 ) --A2ADispatcher:SetSquadronCapInterval( "Mineralnye", 2, 30, 60, 1 )
-- GCI Squadron execution. -- GCI Squadron execution.
A2ADispatcher:SetSquadronGci( "Kuznetsov", 900, 1200 ) A2ADispatcher:SetSquadronGci( "Kuznetsov", 900, 1200 )
CleanUp = CLEANUP_AIRBASE:New( { AIRBASE.Caucasus.Novorossiysk } ) CleanUp = CLEANUP_AIRBASE:New( { AIRBASE.Caucasus.Novorossiysk } )
-- Blue attack simulation -- Blue attack simulation
local Frequency = 60 local Frequency = 60
BlueSpawn1 = SPAWN BlueSpawn1 = SPAWN
:New( "RT NATO 1" ) :New( "RT NATO 1" )
:InitLimit( 2, 10 ) :InitLimit( 2, 10 )
:InitRandomizeTemplate( { "SQ NATO A-10C", "SQ NATO F-15C", "SQ NATO F-16A", "SQ NATO F/A-18", "SQ NATO F-16C" } ) :InitRandomizeTemplate( { "SQ NATO A-10C", "SQ NATO F-15C", "SQ NATO F-16A", "SQ NATO F/A-18", "SQ NATO F-16C" } )
:InitRandomizeRoute( 0, 0, 30000 ) :InitRandomizeRoute( 0, 0, 30000 )
--:InitDelayOn() --:InitDelayOn()
:SpawnScheduled( Frequency, 0.4 ) :SpawnScheduled( Frequency, 0.4 )

View File

@@ -1,39 +1,39 @@
--- ---
-- Name: AID-070 - AI_A2A - CAP - Player Exit -- Name: AID-070 - AI_A2A - CAP - Player Exit
-- Author: FlightControl -- Author: FlightControl
-- Date Created: 30 Oct 2017 -- Date Created: 30 Oct 2017
-- --
-- Test Scenario(s): -- Test Scenario(s):
-- --
-- Now take a seat in the client plane as a player. -- Now take a seat in the client plane as a player.
-- Do the following tests after the plane has been spawned. -- Do the following tests after the plane has been spawned.
-- 1. Immediately exit the plane. -- 1. Immediately exit the plane.
-- 2. Only exit the plane once the defender is engaged. -- 2. Only exit the plane once the defender is engaged.
-- 3. Let the defender shoot you. -- 3. Let the defender shoot you.
-- In all these scenarios, observe if the defender is continuing its patrol. -- In all these scenarios, observe if the defender is continuing its patrol.
-- Define a SET_GROUP object that builds a collection of groups that define the EWR network. -- Define a SET_GROUP object that builds a collection of groups that define the EWR network.
-- Here we build the network with all the groups that have a name starting with DF CCCP AWACS and DF CCCP EWR. -- Here we build the network with all the groups that have a name starting with DF CCCP AWACS and DF CCCP EWR.
DetectionSetGroup = SET_GROUP:New() DetectionSetGroup = SET_GROUP:New()
DetectionSetGroup:FilterPrefixes( { "DF CCCP AWACS", "DF CCCP EWR" } ) DetectionSetGroup:FilterPrefixes( { "DF CCCP AWACS", "DF CCCP EWR" } )
DetectionSetGroup:FilterStart() DetectionSetGroup:FilterStart()
Detection = DETECTION_AREAS:New( DetectionSetGroup, 30000 ) Detection = DETECTION_AREAS:New( DetectionSetGroup, 30000 )
-- Setup the A2A dispatcher, and initialize it. -- Setup the A2A dispatcher, and initialize it.
A2ADispatcher = AI_A2A_DISPATCHER:New( Detection ) A2ADispatcher = AI_A2A_DISPATCHER:New( Detection )
A2ADispatcher:SetTacticalDisplay( true ) A2ADispatcher:SetTacticalDisplay( true )
-- Setup the squadrons. -- Setup the squadrons.
A2ADispatcher:SetSquadron( "Kras1", AIRBASE.Caucasus.Krasnodar_Pashkovsky, { "SQ CCCP SU-27" }, 20 ) A2ADispatcher:SetSquadron( "Kras1", AIRBASE.Caucasus.Krasnodar_Pashkovsky, { "SQ CCCP SU-27" }, 20 )
CAPZoneWest = ZONE_POLYGON:New( "CAP Zone West", GROUP:FindByName( "CAP Zone West" ) ) CAPZoneWest = ZONE_POLYGON:New( "CAP Zone West", GROUP:FindByName( "CAP Zone West" ) )
A2ADispatcher:SetSquadronCap( "Kras1", CAPZoneWest, 4000, 8000, 600, 800, 800, 1200, "BARO" ) A2ADispatcher:SetSquadronCap( "Kras1", CAPZoneWest, 4000, 8000, 600, 800, 800, 1200, "BARO" )
A2ADispatcher:SetSquadronCapInterval( "Kras1", 1, 30, 120, 1 ) A2ADispatcher:SetSquadronCapInterval( "Kras1", 1, 30, 120, 1 )
A2ADispatcher:SetDefaultTakeoffInAir() A2ADispatcher:SetDefaultTakeoffInAir()
A2ADispatcher:SetDefaultLandingNearAirbase() A2ADispatcher:SetDefaultLandingNearAirbase()

View File

@@ -1,37 +1,37 @@
--- ---
-- Name: AID-071 - AI_A2A - GCI - Player Exit -- Name: AID-071 - AI_A2A - GCI - Player Exit
-- Author: FlightControl -- Author: FlightControl
-- Date Created: 30 Oct 2017 -- Date Created: 30 Oct 2017
-- --
-- Test Scenario(s): -- Test Scenario(s):
-- --
-- Now take a seat in the client plane as a player. -- Now take a seat in the client plane as a player.
-- Do the following tests after the plane has been spawned. -- Do the following tests after the plane has been spawned.
-- 1. Immediately exit the plane. -- 1. Immediately exit the plane.
-- 2. Only exit the plane once the defender is engaged. -- 2. Only exit the plane once the defender is engaged.
-- 3. Let the defender shoot you. -- 3. Let the defender shoot you.
-- In all these scenarios, observe if the defender is returning to base. -- In all these scenarios, observe if the defender is returning to base.
-- Define a SET_GROUP object that builds a collection of groups that define the EWR network. -- Define a SET_GROUP object that builds a collection of groups that define the EWR network.
-- Here we build the network with all the groups that have a name starting with DF CCCP AWACS and DF CCCP EWR. -- Here we build the network with all the groups that have a name starting with DF CCCP AWACS and DF CCCP EWR.
DetectionSetGroup = SET_GROUP:New() DetectionSetGroup = SET_GROUP:New()
DetectionSetGroup:FilterPrefixes( { "DF CCCP AWACS", "DF CCCP EWR" } ) DetectionSetGroup:FilterPrefixes( { "DF CCCP AWACS", "DF CCCP EWR" } )
DetectionSetGroup:FilterStart() DetectionSetGroup:FilterStart()
Detection = DETECTION_AREAS:New( DetectionSetGroup, 30000 ) Detection = DETECTION_AREAS:New( DetectionSetGroup, 30000 )
-- Setup the A2A dispatcher, and initialize it. -- Setup the A2A dispatcher, and initialize it.
A2ADispatcher = AI_A2A_DISPATCHER:New( Detection ) A2ADispatcher = AI_A2A_DISPATCHER:New( Detection )
A2ADispatcher:SetTacticalDisplay( true ) A2ADispatcher:SetTacticalDisplay( true )
-- Setup the squadrons. -- Setup the squadrons.
A2ADispatcher:SetSquadron( "Kras1", AIRBASE.Caucasus.Krasnodar_Pashkovsky, { "SQ CCCP SU-27" }, 20 ) A2ADispatcher:SetSquadron( "Kras1", AIRBASE.Caucasus.Krasnodar_Pashkovsky, { "SQ CCCP SU-27" }, 20 )
A2ADispatcher:SetSquadronGci( "Kras1", 800, 1200 ) A2ADispatcher:SetSquadronGci( "Kras1", 800, 1200 )
A2ADispatcher:SetDefaultTakeoffInAir() A2ADispatcher:SetDefaultTakeoffInAir()
A2ADispatcher:SetDefaultLandingNearAirbase() A2ADispatcher:SetDefaultLandingNearAirbase()

View File

@@ -1,128 +1,128 @@
--- ---
-- Name: AID-A2A-100 - Demonstration -- Name: AID-A2A-100 - Demonstration
-- Author: FlightControl -- Author: FlightControl
-- Date Created: 30 May 2017 -- Date Created: 30 May 2017
-- Define a SET_GROUP object that builds a collection of groups that define the EWR network. -- Define a SET_GROUP object that builds a collection of groups that define the EWR network.
-- Here we build the network with all the groups that have a name starting with DF CCCP AWACS and DF CCCP EWR. -- Here we build the network with all the groups that have a name starting with DF CCCP AWACS and DF CCCP EWR.
DetectionSetGroup = SET_GROUP:New() DetectionSetGroup = SET_GROUP:New()
DetectionSetGroup:FilterPrefixes( { "DF CCCP AWACS", "DF CCCP EWR" } ) DetectionSetGroup:FilterPrefixes( { "DF CCCP AWACS", "DF CCCP EWR" } )
DetectionSetGroup:FilterStart() DetectionSetGroup:FilterStart()
Detection = DETECTION_AREAS:New( DetectionSetGroup, 30000 ) Detection = DETECTION_AREAS:New( DetectionSetGroup, 30000 )
-- Setup the A2A dispatcher, and initialize it. -- Setup the A2A dispatcher, and initialize it.
A2ADispatcher = AI_A2A_DISPATCHER:New( Detection ) A2ADispatcher = AI_A2A_DISPATCHER:New( Detection )
-- Enable the tactical display panel. -- Enable the tactical display panel.
A2ADispatcher:SetTacticalDisplay( true ) A2ADispatcher:SetTacticalDisplay( true )
-- Initialize the dispatcher, setting up a border zone. This is a polygon, -- Initialize the dispatcher, setting up a border zone. This is a polygon,
-- which takes the waypoints of a late activated group with the name CCCP Border as the boundaries of the border area. -- which takes the waypoints of a late activated group with the name CCCP Border as the boundaries of the border area.
-- Any enemy crossing this border will be engaged. -- Any enemy crossing this border will be engaged.
CCCPBorderZone = ZONE_POLYGON:New( "CCCP Border", GROUP:FindByName( "CCCP Border" ) ) CCCPBorderZone = ZONE_POLYGON:New( "CCCP Border", GROUP:FindByName( "CCCP Border" ) )
A2ADispatcher:SetBorderZone( CCCPBorderZone ) A2ADispatcher:SetBorderZone( CCCPBorderZone )
-- Initialize the dispatcher, setting up a radius of 100km where any airborne friendly -- Initialize the dispatcher, setting up a radius of 100km where any airborne friendly
-- without an assignment within 100km radius from a detected target, will engage that target. -- without an assignment within 100km radius from a detected target, will engage that target.
A2ADispatcher:SetEngageRadius( 120000 ) A2ADispatcher:SetEngageRadius( 120000 )
-- Setup the squadrons. -- Setup the squadrons.
A2ADispatcher:SetSquadron( "Mineralnye", AIRBASE.Caucasus.Mineralnye_Vody, { "SQ CCCP SU-27", "SQ CCCP SU-33", "SQ CCCP MIG-23MLD", "SQ CCCP MIG-25PD" }, 16 ) A2ADispatcher:SetSquadron( "Mineralnye", AIRBASE.Caucasus.Mineralnye_Vody, { "SQ CCCP SU-27", "SQ CCCP SU-33", "SQ CCCP MIG-23MLD", "SQ CCCP MIG-25PD" }, 16 )
A2ADispatcher:SetSquadron( "Maykop", AIRBASE.Caucasus.Maykop_Khanskaya, { "SQ CCCP MIG-31" }, 20 ) A2ADispatcher:SetSquadron( "Maykop", AIRBASE.Caucasus.Maykop_Khanskaya, { "SQ CCCP MIG-31" }, 20 )
A2ADispatcher:SetSquadron( "Mozdok", AIRBASE.Caucasus.Mozdok, { "SQ CCCP MIG-31" }, 16 ) A2ADispatcher:SetSquadron( "Mozdok", AIRBASE.Caucasus.Mozdok, { "SQ CCCP MIG-31" }, 16 )
A2ADispatcher:SetSquadron( "Sochi", AIRBASE.Caucasus.Sochi_Adler, { "SQ CCCP SU-27", "SQ CCCP SU-33", "SQ CCCP MIG-23MLD", "SQ CCCP MIG-25PD", "SQ CCCP SU-34", "SQ CCCP MIG-31", "SQ CCCP MIG-29S" }, 40 ) A2ADispatcher:SetSquadron( "Sochi", AIRBASE.Caucasus.Sochi_Adler, { "SQ CCCP SU-27", "SQ CCCP SU-33", "SQ CCCP MIG-23MLD", "SQ CCCP MIG-25PD", "SQ CCCP SU-34", "SQ CCCP MIG-31", "SQ CCCP MIG-29S" }, 40 )
A2ADispatcher:SetSquadron( "Novo", AIRBASE.Caucasus.Novorossiysk, { "SQ CCCP SU-27" }, 16 ) A2ADispatcher:SetSquadron( "Novo", AIRBASE.Caucasus.Novorossiysk, { "SQ CCCP SU-27" }, 16 )
-- Setup the overhead -- Setup the overhead
A2ADispatcher:SetSquadronOverhead( "Mineralnye", 1.2 ) A2ADispatcher:SetSquadronOverhead( "Mineralnye", 1.2 )
A2ADispatcher:SetSquadronOverhead( "Maykop", 1 ) A2ADispatcher:SetSquadronOverhead( "Maykop", 1 )
A2ADispatcher:SetSquadronOverhead( "Mozdok", 1 ) A2ADispatcher:SetSquadronOverhead( "Mozdok", 1 )
A2ADispatcher:SetSquadronOverhead( "Sochi", 2 ) A2ADispatcher:SetSquadronOverhead( "Sochi", 2 )
A2ADispatcher:SetSquadronOverhead( "Novo", 1.5 ) A2ADispatcher:SetSquadronOverhead( "Novo", 1.5 )
-- Setup the Grouping -- Setup the Grouping
A2ADispatcher:SetSquadronGrouping( "Mineralnye", 4 ) A2ADispatcher:SetSquadronGrouping( "Mineralnye", 4 )
A2ADispatcher:SetSquadronGrouping( "Sochi", 2 ) A2ADispatcher:SetSquadronGrouping( "Sochi", 2 )
A2ADispatcher:SetSquadronGrouping( "Novo", 3 ) A2ADispatcher:SetSquadronGrouping( "Novo", 3 )
-- Setup the Takeoff methods -- Setup the Takeoff methods
A2ADispatcher:SetSquadronTakeoff( "Mineralnye", AI_A2A_DISPATCHER.Takeoff.Hot ) A2ADispatcher:SetSquadronTakeoff( "Mineralnye", AI_A2A_DISPATCHER.Takeoff.Hot )
A2ADispatcher:SetSquadronTakeoffFromParkingHot( "Sochi" ) A2ADispatcher:SetSquadronTakeoffFromParkingHot( "Sochi" )
A2ADispatcher:SetSquadronTakeoffFromRunway( "Mozdok" ) A2ADispatcher:SetSquadronTakeoffFromRunway( "Mozdok" )
A2ADispatcher:SetSquadronTakeoffFromParkingCold( "Maykop" ) A2ADispatcher:SetSquadronTakeoffFromParkingCold( "Maykop" )
A2ADispatcher:SetSquadronTakeoffFromParkingHot( "Novo" ) A2ADispatcher:SetSquadronTakeoffFromParkingHot( "Novo" )
-- Setup the Landing methods -- Setup the Landing methods
A2ADispatcher:SetSquadronLandingAtRunway( "Mineralnye" ) A2ADispatcher:SetSquadronLandingAtRunway( "Mineralnye" )
A2ADispatcher:SetSquadronLandingNearAirbase( "Sochi" ) A2ADispatcher:SetSquadronLandingNearAirbase( "Sochi" )
A2ADispatcher:SetSquadronLandingAtEngineShutdown( "Mozdok" ) A2ADispatcher:SetSquadronLandingAtEngineShutdown( "Mozdok" )
A2ADispatcher:SetSquadronLandingNearAirbase( "Maykop" ) A2ADispatcher:SetSquadronLandingNearAirbase( "Maykop" )
A2ADispatcher:SetSquadronLanding( "Novo", AI_A2A_DISPATCHER.Landing.AtRunway ) A2ADispatcher:SetSquadronLanding( "Novo", AI_A2A_DISPATCHER.Landing.AtRunway )
-- CAP Squadron execution. -- CAP Squadron execution.
CAPZoneEast = ZONE_POLYGON:New( "CAP Zone East", GROUP:FindByName( "CAP Zone East" ) ) CAPZoneEast = ZONE_POLYGON:New( "CAP Zone East", GROUP:FindByName( "CAP Zone East" ) )
A2ADispatcher:SetSquadronCap( "Mineralnye", CAPZoneEast, 4000, 10000, 500, 600, 800, 900 ) A2ADispatcher:SetSquadronCap( "Mineralnye", CAPZoneEast, 4000, 10000, 500, 600, 800, 900 )
A2ADispatcher:SetSquadronCapInterval( "Mineralnye", 6, 30, 60, 1 ) A2ADispatcher:SetSquadronCapInterval( "Mineralnye", 6, 30, 60, 1 )
CAPZoneWest = ZONE_POLYGON:New( "CAP Zone West", GROUP:FindByName( "CAP Zone West" ) ) CAPZoneWest = ZONE_POLYGON:New( "CAP Zone West", GROUP:FindByName( "CAP Zone West" ) )
A2ADispatcher:SetSquadronCap( "Sochi", CAPZoneWest, 4000, 8000, 600, 800, 800, 1200, "BARO" ) A2ADispatcher:SetSquadronCap( "Sochi", CAPZoneWest, 4000, 8000, 600, 800, 800, 1200, "BARO" )
A2ADispatcher:SetSquadronCapInterval( "Sochi", 2, 30, 120, 1 ) A2ADispatcher:SetSquadronCapInterval( "Sochi", 2, 30, 120, 1 )
CAPZoneMiddle = ZONE:New( "CAP Zone Middle") CAPZoneMiddle = ZONE:New( "CAP Zone Middle")
A2ADispatcher:SetSquadronCap( "Maykop", CAPZoneMiddle, 4000, 8000, 600, 800, 800, 1200, "RADIO" ) A2ADispatcher:SetSquadronCap( "Maykop", CAPZoneMiddle, 4000, 8000, 600, 800, 800, 1200, "RADIO" )
A2ADispatcher:SetSquadronCapInterval( "Sochi", 2, 30, 120, 1 ) A2ADispatcher:SetSquadronCapInterval( "Sochi", 2, 30, 120, 1 )
-- GCI Squadron execution. -- GCI Squadron execution.
A2ADispatcher:SetSquadronGci( "Mozdok", 900, 1200 ) A2ADispatcher:SetSquadronGci( "Mozdok", 900, 1200 )
A2ADispatcher:SetSquadronGci( "Novo", 900, 2100 ) A2ADispatcher:SetSquadronGci( "Novo", 900, 2100 )
A2ADispatcher:SetSquadronGci( "Maykop", 900, 1200 ) A2ADispatcher:SetSquadronGci( "Maykop", 900, 1200 )
-- Set the squadrons visible before startup. -- Set the squadrons visible before startup.
A2ADispatcher:SetSquadronVisible( "Mineralnye" ) A2ADispatcher:SetSquadronVisible( "Mineralnye" )
A2ADispatcher:SetSquadronVisible( "Sochi" ) A2ADispatcher:SetSquadronVisible( "Sochi" )
A2ADispatcher:SetSquadronVisible( "Mozdok" ) A2ADispatcher:SetSquadronVisible( "Mozdok" )
A2ADispatcher:SetSquadronVisible( "Maykop" ) A2ADispatcher:SetSquadronVisible( "Maykop" )
--A2ADispatcher:SetSquadronVisible( "Novo" ) --A2ADispatcher:SetSquadronVisible( "Novo" )
--CleanUp = CLEANUP_AIRBASE:New( { AIRBASE.Caucasus.Novorossiysk } ) --CleanUp = CLEANUP_AIRBASE:New( { AIRBASE.Caucasus.Novorossiysk } )
-- Blue attack simulation -- Blue attack simulation
local Frequency = 300 local Frequency = 300
BlueSpawn1 = SPAWN BlueSpawn1 = SPAWN
:New( "RT NATO 1" ) :New( "RT NATO 1" )
:InitLimit( 2, 10 ) :InitLimit( 2, 10 )
:InitRandomizeTemplate( { "SQ NATO A-10C", "SQ NATO F-15C", "SQ NATO F-16A", "SQ NATO F/A-18", "SQ NATO F-16C" } ) :InitRandomizeTemplate( { "SQ NATO A-10C", "SQ NATO F-15C", "SQ NATO F-16A", "SQ NATO F/A-18", "SQ NATO F-16C" } )
:InitRandomizeRoute( 0, 0, 30000 ) :InitRandomizeRoute( 0, 0, 30000 )
--:InitDelayOn() --:InitDelayOn()
:SpawnScheduled( Frequency, 0.4 ) :SpawnScheduled( Frequency, 0.4 )
BlueSpawn2 = SPAWN BlueSpawn2 = SPAWN
:New( "RT NATO 2" ) :New( "RT NATO 2" )
:InitLimit( 2, 10 ) :InitLimit( 2, 10 )
:InitRandomizeTemplate( { "SQ NATO A-10C", "SQ NATO F-15C", "SQ NATO F-16A", "SQ NATO F/A-18", "SQ NATO F-16C" } ) :InitRandomizeTemplate( { "SQ NATO A-10C", "SQ NATO F-15C", "SQ NATO F-16A", "SQ NATO F/A-18", "SQ NATO F-16C" } )
:InitRandomizeRoute( 0, 0, 30000 ) :InitRandomizeRoute( 0, 0, 30000 )
--:InitDelayOn() --:InitDelayOn()
:SpawnScheduled( Frequency, 0.4 ) :SpawnScheduled( Frequency, 0.4 )
BlueSpawn3 = SPAWN BlueSpawn3 = SPAWN
:New( "RT NATO 3" ) :New( "RT NATO 3" )
:InitLimit( 2, 10 ) :InitLimit( 2, 10 )
:InitRandomizeTemplate( { "SQ NATO A-10C", "SQ NATO F-15C", "SQ NATO F-16A", "SQ NATO F/A-18", "SQ NATO F-16C" } ) :InitRandomizeTemplate( { "SQ NATO A-10C", "SQ NATO F-15C", "SQ NATO F-16A", "SQ NATO F/A-18", "SQ NATO F-16C" } )
:InitRandomizeRoute( 0, 0, 30000 ) :InitRandomizeRoute( 0, 0, 30000 )
--:InitDelayOn() --:InitDelayOn()
:SpawnScheduled( Frequency, 0.4 ) :SpawnScheduled( Frequency, 0.4 )
BlueSpawn4 = SPAWN BlueSpawn4 = SPAWN
:New( "RT NATO 4" ) :New( "RT NATO 4" )
:InitLimit( 2, 10 ) :InitLimit( 2, 10 )
:InitRandomizeTemplate( { "SQ NATO A-10C", "SQ NATO F-15C", "SQ NATO F-16A", "SQ NATO F/A-18", "SQ NATO F-16C" } ) :InitRandomizeTemplate( { "SQ NATO A-10C", "SQ NATO F-15C", "SQ NATO F-16A", "SQ NATO F/A-18", "SQ NATO F-16C" } )
:InitRandomizeRoute( 0, 0, 30000 ) :InitRandomizeRoute( 0, 0, 30000 )
--:InitDelayOn() --:InitDelayOn()
:SpawnScheduled( Frequency, 0.4 ) :SpawnScheduled( Frequency, 0.4 )

View File

@@ -1,131 +1,131 @@
--- ---
-- Name: AID-A2A-100 - Demonstration -- Name: AID-A2A-100 - Demonstration
-- Author: FlightControl -- Author: FlightControl
-- Date Created: 30 May 2017 -- Date Created: 30 May 2017
local CommandCenter = COMMANDCENTER:New( GROUP:FindByName( "HQ" ), "HQ" ) local CommandCenter = COMMANDCENTER:New( GROUP:FindByName( "HQ" ), "HQ" )
-- Define a SET_GROUP object that builds a collection of groups that define the EWR network. -- Define a SET_GROUP object that builds a collection of groups that define the EWR network.
-- Here we build the network with all the groups that have a name starting with DF CCCP AWACS and DF CCCP EWR. -- Here we build the network with all the groups that have a name starting with DF CCCP AWACS and DF CCCP EWR.
DetectionSetGroup = SET_GROUP:New() DetectionSetGroup = SET_GROUP:New()
DetectionSetGroup:FilterPrefixes( { "DF CCCP AWACS", "DF CCCP EWR" } ) DetectionSetGroup:FilterPrefixes( { "DF CCCP AWACS", "DF CCCP EWR" } )
DetectionSetGroup:FilterStart() DetectionSetGroup:FilterStart()
Detection = DETECTION_AREAS:New( DetectionSetGroup, 30000 ) Detection = DETECTION_AREAS:New( DetectionSetGroup, 30000 )
-- Setup the A2A dispatcher, and initialize it. -- Setup the A2A dispatcher, and initialize it.
A2ADispatcher = AI_A2A_DISPATCHER:New( Detection ) A2ADispatcher = AI_A2A_DISPATCHER:New( Detection )
A2ADispatcher:SetCommandCenter(CommandCenter) A2ADispatcher:SetCommandCenter(CommandCenter)
-- Enable the tactical display panel. -- Enable the tactical display panel.
A2ADispatcher:SetTacticalDisplay( true ) A2ADispatcher:SetTacticalDisplay( true )
-- Initialize the dispatcher, setting up a border zone. This is a polygon, -- Initialize the dispatcher, setting up a border zone. This is a polygon,
-- which takes the waypoints of a late activated group with the name CCCP Border as the boundaries of the border area. -- which takes the waypoints of a late activated group with the name CCCP Border as the boundaries of the border area.
-- Any enemy crossing this border will be engaged. -- Any enemy crossing this border will be engaged.
CCCPBorderZone = ZONE_POLYGON:New( "CCCP Border", GROUP:FindByName( "CCCP Border" ) ) CCCPBorderZone = ZONE_POLYGON:New( "CCCP Border", GROUP:FindByName( "CCCP Border" ) )
A2ADispatcher:SetBorderZone( CCCPBorderZone ) A2ADispatcher:SetBorderZone( CCCPBorderZone )
-- Initialize the dispatcher, setting up a radius of 100km where any airborne friendly -- Initialize the dispatcher, setting up a radius of 100km where any airborne friendly
-- without an assignment within 100km radius from a detected target, will engage that target. -- without an assignment within 100km radius from a detected target, will engage that target.
A2ADispatcher:SetEngageRadius( 120000 ) A2ADispatcher:SetEngageRadius( 120000 )
-- Setup the squadrons. -- Setup the squadrons.
A2ADispatcher:SetSquadron( "Mineralnye", AIRBASE.Caucasus.Mineralnye_Vody, { "SQ CCCP SU-27", "SQ CCCP SU-33", "SQ CCCP MIG-23MLD", "SQ CCCP MIG-25PD" }, 16 ) A2ADispatcher:SetSquadron( "Mineralnye", AIRBASE.Caucasus.Mineralnye_Vody, { "SQ CCCP SU-27", "SQ CCCP SU-33", "SQ CCCP MIG-23MLD", "SQ CCCP MIG-25PD" }, 16 )
A2ADispatcher:SetSquadron( "Maykop", AIRBASE.Caucasus.Maykop_Khanskaya, { "SQ CCCP MIG-31" }, 20 ) A2ADispatcher:SetSquadron( "Maykop", AIRBASE.Caucasus.Maykop_Khanskaya, { "SQ CCCP MIG-31" }, 20 )
A2ADispatcher:SetSquadron( "Mozdok", AIRBASE.Caucasus.Mozdok, { "SQ CCCP MIG-31" }, 16 ) A2ADispatcher:SetSquadron( "Mozdok", AIRBASE.Caucasus.Mozdok, { "SQ CCCP MIG-31" }, 16 )
A2ADispatcher:SetSquadron( "Sochi", AIRBASE.Caucasus.Sochi_Adler, { "SQ CCCP SU-27", "SQ CCCP SU-33", "SQ CCCP MIG-23MLD", "SQ CCCP MIG-25PD", "SQ CCCP SU-34", "SQ CCCP MIG-31", "SQ CCCP MIG-29S" }, 40 ) A2ADispatcher:SetSquadron( "Sochi", AIRBASE.Caucasus.Sochi_Adler, { "SQ CCCP SU-27", "SQ CCCP SU-33", "SQ CCCP MIG-23MLD", "SQ CCCP MIG-25PD", "SQ CCCP SU-34", "SQ CCCP MIG-31", "SQ CCCP MIG-29S" }, 40 )
A2ADispatcher:SetSquadron( "Novo", AIRBASE.Caucasus.Novorossiysk, { "SQ CCCP SU-27" }, 16 ) A2ADispatcher:SetSquadron( "Novo", AIRBASE.Caucasus.Novorossiysk, { "SQ CCCP SU-27" }, 16 )
-- Setup the overhead -- Setup the overhead
A2ADispatcher:SetSquadronOverhead( "Mineralnye", 1.2 ) A2ADispatcher:SetSquadronOverhead( "Mineralnye", 1.2 )
A2ADispatcher:SetSquadronOverhead( "Maykop", 1 ) A2ADispatcher:SetSquadronOverhead( "Maykop", 1 )
A2ADispatcher:SetSquadronOverhead( "Mozdok", 1 ) A2ADispatcher:SetSquadronOverhead( "Mozdok", 1 )
A2ADispatcher:SetSquadronOverhead( "Sochi", 2 ) A2ADispatcher:SetSquadronOverhead( "Sochi", 2 )
A2ADispatcher:SetSquadronOverhead( "Novo", 1.5 ) A2ADispatcher:SetSquadronOverhead( "Novo", 1.5 )
-- Setup the Grouping -- Setup the Grouping
A2ADispatcher:SetSquadronGrouping( "Mineralnye", 4 ) A2ADispatcher:SetSquadronGrouping( "Mineralnye", 4 )
A2ADispatcher:SetSquadronGrouping( "Sochi", 2 ) A2ADispatcher:SetSquadronGrouping( "Sochi", 2 )
A2ADispatcher:SetSquadronGrouping( "Novo", 3 ) A2ADispatcher:SetSquadronGrouping( "Novo", 3 )
-- Setup the Takeoff methods -- Setup the Takeoff methods
A2ADispatcher:SetSquadronTakeoff( "Mineralnye", AI_A2A_DISPATCHER.Takeoff.Hot ) A2ADispatcher:SetSquadronTakeoff( "Mineralnye", AI_A2A_DISPATCHER.Takeoff.Hot )
A2ADispatcher:SetSquadronTakeoffFromParkingHot( "Sochi" ) A2ADispatcher:SetSquadronTakeoffFromParkingHot( "Sochi" )
A2ADispatcher:SetSquadronTakeoffFromRunway( "Mozdok" ) A2ADispatcher:SetSquadronTakeoffFromRunway( "Mozdok" )
A2ADispatcher:SetSquadronTakeoffFromParkingCold( "Maykop" ) A2ADispatcher:SetSquadronTakeoffFromParkingCold( "Maykop" )
A2ADispatcher:SetSquadronTakeoffFromParkingHot( "Novo" ) A2ADispatcher:SetSquadronTakeoffFromParkingHot( "Novo" )
-- Setup the Landing methods -- Setup the Landing methods
A2ADispatcher:SetSquadronLandingAtRunway( "Mineralnye" ) A2ADispatcher:SetSquadronLandingAtRunway( "Mineralnye" )
A2ADispatcher:SetSquadronLandingNearAirbase( "Sochi" ) A2ADispatcher:SetSquadronLandingNearAirbase( "Sochi" )
A2ADispatcher:SetSquadronLandingAtEngineShutdown( "Mozdok" ) A2ADispatcher:SetSquadronLandingAtEngineShutdown( "Mozdok" )
A2ADispatcher:SetSquadronLandingNearAirbase( "Maykop" ) A2ADispatcher:SetSquadronLandingNearAirbase( "Maykop" )
A2ADispatcher:SetSquadronLanding( "Novo", AI_A2A_DISPATCHER.Landing.AtRunway ) A2ADispatcher:SetSquadronLanding( "Novo", AI_A2A_DISPATCHER.Landing.AtRunway )
-- CAP Squadron execution. -- CAP Squadron execution.
--CAPZoneEast = ZONE_POLYGON:New( "CAP Zone East", GROUP:FindByName( "CAP Zone East" ) ) --CAPZoneEast = ZONE_POLYGON:New( "CAP Zone East", GROUP:FindByName( "CAP Zone East" ) )
--A2ADispatcher:SetSquadronCap( "Mineralnye", CAPZoneEast, 4000, 10000, 500, 600, 800, 900 ) --A2ADispatcher:SetSquadronCap( "Mineralnye", CAPZoneEast, 4000, 10000, 500, 600, 800, 900 )
--A2ADispatcher:SetSquadronCapInterval( "Mineralnye", 6, 30, 60, 1 ) --A2ADispatcher:SetSquadronCapInterval( "Mineralnye", 6, 30, 60, 1 )
--CAPZoneWest = ZONE_POLYGON:New( "CAP Zone West", GROUP:FindByName( "CAP Zone West" ) ) --CAPZoneWest = ZONE_POLYGON:New( "CAP Zone West", GROUP:FindByName( "CAP Zone West" ) )
--A2ADispatcher:SetSquadronCap( "Sochi", CAPZoneWest, 4000, 8000, 600, 800, 800, 1200, "BARO" ) --A2ADispatcher:SetSquadronCap( "Sochi", CAPZoneWest, 4000, 8000, 600, 800, 800, 1200, "BARO" )
--A2ADispatcher:SetSquadronCapInterval( "Sochi", 2, 30, 120, 1 ) --A2ADispatcher:SetSquadronCapInterval( "Sochi", 2, 30, 120, 1 )
--CAPZoneMiddle = ZONE:New( "CAP Zone Middle") --CAPZoneMiddle = ZONE:New( "CAP Zone Middle")
--A2ADispatcher:SetSquadronCap( "Maykop", CAPZoneMiddle, 4000, 8000, 600, 800, 800, 1200, "RADIO" ) --A2ADispatcher:SetSquadronCap( "Maykop", CAPZoneMiddle, 4000, 8000, 600, 800, 800, 1200, "RADIO" )
--A2ADispatcher:SetSquadronCapInterval( "Sochi", 2, 30, 120, 1 ) --A2ADispatcher:SetSquadronCapInterval( "Sochi", 2, 30, 120, 1 )
-- GCI Squadron execution. -- GCI Squadron execution.
A2ADispatcher:SetSquadronGci( "Mozdok", 900, 1200 ) A2ADispatcher:SetSquadronGci( "Mozdok", 900, 1200 )
A2ADispatcher:SetSquadronGci( "Novo", 900, 2100 ) A2ADispatcher:SetSquadronGci( "Novo", 900, 2100 )
A2ADispatcher:SetSquadronGci( "Maykop", 900, 1200 ) A2ADispatcher:SetSquadronGci( "Maykop", 900, 1200 )
-- Set the squadrons visible before startup. -- Set the squadrons visible before startup.
--A2ADispatcher:SetSquadronVisible( "Mineralnye" ) --A2ADispatcher:SetSquadronVisible( "Mineralnye" )
--A2ADispatcher:SetSquadronVisible( "Sochi" ) --A2ADispatcher:SetSquadronVisible( "Sochi" )
--A2ADispatcher:SetSquadronVisible( "Mozdok" ) --A2ADispatcher:SetSquadronVisible( "Mozdok" )
--A2ADispatcher:SetSquadronVisible( "Maykop" ) --A2ADispatcher:SetSquadronVisible( "Maykop" )
--A2ADispatcher:SetSquadronVisible( "Novo" ) --A2ADispatcher:SetSquadronVisible( "Novo" )
--CleanUp = CLEANUP_AIRBASE:New( { AIRBASE.Caucasus.Novorossiysk } ) --CleanUp = CLEANUP_AIRBASE:New( { AIRBASE.Caucasus.Novorossiysk } )
-- Blue attack simulation -- Blue attack simulation
local Frequency = 300 local Frequency = 300
BlueSpawn1 = SPAWN BlueSpawn1 = SPAWN
:New( "RT NATO 1" ) :New( "RT NATO 1" )
:InitLimit( 2, 10 ) :InitLimit( 2, 10 )
:InitRandomizeTemplate( { "SQ NATO A-10C", "SQ NATO F-15C", "SQ NATO F-16A", "SQ NATO F/A-18", "SQ NATO F-16C" } ) :InitRandomizeTemplate( { "SQ NATO A-10C", "SQ NATO F-15C", "SQ NATO F-16A", "SQ NATO F/A-18", "SQ NATO F-16C" } )
:InitRandomizeRoute( 0, 0, 30000 ) :InitRandomizeRoute( 0, 0, 30000 )
--:InitDelayOn() --:InitDelayOn()
:SpawnScheduled( Frequency, 0.4 ) :SpawnScheduled( Frequency, 0.4 )
BlueSpawn2 = SPAWN BlueSpawn2 = SPAWN
:New( "RT NATO 2" ) :New( "RT NATO 2" )
:InitLimit( 2, 10 ) :InitLimit( 2, 10 )
:InitRandomizeTemplate( { "SQ NATO A-10C", "SQ NATO F-15C", "SQ NATO F-16A", "SQ NATO F/A-18", "SQ NATO F-16C" } ) :InitRandomizeTemplate( { "SQ NATO A-10C", "SQ NATO F-15C", "SQ NATO F-16A", "SQ NATO F/A-18", "SQ NATO F-16C" } )
:InitRandomizeRoute( 0, 0, 30000 ) :InitRandomizeRoute( 0, 0, 30000 )
--:InitDelayOn() --:InitDelayOn()
:SpawnScheduled( Frequency, 0.4 ) :SpawnScheduled( Frequency, 0.4 )
BlueSpawn3 = SPAWN BlueSpawn3 = SPAWN
:New( "RT NATO 3" ) :New( "RT NATO 3" )
:InitLimit( 2, 10 ) :InitLimit( 2, 10 )
:InitRandomizeTemplate( { "SQ NATO A-10C", "SQ NATO F-15C", "SQ NATO F-16A", "SQ NATO F/A-18", "SQ NATO F-16C" } ) :InitRandomizeTemplate( { "SQ NATO A-10C", "SQ NATO F-15C", "SQ NATO F-16A", "SQ NATO F/A-18", "SQ NATO F-16C" } )
:InitRandomizeRoute( 0, 0, 30000 ) :InitRandomizeRoute( 0, 0, 30000 )
--:InitDelayOn() --:InitDelayOn()
:SpawnScheduled( Frequency, 0.4 ) :SpawnScheduled( Frequency, 0.4 )
BlueSpawn4 = SPAWN BlueSpawn4 = SPAWN
:New( "RT NATO 4" ) :New( "RT NATO 4" )
:InitLimit( 2, 10 ) :InitLimit( 2, 10 )
:InitRandomizeTemplate( { "SQ NATO A-10C", "SQ NATO F-15C", "SQ NATO F-16A", "SQ NATO F/A-18", "SQ NATO F-16C" } ) :InitRandomizeTemplate( { "SQ NATO A-10C", "SQ NATO F-15C", "SQ NATO F-16A", "SQ NATO F/A-18", "SQ NATO F-16C" } )
:InitRandomizeRoute( 0, 0, 30000 ) :InitRandomizeRoute( 0, 0, 30000 )
--:InitDelayOn() --:InitDelayOn()
:SpawnScheduled( Frequency, 0.4 ) :SpawnScheduled( Frequency, 0.4 )

View File

@@ -1,75 +1,75 @@
--- ---
-- Name: AID-A2A-200 - GCICAP Demonstration -- Name: AID-A2A-200 - GCICAP Demonstration
-- Author: FlightControl -- Author: FlightControl
-- Date Created: 05 July 2017 -- Date Created: 05 July 2017
-- Setup the A2A dispatcher, and initialize it. -- Setup the A2A dispatcher, and initialize it.
A2ADispatcher = AI_A2A_GCICAP:New( { "DF CCCP" }, { "SQ CCCP" }, { "CAP Zone" }, 2 ) A2ADispatcher = AI_A2A_GCICAP:New( { "DF CCCP" }, { "SQ CCCP" }, { "CAP Zone" }, 2 )
-- Enable the tactical display panel. -- Enable the tactical display panel.
A2ADispatcher:SetTacticalDisplay( true ) A2ADispatcher:SetTacticalDisplay( true )
-- Initialize the dispatcher, setting up a border zone. This is a polygon, -- Initialize the dispatcher, setting up a border zone. This is a polygon,
-- which takes the waypoints of a late activated group with the name CCCP Border as the boundaries of the border area. -- which takes the waypoints of a late activated group with the name CCCP Border as the boundaries of the border area.
-- Any enemy crossing this border will be engaged. -- Any enemy crossing this border will be engaged.
CCCPBorderZone = ZONE_POLYGON:New( "CCCP Border", GROUP:FindByName( "CCCP Border" ) ) CCCPBorderZone = ZONE_POLYGON:New( "CCCP Border", GROUP:FindByName( "CCCP Border" ) )
A2ADispatcher:SetBorderZone( CCCPBorderZone ) A2ADispatcher:SetBorderZone( CCCPBorderZone )
A2ADispatcher:SetDefaultTakeoffFromParkingCold() A2ADispatcher:SetDefaultTakeoffFromParkingCold()
A2ADispatcher:SetDefaultLandingAtEngineShutdown() A2ADispatcher:SetDefaultLandingAtEngineShutdown()
A2ADispatcher:SetDefaultFuelThreshold( 0.20 ) A2ADispatcher:SetDefaultFuelThreshold( 0.20 )
A2ADispatcher:SetIntercept( 100 ) A2ADispatcher:SetIntercept( 100 )
A2ADispatcher:SetDisengageRadius( 100000 ) A2ADispatcher:SetDisengageRadius( 100000 )
A2ADispatcher:SetEngageRadius( 50000 ) A2ADispatcher:SetEngageRadius( 50000 )
A2ADispatcher:SetGciRadius( 100000 ) A2ADispatcher:SetGciRadius( 100000 )
A2ADispatcher:Start() A2ADispatcher:Start()
------------------------------- -------------------------------
-- Blue attack simulation -- Blue attack simulation
local Frequency = 600 local Frequency = 600
BlueSpawn1 = SPAWN BlueSpawn1 = SPAWN
:New( "RT NATO 1" ) :New( "RT NATO 1" )
:InitLimit( 2, 3 ) :InitLimit( 2, 3 )
:InitRandomizeTemplate( { "SQ NATO A-10C", "SQ NATO F-15C", "SQ NATO F-16A", "SQ NATO F/A-18", "SQ NATO F-16C" } ) :InitRandomizeTemplate( { "SQ NATO A-10C", "SQ NATO F-15C", "SQ NATO F-16A", "SQ NATO F/A-18", "SQ NATO F-16C" } )
:InitRandomizeRoute( 0, 0, 30000 ) :InitRandomizeRoute( 0, 0, 30000 )
--:InitDelayOn() --:InitDelayOn()
:SpawnScheduled( Frequency, 0.4 ) :SpawnScheduled( Frequency, 0.4 )
BlueSpawn2 = SPAWN BlueSpawn2 = SPAWN
:New( "RT NATO 2" ) :New( "RT NATO 2" )
:InitLimit( 2, 3 ) :InitLimit( 2, 3 )
:InitRandomizeTemplate( { "SQ NATO A-10C", "SQ NATO F-15C", "SQ NATO F-16A", "SQ NATO F/A-18", "SQ NATO F-16C" } ) :InitRandomizeTemplate( { "SQ NATO A-10C", "SQ NATO F-15C", "SQ NATO F-16A", "SQ NATO F/A-18", "SQ NATO F-16C" } )
:InitRandomizeRoute( 0, 0, 30000 ) :InitRandomizeRoute( 0, 0, 30000 )
--:InitDelayOn() --:InitDelayOn()
:SpawnScheduled( Frequency, 0.4 ) :SpawnScheduled( Frequency, 0.4 )
BlueSpawn3 = SPAWN BlueSpawn3 = SPAWN
:New( "RT NATO 3" ) :New( "RT NATO 3" )
:InitLimit( 2, 3 ) :InitLimit( 2, 3 )
:InitRandomizeTemplate( { "SQ NATO A-10C", "SQ NATO F-15C", "SQ NATO F-16A", "SQ NATO F/A-18", "SQ NATO F-16C" } ) :InitRandomizeTemplate( { "SQ NATO A-10C", "SQ NATO F-15C", "SQ NATO F-16A", "SQ NATO F/A-18", "SQ NATO F-16C" } )
:InitRandomizeRoute( 0, 0, 30000 ) :InitRandomizeRoute( 0, 0, 30000 )
--:InitDelayOn() --:InitDelayOn()
:SpawnScheduled( Frequency, 0.4 ) :SpawnScheduled( Frequency, 0.4 )
BlueSpawn4 = SPAWN BlueSpawn4 = SPAWN
:New( "RT NATO 4" ) :New( "RT NATO 4" )
:InitLimit( 2, 3 ) :InitLimit( 2, 3 )
:InitRandomizeTemplate( { "SQ NATO A-10C", "SQ NATO F-15C", "SQ NATO F-16A", "SQ NATO F/A-18", "SQ NATO F-16C" } ) :InitRandomizeTemplate( { "SQ NATO A-10C", "SQ NATO F-15C", "SQ NATO F-16A", "SQ NATO F/A-18", "SQ NATO F-16C" } )
:InitRandomizeRoute( 0, 0, 30000 ) :InitRandomizeRoute( 0, 0, 30000 )
--:InitDelayOn() --:InitDelayOn()
:SpawnScheduled( Frequency, 0.4 ) :SpawnScheduled( Frequency, 0.4 )

View File

@@ -1,54 +1,54 @@
-- RED -- RED
--- Setup the Red Coalition A2A GCICAP dispatcher, and initialize it. --- Setup the Red Coalition A2A GCICAP dispatcher, and initialize it.
A2A_GCICAP_Red = AI_A2A_GCICAP:New( { "RED EWR" }, { "4477th" }, { }, 2 ) A2A_GCICAP_Red = AI_A2A_GCICAP:New( { "RED EWR" }, { "4477th" }, { }, 2 )
A2A_GCICAP_Red:SetBorderZone( ZONE_POLYGON:New( "Red Border", GROUP:FindByName( "Red Border" ) ) ) A2A_GCICAP_Red:SetBorderZone( ZONE_POLYGON:New( "Red Border", GROUP:FindByName( "Red Border" ) ) )
-- Enable the tactical display panel. This is to see what this dispatcher is doing. -- Enable the tactical display panel. This is to see what this dispatcher is doing.
--A2A_GCICAP_Red:SetTacticalDisplay( true ) --A2A_GCICAP_Red:SetTacticalDisplay( true )
-- Initialize the dispatcher, setting up a radius of 150km where any airborne friendly -- Initialize the dispatcher, setting up a radius of 150km where any airborne friendly
-- without an assignment within 150km radius from a detected target, will engage that target. -- without an assignment within 150km radius from a detected target, will engage that target.
A2A_GCICAP_Red:SetEngageRadius( 150000 ) A2A_GCICAP_Red:SetEngageRadius( 150000 )
-- The default take-off method is planes takeoff right in the air. -- The default take-off method is planes takeoff right in the air.
-- Here we specify to take off from a parking space, with engines already running. -- Here we specify to take off from a parking space, with engines already running.
A2A_GCICAP_Red:SetSquadronTakeoffFromParkingHot( AIRBASE.Nevada.Tonopah_Test_Range_Airfield ) A2A_GCICAP_Red:SetSquadronTakeoffFromParkingHot( AIRBASE.Nevada.Tonopah_Test_Range_Airfield )
--A2A_GCICAP_Red:SetSquadronTakeoffFromParkingHot( "Groom Lake AFB" ) --A2A_GCICAP_Red:SetSquadronTakeoffFromParkingHot( "Groom Lake AFB" )
-- BLUE -- BLUE
--- Setup the Red Coalition A2A GCICAP dispatcher, and initialize it. --- Setup the Red Coalition A2A GCICAP dispatcher, and initialize it.
-- EWR network groups start with BLUE EWR. -- EWR network groups start with BLUE EWR.
-- Squadron templates which are placed above the colored airbase, start with 104th or 105th or 106th. -- Squadron templates which are placed above the colored airbase, start with 104th or 105th or 106th.
-- Perform CAP in a polygon zone placed near 104th, which is Nellis. -- Perform CAP in a polygon zone placed near 104th, which is Nellis.
-- Perform 2 CAP. -- Perform 2 CAP.
A2A_GCICAP_Blue = AI_A2A_GCICAP:New( { "BLUE EWR" }, { "104th", "105th", "106th" }, { "104th CAP" }, 2 ) A2A_GCICAP_Blue = AI_A2A_GCICAP:New( { "BLUE EWR" }, { "104th", "105th", "106th" }, { "104th CAP" }, 2 )
A2A_GCICAP_Blue:SetBorderZone( ZONE_POLYGON:New( "Blue Border", GROUP:FindByName( "Blue Border" ) ) ) A2A_GCICAP_Blue:SetBorderZone( ZONE_POLYGON:New( "Blue Border", GROUP:FindByName( "Blue Border" ) ) )
-- Enable the tactical display panel. This is to see what this dispatcher is doing. -- Enable the tactical display panel. This is to see what this dispatcher is doing.
--A2A_GCICAP_Blue:SetTacticalDisplay( true ) --A2A_GCICAP_Blue:SetTacticalDisplay( true )
-- Initialize the dispatcher, setting up a radius of 150km where any airborne friendly -- Initialize the dispatcher, setting up a radius of 150km where any airborne friendly
-- without an assignment within 150km radius from a detected target, will engage that target. -- without an assignment within 150km radius from a detected target, will engage that target.
A2A_GCICAP_Blue:SetEngageRadius( 150000 ) A2A_GCICAP_Blue:SetEngageRadius( 150000 )
-- The default take-off method is planes takeoff right in the air. -- The default take-off method is planes takeoff right in the air.
-- Here we specify other take off options. -- Here we specify other take off options.
A2A_GCICAP_Blue:SetSquadronTakeoffFromRunway( AIRBASE.Nevada.Boulder_City_Airport ) -- Takeoff from the runway. A2A_GCICAP_Blue:SetSquadronTakeoffFromRunway( AIRBASE.Nevada.Boulder_City_Airport ) -- Takeoff from the runway.
A2A_GCICAP_Blue:SetSquadronTakeoffFromParkingCold( AIRBASE.Nevada.McCarran_International_Airport ) -- Takeoff from parking spot, with engines shut off. A2A_GCICAP_Blue:SetSquadronTakeoffFromParkingCold( AIRBASE.Nevada.McCarran_International_Airport ) -- Takeoff from parking spot, with engines shut off.
--A2A_GCICAP_Blue:SetSquadronTakeoffFromParkingHot( AIRBASE.Nevada.Nellis_AFB ) -- Takaeoff from parking spot, engines running. --A2A_GCICAP_Blue:SetSquadronTakeoffFromParkingHot( AIRBASE.Nevada.Nellis_AFB ) -- Takaeoff from parking spot, engines running.
-- The Nellis airbase contains a squadron that flies an F-5... Less modern airplane. -- The Nellis airbase contains a squadron that flies an F-5... Less modern airplane.
-- So it needs a stronger "overhead". -- So it needs a stronger "overhead".
A2A_GCICAP_Blue:SetSquadronOverhead( AIRBASE.Nevada.Nellis_AFB, 2 ) -- When 2 airplanes are attacking, we spawn 4 airplanes for defense. A2A_GCICAP_Blue:SetSquadronOverhead( AIRBASE.Nevada.Nellis_AFB, 2 ) -- When 2 airplanes are attacking, we spawn 4 airplanes for defense.
A2A_GCICAP_Blue:SetSquadronGrouping( AIRBASE.Nevada.Nellis_AFB, 2 ) -- We group the spawned defence airplanes per 2 units. A2A_GCICAP_Blue:SetSquadronGrouping( AIRBASE.Nevada.Nellis_AFB, 2 ) -- We group the spawned defence airplanes per 2 units.

View File

@@ -1,54 +1,54 @@
-- RED -- RED
--- Setup the Red Coalition A2A GCICAP dispatcher, and initialize it. --- Setup the Red Coalition A2A GCICAP dispatcher, and initialize it.
A2A_GCICAP_Red = AI_A2A_GCICAP:New( { "RED EWR" }, { "4477th" }, { }, 2 ) A2A_GCICAP_Red = AI_A2A_GCICAP:New( { "RED EWR" }, { "4477th" }, { }, 2 )
A2A_GCICAP_Red:SetBorderZone( ZONE_POLYGON:New( "Red Border", GROUP:FindByName( "Red Border" ) ) ) A2A_GCICAP_Red:SetBorderZone( ZONE_POLYGON:New( "Red Border", GROUP:FindByName( "Red Border" ) ) )
-- Enable the tactical display panel. This is to see what this dispatcher is doing. -- Enable the tactical display panel. This is to see what this dispatcher is doing.
--A2A_GCICAP_Red:SetTacticalDisplay( true ) --A2A_GCICAP_Red:SetTacticalDisplay( true )
-- Initialize the dispatcher, setting up a radius of 150km where any airborne friendly -- Initialize the dispatcher, setting up a radius of 150km where any airborne friendly
-- without an assignment within 150km radius from a detected target, will engage that target. -- without an assignment within 150km radius from a detected target, will engage that target.
A2A_GCICAP_Red:SetEngageRadius( 150000 ) A2A_GCICAP_Red:SetEngageRadius( 150000 )
-- The default take-off method is planes takeoff right in the air. -- The default take-off method is planes takeoff right in the air.
-- Here we specify to take off from a parking space, with engines already running. -- Here we specify to take off from a parking space, with engines already running.
A2A_GCICAP_Red:SetSquadronTakeoffFromParkingHot( AIRBASE.Nevada.Tonopah_Test_Range_Airfield ) A2A_GCICAP_Red:SetSquadronTakeoffFromParkingHot( AIRBASE.Nevada.Tonopah_Test_Range_Airfield )
--A2A_GCICAP_Red:SetSquadronTakeoffFromParkingHot( "Groom Lake AFB" ) --A2A_GCICAP_Red:SetSquadronTakeoffFromParkingHot( "Groom Lake AFB" )
-- BLUE -- BLUE
--- Setup the Red Coalition A2A GCICAP dispatcher, and initialize it. --- Setup the Red Coalition A2A GCICAP dispatcher, and initialize it.
-- EWR network groups start with BLUE EWR. -- EWR network groups start with BLUE EWR.
-- Squadron templates which are placed above the colored airbase, start with 104th or 105th or 106th. -- Squadron templates which are placed above the colored airbase, start with 104th or 105th or 106th.
-- Perform CAP in a polygon zone placed near 104th, which is Nellis. -- Perform CAP in a polygon zone placed near 104th, which is Nellis.
-- Perform 2 CAP. -- Perform 2 CAP.
A2A_GCICAP_Blue = AI_A2A_GCICAP:New( { "BLUE EWR" }, { "104th", "105th", "106th" }, { "104th CAP" }, 2 ) A2A_GCICAP_Blue = AI_A2A_GCICAP:New( { "BLUE EWR" }, { "104th", "105th", "106th" }, { "104th CAP" }, 2 )
A2A_GCICAP_Blue:SetBorderZone( ZONE_POLYGON:New( "Blue Border", GROUP:FindByName( "Blue Border" ) ) ) A2A_GCICAP_Blue:SetBorderZone( ZONE_POLYGON:New( "Blue Border", GROUP:FindByName( "Blue Border" ) ) )
-- Enable the tactical display panel. This is to see what this dispatcher is doing. -- Enable the tactical display panel. This is to see what this dispatcher is doing.
--A2A_GCICAP_Blue:SetTacticalDisplay( true ) --A2A_GCICAP_Blue:SetTacticalDisplay( true )
-- Initialize the dispatcher, setting up a radius of 150km where any airborne friendly -- Initialize the dispatcher, setting up a radius of 150km where any airborne friendly
-- without an assignment within 150km radius from a detected target, will engage that target. -- without an assignment within 150km radius from a detected target, will engage that target.
A2A_GCICAP_Blue:SetEngageRadius( 150000 ) A2A_GCICAP_Blue:SetEngageRadius( 150000 )
-- The default take-off method is planes takeoff right in the air. -- The default take-off method is planes takeoff right in the air.
-- Here we specify other take off options. -- Here we specify other take off options.
A2A_GCICAP_Blue:SetSquadronTakeoffFromRunway( AIRBASE.Nevada.Boulder_City_Airport ) -- Takeoff from the runway. A2A_GCICAP_Blue:SetSquadronTakeoffFromRunway( AIRBASE.Nevada.Boulder_City_Airport ) -- Takeoff from the runway.
A2A_GCICAP_Blue:SetSquadronTakeoffFromParkingCold( AIRBASE.Nevada.McCarran_International_Airport ) -- Takeoff from parking spot, with engines shut off. A2A_GCICAP_Blue:SetSquadronTakeoffFromParkingCold( AIRBASE.Nevada.McCarran_International_Airport ) -- Takeoff from parking spot, with engines shut off.
--A2A_GCICAP_Blue:SetSquadronTakeoffFromParkingHot( AIRBASE.Nevada.Nellis_AFB ) -- Takaeoff from parking spot, engines running. --A2A_GCICAP_Blue:SetSquadronTakeoffFromParkingHot( AIRBASE.Nevada.Nellis_AFB ) -- Takaeoff from parking spot, engines running.
-- The Nellis airbase contains a squadron that flies an F-5... Less modern airplane. -- The Nellis airbase contains a squadron that flies an F-5... Less modern airplane.
-- So it needs a stronger "overhead". -- So it needs a stronger "overhead".
A2A_GCICAP_Blue:SetSquadronOverhead( AIRBASE.Nevada.Nellis_AFB, 2 ) -- When 2 airplanes are attacking, we spawn 4 airplanes for defense. A2A_GCICAP_Blue:SetSquadronOverhead( AIRBASE.Nevada.Nellis_AFB, 2 ) -- When 2 airplanes are attacking, we spawn 4 airplanes for defense.
A2A_GCICAP_Blue:SetSquadronGrouping( AIRBASE.Nevada.Nellis_AFB, 2 ) -- We group the spawned defence airplanes per 2 units. A2A_GCICAP_Blue:SetSquadronGrouping( AIRBASE.Nevada.Nellis_AFB, 2 ) -- We group the spawned defence airplanes per 2 units.

View File

@@ -1,27 +1,27 @@
-- RED -- RED
--- Setup the Red Coalition A2A GCICAP dispatcher, and initialize it. --- Setup the Red Coalition A2A GCICAP dispatcher, and initialize it.
-- EWR network groups start with RED EWR, which are ships and patrols. -- EWR network groups start with RED EWR, which are ships and patrols.
-- Squadron templates which are placed above the colored airbases, start with TR SQ. -- Squadron templates which are placed above the colored airbases, start with TR SQ.
-- Perform CAP, the zone for CAP starts with TR CAP, send minimal 10 groups of planes in the air. -- Perform CAP, the zone for CAP starts with TR CAP, send minimal 10 groups of planes in the air.
A2A_GCICAP_Red = AI_A2A_GCICAP:New( { "TR SQ"}, { "TR SQ" }, { "TR CAP" }, 10 ) A2A_GCICAP_Red = AI_A2A_GCICAP:New( { "TR SQ"}, { "TR SQ" }, { "TR CAP" }, 10 )
A2A_GCICAP_Red:SetBorderZone( ZONE_POLYGON:New( "Red Border", GROUP:FindByName( "Red Border" ) ) ) A2A_GCICAP_Red:SetBorderZone( ZONE_POLYGON:New( "Red Border", GROUP:FindByName( "Red Border" ) ) )
-- Enable the tactical display panel. This is to see what this dispatcher is doing. -- Enable the tactical display panel. This is to see what this dispatcher is doing.
--A2A_GCICAP_Red:SetTacticalDisplay( true ) --A2A_GCICAP_Red:SetTacticalDisplay( true )
-- BLUE -- BLUE
--- Setup the Red Coalition A2A GCICAP dispatcher, and initialize it. --- Setup the Red Coalition A2A GCICAP dispatcher, and initialize it.
-- EWR network groups start with BLUE EWR. -- EWR network groups start with BLUE EWR.
-- Squadron templates which are placed above the colored airbases, start with UK SQ. -- Squadron templates which are placed above the colored airbases, start with UK SQ.
-- Perform no CAP. -- Perform no CAP.
A2A_GCICAP_Blue = AI_A2A_GCICAP:New( { "BLUE EWR" }, { "UK SQ" }, { }, 2 ) A2A_GCICAP_Blue = AI_A2A_GCICAP:New( { "BLUE EWR" }, { "UK SQ" }, { }, 2 )
A2A_GCICAP_Blue:SetBorderZone( ZONE_POLYGON:New( "Blue Border", GROUP:FindByName( "Blue Border" ) ) ) A2A_GCICAP_Blue:SetBorderZone( ZONE_POLYGON:New( "Blue Border", GROUP:FindByName( "Blue Border" ) ) )

View File

@@ -1,142 +1,142 @@
--- ---
-- Name: AID-A2A-100 - Demonstration -- Name: AID-A2A-100 - Demonstration
-- Author: FlightControl -- Author: FlightControl
-- Date Created: 30 May 2017 -- Date Created: 30 May 2017
local HQ_Group = GROUP:FindByName( "HQ" ) local HQ_Group = GROUP:FindByName( "HQ" )
local HQ_CC = COMMANDCENTER:New( HQ_Group, "HQ" ) local HQ_CC = COMMANDCENTER:New( HQ_Group, "HQ" )
-- Define a SET_GROUP object that builds a collection of groups that define the EWR network. -- Define a SET_GROUP object that builds a collection of groups that define the EWR network.
-- Here we build the network with all the groups that have a name starting with DF CCCP AWACS and DF CCCP EWR. -- Here we build the network with all the groups that have a name starting with DF CCCP AWACS and DF CCCP EWR.
local DetectionSetGroup = SET_GROUP:New() local DetectionSetGroup = SET_GROUP:New()
DetectionSetGroup:FilterPrefixes( { "DF CCCP AWACS", "DF CCCP EWR" } ) DetectionSetGroup:FilterPrefixes( { "DF CCCP AWACS", "DF CCCP EWR" } )
DetectionSetGroup:FilterStart() DetectionSetGroup:FilterStart()
local Detection = DETECTION_AREAS:New( DetectionSetGroup, 30000 ) local Detection = DETECTION_AREAS:New( DetectionSetGroup, 30000 )
-- Setup the A2A dispatcher, and initialize it. -- Setup the A2A dispatcher, and initialize it.
A2ADispatcher = AI_A2A_DISPATCHER:New( Detection ) A2ADispatcher = AI_A2A_DISPATCHER:New( Detection )
A2ADispatcher:SetCommandCenter( HQ_CC ) A2ADispatcher:SetCommandCenter( HQ_CC )
-- Enable the tactical display panel. -- Enable the tactical display panel.
A2ADispatcher:SetTacticalDisplay( false ) A2ADispatcher:SetTacticalDisplay( false )
A2ADispatcher:SetTacticalMenu( "Dispatchers", "A2A" ) A2ADispatcher:SetTacticalMenu( "Dispatchers", "A2A" )
-- Initialize the dispatcher, setting up a border zone. This is a polygon, -- Initialize the dispatcher, setting up a border zone. This is a polygon,
-- which takes the waypoints of a late activated group with the name CCCP Border as the boundaries of the border area. -- which takes the waypoints of a late activated group with the name CCCP Border as the boundaries of the border area.
-- Any enemy crossing this border will be engaged. -- Any enemy crossing this border will be engaged.
CCCPBorderZone = ZONE_POLYGON:New( "CCCP Border", GROUP:FindByName( "CCCP Border" ) ) CCCPBorderZone = ZONE_POLYGON:New( "CCCP Border", GROUP:FindByName( "CCCP Border" ) )
A2ADispatcher:SetBorderZone( CCCPBorderZone ) A2ADispatcher:SetBorderZone( CCCPBorderZone )
-- Initialize the dispatcher, setting up a radius of 100km where any airborne friendly -- Initialize the dispatcher, setting up a radius of 100km where any airborne friendly
-- without an assignment within 100km radius from a detected target, will engage that target. -- without an assignment within 100km radius from a detected target, will engage that target.
A2ADispatcher:SetEngageRadius( 120000 ) A2ADispatcher:SetEngageRadius( 120000 )
-- Setup the squadrons. -- Setup the squadrons.
A2ADispatcher:SetSquadron( "Mineralnye", AIRBASE.Caucasus.Mineralnye_Vody, { "SQ CCCP SU-27", "SQ CCCP SU-33", "SQ CCCP MIG-23MLD", "SQ CCCP MIG-25PD" }, 16 ) A2ADispatcher:SetSquadron( "Mineralnye", AIRBASE.Caucasus.Mineralnye_Vody, { "SQ CCCP SU-27", "SQ CCCP SU-33", "SQ CCCP MIG-23MLD", "SQ CCCP MIG-25PD" }, 16 )
A2ADispatcher:SetSquadron( "Maykop", AIRBASE.Caucasus.Maykop_Khanskaya, { "SQ CCCP MIG-31" }, 20 ) A2ADispatcher:SetSquadron( "Maykop", AIRBASE.Caucasus.Maykop_Khanskaya, { "SQ CCCP MIG-31" }, 20 )
A2ADispatcher:SetSquadron( "Mozdok", AIRBASE.Caucasus.Mozdok, { "SQ CCCP MIG-31" }, 16 ) A2ADispatcher:SetSquadron( "Mozdok", AIRBASE.Caucasus.Mozdok, { "SQ CCCP MIG-31" }, 16 )
A2ADispatcher:SetSquadron( "Sochi", AIRBASE.Caucasus.Sochi_Adler, { "SQ CCCP SU-27", "SQ CCCP SU-33", "SQ CCCP MIG-23MLD", "SQ CCCP MIG-25PD", "SQ CCCP SU-34", "SQ CCCP MIG-31", "SQ CCCP MIG-29S" }, 40 ) A2ADispatcher:SetSquadron( "Sochi", AIRBASE.Caucasus.Sochi_Adler, { "SQ CCCP SU-27", "SQ CCCP SU-33", "SQ CCCP MIG-23MLD", "SQ CCCP MIG-25PD", "SQ CCCP SU-34", "SQ CCCP MIG-31", "SQ CCCP MIG-29S" }, 40 )
A2ADispatcher:SetSquadron( "Novo", AIRBASE.Caucasus.Novorossiysk, { "SQ CCCP SU-27" }, 16 ) A2ADispatcher:SetSquadron( "Novo", AIRBASE.Caucasus.Novorossiysk, { "SQ CCCP SU-27" }, 16 )
-- Setup the overhead -- Setup the overhead
A2ADispatcher:SetSquadronOverhead( "Mineralnye", 1.2 ) A2ADispatcher:SetSquadronOverhead( "Mineralnye", 1.2 )
A2ADispatcher:SetSquadronOverhead( "Maykop", 1 ) A2ADispatcher:SetSquadronOverhead( "Maykop", 1 )
A2ADispatcher:SetSquadronOverhead( "Mozdok", 1 ) A2ADispatcher:SetSquadronOverhead( "Mozdok", 1 )
A2ADispatcher:SetSquadronOverhead( "Sochi", 2 ) A2ADispatcher:SetSquadronOverhead( "Sochi", 2 )
A2ADispatcher:SetSquadronOverhead( "Novo", 1.5 ) A2ADispatcher:SetSquadronOverhead( "Novo", 1.5 )
-- Setup the Grouping -- Setup the Grouping
A2ADispatcher:SetSquadronGrouping( "Mineralnye", 4 ) A2ADispatcher:SetSquadronGrouping( "Mineralnye", 4 )
A2ADispatcher:SetSquadronGrouping( "Sochi", 2 ) A2ADispatcher:SetSquadronGrouping( "Sochi", 2 )
A2ADispatcher:SetSquadronGrouping( "Novo", 3 ) A2ADispatcher:SetSquadronGrouping( "Novo", 3 )
-- Setup the Takeoff methods -- Setup the Takeoff methods
A2ADispatcher:SetSquadronTakeoff( "Mineralnye", AI_A2A_DISPATCHER.Takeoff.Hot ) A2ADispatcher:SetSquadronTakeoff( "Mineralnye", AI_A2A_DISPATCHER.Takeoff.Hot )
A2ADispatcher:SetSquadronTakeoffFromParkingHot( "Sochi" ) A2ADispatcher:SetSquadronTakeoffFromParkingHot( "Sochi" )
A2ADispatcher:SetSquadronTakeoffFromRunway( "Mozdok" ) A2ADispatcher:SetSquadronTakeoffFromRunway( "Mozdok" )
A2ADispatcher:SetSquadronTakeoffFromParkingCold( "Maykop" ) A2ADispatcher:SetSquadronTakeoffFromParkingCold( "Maykop" )
A2ADispatcher:SetSquadronTakeoffFromParkingHot( "Novo" ) A2ADispatcher:SetSquadronTakeoffFromParkingHot( "Novo" )
-- Setup the Landing methods -- Setup the Landing methods
A2ADispatcher:SetSquadronLandingAtRunway( "Mineralnye" ) A2ADispatcher:SetSquadronLandingAtRunway( "Mineralnye" )
A2ADispatcher:SetSquadronLandingNearAirbase( "Sochi" ) A2ADispatcher:SetSquadronLandingNearAirbase( "Sochi" )
A2ADispatcher:SetSquadronLandingAtEngineShutdown( "Mozdok" ) A2ADispatcher:SetSquadronLandingAtEngineShutdown( "Mozdok" )
A2ADispatcher:SetSquadronLandingNearAirbase( "Maykop" ) A2ADispatcher:SetSquadronLandingNearAirbase( "Maykop" )
A2ADispatcher:SetSquadronLanding( "Novo", AI_A2A_DISPATCHER.Landing.AtRunway ) A2ADispatcher:SetSquadronLanding( "Novo", AI_A2A_DISPATCHER.Landing.AtRunway )
-- CAP Squadron execution. -- CAP Squadron execution.
--CAPZoneEast = ZONE_POLYGON:New( "CAP Zone East", GROUP:FindByName( "CAP Zone East" ) ) --CAPZoneEast = ZONE_POLYGON:New( "CAP Zone East", GROUP:FindByName( "CAP Zone East" ) )
--A2ADispatcher:SetSquadronCap( "Mineralnye", CAPZoneEast, 4000, 10000, 500, 600, 800, 900 ) --A2ADispatcher:SetSquadronCap( "Mineralnye", CAPZoneEast, 4000, 10000, 500, 600, 800, 900 )
--A2ADispatcher:SetSquadronCapInterval( "Mineralnye", 6, 30, 60, 1 ) --A2ADispatcher:SetSquadronCapInterval( "Mineralnye", 6, 30, 60, 1 )
--CAPZoneWest = ZONE_POLYGON:New( "CAP Zone West", GROUP:FindByName( "CAP Zone West" ) ) --CAPZoneWest = ZONE_POLYGON:New( "CAP Zone West", GROUP:FindByName( "CAP Zone West" ) )
--A2ADispatcher:SetSquadronCap( "Sochi", CAPZoneWest, 4000, 8000, 600, 800, 800, 1200, "BARO" ) --A2ADispatcher:SetSquadronCap( "Sochi", CAPZoneWest, 4000, 8000, 600, 800, 800, 1200, "BARO" )
--A2ADispatcher:SetSquadronCapInterval( "Sochi", 2, 30, 120, 1 ) --A2ADispatcher:SetSquadronCapInterval( "Sochi", 2, 30, 120, 1 )
--CAPZoneMiddle = ZONE:New( "CAP Zone Middle") --CAPZoneMiddle = ZONE:New( "CAP Zone Middle")
--A2ADispatcher:SetSquadronCap( "Maykop", CAPZoneMiddle, 4000, 8000, 600, 800, 800, 1200, "RADIO" ) --A2ADispatcher:SetSquadronCap( "Maykop", CAPZoneMiddle, 4000, 8000, 600, 800, 800, 1200, "RADIO" )
--A2ADispatcher:SetSquadronCapInterval( "Sochi", 2, 30, 120, 1 ) --A2ADispatcher:SetSquadronCapInterval( "Sochi", 2, 30, 120, 1 )
-- GCI Squadron execution. -- GCI Squadron execution.
A2ADispatcher:SetSquadronGci2( "Mozdok", 900, 1200, 100, 100, "RADIO" ) A2ADispatcher:SetSquadronGci2( "Mozdok", 900, 1200, 100, 100, "RADIO" )
A2ADispatcher:SetSquadronGci2( "Novo", 900, 2100, 100, 100, "RADIO" ) A2ADispatcher:SetSquadronGci2( "Novo", 900, 2100, 100, 100, "RADIO" )
A2ADispatcher:SetSquadronGci2( "Maykop", 900, 1200, 200, 200, "RADIO" ) A2ADispatcher:SetSquadronGci2( "Maykop", 900, 1200, 200, 200, "RADIO" )
-- Set the language of the squadrons to Russian. -- Set the language of the squadrons to Russian.
A2ADispatcher:SetSquadronLanguage( "Mozdok", "RU" ) A2ADispatcher:SetSquadronLanguage( "Mozdok", "RU" )
A2ADispatcher:SetSquadronLanguage( "Novo", "RU" ) A2ADispatcher:SetSquadronLanguage( "Novo", "RU" )
A2ADispatcher:SetSquadronLanguage( "Maykop", "RU" ) A2ADispatcher:SetSquadronLanguage( "Maykop", "RU" )
A2ADispatcher:SetSquadronRadioFrequency( "Mozdok", 127.5 ) A2ADispatcher:SetSquadronRadioFrequency( "Mozdok", 127.5 )
A2ADispatcher:SetSquadronRadioFrequency( "Novo", 127.5 ) A2ADispatcher:SetSquadronRadioFrequency( "Novo", 127.5 )
A2ADispatcher:SetSquadronRadioFrequency( "Maykop", 127.5 ) A2ADispatcher:SetSquadronRadioFrequency( "Maykop", 127.5 )
-- Set the squadrons visible before startup. -- Set the squadrons visible before startup.
--A2ADispatcher:SetSquadronVisible( "Mineralnye" ) --A2ADispatcher:SetSquadronVisible( "Mineralnye" )
--A2ADispatcher:SetSquadronVisible( "Sochi" ) --A2ADispatcher:SetSquadronVisible( "Sochi" )
--A2ADispatcher:SetSquadronVisible( "Mozdok" ) --A2ADispatcher:SetSquadronVisible( "Mozdok" )
--A2ADispatcher:SetSquadronVisible( "Maykop" ) --A2ADispatcher:SetSquadronVisible( "Maykop" )
--A2ADispatcher:SetSquadronVisible( "Novo" ) --A2ADispatcher:SetSquadronVisible( "Novo" )
--CleanUp = CLEANUP_AIRBASE:New( { AIRBASE.Caucasus.Novorossiysk } ) --CleanUp = CLEANUP_AIRBASE:New( { AIRBASE.Caucasus.Novorossiysk } )
-- Blue attack simulation -- Blue attack simulation
local Frequency = 300 local Frequency = 300
BlueSpawn1 = SPAWN BlueSpawn1 = SPAWN
:New( "RT NATO 1" ) :New( "RT NATO 1" )
:InitLimit( 2, 10 ) :InitLimit( 2, 10 )
:InitRandomizeTemplate( { "SQ NATO A-10C", "SQ NATO F-15C", "SQ NATO F-16A", "SQ NATO F/A-18", "SQ NATO F-16C" } ) :InitRandomizeTemplate( { "SQ NATO A-10C", "SQ NATO F-15C", "SQ NATO F-16A", "SQ NATO F/A-18", "SQ NATO F-16C" } )
:InitRandomizeRoute( 0, 0, 30000 ) :InitRandomizeRoute( 0, 0, 30000 )
--:InitDelayOn() --:InitDelayOn()
:SpawnScheduled( Frequency, 0.4 ) :SpawnScheduled( Frequency, 0.4 )
BlueSpawn2 = SPAWN BlueSpawn2 = SPAWN
:New( "RT NATO 2" ) :New( "RT NATO 2" )
:InitLimit( 2, 10 ) :InitLimit( 2, 10 )
:InitRandomizeTemplate( { "SQ NATO A-10C", "SQ NATO F-15C", "SQ NATO F-16A", "SQ NATO F/A-18", "SQ NATO F-16C" } ) :InitRandomizeTemplate( { "SQ NATO A-10C", "SQ NATO F-15C", "SQ NATO F-16A", "SQ NATO F/A-18", "SQ NATO F-16C" } )
:InitRandomizeRoute( 0, 0, 30000 ) :InitRandomizeRoute( 0, 0, 30000 )
--:InitDelayOn() --:InitDelayOn()
:SpawnScheduled( Frequency, 0.4 ) :SpawnScheduled( Frequency, 0.4 )
BlueSpawn3 = SPAWN BlueSpawn3 = SPAWN
:New( "RT NATO 3" ) :New( "RT NATO 3" )
:InitLimit( 2, 10 ) :InitLimit( 2, 10 )
:InitRandomizeTemplate( { "SQ NATO A-10C", "SQ NATO F-15C", "SQ NATO F-16A", "SQ NATO F/A-18", "SQ NATO F-16C" } ) :InitRandomizeTemplate( { "SQ NATO A-10C", "SQ NATO F-15C", "SQ NATO F-16A", "SQ NATO F/A-18", "SQ NATO F-16C" } )
:InitRandomizeRoute( 0, 0, 30000 ) :InitRandomizeRoute( 0, 0, 30000 )
--:InitDelayOn() --:InitDelayOn()
:SpawnScheduled( Frequency, 0.4 ) :SpawnScheduled( Frequency, 0.4 )
BlueSpawn4 = SPAWN BlueSpawn4 = SPAWN
:New( "RT NATO 4" ) :New( "RT NATO 4" )
:InitLimit( 2, 10 ) :InitLimit( 2, 10 )
:InitRandomizeTemplate( { "SQ NATO A-10C", "SQ NATO F-15C", "SQ NATO F-16A", "SQ NATO F/A-18", "SQ NATO F-16C" } ) :InitRandomizeTemplate( { "SQ NATO A-10C", "SQ NATO F-15C", "SQ NATO F-16A", "SQ NATO F/A-18", "SQ NATO F-16C" } )
:InitRandomizeRoute( 0, 0, 30000 ) :InitRandomizeRoute( 0, 0, 30000 )
--:InitDelayOn() --:InitDelayOn()
:SpawnScheduled( Frequency, 0.4 ) :SpawnScheduled( Frequency, 0.4 )

View File

@@ -1,48 +1,48 @@
--- Detect and attack a set of enemy units using helicopters. --- Detect and attack a set of enemy units using helicopters.
-- Name: AID-A2G-001 - Detection and Attack Helicopters -- Name: AID-A2G-001 - Detection and Attack Helicopters
-- Author: FlightControl -- Author: FlightControl
-- Date Created: 02 Nov 2018 -- Date Created: 02 Nov 2018
-- Define a SET_GROUP object that builds a collection of groups that define the recce network. -- Define a SET_GROUP object that builds a collection of groups that define the recce network.
-- Here we build the network with all the groups that have a name starting with CCCP Recce. -- Here we build the network with all the groups that have a name starting with CCCP Recce.
DetectionSetGroup = SET_GROUP:New() DetectionSetGroup = SET_GROUP:New()
DetectionSetGroup:FilterPrefixes( { "CCCP Recce" } ) DetectionSetGroup:FilterPrefixes( { "CCCP Recce" } )
DetectionSetGroup:FilterStart() DetectionSetGroup:FilterStart()
Detection = DETECTION_AREAS:New( DetectionSetGroup, 5000 ) Detection = DETECTION_AREAS:New( DetectionSetGroup, 5000 )
-- Setup the A2A dispatcher, and initialize it. -- Setup the A2A dispatcher, and initialize it.
A2GDispatcher = AI_A2G_DISPATCHER:New( Detection ) A2GDispatcher = AI_A2G_DISPATCHER:New( Detection )
-- Add defense coordinates. -- Add defense coordinates.
A2GDispatcher:AddDefenseCoordinate( "HQ", GROUP:FindByName( "HQ" ):GetCoordinate() ) A2GDispatcher:AddDefenseCoordinate( "HQ", GROUP:FindByName( "HQ" ):GetCoordinate() )
A2GDispatcher:SetDefenseReactivityHigh() A2GDispatcher:SetDefenseReactivityHigh()
A2GDispatcher:SetDefenseRadius( 200000 ) A2GDispatcher:SetDefenseRadius( 200000 )
A2GDispatcher:SetTacticalDisplay( true ) A2GDispatcher:SetTacticalDisplay( true )
-- Setup the squadrons. -- Setup the squadrons.
A2GDispatcher:SetSquadron( "Maykop SEAD", AIRBASE.Caucasus.Maykop_Khanskaya, { "CCCP SU-25T" }, 10 ) A2GDispatcher:SetSquadron( "Maykop SEAD", AIRBASE.Caucasus.Maykop_Khanskaya, { "CCCP SU-25T" }, 10 )
A2GDispatcher:SetSquadronSead( "Maykop SEAD", 120, 250 ) A2GDispatcher:SetSquadronSead( "Maykop SEAD", 120, 250 )
A2GDispatcher:SetSquadronTakeoffFromParkingHot( "Maykop SEAD" ) A2GDispatcher:SetSquadronTakeoffFromParkingHot( "Maykop SEAD" )
A2GDispatcher:SetSquadronOverhead( "Maykop SEAD", 0.2 ) A2GDispatcher:SetSquadronOverhead( "Maykop SEAD", 0.2 )
A2GDispatcher:SetSquadron( "Maykop CAS", "CAS", { "CCCP KA-50" }, 10 ) A2GDispatcher:SetSquadron( "Maykop CAS", "CAS", { "CCCP KA-50" }, 10 )
A2GDispatcher:SetSquadronCas( "Maykop CAS", 120, 250 ) A2GDispatcher:SetSquadronCas( "Maykop CAS", 120, 250 )
A2GDispatcher:SetSquadronTakeoffFromParkingHot( "Maykop CAS" ) A2GDispatcher:SetSquadronTakeoffFromParkingHot( "Maykop CAS" )
A2GDispatcher:SetSquadronOverhead( "Maykop CAS", 0.25 ) A2GDispatcher:SetSquadronOverhead( "Maykop CAS", 0.25 )
A2GDispatcher:SetSquadron( "Maykop BAI", "BAI", { "CCCP KA-50" }, 10 ) A2GDispatcher:SetSquadron( "Maykop BAI", "BAI", { "CCCP KA-50" }, 10 )
A2GDispatcher:SetSquadronBai( "Maykop BAI", 120, 250 ) A2GDispatcher:SetSquadronBai( "Maykop BAI", 120, 250 )
A2GDispatcher:SetSquadronTakeoffFromParkingHot( "Maykop BAI" ) A2GDispatcher:SetSquadronTakeoffFromParkingHot( "Maykop BAI" )
A2GDispatcher:SetSquadronOverhead( "Maykop BAI", 0.25 ) A2GDispatcher:SetSquadronOverhead( "Maykop BAI", 0.25 )
-- We set for each squadron a takeoff interval, as each helicopter will launch from a FARP. -- We set for each squadron a takeoff interval, as each helicopter will launch from a FARP.
-- This to prevent helicopters to clutter. -- This to prevent helicopters to clutter.
-- Each helicopter group is taking off the FARP in hot start. -- Each helicopter group is taking off the FARP in hot start.
A2GDispatcher:SetSquadronTakeoffInterval( "Maykop SEAD", 60 ) A2GDispatcher:SetSquadronTakeoffInterval( "Maykop SEAD", 60 )
A2GDispatcher:SetSquadronTakeoffInterval( "Maykop CAS", 60 ) A2GDispatcher:SetSquadronTakeoffInterval( "Maykop CAS", 60 )
A2GDispatcher:SetSquadronTakeoffInterval( "Maykop BAI", 60 ) A2GDispatcher:SetSquadronTakeoffInterval( "Maykop BAI", 60 )

Some files were not shown because too many files have changed in this diff Show More