From a35e95a7dc82a86a525b416a2cd0a96b303c3242 Mon Sep 17 00:00:00 2001 From: FlightControl_Master Date: Tue, 10 Oct 2017 11:53:54 +0200 Subject: [PATCH 01/11] Hotfix 2.2.3 --- Moose Mission Setup/Moose.lua | 4 ++-- Moose Mission Setup/Moose_.lua | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Moose Mission Setup/Moose.lua b/Moose Mission Setup/Moose.lua index dbc890dd4..f665061a9 100644 --- a/Moose Mission Setup/Moose.lua +++ b/Moose Mission Setup/Moose.lua @@ -1,5 +1,5 @@ env.info( '*** MOOSE STATIC INCLUDE START *** ' ) -env.info( 'Moose Generation Timestamp: 20171009_1307' ) +env.info( 'Moose Generation Timestamp: 20171010_1153' ) --- Various routines -- @module routines @@ -41791,7 +41791,7 @@ function AI_A2A_PATROL:onafterPatrol( AIPatrol, From, Event, To ) self:__Route( 1 ) - self.AIPatrol:OnReSpawn( + AIPatrol:OnReSpawn( function( PatrolGroup ) self:E( "ReSpawn" ) self:__Reset( 1 ) diff --git a/Moose Mission Setup/Moose_.lua b/Moose Mission Setup/Moose_.lua index b7c84dece..82b7f5abe 100644 --- a/Moose Mission Setup/Moose_.lua +++ b/Moose Mission Setup/Moose_.lua @@ -1,5 +1,5 @@ env.info('*** MOOSE STATIC INCLUDE START *** ') -env.info('Moose Generation Timestamp: 20171009_1307') +env.info('Moose Generation Timestamp: 20171010_1153') env.setErrorMessageBoxEnabled(false) routines={} routines.majorVersion=3 @@ -20465,7 +20465,7 @@ function AI_A2A_PATROL:onafterPatrol(AIPatrol,From,Event,To) self:F2() self:ClearTargetDistance() self:__Route(1) -self.AIPatrol:OnReSpawn( +AIPatrol:OnReSpawn( function(PatrolGroup) self:E("ReSpawn") self:__Reset(1) From 8002febf096563dc9afececa9330127af875f951 Mon Sep 17 00:00:00 2001 From: FlightControl_Master Date: Thu, 26 Oct 2017 11:13:11 +0200 Subject: [PATCH 02/11] * Renamed AIRBASE POLICE to ATC GROUND * Fixed issues with landing and departing. --- .../{AirbasePolice.lua => ATC_Ground.lua} | 460 +-- Moose Development/Moose/Wrapper/Airbase.lua | 2 +- Moose Mission Setup/Moose.files | 2 +- Moose Mission Setup/Moose.lua | 4 +- Moose Mission Setup/Moose_.lua | 4 +- docs/Documentation/AI_A2A.html | 1 + docs/Documentation/AirbasePolice.html | 527 +++- docs/Documentation/Base.html | 2519 +++-------------- docs/Documentation/Cargo.html | 1 + docs/Documentation/Designate.html | 2 +- docs/Documentation/Detection.html | 2 - docs/Documentation/Fsm.html | 3 +- docs/Documentation/Positionable.html | 42 +- docs/Documentation/Set.html | 664 +++++ docs/Documentation/Spawn.html | 8 +- docs/Documentation/Task_Cargo.html | 2 +- docs/Documentation/Utils.html | 54 + docs/Documentation/index.html | 4 +- 18 files changed, 1777 insertions(+), 2524 deletions(-) rename Moose Development/Moose/Functional/{AirbasePolice.lua => ATC_Ground.lua} (85%) diff --git a/Moose Development/Moose/Functional/AirbasePolice.lua b/Moose Development/Moose/Functional/ATC_Ground.lua similarity index 85% rename from Moose Development/Moose/Functional/AirbasePolice.lua rename to Moose Development/Moose/Functional/ATC_Ground.lua index 2c8b30069..0205f95d1 100644 --- a/Moose Development/Moose/Functional/AirbasePolice.lua +++ b/Moose Development/Moose/Functional/ATC_Ground.lua @@ -1,4 +1,4 @@ ---- **Functional** -- The AIRBASEPOLICE classes monitor airbase traffic and regulate speed while taxiing. +--- **Functional** -- The ATC_GROUND classes monitor airbase traffic and regulate speed while taxiing. -- -- === -- @@ -7,34 +7,34 @@ -- -- === -- --- @module AirbasePolice +-- @module ATC_Ground ---- @type AIRBASEPOLICE_BASE +--- @type ATC_GROUND -- @field Core.Set#SET_CLIENT SetClient -- @extends Core.Base#BASE ---- Base class for AIRBASEPOLICE implementations. --- @field #AIRBASEPOLICE_BASE -AIRBASEPOLICE_BASE = { - ClassName = "AIRBASEPOLICE_BASE", +--- Base class for ATC_GROUND implementations. +-- @field #ATC_GROUND +ATC_GROUND = { + ClassName = "ATC_GROUND", SetClient = nil, Airbases = nil, AirbaseNames = nil, } ---- @type AIRBASEPOLICE_BASE.AirbaseNames +--- @type ATC_GROUND.AirbaseNames -- @list <#string> ---- Creates a new AIRBASEPOLICE_BASE object. --- @param #AIRBASEPOLICE_BASE self +--- Creates a new ATC_GROUND object. +-- @param #ATC_GROUND self -- @param Airbases A table of Airbase Names. --- @return #AIRBASEPOLICE_BASE self -function AIRBASEPOLICE_BASE:New( Airbases, AirbaseList ) +-- @return #ATC_GROUND self +function ATC_GROUND:New( Airbases, AirbaseList ) -- Inherits from BASE - local self = BASE:Inherit( self, BASE:New() ) -- #AIRBASEPOLICE_BASE + local self = BASE:Inherit( self, BASE:New() ) -- #ATC_GROUND self:E( { self.ClassName, Airbases } ) self.Airbases = Airbases @@ -88,10 +88,10 @@ end --- Smoke the airbases runways. --- @param #AIRBASEPOLICE_BASE self +-- @param #ATC_GROUND self -- @param Utilities.Utils#SMOKECOLOR SmokeColor The color of the smoke around the runways. --- @return #AIRBASEPOLICE_BASE self -function AIRBASEPOLICE_BASE:SmokeRunways( SmokeColor ) +-- @return #ATC_GROUND self +function ATC_GROUND:SmokeRunways( SmokeColor ) for AirbaseID, Airbase in pairs( self.Airbases ) do for PointsRunwayID, PointsRunway in pairs( Airbase.PointsRunways ) do @@ -102,27 +102,27 @@ end --- Set the maximum speed in Kmph until the player gets kicked. --- @param #AIRBASEPOLICE_BASE self +-- @param #ATC_GROUND self -- @param #number KickSpeed Set the maximum speed in Kmph until the player gets kicked. --- @return #AIRBASEPOLICE_BASE self -function AIRBASEPOLICE_BASE:SetKickSpeedKmph( KickSpeed ) +-- @return #ATC_GROUND self +function ATC_GROUND:SetKickSpeedKmph( KickSpeed ) self.KickSpeed = UTILS.KmphToMps( KickSpeed ) end --- Set the maximum speed in Miph until the player gets kicked. --- @param #AIRBASEPOLICE_BASE self +-- @param #ATC_GROUND self -- @param #number KickSpeedMiph Set the maximum speed in Mph until the player gets kicked. --- @return #AIRBASEPOLICE_BASE self -function AIRBASEPOLICE_BASE:SetKickSpeedMiph( KickSpeedMiph ) +-- @return #ATC_GROUND self +function ATC_GROUND:SetKickSpeedMiph( KickSpeedMiph ) self.KickSpeed = UTILS.MiphToMps( KickSpeedMiph ) end ---- @param #AIRBASEPOLICE_BASE self -function AIRBASEPOLICE_BASE:_AirbaseMonitor() +--- @param #ATC_GROUND self +function ATC_GROUND:_AirbaseMonitor() self:E( "In Scheduler") @@ -144,94 +144,96 @@ function AIRBASEPOLICE_BASE:_AirbaseMonitor() NotInRunwayZone = ( Client:IsNotInZone( ZoneRunway ) == true ) and NotInRunwayZone or false end + local IsOnGround = Client:InAir() == false + if NotInRunwayZone then - local Taxi = Client:GetState( self, "Taxi" ) - self:E( Taxi ) - if Taxi == false then - Client:Message( "Welcome at " .. AirbaseID .. ". The maximum taxiing speed is " .. AirbaseMeta.MaximumSpeed .. " km/h.", 20, "ATC" ) - Client:SetState( self, "Taxi", true ) - end - - -- TODO: GetVelocityKMH function usage - local Velocity = VELOCITY_POSITIONABLE:New( Client ) - --MESSAGE:New( "Velocity = " .. Velocity:ToString(), 1 ):ToAll() - local IsAboveRunway = Client:IsAboveRunway() - local IsOnGround = Client:InAir() == false - self:T( IsAboveRunway, IsOnGround ) - + if IsOnGround then - if Velocity:Get() > self.KickSpeed then - MESSAGE:New( "Penalty! Player " .. Client:GetPlayerName() .. " is kicked, due to a severe airbase traffic rule violation ...", 10, "ATC" ):ToAll() - Client:Destroy() - Client:SetState( self, "Speeding", false ) - Client:SetState( self, "Warnings", 0 ) + local Taxi = Client:GetState( self, "Taxi" ) + self:E( Taxi ) + if Taxi == false then + Client:Message( "Welcome at " .. AirbaseID .. ". The maximum taxiing speed is " .. AirbaseMeta.MaximumSpeed .. " km/h.", 20, "ATC" ) + Client:SetState( self, "Taxi", true ) + end + + -- TODO: GetVelocityKMH function usage + local Velocity = VELOCITY_POSITIONABLE:New( Client ) + --MESSAGE:New( "Velocity = " .. Velocity:ToString(), 1 ):ToAll() + local IsAboveRunway = Client:IsAboveRunway() + self:T( IsAboveRunway, IsOnGround ) + + if IsOnGround then + if Velocity:Get() > self.KickSpeed then + MESSAGE:New( "Penalty! Player " .. Client:GetPlayerName() .. " is kicked, due to a severe airbase traffic rule violation ...", 10, "ATC" ):ToAll() + Client:Destroy() + Client:SetState( self, "Speeding", false ) + Client:SetState( self, "Warnings", 0 ) + end + end + + + if IsOnGround then + + if Velocity:GetKmph() > AirbaseMeta.MaximumSpeed then + local IsSpeeding = Client:GetState( self, "Speeding" ) + + if IsSpeeding == true then + local SpeedingWarnings = Client:GetState( self, "Warnings" ) + self:T( SpeedingWarnings ) + + if SpeedingWarnings <= 3 then + Client:Message( "Warning " .. SpeedingWarnings .. "/3! Airbase traffic rule violation! Slow down now! Your speed is " .. + string.format( "%s", Velocity:ToString() ), 5, "ATC" ) + Client:SetState( self, "Warnings", SpeedingWarnings + 1 ) + else + MESSAGE:New( "Penalty! Player " .. Client:GetPlayerName() .. " is kicked, due to a severe airbase traffic rule violation ...", 10, "ATC" ):ToAll() + --- @param Wrapper.Client#CLIENT Client + Client:Destroy() + Client:SetState( self, "Speeding", false ) + Client:SetState( self, "Warnings", 0 ) + end + + else + Client:Message( "Attention! You are speeding on the taxiway, slow down! Your speed is " .. string.format( "%s", Velocity:ToString() ), 5, "ATC" ) + Client:SetState( self, "Speeding", true ) + Client:SetState( self, "Warnings", 1 ) + end + + else + Client:SetState( self, "Speeding", false ) + Client:SetState( self, "Warnings", 0 ) + end end - end - - if IsOnGround then - - if Velocity:GetKmph() > AirbaseMeta.MaximumSpeed then - local IsSpeeding = Client:GetState( self, "Speeding" ) - - if IsSpeeding == true then - local SpeedingWarnings = Client:GetState( self, "Warnings" ) - self:T( SpeedingWarnings ) - - if SpeedingWarnings <= 3 then - Client:Message( "Warning " .. SpeedingWarnings .. "/3! Airbase traffic rule violation! Slow down now! Your speed is " .. - string.format( "%s", Velocity:ToString() ), 5, "ATC" ) - Client:SetState( self, "Warnings", SpeedingWarnings + 1 ) + if IsOnGround and not IsAboveRunway then + + local IsOffRunway = Client:GetState( self, "IsOffRunway" ) + + if IsOffRunway == true then + local OffRunwayWarnings = Client:GetState( self, "OffRunwayWarnings" ) + self:T( OffRunwayWarnings ) + + if OffRunwayWarnings <= 3 then + Client:Message( "Warning " .. OffRunwayWarnings .. "/3! Airbase traffic rule violation! Get back on the taxi immediately!", 5, "ATC" ) + Client:SetState( self, "OffRunwayWarnings", OffRunwayWarnings + 1 ) else MESSAGE:New( "Penalty! Player " .. Client:GetPlayerName() .. " is kicked, due to a severe airbase traffic rule violation ...", 10, "ATC" ):ToAll() --- @param Wrapper.Client#CLIENT Client Client:Destroy() - Client:SetState( self, "Speeding", false ) - Client:SetState( self, "Warnings", 0 ) + Client:SetState( self, "IsOffRunway", false ) + Client:SetState( self, "OffRunwayWarnings", 0 ) end - else - Client:Message( "Attention! You are speeding on the taxiway, slow down! Your speed is " .. string.format( "%s", Velocity:ToString() ), 5, "ATC" ) - Client:SetState( self, "Speeding", true ) - Client:SetState( self, "Warnings", 1 ) + Client:Message( "Attention! You are off the taxiway. Get back on the taxiway immediately!", 5, "ATC" ) + Client:SetState( self, "IsOffRunway", true ) + Client:SetState( self, "OffRunwayWarnings", 1 ) end - + else - Client:SetState( self, "Speeding", false ) - Client:SetState( self, "Warnings", 0 ) + Client:SetState( self, "IsOffRunway", false ) + Client:SetState( self, "OffRunwayWarnings", 0 ) end end - - if IsOnGround and not IsAboveRunway then - - local IsOffRunway = Client:GetState( self, "IsOffRunway" ) - - if IsOffRunway == true then - local OffRunwayWarnings = Client:GetState( self, "OffRunwayWarnings" ) - self:T( OffRunwayWarnings ) - - if OffRunwayWarnings <= 3 then - Client:Message( "Warning " .. OffRunwayWarnings .. "/3! Airbase traffic rule violation! Get back on the taxi immediately!", 5, "ATC" ) - Client:SetState( self, "OffRunwayWarnings", OffRunwayWarnings + 1 ) - else - MESSAGE:New( "Penalty! Player " .. Client:GetPlayerName() .. " is kicked, due to a severe airbase traffic rule violation ...", 10, "ATC" ):ToAll() - --- @param Wrapper.Client#CLIENT Client - Client:Destroy() - Client:SetState( self, "IsOffRunway", false ) - Client:SetState( self, "OffRunwayWarnings", 0 ) - end - else - Client:Message( "Attention! You are off the taxiway. Get back on the taxiway immediately!", 5, "ATC" ) - Client:SetState( self, "IsOffRunway", true ) - Client:SetState( self, "OffRunwayWarnings", 1 ) - end - - else - Client:SetState( self, "IsOffRunway", false ) - Client:SetState( self, "OffRunwayWarnings", 0 ) - end - - else Client:SetState( self, "Speeding", false ) Client:SetState( self, "Warnings", 0 ) @@ -243,6 +245,8 @@ function AIRBASEPOLICE_BASE:_AirbaseMonitor() Client:SetState( self, "Taxi", false ) end end + else + Client:SetState( self, "Taxi", false ) end end ) @@ -253,14 +257,14 @@ function AIRBASEPOLICE_BASE:_AirbaseMonitor() end ---- @type AIRBASEPOLICE_CAUCASUS --- @extends #AIRBASEPOLICE_BASE +--- @type ATC_GROUND_CAUCASUS +-- @extends #ATC_GROUND ---- # AIRBASEPOLICE_CAUCASUS, extends @{#AIRBASEPOLICE_BASE} +--- # ATC_GROUND_CAUCASUS, extends @{#ATC_GROUND} -- --- ![Banner Image](..\Presentations\AIRBASEPOLICE\Dia1.JPG) +-- ![Banner Image](..\Presentations\ATC_GROUND\Dia1.JPG) -- --- The AIRBASEPOLICE_CAUCASUS class monitors the speed of the airplanes at the airbase during taxi. +-- The ATC_GROUND_CAUCASUS class monitors the speed of the airplanes at the airbase during taxi. -- The pilots may not drive faster than the maximum speed for the airbase, or they will be despawned. -- -- The maximum speed for the airbases at Caucasus is **50 km/h**. @@ -272,44 +276,45 @@ end -- -- # Airbases monitored -- --- The following airbases are monitored at the Caucasus region: +-- The following airbases are monitored at the Caucasus region. +-- Use the AIRBASE.Caucasus enumeration to select the airbases to be monitored. -- --- * Anapa Vityazevo --- * Batumi --- * Beslan --- * Gelendzhik --- * Gudauta --- * Kobuleti --- * Krasnodar Center --- * Krasnodar Pashkovsky --- * Krymsk --- * Kutaisi --- * Maykop Khanskaya --- * Mineralnye Vody --- * Mozdok --- * Nalchik --- * Novorossiysk --- * Senaki Kolkhi --- * Sochi Adler --- * Soganlug --- * Sukhumi Babushara --- * Tbilisi Lochini --- * Vaziani +-- * ´AIRBASE.Caucasus.Anapa_Vityazevo´ +-- * ´AIRBASE.Caucasus.Batumi´ +-- * ´AIRBASE.Caucasus.Beslan´ +-- * ´AIRBASE.Caucasus.Gelendzhik´ +-- * ´AIRBASE.Caucasus.Gudauta´ +-- * ´AIRBASE.Caucasus.Kobuleti´ +-- * ´AIRBASE.Caucasus.Krasnodar_Center´ +-- * ´AIRBASE.Caucasus.Krasnodar_Pashkovsky´ +-- * ´AIRBASE.Caucasus.Krymsk´ +-- * ´AIRBASE.Caucasus.Kutaisi´ +-- * ´AIRBASE.Caucasus.Maykop_Khanskaya´ +-- * ´AIRBASE.Caucasus.Mineralnye_Vody´ +-- * ´AIRBASE.Caucasus.Mozdok´ +-- * ´AIRBASE.Caucasus.Nalchik´ +-- * ´AIRBASE.Caucasus.Novorossiysk´ +-- * ´AIRBASE.Caucasus.Senaki_Kolkhi´ +-- * ´AIRBASE.Caucasus.Sochi_Adler´ +-- * ´AIRBASE.Caucasus.Soganlug´ +-- * ´AIRBASE.Caucasus.Sukhumi_Babushara´ +-- * ´AIRBASE.Caucasus.Tbilisi_Lochini´ +-- * ´AIRBASE.Caucasus.Vaziani´ -- -- -- # Installation -- -- ## In Single Player Missions -- --- AIRBASEPOLICE is fully functional in single player. +-- ATC_GROUND is fully functional in single player. -- -- ## In Multi Player Missions -- --- AIRBASEPOLICE is NOT functional in multi player, for client machines connecting to the server, running the mission. +-- ATC_GROUND is NOT functional in multi player, for client machines connecting to the server, running the mission. -- Due to a bug in DCS since release 1.5, the despawning of clients are not anymore working in multi player. -- To work around this problem, a much better solution has been made, using the slot blocker script designed -- by Ciribob. With the help of __Ciribob__, this script has been extended to also kick client players while in flight. --- AIRBASEPOLICE is communicating with this modified script to kick players! +-- ATC_GROUND is communicating with this modified script to kick players! -- -- Install the file **SimpleSlotBlockGameGUI.lua** on the server, following the installation instructions described by Ciribob. -- @@ -317,18 +322,26 @@ end -- -- # Script it! -- --- ## 1. AIRBASEPOLICE_CAUCASUS Constructor +-- ## 1. ATC_GROUND_CAUCASUS Constructor -- --- Creates a new AIRBASEPOLICE_CAUCASUS object that will monitor pilots taxiing behaviour. +-- Creates a new ATC_GROUND_CAUCASUS object that will monitor pilots taxiing behaviour. -- --- -- This creates a new AIRBASEPOLICE_CAUCASUS object. +-- -- This creates a new ATC_GROUND_CAUCASUS object. -- --- -- Monitor for these clients the airbases. --- AirbasePoliceCaucasus = AIRBASEPOLICE_CAUCASUS:New() +-- -- Monitor all the airbases. +-- AirbasePoliceCaucasus = ATC_GROUND_CAUCASUS:New() +-- +-- -- Monitor specific airbases only. -- --- @field #AIRBASEPOLICE_CAUCASUS -AIRBASEPOLICE_CAUCASUS = { - ClassName = "AIRBASEPOLICE_CAUCASUS", +-- ATC_Ground = ATC_GROUND_CAUCASUS:New( +-- { AIRBASE.Caucasus.Gelendzhik, +-- AIRBASE.Caucasus.Krymsk +-- } +-- ) +-- +-- @field #ATC_GROUND_CAUCASUS +ATC_GROUND_CAUCASUS = { + ClassName = "ATC_GROUND_CAUCASUS", Airbases = { [AIRBASE.Caucasus.Anapa_Vityazevo] = { PointsRunways = { @@ -615,14 +628,14 @@ AIRBASEPOLICE_CAUCASUS = { }, } ---- Creates a new AIRBASEPOLICE_CAUCASUS object. --- @param #AIRBASEPOLICE_CAUCASUS self +--- Creates a new ATC_GROUND_CAUCASUS object. +-- @param #ATC_GROUND_CAUCASUS self -- @param AirbaseNames A list {} of airbase names (Use AIRBASE.Caucasus enumerator). --- @return #AIRBASEPOLICE_CAUCASUS self -function AIRBASEPOLICE_CAUCASUS:New( AirbaseNames ) +-- @return #ATC_GROUND_CAUCASUS self +function ATC_GROUND_CAUCASUS:New( AirbaseNames ) -- Inherits from BASE - local self = BASE:Inherit( self, AIRBASEPOLICE_BASE:New( self.Airbases, AirbaseNames ) ) + local self = BASE:Inherit( self, ATC_GROUND:New( self.Airbases, AirbaseNames ) ) @@ -838,15 +851,15 @@ end ---- @type AIRBASEPOLICE_NEVADA --- @extends Functional.AirbasePolice#AIRBASEPOLICE_BASE +--- @type ATC_GROUND_NEVADA +-- @extends Functional.AirbasePolice#ATC_GROUND ---- # AIRBASEPOLICE_NEVADA, extends @{#AIRBASEPOLICE_BASE} +--- # ATC_GROUND_NEVADA, extends @{#ATC_GROUND} -- --- ![Banner Image](..\Presentations\AIRBASEPOLICE\Dia1.JPG) +-- ![Banner Image](..\Presentations\ATC_GROUND\Dia1.JPG) -- --- The AIRBASEPOLICE_NEVADA class monitors the speed of the airplanes at the airbase during taxi. +-- The ATC_GROUND_NEVADA class monitors the speed of the airplanes at the airbase during taxi. -- The pilots may not drive faster than the maximum speed for the airbase, or they will be despawned. -- -- The pilot will receive 3 times a warning during speeding. After the 3rd warning, if the pilot is still driving @@ -856,27 +869,41 @@ end -- -- # Airbases monitored -- --- The following airbases are monitored at the Caucasus region: +-- The following airbases are monitored at the Nevada region. +-- Use the AIRBASE.Nevada enumeration to select the airbases to be monitored. -- --- * Nellis --- * McCarran --- * Creech --- * GroomLake --- +-- * `AIRBASE.Nevada.Beatty_Airport` +-- * `AIRBASE.Nevada.Boulder_City_Airport` +-- * `AIRBASE.Nevada.Creech_AFB` +-- * `AIRBASE.Nevada.Echo_Bay` +-- * `AIRBASE.Nevada.Groom_Lake_AFB` +-- * `AIRBASE.Nevada.Henderson_Executive_Airport` +-- * `AIRBASE.Nevada.Jean_Airport` +-- * `AIRBASE.Nevada.Laughlin_Airport` +-- * `AIRBASE.Nevada.Lincoln_County` +-- * `AIRBASE.Nevada.McCarran_International_Airport` +-- * `AIRBASE.Nevada.Mellan_Airstrip` +-- * `AIRBASE.Nevada.Mesquite` +-- * `AIRBASE.Nevada.Mina_Airport_3Q0` +-- * `AIRBASE.Nevada.Nellis_AFB` +-- * `AIRBASE.Nevada.North_Las_Vegas` +-- * `AIRBASE.Nevada.Pahute_Mesa_Airstrip` +-- * `AIRBASE.Nevada.Tonopah_Airport` +-- * `AIRBASE.Nevada.Tonopah_Test_Range_Airfield` -- -- # Installation -- -- ## In Single Player Missions -- --- AIRBASEPOLICE is fully functional in single player. +-- ATC_GROUND is fully functional in single player. -- -- ## In Multi Player Missions -- --- AIRBASEPOLICE is NOT functional in multi player, for client machines connecting to the server, running the mission. +-- ATC_GROUND is NOT functional in multi player, for client machines connecting to the server, running the mission. -- Due to a bug in DCS since release 1.5, the despawning of clients are not anymore working in multi player. -- To work around this problem, a much better solution has been made, using the slot blocker script designed -- by Ciribob. With the help of Ciribob, this script has been extended to also kick client players while in flight. --- AIRBASEPOLICE is communicating with this modified script to kick players! +-- ATC_GROUND is communicating with this modified script to kick players! -- -- Install the file **SimpleSlotBlockGameGUI.lua** on the server, following the installation instructions described by Ciribob. -- @@ -884,18 +911,29 @@ end -- -- # Script it! -- --- ## 1. AIRBASEPOLICE_NEVADA Constructor +-- ## 1. ATC_GROUND_NEVADA Constructor -- --- Creates a new AIRBASEPOLICE_NEVADA object that will monitor pilots taxiing behaviour. +-- Creates a new ATC_GROUND_NEVADA object that will monitor pilots taxiing behaviour. -- --- -- This creates a new AIRBASEPOLICE_NEVADA object. +-- -- This creates a new ATC_GROUND_NEVADA object. -- --- -- Monitor for these clients the airbases. --- AirbasePoliceCaucasus = AIRBASEPOLICE_NEVADA:New() +-- -- Monitor all the airbases. +-- AirbasePoliceCaucasus = ATC_GROUND_NEVADA:New() -- --- @field #AIRBASEPOLICE_NEVADA -AIRBASEPOLICE_NEVADA = { - ClassName = "AIRBASEPOLICE_NEVADA", +-- +-- -- Monitor specific airbases. +-- ATC_Ground = ATC_GROUND_NEVADA:New( +-- { AIRBASE.Nevada.Laughlin_Airport, +-- AIRBASE.Nevada.Mellan_Airstrip, +-- AIRBASE.Nevada.Lincoln_County, +-- AIRBASE.Nevada.North_Las_Vegas, +-- AIRBASE.Nevada.McCarran_International_Airport +-- } +-- ) +-- +-- @field #ATC_GROUND_NEVADA +ATC_GROUND_NEVADA = { + ClassName = "ATC_GROUND_NEVADA", Airbases = { [AIRBASE.Nevada.Beatty_Airport] = { @@ -1165,14 +1203,14 @@ AIRBASEPOLICE_NEVADA = { }, } ---- Creates a new AIRBASEPOLICE_NEVADA object. --- @param #AIRBASEPOLICE_NEVADA self +--- Creates a new ATC_GROUND_NEVADA object. +-- @param #ATC_GROUND_NEVADA self -- @param AirbaseNames A list {} of airbase names (Use AIRBASE.Nevada enumerator). --- @return #AIRBASEPOLICE_NEVADA self -function AIRBASEPOLICE_NEVADA:New( AirbaseNames ) +-- @return #ATC_GROUND_NEVADA self +function ATC_GROUND_NEVADA:New( AirbaseNames ) -- Inherits from BASE - local self = BASE:Inherit( self, AIRBASEPOLICE_BASE:New( self.Airbases, AirbaseNames ) ) + local self = BASE:Inherit( self, ATC_GROUND:New( self.Airbases, AirbaseNames ) ) @@ -1335,15 +1373,15 @@ function AIRBASEPOLICE_NEVADA:New( AirbaseNames ) end ---- @type AIRBASEPOLICE_NORMANDY --- @extends Functional.AirbasePolice#AIRBASEPOLICE_BASE +--- @type ATC_GROUND_NORMANDY +-- @extends Functional.AirbasePolice#ATC_GROUND ---- # AIRBASEPOLICE_NORMANDY, extends @{#AIRBASEPOLICE_BASE} +--- # ATC_GROUND_NORMANDY, extends @{#ATC_GROUND} -- --- ![Banner Image](..\Presentations\AIRBASEPOLICE\Dia1.JPG) +-- ![Banner Image](..\Presentations\ATC_GROUND\Dia1.JPG) -- --- The AIRBASEPOLICE_NORMANDY class monitors the speed of the airplanes at the airbase during taxi. +-- The ATC_GROUND_NORMANDY class monitors the speed of the airplanes at the airbase during taxi. -- The pilots may not drive faster than the maximum speed for the airbase, or they will be despawned. -- -- The pilot will receive 3 times a warning during speeding. After the 3rd warning, if the pilot is still driving @@ -1353,27 +1391,54 @@ end -- -- # Airbases monitored -- --- The following airbases are monitored at the Caucasus region: +-- The following airbases are monitored at the Normandy region. +-- Use the AIRBASE.Normandy enumeration to select the airbases to be monitored. -- --- * Nellis --- * McCarran --- * Creech --- * GroomLake --- +-- * ´AIRBASE.Normandy.Azeville´ +-- * ´AIRBASE.Normandy.Bazenville´ +-- * ´AIRBASE.Normandy.Beny_sur_Mer´ +-- * ´AIRBASE.Normandy.Beuzeville´ +-- * ´AIRBASE.Normandy.Biniville´ +-- * ´AIRBASE.Normandy.Brucheville´ +-- * ´AIRBASE.Normandy.Cardonville´ +-- * ´AIRBASE.Normandy.Carpiquet´ +-- * ´AIRBASE.Normandy.Chailey´ +-- * ´AIRBASE.Normandy.Chippelle´ +-- * ´AIRBASE.Normandy.Cretteville´ +-- * ´AIRBASE.Normandy.Cricqueville_en_Bessin´ +-- * ´AIRBASE.Normandy.Deux_Jumeaux´ +-- * ´AIRBASE.Normandy.Evreux´ +-- * ´AIRBASE.Normandy.Ford´ +-- * ´AIRBASE.Normandy.Funtington´ +-- * ´AIRBASE.Normandy.Lantheuil´ +-- * ´AIRBASE.Normandy.Le_Molay´ +-- * ´AIRBASE.Normandy.Lessay´ +-- * ´AIRBASE.Normandy.Lignerolles´ +-- * ´AIRBASE.Normandy.Longues_sur_Mer´ +-- * ´AIRBASE.Normandy.Maupertus´ +-- * ´AIRBASE.Normandy.Meautis´ +-- * ´AIRBASE.Normandy.Needs_Oar_Point´ +-- * ´AIRBASE.Normandy.Picauville´ +-- * ´AIRBASE.Normandy.Rucqueville´ +-- * ´AIRBASE.Normandy.Saint_Pierre_du_Mont´ +-- * ´AIRBASE.Normandy.Sainte_Croix_sur_Mer´ +-- * ´AIRBASE.Normandy.Sainte_Laurent_sur_Mer´ +-- * ´AIRBASE.Normandy.Sommervieu´ +-- * ´AIRBASE.Normandy.Tangmere´ -- -- # Installation -- -- ## In Single Player Missions -- --- AIRBASEPOLICE is fully functional in single player. +-- ATC_GROUND is fully functional in single player. -- -- ## In Multi Player Missions -- --- AIRBASEPOLICE is NOT functional in multi player, for client machines connecting to the server, running the mission. +-- ATC_GROUND is NOT functional in multi player, for client machines connecting to the server, running the mission. -- Due to a bug in DCS since release 1.5, the despawning of clients are not anymore working in multi player. -- To work around this problem, a much better solution has been made, using the slot blocker script designed -- by Ciribob. With the help of Ciribob, this script has been extended to also kick client players while in flight. --- AIRBASEPOLICE is communicating with this modified script to kick players! +-- ATC_GROUND is communicating with this modified script to kick players! -- -- Install the file **SimpleSlotBlockGameGUI.lua** on the server, following the installation instructions described by Ciribob. -- @@ -1381,18 +1446,25 @@ end -- -- # Script it! -- --- ## 1. AIRBASEPOLICE_NORMANDY Constructor +-- ## 1. ATC_GROUND_NORMANDY Constructor -- --- Creates a new AIRBASEPOLICE_NORMANDY object that will monitor pilots taxiing behaviour. +-- Creates a new ATC_GROUND_NORMANDY object that will monitor pilots taxiing behaviour. -- --- -- This creates a new AIRBASEPOLICE_NORMANDY object. +-- -- This creates a new ATC_GROUND_NORMANDY object. -- -- -- Monitor for these clients the airbases. --- AirbasePoliceCaucasus = AIRBASEPOLICE_NORMANDY:New() +-- AirbasePoliceCaucasus = ATC_GROUND_NORMANDY:New() +-- +-- ATC_Ground = ATC_GROUND_NORMANDY:New( +-- { AIRBASE.Normandy.Chippelle, +-- AIRBASE.Normandy.Beuzeville +-- } +-- ) +-- -- --- @field #AIRBASEPOLICE_NORMANDY -AIRBASEPOLICE_NORMANDY = { - ClassName = "AIRBASEPOLICE_NORMANDY", +-- @field #ATC_GROUND_NORMANDY +ATC_GROUND_NORMANDY = { + ClassName = "ATC_GROUND_NORMANDY", Airbases = { [AIRBASE.Normandy.Azeville] = { PointsRunways = { @@ -1784,14 +1856,14 @@ AIRBASEPOLICE_NORMANDY = { } ---- Creates a new AIRBASEPOLICE_NORMANDY object. --- @param #AIRBASEPOLICE_NORMANDY self +--- Creates a new ATC_GROUND_NORMANDY object. +-- @param #ATC_GROUND_NORMANDY self -- @param AirbaseNames A list {} of airbase names (Use AIRBASE.Normandy enumerator). --- @return #AIRBASEPOLICE_NORMANDY self -function AIRBASEPOLICE_NORMANDY:New( AirbaseNames ) +-- @return #ATC_GROUND_NORMANDY self +function ATC_GROUND_NORMANDY:New( AirbaseNames ) -- Inherits from BASE - local self = BASE:Inherit( self, AIRBASEPOLICE_BASE:New( self.Airbases, AirbaseNames ) ) + local self = BASE:Inherit( self, ATC_GROUND:New( self.Airbases, AirbaseNames ) ) -- These lines here are for the demonstration mission. -- They create in the dcs.log the coordinates of the runway polygons, that are then diff --git a/Moose Development/Moose/Wrapper/Airbase.lua b/Moose Development/Moose/Wrapper/Airbase.lua index fab9998b3..ae8082b8b 100644 --- a/Moose Development/Moose/Wrapper/Airbase.lua +++ b/Moose Development/Moose/Wrapper/Airbase.lua @@ -149,7 +149,7 @@ function AIRBASE:Register( AirbaseName ) local self = BASE:Inherit( self, POSITIONABLE:New( AirbaseName ) ) self.AirbaseName = AirbaseName - self.AirbaseZone = ZONE_RADIUS:New( AirbaseName, self:GetVec2(), 8000 ) + self.AirbaseZone = ZONE_RADIUS:New( AirbaseName, self:GetVec2(), 2000 ) return self end diff --git a/Moose Mission Setup/Moose.files b/Moose Mission Setup/Moose.files index 4d9f53b43..8f0925e61 100644 --- a/Moose Mission Setup/Moose.files +++ b/Moose Mission Setup/Moose.files @@ -41,7 +41,7 @@ Functional/Movement.lua Functional/Sead.lua Functional/Escort.lua Functional/MissileTrainer.lua -Functional/AirbasePolice.lua +Functional/ATC_Ground.lua Functional/Detection.lua Functional/Designate.lua Functional/RAT.lua diff --git a/Moose Mission Setup/Moose.lua b/Moose Mission Setup/Moose.lua index e88e8bf87..0c3d72962 100644 --- a/Moose Mission Setup/Moose.lua +++ b/Moose Mission Setup/Moose.lua @@ -1,5 +1,5 @@ env.info( '*** MOOSE DYNAMIC INCLUDE START *** ' ) -env.info( 'Moose Generation Timestamp: 20171023_1007' ) +env.info( 'Moose Generation Timestamp: 20171026_0958' ) local base = _G @@ -61,7 +61,7 @@ __Moose.Include( 'Functional/Movement.lua' ) __Moose.Include( 'Functional/Sead.lua' ) __Moose.Include( 'Functional/Escort.lua' ) __Moose.Include( 'Functional/MissileTrainer.lua' ) -__Moose.Include( 'Functional/AirbasePolice.lua' ) +__Moose.Include( 'Functional/ATC_Ground.lua' ) __Moose.Include( 'Functional/Detection.lua' ) __Moose.Include( 'Functional/Designate.lua' ) __Moose.Include( 'Functional/RAT.lua' ) diff --git a/Moose Mission Setup/Moose_.lua b/Moose Mission Setup/Moose_.lua index 1cdef6beb..0e300d47a 100644 --- a/Moose Mission Setup/Moose_.lua +++ b/Moose Mission Setup/Moose_.lua @@ -1,5 +1,5 @@ env.info('*** MOOSE DYNAMIC INCLUDE START *** ') -env.info('Moose Generation Timestamp: 20171023_1007') +env.info('Moose Generation Timestamp: 20171026_0958') local base=_G __Moose={} __Moose.Include=function(IncludeFile) @@ -56,7 +56,7 @@ __Moose.Include('Functional/Movement.lua') __Moose.Include('Functional/Sead.lua') __Moose.Include('Functional/Escort.lua') __Moose.Include('Functional/MissileTrainer.lua') -__Moose.Include('Functional/AirbasePolice.lua') +__Moose.Include('Functional/ATC_Ground.lua') __Moose.Include('Functional/Detection.lua') __Moose.Include('Functional/Designate.lua') __Moose.Include('Functional/RAT.lua') diff --git a/docs/Documentation/AI_A2A.html b/docs/Documentation/AI_A2A.html index 54b845efc..67ca9d37e 100644 --- a/docs/Documentation/AI_A2A.html +++ b/docs/Documentation/AI_A2A.html @@ -671,6 +671,7 @@
+ #number AI_A2A.IdleCount diff --git a/docs/Documentation/AirbasePolice.html b/docs/Documentation/AirbasePolice.html index c00793f61..b95d334b0 100644 --- a/docs/Documentation/AirbasePolice.html +++ b/docs/Documentation/AirbasePolice.html @@ -115,7 +115,7 @@

Module AirbasePolice

-

Functional -- The AIRBASEPOLICE classes monitor airbase traffic and regulate speed while taxiing.

+

Functional -- The ATC_GROUND classes monitor airbase traffic and regulate speed while taxiing.

@@ -132,27 +132,37 @@ AIRBASEPOLICE_BASE -

Base class for AIRBASEPOLICE implementations.

+

Base class for ATC_GROUND implementations.

- AIRBASEPOLICE_CAUCASUS + ATC_GROUND_CAUCASUS -

AIRBASEPOLICE_CAUCASUS, extends #AIRBASEPOLICE_BASE

+

ATCGROUNDCAUCASUS, extends #AIRBASEPOLICE_BASE

-

Banner Image

+

Banner Image

-

The AIRBASEPOLICE_CAUCASUS class monitors the speed of the airplanes at the airbase during taxi.

+

The ATCGROUNDCAUCASUS class monitors the speed of the airplanes at the airbase during taxi.

- AIRBASEPOLICE_NEVADA + ATC_GROUND_NEVADA -

AIRBASEPOLICE_NEVADA, extends #AIRBASEPOLICE_BASE

+

ATCGROUNDNEVADA, extends #AIRBASEPOLICE_BASE

-

Banner Image

+

Banner Image

-

The AIRBASEPOLICE_NEVADA class monitors the speed of the airplanes at the airbase during taxi.

+

The ATCGROUNDNEVADA class monitors the speed of the airplanes at the airbase during taxi.

+ + + + ATC_GROUND_NORMANDY + +

ATCGROUNDNORMANDY, extends #AIRBASEPOLICE_BASE

+ +

Banner Image

+ +

The ATCGROUNDNORMANDY class monitors the speed of the airplanes at the airbase during taxi.

@@ -165,7 +175,31 @@

Type AIRBASEPOLICE_BASE

- + + + + + + + + + + + + + + + + + @@ -174,6 +208,18 @@ + + + + + + + + @@ -190,22 +236,32 @@
AIRBASEPOLICE_BASE:New(SetClient, Airbases, AirbaseList)AIRBASEPOLICE_BASE.AirbaseList + +
AIRBASEPOLICE_BASE.AirbaseMonitor + +
AIRBASEPOLICE_BASE.Airbases + +
AIRBASEPOLICE_BASE.KickSpeed + +
AIRBASEPOLICE_BASE:New(Airbases, AirbaseList)

Creates a new AIRBASEPOLICE_BASE object.

AIRBASEPOLICE_BASE.SetClient +
AIRBASEPOLICE_BASE:SetKickSpeedKmph(KickSpeed) +

Set the maximum speed in Kmph until the player gets kicked.

+
AIRBASEPOLICE_BASE:SetKickSpeedMiph(KickSpeedMiph) +

Set the maximum speed in Miph until the player gets kicked.

-

Type AIRBASEPOLICE_CAUCASUS

+

Type ATC_GROUND_CAUCASUS

- +
AIRBASEPOLICE_CAUCASUS:New(SetClient, AirbaseNames)ATC_GROUND_CAUCASUS:New(AirbaseNames) -

Creates a new AIRBASEPOLICE_CAUCASUS object.

+

Creates a new ATCGROUNDCAUCASUS object.

-

Type AIRBASEPOLICE_NEVADA

+

Type ATC_GROUND_NEVADA

- + + +
AIRBASEPOLICE_NEVADA:New(SetClient, AirbaseNames)ATC_GROUND_NEVADA:New(AirbaseNames) -

Creates a new AIRBASEPOLICE_NEVADA object.

+

Creates a new ATCGROUNDNEVADA object.

+
+ +

Type ATC_GROUND_NORMANDY

+ + + +
ATC_GROUND_NORMANDY:New(AirbaseNames) +

Creates a new ATCGROUNDNORMANDY object.

@@ -221,25 +277,25 @@
-

Base class for AIRBASEPOLICE implementations.

+

Base class for ATC_GROUND implementations.

- #AIRBASEPOLICE_CAUCASUS - -AIRBASEPOLICE_CAUCASUS + #ATC_GROUND_CAUCASUS + +ATC_GROUND_CAUCASUS
-

AIRBASEPOLICE_CAUCASUS, extends #AIRBASEPOLICE_BASE

+

ATCGROUNDCAUCASUS, extends #AIRBASEPOLICE_BASE

-

Banner Image

+

Banner Image

-

The AIRBASEPOLICE_CAUCASUS class monitors the speed of the airplanes at the airbase during taxi.

+

The ATCGROUNDCAUCASUS class monitors the speed of the airplanes at the airbase during taxi.

The pilots may not drive faster than the maximum speed for the airbase, or they will be despawned.

@@ -253,30 +309,31 @@ faster than the maximum allowed speed, the pilot will be kicked.

Airbases monitored

-

The following airbases are monitored at the Caucasus region:

+

The following airbases are monitored at the Caucasus region. +Use the AIRBASE.Caucasus enumeration to select the airbases to be monitored.

    -
  • Anapa Vityazevo
  • -
  • Batumi
  • -
  • Beslan
  • -
  • Gelendzhik
  • -
  • Gudauta
  • -
  • Kobuleti
  • -
  • Krasnodar Center
  • -
  • Krasnodar Pashkovsky
  • -
  • Krymsk
  • -
  • Kutaisi
  • -
  • Maykop Khanskaya
  • -
  • Mineralnye Vody
  • -
  • Mozdok
  • -
  • Nalchik
  • -
  • Novorossiysk
  • -
  • Senaki Kolkhi
  • -
  • Sochi Adler
  • -
  • Soganlug
  • -
  • Sukhumi Babushara
  • -
  • Tbilisi Lochini
  • -
  • Vaziani
  • +
  • ´AIRBASE.Caucasus.Anapa_Vityazevo´
  • +
  • ´AIRBASE.Caucasus.Batumi´
  • +
  • ´AIRBASE.Caucasus.Beslan´
  • +
  • ´AIRBASE.Caucasus.Gelendzhik´
  • +
  • ´AIRBASE.Caucasus.Gudauta´
  • +
  • ´AIRBASE.Caucasus.Kobuleti´
  • +
  • ´AIRBASE.Caucasus.Krasnodar_Center´
  • +
  • ´AIRBASE.Caucasus.Krasnodar_Pashkovsky´
  • +
  • ´AIRBASE.Caucasus.Krymsk´
  • +
  • ´AIRBASE.Caucasus.Kutaisi´
  • +
  • ´AIRBASE.Caucasus.Maykop_Khanskaya´
  • +
  • ´AIRBASE.Caucasus.Mineralnye_Vody´
  • +
  • ´AIRBASE.Caucasus.Mozdok´
  • +
  • ´AIRBASE.Caucasus.Nalchik´
  • +
  • ´AIRBASE.Caucasus.Novorossiysk´
  • +
  • ´AIRBASE.Caucasus.Senaki_Kolkhi´
  • +
  • ´AIRBASE.Caucasus.Sochi_Adler´
  • +
  • ´AIRBASE.Caucasus.Soganlug´
  • +
  • ´AIRBASE.Caucasus.Sukhumi_Babushara´
  • +
  • ´AIRBASE.Caucasus.Tbilisi_Lochini´
  • +
  • ´AIRBASE.Caucasus.Vaziani´
@@ -284,15 +341,15 @@ faster than the maximum allowed speed, the pilot will be kicked.

In Single Player Missions

-

AIRBASEPOLICE is fully functional in single player.

+

ATC_GROUND is fully functional in single player.

In Multi Player Missions

-

AIRBASEPOLICE is NOT functional in multi player, for client machines connecting to the server, running the mission. +

ATCGROUND is NOT functional in multi player, for client machines connecting to the server, running the mission. Due to a bug in DCS since release 1.5, the despawning of clients are not anymore working in multi player. To work around this problem, a much better solution has been made, using the slot blocker script designed by Ciribob. With the help of Ciribob, this script has been extended to also kick client players while in flight. -AIRBASEPOLICE is communicating with this modified script to kick players!

+ATCGROUND is communicating with this modified script to kick players!

Install the file SimpleSlotBlockGameGUI.lua on the server, following the installation instructions described by Ciribob.

@@ -300,37 +357,42 @@ AIRBASEPOLICE is communicating with this modified script to kick players!

Script it!

-

1. AIRBASEPOLICE_CAUCASUS Constructor

+

1. ATCGROUNDCAUCASUS Constructor

-

Creates a new AIRBASEPOLICE_CAUCASUS object that will monitor pilots taxiing behaviour.

+

Creates a new ATCGROUNDCAUCASUS object that will monitor pilots taxiing behaviour.

-
-- This creates a new AIRBASEPOLICE_CAUCASUS object.
+
-- This creates a new ATC_GROUND_CAUCASUS object.
 
--- Create a set of all clients in the mission.
-AllClientsSet = SET_CLIENT:New():FilterStart()
+-- Monitor all the airbases.
+AirbasePoliceCaucasus = ATC_GROUND_CAUCASUS:New()
+
+-- Monitor specific airbases only.
+
+ATC_Ground = ATC_GROUND_CAUCASUS:New(
+  { AIRBASE.Caucasus.Gelendzhik,     
+    AIRBASE.Caucasus.Krymsk          
+  }                                  
+)                                    
 
--- Monitor for these clients the airbases.
-AirbasePoliceCaucasus = AIRBASEPOLICE_CAUCASUS:New( AllClientsSet )
 
-
- #AIRBASEPOLICE_NEVADA - -AIRBASEPOLICE_NEVADA + #ATC_GROUND_NEVADA + +ATC_GROUND_NEVADA
-

AIRBASEPOLICE_NEVADA, extends #AIRBASEPOLICE_BASE

+

ATCGROUNDNEVADA, extends #AIRBASEPOLICE_BASE

-

Banner Image

+

Banner Image

-

The AIRBASEPOLICE_NEVADA class monitors the speed of the airplanes at the airbase during taxi.

+

The ATCGROUNDNEVADA class monitors the speed of the airplanes at the airbase during taxi.

The pilots may not drive faster than the maximum speed for the airbase, or they will be despawned.

@@ -342,29 +404,43 @@ faster than the maximum allowed speed, the pilot will be kicked.

Airbases monitored

-

The following airbases are monitored at the Caucasus region:

+

The following airbases are monitored at the Nevada region. +Use the AIRBASE.Nevada enumeration to select the airbases to be monitored.

    -
  • Nellis
  • -
  • McCarran
  • -
  • Creech
  • -
  • GroomLake
  • +
  • AIRBASE.Nevada.Beatty_Airport
  • +
  • AIRBASE.Nevada.Boulder_City_Airport
  • +
  • AIRBASE.Nevada.Creech_AFB
  • +
  • AIRBASE.Nevada.Echo_Bay
  • +
  • AIRBASE.Nevada.Groom_Lake_AFB
  • +
  • AIRBASE.Nevada.Henderson_Executive_Airport
  • +
  • AIRBASE.Nevada.Jean_Airport
  • +
  • AIRBASE.Nevada.Laughlin_Airport
  • +
  • AIRBASE.Nevada.Lincoln_County
  • +
  • AIRBASE.Nevada.McCarran_International_Airport
  • +
  • AIRBASE.Nevada.Mellan_Airstrip
  • +
  • AIRBASE.Nevada.Mesquite
  • +
  • AIRBASE.Nevada.Mina_Airport_3Q0
  • +
  • AIRBASE.Nevada.Nellis_AFB
  • +
  • AIRBASE.Nevada.North_Las_Vegas
  • +
  • AIRBASE.Nevada.Pahute_Mesa_Airstrip
  • +
  • AIRBASE.Nevada.Tonopah_Airport
  • +
  • AIRBASE.Nevada.Tonopah_Test_Range_Airfield
-

Installation

In Single Player Missions

-

AIRBASEPOLICE is fully functional in single player.

+

ATC_GROUND is fully functional in single player.

In Multi Player Missions

-

AIRBASEPOLICE is NOT functional in multi player, for client machines connecting to the server, running the mission. +

ATCGROUND is NOT functional in multi player, for client machines connecting to the server, running the mission. Due to a bug in DCS since release 1.5, the despawning of clients are not anymore working in multi player. To work around this problem, a much better solution has been made, using the slot blocker script designed by Ciribob. With the help of Ciribob, this script has been extended to also kick client players while in flight. -AIRBASEPOLICE is communicating with this modified script to kick players!

+ATCGROUND is communicating with this modified script to kick players!

Install the file SimpleSlotBlockGameGUI.lua on the server, following the installation instructions described by Ciribob.

@@ -372,20 +448,131 @@ AIRBASEPOLICE is communicating with this modified script to kick players!

Script it!

-

1. AIRBASEPOLICE_NEVADA Constructor

+

1. ATCGROUNDNEVADA Constructor

-

Creates a new AIRBASEPOLICE_NEVADA object that will monitor pilots taxiing behaviour.

+

Creates a new ATCGROUNDNEVADA object that will monitor pilots taxiing behaviour.

-
-- This creates a new AIRBASEPOLICE_NEVADA object.
+
-- This creates a new ATC_GROUND_NEVADA object.
 
--- Create a set of all clients in the mission.
-AllClientsSet = SET_CLIENT:New():FilterStart()
+-- Monitor all the airbases.
+AirbasePoliceCaucasus = ATC_GROUND_NEVADA:New()
+
+
+-- Monitor specific airbases.
+ATC_Ground = ATC_GROUND_NEVADA:New(              
+  { AIRBASE.Nevada.Laughlin_Airport,             
+    AIRBASE.Nevada.Mellan_Airstrip,              
+    AIRBASE.Nevada.Lincoln_County,               
+    AIRBASE.Nevada.North_Las_Vegas,              
+    AIRBASE.Nevada.McCarran_International_Airport
+  }                                              
+)                                                
+
+ + +
+
+
+
+ + #ATC_GROUND_NORMANDY + +ATC_GROUND_NORMANDY + +
+
+ +

ATCGROUNDNORMANDY, extends #AIRBASEPOLICE_BASE

+ +

Banner Image

+ +

The ATCGROUNDNORMANDY class monitors the speed of the airplanes at the airbase during taxi.

+ + +

The pilots may not drive faster than the maximum speed for the airbase, or they will be despawned.

+ +

The pilot will receive 3 times a warning during speeding. After the 3rd warning, if the pilot is still driving +faster than the maximum allowed speed, the pilot will be kicked.

+ +

Different airbases have different maximum speeds, according safety regulations.

+ +

Airbases monitored

+ +

The following airbases are monitored at the Normandy region. +Use the AIRBASE.Normandy enumeration to select the airbases to be monitored.

+ +
    +
  • ´AIRBASE.Normandy.Azeville´
  • +
  • ´AIRBASE.Normandy.Bazenville´
  • +
  • ´AIRBASE.Normandy.BenysurMer´
  • +
  • ´AIRBASE.Normandy.Beuzeville´
  • +
  • ´AIRBASE.Normandy.Biniville´
  • +
  • ´AIRBASE.Normandy.Brucheville´
  • +
  • ´AIRBASE.Normandy.Cardonville´
  • +
  • ´AIRBASE.Normandy.Carpiquet´
  • +
  • ´AIRBASE.Normandy.Chailey´
  • +
  • ´AIRBASE.Normandy.Chippelle´
  • +
  • ´AIRBASE.Normandy.Cretteville´
  • +
  • ´AIRBASE.Normandy.CricquevilleenBessin´
  • +
  • ´AIRBASE.Normandy.Deux_Jumeaux´
  • +
  • ´AIRBASE.Normandy.Evreux´
  • +
  • ´AIRBASE.Normandy.Ford´
  • +
  • ´AIRBASE.Normandy.Funtington´
  • +
  • ´AIRBASE.Normandy.Lantheuil´
  • +
  • ´AIRBASE.Normandy.Le_Molay´
  • +
  • ´AIRBASE.Normandy.Lessay´
  • +
  • ´AIRBASE.Normandy.Lignerolles´
  • +
  • ´AIRBASE.Normandy.LonguessurMer´
  • +
  • ´AIRBASE.Normandy.Maupertus´
  • +
  • ´AIRBASE.Normandy.Meautis´
  • +
  • ´AIRBASE.Normandy.NeedsOarPoint´
  • +
  • ´AIRBASE.Normandy.Picauville´
  • +
  • ´AIRBASE.Normandy.Rucqueville´
  • +
  • ´AIRBASE.Normandy.SaintPierredu_Mont´
  • +
  • ´AIRBASE.Normandy.SainteCroixsur_Mer´
  • +
  • ´AIRBASE.Normandy.SainteLaurentsur_Mer´
  • +
  • ´AIRBASE.Normandy.Sommervieu´
  • +
  • ´AIRBASE.Normandy.Tangmere´
  • +
+ +

Installation

+ +

In Single Player Missions

+ +

ATC_GROUND is fully functional in single player.

+ +

In Multi Player Missions

+ +

ATCGROUND is NOT functional in multi player, for client machines connecting to the server, running the mission. +Due to a bug in DCS since release 1.5, the despawning of clients are not anymore working in multi player. +To work around this problem, a much better solution has been made, using the slot blocker script designed +by Ciribob. With the help of Ciribob, this script has been extended to also kick client players while in flight. +ATCGROUND is communicating with this modified script to kick players!

+ +

Install the file SimpleSlotBlockGameGUI.lua on the server, following the installation instructions described by Ciribob.

+ +

Simple Slot Blocker from Ciribob & FlightControl

+ +

Script it!

+ +

1. ATCGROUNDNORMANDY Constructor

+ +

Creates a new ATCGROUNDNORMANDY object that will monitor pilots taxiing behaviour.

+ +
-- This creates a new ATC_GROUND_NORMANDY object.
 
 -- Monitor for these clients the airbases.
-AirbasePoliceCaucasus = AIRBASEPOLICE_NEVADA:New( AllClientsSet )
+AirbasePoliceCaucasus = ATC_GROUND_NORMANDY:New()
+
+ATC_Ground = ATC_GROUND_NORMANDY:New( 
+  { AIRBASE.Normandy.Chippelle,
+    AIRBASE.Normandy.Beuzeville 
+  } 
+)
 
+
@@ -412,8 +599,64 @@ AirbasePoliceCaucasus = AIRBASEPOLICE_NEVADA:New( AllClientsSet )
+ + +AIRBASEPOLICE_BASE.AirbaseList + +
+
+ + + +
+
+
+
+ + + +AIRBASEPOLICE_BASE.AirbaseMonitor + +
+
+ + + +
+
+
+
+ + + +AIRBASEPOLICE_BASE.Airbases + +
+
+ + + +
+
+
+
+ + + +AIRBASEPOLICE_BASE.KickSpeed + +
+
+ + + +
+
+
+
+ -AIRBASEPOLICE_BASE:New(SetClient, Airbases, AirbaseList) +AIRBASEPOLICE_BASE:New(Airbases, AirbaseList)
@@ -424,12 +667,6 @@ AirbasePoliceCaucasus = AIRBASEPOLICE_NEVADA:New( AllClientsSet )
  • -

    SetClient : -A SET_CLIENT object that will contain the CLIENT objects to be monitored if they follow the rules of the airbase.

    - -
  • -
  • -

    Airbases : A table of Airbase Names.

    @@ -459,6 +696,60 @@ self

    +
+
+
+
+ + +AIRBASEPOLICE_BASE:SetKickSpeedKmph(KickSpeed) + +
+
+ +

Set the maximum speed in Kmph until the player gets kicked.

+ +

Parameter

+
    +
  • + +

    #number KickSpeed : +Set the maximum speed in Kmph until the player gets kicked.

    + +
  • +
+

Return value

+ +

#AIRBASEPOLICE_BASE: +self

+ +
+
+
+
+ + +AIRBASEPOLICE_BASE:SetKickSpeedMiph(KickSpeedMiph) + +
+
+ +

Set the maximum speed in Miph until the player gets kicked.

+ +

Parameter

+
    +
  • + +

    #number KickSpeedMiph : +Set the maximum speed in Mph until the player gets kicked.

    + +
  • +
+

Return value

+ +

#AIRBASEPOLICE_BASE: +self

+
@@ -504,29 +795,23 @@ self

Type AIRBASEPOLICE_BASE.AirbaseNames

-

Type AIRBASEPOLICE_CAUCASUS

+

Type ATC_GROUND_CAUCASUS

Field(s)

- -AIRBASEPOLICE_CAUCASUS:New(SetClient, AirbaseNames) + +ATC_GROUND_CAUCASUS:New(AirbaseNames)
-

Creates a new AIRBASEPOLICE_CAUCASUS object.

+

Creates a new ATCGROUNDCAUCASUS object.

-

Parameters

+

Parameter

  • -

    SetClient : -A SET_CLIENT object that will contain the CLIENT objects to be monitored if they follow the rules of the airbase.

    - -
  • -
  • -

    AirbaseNames : A list {} of airbase names (Use AIRBASE.Caucasus enumerator).

    @@ -534,35 +819,29 @@ A list {} of airbase names (Use AIRBASE.Caucasus enumerator).

Return value

-

#AIRBASEPOLICE_CAUCASUS: +

#ATCGROUNDCAUCASUS: self

-

Type AIRBASEPOLICE_NEVADA

+

Type ATC_GROUND_NEVADA

Field(s)

- -AIRBASEPOLICE_NEVADA:New(SetClient, AirbaseNames) + +ATC_GROUND_NEVADA:New(AirbaseNames)
-

Creates a new AIRBASEPOLICE_NEVADA object.

+

Creates a new ATCGROUNDNEVADA object.

-

Parameters

+

Parameter

  • -

    SetClient : -A SET_CLIENT object that will contain the CLIENT objects to be monitored if they follow the rules of the airbase.

    - -
  • -
  • -

    AirbaseNames : A list {} of airbase names (Use AIRBASE.Nevada enumerator).

    @@ -570,7 +849,37 @@ A list {} of airbase names (Use AIRBASE.Nevada enumerator).

Return value

-

#AIRBASEPOLICE_NEVADA: +

#ATCGROUNDNEVADA: +self

+ +
+
+ +

Type ATC_GROUND_NORMANDY

+

Field(s)

+
+
+ + +ATC_GROUND_NORMANDY:New(AirbaseNames) + +
+
+ +

Creates a new ATCGROUNDNORMANDY object.

+ +

Parameter

+
    +
  • + +

    AirbaseNames : +A list {} of airbase names (Use AIRBASE.Normandy enumerator).

    + +
  • +
+

Return value

+ +

#ATCGROUNDNORMANDY: self

diff --git a/docs/Documentation/Base.html b/docs/Documentation/Base.html index 2a96f397b..2d446b98b 100644 --- a/docs/Documentation/Base.html +++ b/docs/Documentation/Base.html @@ -115,12 +115,9 @@

Module Base

-

Core -- BASE forms the basis of the MOOSE framework.

+

Core -- VELOCITY models a speed, which can be expressed in various formats according the Settings.

-

Each class within the MOOSE framework derives from BASE.

- -

Banner Image


@@ -133,435 +130,126 @@

Global(s)

- + - +
BASEVELOCITY -

1) #BASE class

+

VELOCITY class, extends Base#BASE

-

All classes within the MOOSE framework are derived from the BASE class.

+

VELOCITY models a speed, which can be expressed in various formats according the Settings.

FORMATIONVELOCITY_POSITIONABLE +

VELOCITY_POSITIONABLE class, extends Base#BASE

+

VELOCITY_POSITIONABLE monitors the speed of an Positionable in the simulation, which can be expressed in various formats according the Settings.

-

Type BASE

+

Type VELOCITY

- + - + - + - + - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
BASE.ClassIDVELOCITY:Get() -

The ID number of the class.

+

Get the velocity in Mps (meters per second).

BASE.ClassNameVELOCITY:GetKmph() -

The name of the class.

+

Get the velocity in Kmph (kilometers per hour).

BASE.ClassNameAndIDVELOCITY:GetMiph() -

The name of the class concatenated with the ID number of the class.

+

Get the velocity in Miph (miles per hour).

BASE:ClearState(Object, StateName)VELOCITY:GetText(Settings) - +

Get the velocity in text, according the player Settings.

BASE:CreateEventBirth(EventTime, Initiator, IniUnitName, place, subplace)VELOCITY:New(VelocityMps) -

Creation of a Birth Event.

+

VELOCITY Constructor.

BASE:CreateEventCrash(EventTime, Initiator)VELOCITY:Set(VelocityMps) -

Creation of a Crash Event.

+

Set the velocity in Mps (meters per second).

BASE:CreateEventTakeoff(EventTime, Initiator)VELOCITY:SetKmph(VelocityKmph) -

Creation of a Takeoff Event.

+

Set the velocity in Kmph (kilometers per hour).

BASE:E(Arguments)VELOCITY:SetMiph(VelocityMiph) -

Log an exception which will be traced always.

+

Set the velocity in Miph (miles per hour).

BASE:EventDispatcher()VELOCITY:ToString(Controllable, Settings, VelocityGroup) -

Returns the event dispatcher

+

Get the velocity in text, according the player or default Settings.

BASE:EventRemoveAll() -

Remove all subscribed events

-
BASE:F(Arguments) -

Trace a function call.

-
BASE:F2(Arguments) -

Trace a function call level 2.

-
BASE:F3(Arguments) -

Trace a function call level 3.

-
BASE:GetClassID() -

Get the ClassID of the class instance.

-
BASE:GetClassName() -

Get the ClassName of the class instance.

-
BASE:GetClassNameAndID() -

Get the ClassName + ClassID of the class instance.

-
BASE:GetEventPriority() -

Get the Class Event processing Priority.

-
BASE:GetParent(Child, FromClass) -

This is the worker method to retrieve the Parent class.

-
BASE:GetState(Object, Key) -

Get a Value given a Key from the Object.

-
BASE:HandleEvent(Event, EventFunction) -

Subscribe to a DCS Event.

-
BASE:Inherit(Child, Parent) -

This is the worker method to inherit from a parent class.

-
BASE:IsInstanceOf(ClassName) -

This is the worker method to check if an object is an (sub)instance of a class.

-
BASE:IsTrace() -

Enquires if tracing is on (for the class).

-
BASE:New() -

BASE constructor.

-
BASE:OnEvent(EventData) -

Occurs when an object is completely destroyed.

-
BASE:OnEventBaseCaptured(EventData) -

Occurs when a ground unit captures either an airbase or a farp.

-
BASE:OnEventBirth(EventData) -

Occurs when any object is spawned into the mission.

-
BASE:OnEventCrash(EventData) -

Occurs when any aircraft crashes into the ground and is completely destroyed.

-
BASE:OnEventDead(EventData) -

Occurs when an object is dead.

-
BASE:OnEventEjection(EventData) -

Occurs when a pilot ejects from an aircraft -initiator : The unit that has ejected

-
BASE:OnEventEngineShutdown(EventData) -

Occurs when any aircraft shuts down its engines.

-
BASE:OnEventEngineStartup(EventData) -

Occurs when any aircraft starts its engines.

-
BASE:OnEventHit(EventData) -

Occurs whenever an object is hit by a weapon.

-
BASE:OnEventHumanFailure(EventData) -

Occurs when any system fails on a human controlled aircraft.

-
BASE:OnEventLand(EventData) -

Occurs when an aircraft lands at an airbase, farp or ship -initiator : The unit that has landed -place: Object that the unit landed on.

-
BASE:OnEventMissionEnd(EventData) -

Occurs when a mission ends

-
BASE:OnEventMissionStart(EventData) -

Occurs when a mission starts

-
BASE:OnEventPilotDead(EventData) -

Occurs when the pilot of an aircraft is killed.

-
BASE:OnEventPlayerEnterUnit(EventData) -

Occurs when any player assumes direct control of a unit.

-
BASE:OnEventPlayerLeaveUnit(EventData) -

Occurs when any player relieves control of a unit to the AI.

-
BASE:OnEventRefueling(EventData) -

Occurs when an aircraft connects with a tanker and begins taking on fuel.

-
BASE:OnEventRefuelingStop(EventData) -

Occurs when an aircraft is finished taking fuel.

-
BASE:OnEventShootingEnd(EventData) -

Occurs when any unit stops firing its weapon.

-
BASE:OnEventShootingStart(EventData) -

Occurs when any unit begins firing a weapon that has a high rate of fire.

-
BASE:OnEventShot(EventData) -

Occurs whenever any unit in a mission fires a weapon.

-
BASE:OnEventTakeoff(EventData) -

Occurs when an aircraft takes off from an airbase, farp, or ship.

-
BASE:ScheduleOnce(Start, SchedulerFunction, ...) -

Schedule a new time event.

-
BASE:ScheduleRepeat(Start, Repeat, RandomizeFactor, Stop, SchedulerFunction, ...) -

Schedule a new time event.

-
BASE:ScheduleStop(SchedulerFunction) -

Stops the Schedule.

-
BASE.SchedulerObject - -
BASE:SetEventPriority(EventPriority) -

Set the Class Event processing Priority.

-
BASE:SetState(Object, Key, Value) -

Set a state or property of the Object given a Key and a Value.

-
BASE:T(Arguments) -

Trace a function logic level 1.

-
BASE:T2(Arguments) -

Trace a function logic level 2.

-
BASE:T3(Arguments) -

Trace a function logic level 3.

-
BASE:TraceAll(TraceAll) -

Trace all methods in MOOSE

-
BASE:TraceClass(Class) -

Set tracing for a class

-
BASE:TraceClassMethod(Class, Method) -

Set tracing for a specific method of class

-
BASE:TraceLevel(Level) -

Set trace level

-
BASE:TraceOnOff(TraceOnOff) -

Set trace on or off -Note that when trace is off, no debug statement is performed, increasing performance! -When Moose is loaded statically, (as one file), tracing is switched off by default.

-
BASE:UnHandleEvent(Event) -

UnSubscribe to a DCS event.

-
BASE._ - -
BASE:_F(Arguments, DebugInfoCurrentParam, DebugInfoFromParam) -

Trace a function call.

-
BASE:_T(Arguments, DebugInfoCurrentParam, DebugInfoFromParam) -

Trace a function logic.

-
BASE.__ - -
BASE:onEvent(event)VELOCITY.Velocity
-

Type FORMATION

+

Type VELOCITY_POSITIONABLE

- + - + + + + + + + + + + + + + + + + + + + + + @@ -572,1510 +260,287 @@ When Moose is loaded statically, (as one file), tracing is switched off by defau
- #BASE - -BASE + #VELOCITY + +VELOCITY
-

1) #BASE class

+

VELOCITY class, extends Base#BASE

-

All classes within the MOOSE framework are derived from the BASE class.

+

VELOCITY models a speed, which can be expressed in various formats according the Settings.

-

-BASE provides facilities for :

+ +

1. VELOCITY constructor

    -
  • The construction and inheritance of MOOSE classes.
  • -
  • The class naming and numbering system.
  • -
  • The class hierarchy search system.
  • -
  • The tracing of information or objects during mission execution for debuggin purposes.
  • -
  • The subscription to DCS events for event handling in MOOSE objects.
  • +
  • VELOCITY.New(): Creates a new VELOCITY object.
-

Note: The BASE class is an abstract class and is not meant to be used directly.

- -

1.1) BASE constructor

- -

Any class derived from BASE, will use the Base#BASE.New constructor embedded in the Base#BASE.Inherit method. -See an example at the Base#BASE.New method how this is done.

- -

1.2) Trace information for debugging

- -

The BASE class contains trace methods to trace progress within a mission execution of a certain object. -These trace methods are inherited by each MOOSE class interiting BASE, soeach object created from derived class from BASE can use the tracing methods to trace its execution.

- -

Any type of information can be passed to these tracing methods. See the following examples:

- -
self:E( "Hello" )
-
- -

Result in the word "Hello" in the dcs.log.

- -
local Array = { 1, nil, "h", { "a","b" }, "x" }
-self:E( Array )
-
- -

Results with the text [1]=1,[3]="h",[4]={[1]="a",[2]="b"},[5]="x"} in the dcs.log.

- -
local Object1 = "Object1"
-local Object2 = 3
-local Object3 = { Object 1, Object 2 }
-self:E( { Object1, Object2, Object3 } )
-
- -

Results with the text [1]={[1]="Object",[2]=3,[3]={[1]="Object",[2]=3}} in the dcs.log.

- -
local SpawnObject = SPAWN:New( "Plane" )
-local GroupObject = GROUP:FindByName( "Group" )
-self:E( { Spawn = SpawnObject, Group = GroupObject } )
-
- -

Results with the text [1]={Spawn={....),Group={...}} in the dcs.log.

- -

Below a more detailed explanation of the different method types for tracing.

- -

1.2.1) Tracing methods categories

- -

There are basically 3 types of tracing methods available:

- -
    -
  • BASE.F: Used to trace the entrance of a function and its given parameters. An F is indicated at column 44 in the DCS.log file.
  • -
  • BASE.T: Used to trace further logic within a function giving optional variables or parameters. A T is indicated at column 44 in the DCS.log file.
  • -
  • BASE.E: Used to always trace information giving optional variables or parameters. An E is indicated at column 44 in the DCS.log file.
  • -
- -

1.2.2) Tracing levels

- -

There are 3 tracing levels within MOOSE.
-These tracing levels were defined to avoid bulks of tracing to be generated by lots of objects.

- -

As such, the F and T methods have additional variants to trace level 2 and 3 respectively:

- -
    -
  • BASE.F2: Trace the beginning of a function and its given parameters with tracing level 2.
  • -
  • BASE.F3: Trace the beginning of a function and its given parameters with tracing level 3.
  • -
  • BASE.T2: Trace further logic within a function giving optional variables or parameters with tracing level 2.
  • -
  • BASE.T3: Trace further logic within a function giving optional variables or parameters with tracing level 3.
  • -
- -

1.2.3) Trace activation.

- -

Tracing can be activated in several ways:

- -
    -
  • Switch tracing on or off through the BASE.TraceOnOff() method.
  • -
  • Activate all tracing through the BASE.TraceAll() method.
  • -
  • Activate only the tracing of a certain class (name) through the BASE.TraceClass() method.
  • -
  • Activate only the tracing of a certain method of a certain class through the BASE.TraceClassMethod() method.
  • -
  • Activate only the tracing of a certain level through the BASE.TraceLevel() method.
  • -
- -

1.2.4) Check if tracing is on.

- -

The method BASE.IsTrace() will validate if tracing is activated or not.

- -

1.3 DCS simulator Event Handling

- -

The BASE class provides methods to catch DCS Events. These are events that are triggered from within the DCS simulator, -and handled through lua scripting. MOOSE provides an encapsulation to handle these events more efficiently.

- -

1.3.1 Subscribe / Unsubscribe to DCS Events

- -

At first, the mission designer will need to Subscribe to a specific DCS event for the class. -So, when the DCS event occurs, the class will be notified of that event. -There are two methods which you use to subscribe to or unsubscribe from an event.

- - - -

1.3.2 Event Handling of DCS Events

- -

Once the class is subscribed to the event, an Event Handling method on the object or class needs to be written that will be called -when the DCS event occurs. The Event Handling method receives an Event#EVENTDATA structure, which contains a lot of information -about the event that occurred.

- -

Find below an example of the prototype how to write an event handling function for two units:

- -
 local Tank1 = UNIT:FindByName( "Tank A" )
- local Tank2 = UNIT:FindByName( "Tank B" )
-
- -- Here we subscribe to the Dead events. So, if one of these tanks dies, the Tank1 or Tank2 objects will be notified.
- Tank1:HandleEvent( EVENTS.Dead )
- Tank2:HandleEvent( EVENTS.Dead )
-
- --- This function is an Event Handling function that will be called when Tank1 is Dead.
- -- @param Wrapper.Unit#UNIT self 
- -- @param Core.Event#EVENTDATA EventData
- function Tank1:OnEventDead( EventData )
-
-   self:SmokeGreen()
- end
-
- --- This function is an Event Handling function that will be called when Tank2 is Dead.
- -- @param Wrapper.Unit#UNIT self 
- -- @param Core.Event#EVENTDATA EventData
- function Tank2:OnEventDead( EventData )
-
-   self:SmokeBlue()
- end
-
- - - -

See the Event module for more information about event handling.

- -

1.4) Class identification methods

- -

BASE provides methods to get more information of each object:

- -
    -
  • BASE.GetClassID(): Gets the ID (number) of the object. Each object created is assigned a number, that is incremented by one.
  • -
  • BASE.GetClassName(): Gets the name of the object, which is the name of the class the object was instantiated from.
  • -
  • BASE.GetClassNameAndID(): Gets the name and ID of the object.
  • -
- -

1.5) All objects derived from BASE can have "States"

- -

A mechanism is in place in MOOSE, that allows to let the objects administer states.
-States are essentially properties of objects, which are identified by a Key and a Value.

- -

The method BASE.SetState() can be used to set a Value with a reference Key to the object.
-To read or retrieve a state Value based on a Key, use the BASE.GetState method.

- -

These two methods provide a very handy way to keep state at long lasting processes. -Values can be stored within the objects, and later retrieved or changed when needed. -There is one other important thing to note, the BASE.SetState() and BASE.GetState methods -receive as the first parameter the object for which the state needs to be set. -Thus, if the state is to be set for the same object as the object for which the method is used, then provide the same -object name to the method.

- -

1.10) Inheritance

- -

The following methods are available to implement inheritance

- -
    -
  • BASE.Inherit: Inherits from a class.
  • -
  • BASE.GetParent: Returns the parent object from the object it is handling, or nil if there is no parent object.
  • -
- -
-
- #FORMATION - -FORMATION + #VELOCITY_POSITIONABLE + +VELOCITY_POSITIONABLE
+

VELOCITY_POSITIONABLE class, extends Base#BASE

+ +

VELOCITY_POSITIONABLE monitors the speed of an Positionable in the simulation, which can be expressed in various formats according the Settings.

+ + + +

1. VELOCITY_POSITIONABLE constructor

+ +

Type Base

-

Type BASE

+

Type VELOCITY

Field(s)

- -BASE.ClassID + +VELOCITY:Get()
-

The ID number of the class.

- -
-
-
-
- - -BASE.ClassName - -
-
- -

The name of the class.

- -
-
-
-
- - -BASE.ClassNameAndID - -
-
- -

The name of the class concatenated with the ID number of the class.

- -
-
-
-
- - -BASE:ClearState(Object, StateName) - -
-
- - - -

Parameters

-
    -
  • - -

    Object :

    - -
  • -
  • - -

    StateName :

    - -
  • -
-
-
-
-
- - -BASE:CreateEventBirth(EventTime, Initiator, IniUnitName, place, subplace) - -
-
- -

Creation of a Birth Event.

- -

Parameters

-
    -
  • - -

    Dcs.DCSTypes#Time EventTime : -The time stamp of the event.

    - -
  • -
  • - -

    Dcs.DCSWrapper.Object#Object Initiator : -The initiating object of the event.

    - -
  • -
  • - -

    #string IniUnitName : -The initiating unit name.

    - -
  • -
  • - -

    place :

    - -
  • -
  • - -

    subplace :

    - -
  • -
-
-
-
-
- - -BASE:CreateEventCrash(EventTime, Initiator) - -
-
- -

Creation of a Crash Event.

- -

Parameters

- -
-
-
-
- - -BASE:CreateEventTakeoff(EventTime, Initiator) - -
-
- -

Creation of a Takeoff Event.

- -

Parameters

- -
-
-
-
- - -BASE:E(Arguments) - -
-
- -

Log an exception which will be traced always.

- - -

Can be anywhere within the function logic.

- -

Parameter

-
    -
  • - -

    Arguments : -A #table or any field.

    - -
  • -
-
-
-
-
- - -BASE:EventDispatcher() - -
-
- -

Returns the event dispatcher

- -

Return value

- -

Core.Event#EVENT:

- - -
-
-
-
- - -BASE:EventRemoveAll() - -
-
- -

Remove all subscribed events

- -

Return value

- -

#BASE:

- - -
-
-
-
- - -BASE:F(Arguments) - -
-
- -

Trace a function call.

- - -

Must be at the beginning of the function logic.

- -

Parameter

-
    -
  • - -

    Arguments : -A #table or any field.

    - -
  • -
-
-
-
-
- - -BASE:F2(Arguments) - -
-
- -

Trace a function call level 2.

- - -

Must be at the beginning of the function logic.

- -

Parameter

-
    -
  • - -

    Arguments : -A #table or any field.

    - -
  • -
-
-
-
-
- - -BASE:F3(Arguments) - -
-
- -

Trace a function call level 3.

- - -

Must be at the beginning of the function logic.

- -

Parameter

-
    -
  • - -

    Arguments : -A #table or any field.

    - -
  • -
-
-
-
-
- - -BASE:GetClassID() - -
-
- -

Get the ClassID of the class instance.

- -

Return value

- -

#string: -The ClassID of the class instance.

- -
-
-
-
- - -BASE:GetClassName() - -
-
- -

Get the ClassName of the class instance.

- -

Return value

- -

#string: -The ClassName of the class instance.

- -
-
-
-
- - -BASE:GetClassNameAndID() - -
-
- -

Get the ClassName + ClassID of the class instance.

- - -

The ClassName + ClassID is formatted as '%s#%09d'.

- -

Return value

- -

#string: -The ClassName + ClassID of the class instance.

- -
-
-
-
- - -BASE:GetEventPriority() - -
-
- -

Get the Class Event processing Priority.

- - -

The Event processing Priority is a number from 1 to 10, -reflecting the order of the classes subscribed to the Event to be processed.

+

Get the velocity in Mps (meters per second).

Return value

#number: -The Event processing Priority.

+The velocity in meters per second.

- -BASE:GetParent(Child, FromClass) + +VELOCITY:GetKmph()
-

This is the worker method to retrieve the Parent class.

+

Get the velocity in Kmph (kilometers per hour).

- -

Note that the Parent class must be passed to call the parent class method.

- -
self:GetParent(self):ParentMethod()
-
-
-
- -

Parameters

-
    -
  • - -

    #BASE Child : -is the Child class from which the Parent class needs to be retrieved.

    - -
  • -
  • - -

    FromClass :

    - -
  • -
-

Return value

- -

#BASE:

- - -
-
-
-
- - -BASE:GetState(Object, Key) - -
-
- -

Get a Value given a Key from the Object.

- - -

Note that if the Object is destroyed, nillified or garbage collected, then the Values and Keys will also be gone.

- -

Parameters

-
    -
  • - -

    Object : -The object that holds the Value set by the Key.

    - -
  • -
  • - -

    Key : -The key that is used to retrieve the value. Note that the key can be a #string, but it can also be any other type!

    - -
  • -
-

Return value

- - -

The Value retrieved.

- -
-
-
-
- - -BASE:HandleEvent(Event, EventFunction) - -
-
- -

Subscribe to a DCS Event.

- -

Parameters

-
    -
  • - -

    Core.Event#EVENTS Event :

    - -
  • -
  • - -

    #function EventFunction : -(optional) The function to be called when the event occurs for the unit.

    - -
  • -
-

Return value

- -

#BASE:

- - -
-
-
-
- - -BASE:Inherit(Child, Parent) - -
-
- -

This is the worker method to inherit from a parent class.

- -

Parameters

-
    -
  • - -

    Child : -is the Child class that inherits.

    - -
  • -
  • - -

    #BASE Parent : -is the Parent class that the Child inherits from.

    - -
  • -
-

Return value

- -

#BASE: -Child

- -
-
-
-
- - -BASE:IsInstanceOf(ClassName) - -
-
- -

This is the worker method to check if an object is an (sub)instance of a class.

- - - -

Examples:

- -
    -
  • ZONE:New( 'some zone' ):IsInstanceOf( ZONE ) will return true

  • -
  • ZONE:New( 'some zone' ):IsInstanceOf( 'ZONE' ) will return true

  • -
  • ZONE:New( 'some zone' ):IsInstanceOf( 'zone' ) will return true

  • -
  • ZONE:New( 'some zone' ):IsInstanceOf( 'BASE' ) will return true

  • -
  • ZONE:New( 'some zone' ):IsInstanceOf( 'GROUP' ) will return false

  • -
- - -

Parameter

-
    -
  • - -

    ClassName : -is the name of the class or the class itself to run the check against

    - -
  • -
-

Return value

- -

#boolean:

- - -
-
-
-
- - -BASE:IsTrace() - -
-
- -

Enquires if tracing is on (for the class).

- -

Return value

- -

#boolean:

- - -
-
-
-
- - -BASE:New() - -
-
- -

BASE constructor.

- - - -

This is an example how to use the BASE:New() constructor in a new class definition when inheriting from BASE.

- -
function EVENT:New()
-  local self = BASE:Inherit( self, BASE:New() ) -- #EVENT
-  return self
-end
-  
-
- -

Return value

- -

#BASE:

- - -
-
-
-
- - -BASE:OnEvent(EventData) - -
-
- -

Occurs when an object is completely destroyed.

- - -

initiator : The unit that is was destroyed.

- -

Parameter

- -
-
-
-
- - -BASE:OnEventBaseCaptured(EventData) - -
-
- -

Occurs when a ground unit captures either an airbase or a farp.

- - -

initiator : The unit that captured the base -place: The airbase that was captured, can be a FARP or Airbase. When calling place:getCoalition() the faction will already be the new owning faction.

- -

Parameter

- -
-
-
-
- - -BASE:OnEventBirth(EventData) - -
-
- -

Occurs when any object is spawned into the mission.

- - -

initiator : The unit that was spawned

- -

Parameter

- -
-
-
-
- - -BASE:OnEventCrash(EventData) - -
-
- -

Occurs when any aircraft crashes into the ground and is completely destroyed.

- - -

initiator : The unit that has crashed

- -

Parameter

- -
-
-
-
- - -BASE:OnEventDead(EventData) - -
-
- -

Occurs when an object is dead.

- - -

initiator : The unit that is dead.

- -

Parameter

- -
-
-
-
- - -BASE:OnEventEjection(EventData) - -
-
- -

Occurs when a pilot ejects from an aircraft -initiator : The unit that has ejected

- -

Parameter

- -
-
-
-
- - -BASE:OnEventEngineShutdown(EventData) - -
-
- -

Occurs when any aircraft shuts down its engines.

- - -

initiator : The unit that is stopping its engines.

- -

Parameter

- -
-
-
-
- - -BASE:OnEventEngineStartup(EventData) - -
-
- -

Occurs when any aircraft starts its engines.

- - -

initiator : The unit that is starting its engines.

- -

Parameter

- -
-
-
-
- - -BASE:OnEventHit(EventData) - -
-
- -

Occurs whenever an object is hit by a weapon.

- - -

initiator : The unit object the fired the weapon -weapon: Weapon object that hit the target -target: The Object that was hit.

- -

Parameter

- -
-
-
-
- - -BASE:OnEventHumanFailure(EventData) - -
-
- -

Occurs when any system fails on a human controlled aircraft.

- - -

initiator : The unit that had the failure

- -

Parameter

- -
-
-
-
- - -BASE:OnEventLand(EventData) - -
-
- -

Occurs when an aircraft lands at an airbase, farp or ship -initiator : The unit that has landed -place: Object that the unit landed on.

- - -

Can be an Airbase Object, FARP, or Ships

- -

Parameter

- -
-
-
-
- - -BASE:OnEventMissionEnd(EventData) - -
-
- -

Occurs when a mission ends

- -

Parameter

- -
-
-
-
- - -BASE:OnEventMissionStart(EventData) - -
-
- -

Occurs when a mission starts

- -

Parameter

- -
-
-
-
- - -BASE:OnEventPilotDead(EventData) - -
-
- -

Occurs when the pilot of an aircraft is killed.

- - -

Can occur either if the player is alive and crashes or if a weapon kills the pilot without completely destroying the plane. -initiator : The unit that the pilot has died in.

- -

Parameter

- -
-
-
-
- - -BASE:OnEventPlayerEnterUnit(EventData) - -
-
- -

Occurs when any player assumes direct control of a unit.

- - -

initiator : The unit that is being taken control of.

- -

Parameter

- -
-
-
-
- - -BASE:OnEventPlayerLeaveUnit(EventData) - -
-
- -

Occurs when any player relieves control of a unit to the AI.

- - -

initiator : The unit that the player left.

- -

Parameter

- -
-
-
-
- - -BASE:OnEventRefueling(EventData) - -
-
- -

Occurs when an aircraft connects with a tanker and begins taking on fuel.

- - -

initiator : The unit that is receiving fuel.

- -

Parameter

- -
-
-
-
- - -BASE:OnEventRefuelingStop(EventData) - -
-
- -

Occurs when an aircraft is finished taking fuel.

- - -

initiator : The unit that was receiving fuel.

- -

Parameter

- -
-
-
-
- - -BASE:OnEventShootingEnd(EventData) - -
-
- -

Occurs when any unit stops firing its weapon.

- - -

Event will always correspond with a shooting start event. -initiator : The unit that was doing the shooing.

- -

Parameter

- -
-
-
-
- - -BASE:OnEventShootingStart(EventData) - -
-
- -

Occurs when any unit begins firing a weapon that has a high rate of fire.

- - -

Most common with aircraft cannons (GAU-8), autocannons, and machine guns. -initiator : The unit that is doing the shooing. -target: The unit that is being targeted.

- -

Parameter

- -
-
-
-
- - -BASE:OnEventShot(EventData) - -
-
- -

Occurs whenever any unit in a mission fires a weapon.

- - -

But not any machine gun or autocannon based weapon, those are handled by EVENT.ShootingStart.

- -

Parameter

- -
-
-
-
- - -BASE:OnEventTakeoff(EventData) - -
-
- -

Occurs when an aircraft takes off from an airbase, farp, or ship.

- - -

initiator : The unit that tookoff -place: Object from where the AI took-off from. Can be an Airbase Object, FARP, or Ships

- -

Parameter

- -
-
-
-
- - -BASE:ScheduleOnce(Start, SchedulerFunction, ...) - -
-
- -

Schedule a new time event.

- - -

Note that the schedule will only take place if the scheduler is started. Even for a single schedule event, the scheduler needs to be started also.

- -

Parameters

-
    -
  • - -

    #number Start : -Specifies the amount of seconds that will be waited before the scheduling is started, and the event function is called.

    - -
  • -
  • - -

    #function SchedulerFunction : -The event function to be called when a timer event occurs. The event function needs to accept the parameters specified in SchedulerArguments.

    - -
  • -
  • - -

    #table ... : -Optional arguments that can be given as part of scheduler. The arguments need to be given as a table { param1, param 2, ... }.

    - -
  • -

Return value

#number: -The ScheduleID of the planned schedule.

+The velocity in kilometers per hour.

- -BASE:ScheduleRepeat(Start, Repeat, RandomizeFactor, Stop, SchedulerFunction, ...) + +VELOCITY:GetMiph()
-

Schedule a new time event.

+

Get the velocity in Miph (miles per hour).

- -

Note that the schedule will only take place if the scheduler is started. Even for a single schedule event, the scheduler needs to be started also.

- -

Parameters

-
    -
  • - -

    #number Start : -Specifies the amount of seconds that will be waited before the scheduling is started, and the event function is called.

    - -
  • -
  • - -

    #number Repeat : -Specifies the interval in seconds when the scheduler will call the event function.

    - -
  • -
  • - -

    #number RandomizeFactor : -Specifies a randomization factor between 0 and 1 to randomize the Repeat.

    - -
  • -
  • - -

    #number Stop : -Specifies the amount of seconds when the scheduler will be stopped.

    - -
  • -
  • - -

    #function SchedulerFunction : -The event function to be called when a timer event occurs. The event function needs to accept the parameters specified in SchedulerArguments.

    - -
  • -
  • - -

    #table ... : -Optional arguments that can be given as part of scheduler. The arguments need to be given as a table { param1, param 2, ... }.

    - -
  • -

Return value

#number: -The ScheduleID of the planned schedule.

+The velocity in miles per hour.

- -BASE:ScheduleStop(SchedulerFunction) + +VELOCITY:GetText(Settings)
-

Stops the Schedule.

+

Get the velocity in text, according the player Settings.

Parameter

  • -

    #function SchedulerFunction : -The event function to be called when a timer event occurs. The event function needs to accept the parameters specified in SchedulerArguments.

    +

    Core.Settings#SETTINGS Settings :

+

Return value

+ +

#string: +The velocity in text.

+ +
+
+
+
+ + +VELOCITY:New(VelocityMps) + +
+
+ +

VELOCITY Constructor.

+ +

Parameter

+
    +
  • + +

    #number VelocityMps : +The velocity in meters per second.

    + +
  • +
+

Return value

+ +

#VELOCITY:

+ + +
+
+
+
+ + +VELOCITY:Set(VelocityMps) + +
+
+ +

Set the velocity in Mps (meters per second).

+ +

Parameter

+
    +
  • + +

    #number VelocityMps : +The velocity in meters per second.

    + +
  • +
+

Return value

+ +

#VELOCITY:

+ + +
+
+
+
+ + +VELOCITY:SetKmph(VelocityKmph) + +
+
+ +

Set the velocity in Kmph (kilometers per hour).

+ +

Parameter

+
    +
  • + +

    #number VelocityKmph : +The velocity in kilometers per hour.

    + +
  • +
+

Return value

+ +

#VELOCITY:

+ + +
+
+
+
+ + +VELOCITY:SetMiph(VelocityMiph) + +
+
+ +

Set the velocity in Miph (miles per hour).

+ +

Parameter

+
    +
  • + +

    #number VelocityMiph : +The velocity in miles per hour.

    + +
  • +
+

Return value

+ +

#VELOCITY:

+ + +
+
+
+
+ + +VELOCITY:ToString(Controllable, Settings, VelocityGroup) + +
+
+ +

Get the velocity in text, according the player or default Settings.

+ +

Parameters

+ +

Return value

+ +

#string: +The velocity in text according the player or default Settings

+
- -BASE.SchedulerObject + +VELOCITY.Velocity
@@ -2084,466 +549,128 @@ The event function to be called when a timer event occurs. The event function ne
+ +

Type VELOCITY_POSITIONABLE

+

Field(s)

- -BASE:SetEventPriority(EventPriority) + +VELOCITY_POSITIONABLE:Get()
-

Set the Class Event processing Priority.

+

Get the velocity in Mps (meters per second).

+

Return value

+ +

#number: +The velocity in meters per second.

+ +
+
+
+
+ + +VELOCITY_POSITIONABLE:GetKmph() + +
+
-

The Event processing Priority is a number from 1 to 10, -reflecting the order of the classes subscribed to the Event to be processed.

+

Get the velocity in Kmph (kilometers per hour).

+ +

Return value

+ +

#number: +The velocity in kilometers per hour.

+ +
+
+
+
+ + +VELOCITY_POSITIONABLE:GetMiph() + +
+
+ +

Get the velocity in Miph (miles per hour).

+ +

Return value

+ +

#number: +The velocity in miles per hour.

+ +
+
+
+
+ + +VELOCITY_POSITIONABLE:New(Positionable) + +
+
+ +

VELOCITY_POSITIONABLE Constructor.

Parameter

Return value

+

#VELOCITY_POSITIONABLE:

-

self

- -BASE:SetState(Object, Key, Value) + + +VELOCITY_POSITIONABLE.Positionable
-

Set a state or property of the Object given a Key and a Value.

- -

Note that if the Object is destroyed, nillified or garbage collected, then the Values and Keys will also be gone.

- -

Parameters

-
    -
  • - -

    Object : -The object that will hold the Value set by the Key.

    - -
  • -
  • - -

    Key : -The key that is used as a reference of the value. Note that the key can be a #string, but it can also be any other type!

    - -
  • -
  • - -

    Value : -The value to is stored in the object.

    - -
  • -
-

Return values

-
    -
  1. - - -

    The Value set.

    - -
  2. -
  3. - -

    #nil: -The Key was not found and thus the Value could not be retrieved.

    - -
  4. -
-
-
-
-
- - -BASE:T(Arguments) - -
-
- -

Trace a function logic level 1.

- - -

Can be anywhere within the function logic.

- -

Parameter

-
    -
  • - -

    Arguments : -A #table or any field.

    - -
  • -
-
-
-
-
- - -BASE:T2(Arguments) - -
-
- -

Trace a function logic level 2.

- - -

Can be anywhere within the function logic.

- -

Parameter

-
    -
  • - -

    Arguments : -A #table or any field.

    - -
  • -
-
-
-
-
- - -BASE:T3(Arguments) - -
-
- -

Trace a function logic level 3.

- - -

Can be anywhere within the function logic.

- -

Parameter

-
    -
  • - -

    Arguments : -A #table or any field.

    - -
  • -
-
-
-
-
- - -BASE:TraceAll(TraceAll) - -
-
- -

Trace all methods in MOOSE

- -

Parameter

-
    -
  • - -

    #boolean TraceAll : -true = trace all methods in MOOSE.

    - -
  • -
-
-
-
-
- - -BASE:TraceClass(Class) - -
-
- -

Set tracing for a class

- -

Parameter

-
    -
  • - -

    #string Class :

    - -
  • -
-
-
-
-
- - -BASE:TraceClassMethod(Class, Method) - -
-
- -

Set tracing for a specific method of class

- -

Parameters

-
    -
  • - -

    #string Class :

    - -
  • -
  • - -

    #string Method :

    - -
  • -
-
-
-
-
- - -BASE:TraceLevel(Level) - -
-
- -

Set trace level

- -

Parameter

-
    -
  • - -

    #number Level :

    - -
  • -
-
-
-
-
- - -BASE:TraceOnOff(TraceOnOff) - -
-
- -

Set trace on or off -Note that when trace is off, no debug statement is performed, increasing performance! -When Moose is loaded statically, (as one file), tracing is switched off by default.

- - -

So tracing must be switched on manually in your mission if you are using Moose statically. -When moose is loading dynamically (for moose class development), tracing is switched on by default.

- -

Parameter

-
    -
  • - -

    #boolean TraceOnOff : -Switch the tracing on or off.

    - -
  • -
-

Usage:

-
-- Switch the tracing On
-BASE:TraceOnOff( true )
-
--- Switch the tracing Off
-BASE:TraceOnOff( false )
- -BASE:UnHandleEvent(Event) + +VELOCITY_POSITIONABLE:ToString()
-

UnSubscribe to a DCS event.

+

Get the velocity in text, according the player or default Settings.

-

Parameter

-

Return value

-

#BASE:

- +

#string: +The velocity in text according the player or default Settings

- #BASE._ - -BASE._ - -
-
- - - -
-
-
-
- - -BASE:_F(Arguments, DebugInfoCurrentParam, DebugInfoFromParam) - -
-
- -

Trace a function call.

- - -

This function is private.

- -

Parameters

-
    -
  • - -

    Arguments : -A #table or any field.

    - -
  • -
  • - -

    DebugInfoCurrentParam :

    - -
  • -
  • - -

    DebugInfoFromParam :

    - -
  • -
-
-
-
-
- - -BASE:_T(Arguments, DebugInfoCurrentParam, DebugInfoFromParam) - -
-
- -

Trace a function logic.

- -

Parameters

-
    -
  • - -

    Arguments : -A #table or any field.

    - -
  • -
  • - -

    DebugInfoCurrentParam :

    - -
  • -
  • - -

    DebugInfoFromParam :

    - -
  • -
-
-
-
-
- - #BASE.__ - -BASE.__ - -
-
- - - -
-
-
-
- - -BASE:onEvent(event) - -
-
- - - - -

TODO: Complete Dcs.DCSTypes#Event structure.
-- The main event handling function... This function captures all events generated for the class. - @param #BASE self - @param Dcs.DCSTypes#Event event

- -

Parameter

-
    -
  • - -

    event :

    - -
  • -
-
-
- -

Type BASE._

- -

Type BASE.__

- -

Type FORMATION

- -

The Formation Class

- -

Field(s)

-
-
- - -FORMATION.Cone - -
-
- -

A cone formation.

- -
-
-
-
- - #string - -FORMATION.Vee + + +VELOCITY_POSITIONABLE.Velocity
diff --git a/docs/Documentation/Cargo.html b/docs/Documentation/Cargo.html index 06e19e514..9b0fcf9dd 100644 --- a/docs/Documentation/Cargo.html +++ b/docs/Documentation/Cargo.html @@ -3805,6 +3805,7 @@ The range till cargo will board.

+ #number CARGO_UNIT.RunCount diff --git a/docs/Documentation/Designate.html b/docs/Documentation/Designate.html index 8292e8e22..548df5b75 100644 --- a/docs/Documentation/Designate.html +++ b/docs/Documentation/Designate.html @@ -1106,7 +1106,7 @@ function below will use the range 1-7 just in case

- + #number DESIGNATE.LaseDuration diff --git a/docs/Documentation/Detection.html b/docs/Documentation/Detection.html index 1f6111db1..535e6d549 100644 --- a/docs/Documentation/Detection.html +++ b/docs/Documentation/Detection.html @@ -2469,7 +2469,6 @@ The index of the DetectedItem.

- #number DETECTION_BASE.DetectedItemCount @@ -2483,7 +2482,6 @@ The index of the DetectedItem.

- #number DETECTION_BASE.DetectedItemMax diff --git a/docs/Documentation/Fsm.html b/docs/Documentation/Fsm.html index 2dc168b7d..78de04a27 100644 --- a/docs/Documentation/Fsm.html +++ b/docs/Documentation/Fsm.html @@ -1608,7 +1608,7 @@ A string defining the start state.

- + #string FSM._StartState @@ -1907,7 +1907,6 @@ A string defining the start state.

- FSM.current diff --git a/docs/Documentation/Positionable.html b/docs/Documentation/Positionable.html index 3d38d59aa..b0a3587af 100644 --- a/docs/Documentation/Positionable.html +++ b/docs/Documentation/Positionable.html @@ -314,7 +314,7 @@
@@ -327,6 +327,12 @@ + + + + @@ -1208,14 +1214,14 @@ The POSITIONABLE is not existing or alive.

-

Returns the POSITIONABLE velocity vector.

+

Returns the a Velocity object from the positionable.

Return values

  1. -

    Dcs.DCSTypes#Vec3: -The velocity vector

    +

    Core.Velocity#VELOCITY: +Velocity The Velocity object.

  2. @@ -1266,6 +1272,34 @@ The velocity in meters per second.

    + +POSITIONABLE:GetVelocityVec3() + +
    +
    + +

    Returns the POSITIONABLE velocity Vec3 vector.

    + +

    Return values

    +
      +
    1. + +

      Dcs.DCSTypes#Vec3: +The velocity Vec3 vector

      + +
    2. +
    3. + +

      #nil: +The POSITIONABLE is not existing or alive.

      + +
    4. +
    +
    +
    +
    +
    + POSITIONABLE:HasCargo(Cargo) diff --git a/docs/Documentation/Set.html b/docs/Documentation/Set.html index e7f92fb7a..0b8836cf1 100644 --- a/docs/Documentation/Set.html +++ b/docs/Documentation/Set.html @@ -236,6 +236,22 @@
  3. Countries
  4. Starting with certain prefix strings.
  5. + +
+ + + @@ -951,6 +967,106 @@ mission designer to add a dedicated method

+ +
FORMATION.ConeVELOCITY_POSITIONABLE:Get() -

A cone formation.

+

Get the velocity in Mps (meters per second).

FORMATION.VeeVELOCITY_POSITIONABLE:GetKmph() +

Get the velocity in Kmph (kilometers per hour).

+
VELOCITY_POSITIONABLE:GetMiph() +

Get the velocity in Miph (miles per hour).

+
VELOCITY_POSITIONABLE:New(Positionable) +

VELOCITY_POSITIONABLE Constructor.

+
VELOCITY_POSITIONABLE.Positionable + +
VELOCITY_POSITIONABLE:ToString() +

Get the velocity in text, according the player or default Settings.

+
VELOCITY_POSITIONABLE.Velocity
POSITIONABLE:GetVelocity() -

Returns the POSITIONABLE velocity vector.

+

Returns the a Velocity object from the positionable.

POSITIONABLE:GetVelocityMPS()

Returns the POSITIONABLE velocity in meters per second.

+
POSITIONABLE:GetVelocityVec3() +

Returns the POSITIONABLE velocity Vec3 vector.

SET_PLAYER +

4) SET_PLAYER class, extends Set#SET_BASE

+ +

Mission designers can use the Set#SET_PLAYER class to build sets of units belonging to alive players:

+ +

4.1) SET_PLAYER constructor

+ +

Create a new SET_PLAYER object with the SET_PLAYER.New method:

+ +
SET_GROUP:_EventOnDeadOrCrash(Event)

Handles the OnDead or OnCrash event for alive groups set.

+
+ +

Type SET_PLAYER

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
SET_PLAYER:AddClientsByName(AddClientNames) +

Add CLIENT(s) to SET_PLAYER.

+
SET_PLAYER:AddInDatabase(Event) +

Handles the Database to check on an event (birth) that the Object was added in the Database.

+
SET_PLAYER:FilterCategories(Categories) +

Builds a set of clients out of categories joined by players.

+
SET_PLAYER:FilterCoalitions(Coalitions) +

Builds a set of clients of coalitions joined by specific players.

+
SET_PLAYER:FilterCountries(Countries) +

Builds a set of clients of defined countries.

+
SET_PLAYER:FilterPrefixes(Prefixes) +

Builds a set of clients of defined client prefixes.

+
SET_PLAYER:FilterStart() +

Starts the filtering.

+
SET_PLAYER:FilterTypes(Types) +

Builds a set of clients of defined client types joined by players.

+
SET_PLAYER:FindClient(PlayerName) +

Finds a Client based on the Player Name.

+
SET_PLAYER:FindInDatabase(Event) +

Handles the Database to check on any event that Object exists in the Database.

+
SET_PLAYER:ForEachPlayer(IteratorFunction, ...) +

Iterate the SET_PLAYER and call an interator function for each alive CLIENT, providing the CLIENT and optional parameters.

+
SET_PLAYER:ForEachPlayerInZone(ZoneObject, IteratorFunction, ...) +

Iterate the SET_PLAYER and call an iterator function for each alive CLIENT presence completely in a Zone, providing the CLIENT and optional parameters to the called function.

+
SET_PLAYER:ForEachPlayerNotInZone(ZoneObject, IteratorFunction, ...) +

Iterate the SET_PLAYER and call an iterator function for each alive CLIENT presence not in a Zone, providing the CLIENT and optional parameters to the called function.

+
SET_PLAYER:IsIncludeObject(MClient) + +
SET_PLAYER:New() +

Creates a new SET_PLAYER object, building a set of clients belonging to a coalitions, categories, countries, types or with defined prefix names.

+
SET_PLAYER:RemoveClientsByName(RemoveClientNames) +

Remove CLIENT(s) from SET_PLAYER.

@@ -1664,6 +1780,69 @@ The following iterator methods are currently available within the SETGROUP:
+ +
+
+
+ + #SET_PLAYER + +SET_PLAYER + +
+
+ +

4) SET_PLAYER class, extends Set#SET_BASE

+ +

Mission designers can use the Set#SET_PLAYER class to build sets of units belonging to alive players:

+ +

4.1) SET_PLAYER constructor

+ +

Create a new SET_PLAYER object with the SET_PLAYER.New method:

+ + + + +

+

4.3) SET_PLAYER filter criteria

+ +

You can set filter criteria to define the set of clients within the SET_PLAYER. +Filter criteria are defined by:

+ + + +

Once the filter criteria have been set for the SET_PLAYER, you can start filtering using:

+ + + +

Planned filter criteria within development are (so these are not yet available):

+ + + +

4.4) SET_PLAYER iterators

+ +

Once the filters have been defined and the SETPLAYER has been built, you can iterate the SETPLAYER with the available iterator methods. +The iterator methods will walk the SETPLAYER set, and call for each element within the set a function that you provide. +The following iterator methods are currently available within the SETPLAYER:

+ + + +
+
@@ -4828,6 +5007,491 @@ A single name or an array of GROUP names.

+ +
+ +

Type SET_PLAYER

+

Field(s)

+
+
+ + +SET_PLAYER:AddClientsByName(AddClientNames) + +
+
+ +

Add CLIENT(s) to SET_PLAYER.

+ +

Parameter

+
    +
  • + +

    #string AddClientNames : +A single name or an array of CLIENT names.

    + +
  • +
+

Return value

+ + +

self

+ +
+
+
+
+ + +SET_PLAYER:AddInDatabase(Event) + +
+
+ +

Handles the Database to check on an event (birth) that the Object was added in the Database.

+ + +

This is required, because sometimes the DATABASE birth event gets called later than the SETBASE birth event!

+ +

Parameter

+ +

Return values

+
    +
  1. + +

    #string: +The name of the CLIENT

    + +
  2. +
  3. + +

    #table: +The CLIENT

    + +
  4. +
+
+
+
+
+ + +SET_PLAYER:FilterCategories(Categories) + +
+
+ +

Builds a set of clients out of categories joined by players.

+ + +

Possible current categories are plane, helicopter, ground, ship.

+ +

Parameter

+
    +
  • + +

    #string Categories : +Can take the following values: "plane", "helicopter", "ground", "ship".

    + +
  • +
+

Return value

+ +

#SET_PLAYER: +self

+ +
+
+
+
+ + +SET_PLAYER:FilterCoalitions(Coalitions) + +
+
+ +

Builds a set of clients of coalitions joined by specific players.

+ + +

Possible current coalitions are red, blue and neutral.

+ +

Parameter

+
    +
  • + +

    #string Coalitions : +Can take the following values: "red", "blue", "neutral".

    + +
  • +
+

Return value

+ +

#SET_PLAYER: +self

+ +
+
+
+
+ + +SET_PLAYER:FilterCountries(Countries) + +
+
+ +

Builds a set of clients of defined countries.

+ + +

Possible current countries are those known within DCS world.

+ +

Parameter

+
    +
  • + +

    #string Countries : +Can take those country strings known within DCS world.

    + +
  • +
+

Return value

+ +

#SET_PLAYER: +self

+ +
+
+
+
+ + +SET_PLAYER:FilterPrefixes(Prefixes) + +
+
+ +

Builds a set of clients of defined client prefixes.

+ + +

All the clients starting with the given prefixes will be included within the set.

+ +

Parameter

+
    +
  • + +

    #string Prefixes : +The prefix of which the client name starts with.

    + +
  • +
+

Return value

+ +

#SET_PLAYER: +self

+ +
+
+
+
+ + +SET_PLAYER:FilterStart() + +
+
+ +

Starts the filtering.

+ +

Return value

+ +

#SET_PLAYER: +self

+ +
+
+
+
+ + +SET_PLAYER:FilterTypes(Types) + +
+
+ +

Builds a set of clients of defined client types joined by players.

+ + +

Possible current types are those types known within DCS world.

+ +

Parameter

+
    +
  • + +

    #string Types : +Can take those type strings known within DCS world.

    + +
  • +
+

Return value

+ +

#SET_PLAYER: +self

+ +
+
+
+
+ + +SET_PLAYER:FindClient(PlayerName) + +
+
+ +

Finds a Client based on the Player Name.

+ +

Parameter

+
    +
  • + +

    #string PlayerName :

    + +
  • +
+

Return value

+ +

Wrapper.Client#CLIENT: +The found Client.

+ +
+
+
+
+ + +SET_PLAYER:FindInDatabase(Event) + +
+
+ +

Handles the Database to check on any event that Object exists in the Database.

+ + +

This is required, because sometimes the DATABASE event gets called later than the SETBASE event or vise versa!

+ +

Parameter

+ +

Return values

+
    +
  1. + +

    #string: +The name of the CLIENT

    + +
  2. +
  3. + +

    #table: +The CLIENT

    + +
  4. +
+
+
+
+
+ + +SET_PLAYER:ForEachPlayer(IteratorFunction, ...) + +
+
+ +

Iterate the SET_PLAYER and call an interator function for each alive CLIENT, providing the CLIENT and optional parameters.

+ +

Parameters

+
    +
  • + +

    #function IteratorFunction : +The function that will be called when there is an alive CLIENT in the SET_PLAYER. The function needs to accept a CLIENT parameter.

    + +
  • +
  • + +

    ... :

    + +
  • +
+

Return value

+ +

#SET_PLAYER: +self

+ +
+
+
+
+ + +SET_PLAYER:ForEachPlayerInZone(ZoneObject, IteratorFunction, ...) + +
+
+ +

Iterate the SET_PLAYER and call an iterator function for each alive CLIENT presence completely in a Zone, providing the CLIENT and optional parameters to the called function.

+ +

Parameters

+
    +
  • + +

    Core.Zone#ZONE ZoneObject : +The Zone to be tested for.

    + +
  • +
  • + +

    #function IteratorFunction : +The function that will be called when there is an alive CLIENT in the SET_PLAYER. The function needs to accept a CLIENT parameter.

    + +
  • +
  • + +

    ... :

    + +
  • +
+

Return value

+ +

#SET_PLAYER: +self

+ +
+
+
+
+ + +SET_PLAYER:ForEachPlayerNotInZone(ZoneObject, IteratorFunction, ...) + +
+
+ +

Iterate the SET_PLAYER and call an iterator function for each alive CLIENT presence not in a Zone, providing the CLIENT and optional parameters to the called function.

+ +

Parameters

+
    +
  • + +

    Core.Zone#ZONE ZoneObject : +The Zone to be tested for.

    + +
  • +
  • + +

    #function IteratorFunction : +The function that will be called when there is an alive CLIENT in the SET_PLAYER. The function needs to accept a CLIENT parameter.

    + +
  • +
  • + +

    ... :

    + +
  • +
+

Return value

+ +

#SET_PLAYER: +self

+ +
+
+
+
+ + +SET_PLAYER:IsIncludeObject(MClient) + +
+
+ + + +

Parameter

+ +

Return value

+ +

#SET_PLAYER: +self

+ +
+
+
+
+ + +SET_PLAYER:New() + +
+
+ +

Creates a new SET_PLAYER object, building a set of clients belonging to a coalitions, categories, countries, types or with defined prefix names.

+ +

Return value

+ +

#SET_PLAYER:

+ + +

Usage:

+
-- Define a new SET_PLAYER Object. This DBObject will contain a reference to all Clients.
+DBObject = SET_PLAYER:New()
+ +
+
+
+
+ + +SET_PLAYER:RemoveClientsByName(RemoveClientNames) + +
+
+ +

Remove CLIENT(s) from SET_PLAYER.

+ +

Parameter

+ +

Return value

+ + +

self

+
diff --git a/docs/Documentation/Spawn.html b/docs/Documentation/Spawn.html index 749b3fc74..835bbb850 100644 --- a/docs/Documentation/Spawn.html +++ b/docs/Documentation/Spawn.html @@ -2308,9 +2308,6 @@ The group that was spawned. You can use this group for further actions.

- -

Don't repeat the group from Take-Off till Landing and back Take-Off by ReSpawning.

-
@@ -2885,9 +2882,6 @@ when nothing was spawned.

- -

Overwrite unit names by default with group name.

-
@@ -3285,7 +3279,7 @@ Spawn_BE_KA50 = SPAWN:New( 'BE KA-50@RAMP-Ground Defense' ):Schedule( 600, 0.5 )
- #boolean + SPAWN.SpawnUnControlled diff --git a/docs/Documentation/Task_Cargo.html b/docs/Documentation/Task_Cargo.html index 00d9af5e6..40b927b18 100644 --- a/docs/Documentation/Task_Cargo.html +++ b/docs/Documentation/Task_Cargo.html @@ -562,7 +562,7 @@ based on the tasking capabilities defined in Task#TA
- Core.Cargo#CARGO + Core.Cargo#CARGO_GROUP FSM_PROCESS.Cargo diff --git a/docs/Documentation/Utils.html b/docs/Documentation/Utils.html index c04656808..cf6b13576 100644 --- a/docs/Documentation/Utils.html +++ b/docs/Documentation/Utils.html @@ -317,6 +317,12 @@ which are excellent tools to be reused in an OO environment!.

UTILS.MetersToNM(meters) + + + + UTILS.MiphToMps(miph) + + @@ -329,6 +335,12 @@ which are excellent tools to be reused in an OO environment!.

UTILS.MpsToKnots(mps) + + + + UTILS.MpsToMiph(mps) + + @@ -910,6 +922,27 @@ is the name of the class to evaluate (can be either a string or a Moose class)
+ +UTILS.MiphToMps(miph) + +
+
+ + + +

Parameter

+
    +
  • + +

    miph :

    + +
  • +
+
+
+
+
+ UTILS.MpsToKmph(mps) @@ -939,6 +972,27 @@ is the name of the class to evaluate (can be either a string or a Moose class)Parameter +
    +
  • + +

    mps :

    + +
  • +
+ +
+
+
+ + +UTILS.MpsToMiph(mps) + +
+
+ + +

Parameter

  • diff --git a/docs/Documentation/index.html b/docs/Documentation/index.html index 59b168ce2..45db4212d 100644 --- a/docs/Documentation/index.html +++ b/docs/Documentation/index.html @@ -276,7 +276,7 @@ even when there are hardly any players in the mission.

    AirbasePolice -

    Functional -- The AIRBASEPOLICE classes monitor airbase traffic and regulate speed while taxiing.

    +

    Functional -- The ATC_GROUND classes monitor airbase traffic and regulate speed while taxiing.

    @@ -288,7 +288,7 @@ even when there are hardly any players in the mission.

    Base -

    Core -- BASE forms the basis of the MOOSE framework.

    +

    Core -- VELOCITY models a speed, which can be expressed in various formats according the Settings.

    From 74951f4237977ac8787ed6c59d8a8afceab929ad Mon Sep 17 00:00:00 2001 From: FlightControl_Master Date: Thu, 26 Oct 2017 11:17:11 +0200 Subject: [PATCH 03/11] Documentation --- Moose Mission Setup/Moose.lua | 2 +- Moose Mission Setup/Moose_.lua | 2 +- docs/Documentation/AI_A2A.html | 3 +- docs/Documentation/AI_A2A_Cap.html | 2 +- docs/Documentation/AI_A2A_Dispatcher.html | 2 +- docs/Documentation/AI_A2A_GCI.html | 2 +- docs/Documentation/AI_A2A_Patrol.html | 2 +- docs/Documentation/AI_BAI.html | 2 +- docs/Documentation/AI_Balancer.html | 2 +- docs/Documentation/AI_Cap.html | 2 +- docs/Documentation/AI_Cas.html | 2 +- docs/Documentation/AI_Formation.html | 2 +- docs/Documentation/AI_Patrol.html | 2 +- docs/Documentation/ATC_Ground.html | 892 +++++++++++++++++++ docs/Documentation/Account.html | 2 +- docs/Documentation/Airbase.html | 2 +- docs/Documentation/Assign.html | 2 +- docs/Documentation/Base.html | 2 +- docs/Documentation/Cargo.html | 3 +- docs/Documentation/CleanUp.html | 2 +- docs/Documentation/Client.html | 2 +- docs/Documentation/CommandCenter.html | 2 +- docs/Documentation/Controllable.html | 2 +- docs/Documentation/DCSAirbase.html | 2 +- docs/Documentation/DCSCoalitionObject.html | 2 +- docs/Documentation/DCSCommand.html | 2 +- docs/Documentation/DCSController.html | 2 +- docs/Documentation/DCSGroup.html | 2 +- docs/Documentation/DCSObject.html | 2 +- docs/Documentation/DCSTask.html | 2 +- docs/Documentation/DCSTypes.html | 2 +- docs/Documentation/DCSUnit.html | 2 +- docs/Documentation/DCSVec3.html | 2 +- docs/Documentation/DCSWorld.html | 2 +- docs/Documentation/DCSZone.html | 2 +- docs/Documentation/DCScountry.html | 2 +- docs/Documentation/DCStimer.html | 2 +- docs/Documentation/DCStrigger.html | 2 +- docs/Documentation/Database.html | 2 +- docs/Documentation/Designate.html | 4 +- docs/Documentation/Detection.html | 6 +- docs/Documentation/DetectionManager.html | 2 +- docs/Documentation/Escort.html | 2 +- docs/Documentation/Event.html | 2 +- docs/Documentation/Fsm.html | 5 +- docs/Documentation/Goal.html | 2 +- docs/Documentation/Group.html | 2 +- docs/Documentation/Identifiable.html | 2 +- docs/Documentation/Menu.html | 2 +- docs/Documentation/Message.html | 2 +- docs/Documentation/MissileTrainer.html | 2 +- docs/Documentation/Mission.html | 2 +- docs/Documentation/Movement.html | 2 +- docs/Documentation/Object.html | 2 +- docs/Documentation/Point.html | 2 +- docs/Documentation/Positionable.html | 3 +- docs/Documentation/Process_JTAC.html | 2 +- docs/Documentation/Process_Pickup.html | 2 +- docs/Documentation/Protect.html | 2 +- docs/Documentation/Radio.html | 2 +- docs/Documentation/Rat.html | 2 +- docs/Documentation/Route.html | 2 +- docs/Documentation/Scenery.html | 2 +- docs/Documentation/ScheduleDispatcher.html | 2 +- docs/Documentation/Scheduler.html | 2 +- docs/Documentation/Scoring.html | 2 +- docs/Documentation/Sead.html | 2 +- docs/Documentation/Set.html | 2 +- docs/Documentation/Settings.html | 4 +- docs/Documentation/Smoke.html | 2 +- docs/Documentation/Spawn.html | 25 +- docs/Documentation/SpawnStatic.html | 2 +- docs/Documentation/Spot.html | 2 +- docs/Documentation/Static.html | 2 +- docs/Documentation/StaticObject.html | 2 +- docs/Documentation/Task.html | 2 +- docs/Documentation/TaskZoneCapture.html | 2 +- docs/Documentation/Task_A2A.html | 2 +- docs/Documentation/Task_A2A_Dispatcher.html | 2 +- docs/Documentation/Task_A2G.html | 2 +- docs/Documentation/Task_A2G_Dispatcher.html | 2 +- docs/Documentation/Task_Cargo.html | 5 +- docs/Documentation/Task_PICKUP.html | 2 +- docs/Documentation/Unit.html | 2 +- docs/Documentation/UserFlag.html | 2 +- docs/Documentation/UserSound.html | 2 +- docs/Documentation/Utils.html | 2 +- docs/Documentation/Zone.html | 2 +- docs/Documentation/ZoneCaptureCoalition.html | 2 +- docs/Documentation/ZoneGoal.html | 2 +- docs/Documentation/ZoneGoalCargo.html | 2 +- docs/Documentation/ZoneGoalCoalition.html | 2 +- docs/Documentation/env.html | 2 +- docs/Documentation/index.html | 14 +- docs/Documentation/land.html | 2 +- docs/Documentation/routines.html | 2 +- 96 files changed, 1004 insertions(+), 130 deletions(-) create mode 100644 docs/Documentation/ATC_Ground.html diff --git a/Moose Mission Setup/Moose.lua b/Moose Mission Setup/Moose.lua index 0c3d72962..b98fbb753 100644 --- a/Moose Mission Setup/Moose.lua +++ b/Moose Mission Setup/Moose.lua @@ -1,5 +1,5 @@ env.info( '*** MOOSE DYNAMIC INCLUDE START *** ' ) -env.info( 'Moose Generation Timestamp: 20171026_0958' ) +env.info( 'Moose Generation Timestamp: 20171026_1116' ) local base = _G diff --git a/Moose Mission Setup/Moose_.lua b/Moose Mission Setup/Moose_.lua index 0e300d47a..d3e602e8d 100644 --- a/Moose Mission Setup/Moose_.lua +++ b/Moose Mission Setup/Moose_.lua @@ -1,5 +1,5 @@ env.info('*** MOOSE DYNAMIC INCLUDE START *** ') -env.info('Moose Generation Timestamp: 20171026_0958') +env.info('Moose Generation Timestamp: 20171026_1116') local base=_G __Moose={} __Moose.Include=function(IncludeFile) diff --git a/docs/Documentation/AI_A2A.html b/docs/Documentation/AI_A2A.html index 67ca9d37e..e0b4ec30e 100644 --- a/docs/Documentation/AI_A2A.html +++ b/docs/Documentation/AI_A2A.html @@ -28,9 +28,9 @@
  • AI_Cas
  • AI_Formation
  • AI_Patrol
  • +
  • ATC_Ground
  • Account
  • Airbase
  • -
  • AirbasePolice
  • Assign
  • Base
  • Cargo
  • @@ -671,7 +671,6 @@
    - #number AI_A2A.IdleCount diff --git a/docs/Documentation/AI_A2A_Cap.html b/docs/Documentation/AI_A2A_Cap.html index f39859ed3..1214e389c 100644 --- a/docs/Documentation/AI_A2A_Cap.html +++ b/docs/Documentation/AI_A2A_Cap.html @@ -28,9 +28,9 @@
  • AI_Cas
  • AI_Formation
  • AI_Patrol
  • +
  • ATC_Ground
  • Account
  • Airbase
  • -
  • AirbasePolice
  • Assign
  • Base
  • Cargo
  • diff --git a/docs/Documentation/AI_A2A_Dispatcher.html b/docs/Documentation/AI_A2A_Dispatcher.html index 4984b80ca..28847ec95 100644 --- a/docs/Documentation/AI_A2A_Dispatcher.html +++ b/docs/Documentation/AI_A2A_Dispatcher.html @@ -28,9 +28,9 @@
  • AI_Cas
  • AI_Formation
  • AI_Patrol
  • +
  • ATC_Ground
  • Account
  • Airbase
  • -
  • AirbasePolice
  • Assign
  • Base
  • Cargo
  • diff --git a/docs/Documentation/AI_A2A_GCI.html b/docs/Documentation/AI_A2A_GCI.html index bd7536ac2..358950dbe 100644 --- a/docs/Documentation/AI_A2A_GCI.html +++ b/docs/Documentation/AI_A2A_GCI.html @@ -28,9 +28,9 @@
  • AI_Cas
  • AI_Formation
  • AI_Patrol
  • +
  • ATC_Ground
  • Account
  • Airbase
  • -
  • AirbasePolice
  • Assign
  • Base
  • Cargo
  • diff --git a/docs/Documentation/AI_A2A_Patrol.html b/docs/Documentation/AI_A2A_Patrol.html index 6490fccd9..2f9ca1713 100644 --- a/docs/Documentation/AI_A2A_Patrol.html +++ b/docs/Documentation/AI_A2A_Patrol.html @@ -28,9 +28,9 @@
  • AI_Cas
  • AI_Formation
  • AI_Patrol
  • +
  • ATC_Ground
  • Account
  • Airbase
  • -
  • AirbasePolice
  • Assign
  • Base
  • Cargo
  • diff --git a/docs/Documentation/AI_BAI.html b/docs/Documentation/AI_BAI.html index 01a1b0410..db7f6d7b2 100644 --- a/docs/Documentation/AI_BAI.html +++ b/docs/Documentation/AI_BAI.html @@ -28,9 +28,9 @@
  • AI_Cas
  • AI_Formation
  • AI_Patrol
  • +
  • ATC_Ground
  • Account
  • Airbase
  • -
  • AirbasePolice
  • Assign
  • Base
  • Cargo
  • diff --git a/docs/Documentation/AI_Balancer.html b/docs/Documentation/AI_Balancer.html index 6e766adbc..b86c9b795 100644 --- a/docs/Documentation/AI_Balancer.html +++ b/docs/Documentation/AI_Balancer.html @@ -28,9 +28,9 @@
  • AI_Cas
  • AI_Formation
  • AI_Patrol
  • +
  • ATC_Ground
  • Account
  • Airbase
  • -
  • AirbasePolice
  • Assign
  • Base
  • Cargo
  • diff --git a/docs/Documentation/AI_Cap.html b/docs/Documentation/AI_Cap.html index bb3f18ad7..51e1f251d 100644 --- a/docs/Documentation/AI_Cap.html +++ b/docs/Documentation/AI_Cap.html @@ -28,9 +28,9 @@
  • AI_Cas
  • AI_Formation
  • AI_Patrol
  • +
  • ATC_Ground
  • Account
  • Airbase
  • -
  • AirbasePolice
  • Assign
  • Base
  • Cargo
  • diff --git a/docs/Documentation/AI_Cas.html b/docs/Documentation/AI_Cas.html index f0bc40f5e..f5c68b456 100644 --- a/docs/Documentation/AI_Cas.html +++ b/docs/Documentation/AI_Cas.html @@ -28,9 +28,9 @@
  • AI_Cas
  • AI_Formation
  • AI_Patrol
  • +
  • ATC_Ground
  • Account
  • Airbase
  • -
  • AirbasePolice
  • Assign
  • Base
  • Cargo
  • diff --git a/docs/Documentation/AI_Formation.html b/docs/Documentation/AI_Formation.html index 22c39b461..448e249c7 100644 --- a/docs/Documentation/AI_Formation.html +++ b/docs/Documentation/AI_Formation.html @@ -28,9 +28,9 @@
  • AI_Cas
  • AI_Formation
  • AI_Patrol
  • +
  • ATC_Ground
  • Account
  • Airbase
  • -
  • AirbasePolice
  • Assign
  • Base
  • Cargo
  • diff --git a/docs/Documentation/AI_Patrol.html b/docs/Documentation/AI_Patrol.html index 5b9007b80..004acc069 100644 --- a/docs/Documentation/AI_Patrol.html +++ b/docs/Documentation/AI_Patrol.html @@ -28,9 +28,9 @@
  • AI_Cas
  • AI_Formation
  • AI_Patrol
  • +
  • ATC_Ground
  • Account
  • Airbase
  • -
  • AirbasePolice
  • Assign
  • Base
  • Cargo
  • diff --git a/docs/Documentation/ATC_Ground.html b/docs/Documentation/ATC_Ground.html new file mode 100644 index 000000000..b8c11b660 --- /dev/null +++ b/docs/Documentation/ATC_Ground.html @@ -0,0 +1,892 @@ + + + + + + +
    +
    + +
    +
    +
    +
    + +
    +

    Module ATC_Ground

    + +

    Functional -- The ATC_GROUND classes monitor airbase traffic and regulate speed while taxiing.

    + + + +
    + +

    Contributions: Dutch Baron - Concept & Testing

    +

    Author: FlightControl - Framework Design & Programming

    + +
    + + +

    Global(s)

    + + + + + + + + + + + + + + + + + + + + + +
    ATC_GROUND +

    Base class for ATC_GROUND implementations.

    +
    ATC_GROUND_CAUCASUS +

    ATCGROUNDCAUCASUS, extends #ATC_GROUND

    + +

    Banner Image

    + +

    The ATCGROUNDCAUCASUS class monitors the speed of the airplanes at the airbase during taxi.

    +
    ATC_GROUND_NEVADA +

    ATCGROUNDNEVADA, extends #ATC_GROUND

    + +

    Banner Image

    + +

    The ATCGROUNDNEVADA class monitors the speed of the airplanes at the airbase during taxi.

    +
    ATC_GROUND_NORMANDY +

    ATCGROUNDNORMANDY, extends #ATC_GROUND

    + +

    Banner Image

    + +

    The ATCGROUNDNORMANDY class monitors the speed of the airplanes at the airbase during taxi.

    +
    SSB + +
    +

    Type ATC_GROUND

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    ATC_GROUND.AirbaseList + +
    ATC_GROUND.AirbaseMonitor + +
    ATC_GROUND.Airbases + +
    ATC_GROUND.KickSpeed + +
    ATC_GROUND:New(Airbases, AirbaseList) +

    Creates a new ATC_GROUND object.

    +
    ATC_GROUND.SetClient + +
    ATC_GROUND:SetKickSpeedKmph(KickSpeed) +

    Set the maximum speed in Kmph until the player gets kicked.

    +
    ATC_GROUND:SetKickSpeedMiph(KickSpeedMiph) +

    Set the maximum speed in Miph until the player gets kicked.

    +
    ATC_GROUND:SmokeRunways(SmokeColor) +

    Smoke the airbases runways.

    +
    ATC_GROUND:_AirbaseMonitor() + +
    + +

    Type ATC_GROUND_CAUCASUS

    + + + + + +
    ATC_GROUND_CAUCASUS:New(AirbaseNames) +

    Creates a new ATCGROUNDCAUCASUS object.

    +
    + +

    Type ATC_GROUND_NEVADA

    + + + + + +
    ATC_GROUND_NEVADA:New(AirbaseNames) +

    Creates a new ATCGROUNDNEVADA object.

    +
    + +

    Type ATC_GROUND_NORMANDY

    + + + + + +
    ATC_GROUND_NORMANDY:New(AirbaseNames) +

    Creates a new ATCGROUNDNORMANDY object.

    +
    + +

    Global(s)

    +
    +
    + + #ATC_GROUND + +ATC_GROUND + +
    +
    + +

    Base class for ATC_GROUND implementations.

    + +
    +
    +
    +
    + + #ATC_GROUND_CAUCASUS + +ATC_GROUND_CAUCASUS + +
    +
    + +

    ATCGROUNDCAUCASUS, extends #ATC_GROUND

    + +

    Banner Image

    + +

    The ATCGROUNDCAUCASUS class monitors the speed of the airplanes at the airbase during taxi.

    + + +

    The pilots may not drive faster than the maximum speed for the airbase, or they will be despawned.

    + +

    The maximum speed for the airbases at Caucasus is 50 km/h.

    + +

    The pilot will receive 3 times a warning during speeding. After the 3rd warning, if the pilot is still driving +faster than the maximum allowed speed, the pilot will be kicked.

    + +

    Different airbases have different maximum speeds, according safety regulations.

    + +

    Airbases monitored

    + +

    The following airbases are monitored at the Caucasus region. +Use the AIRBASE.Caucasus enumeration to select the airbases to be monitored.

    + +
      +
    • ´AIRBASE.Caucasus.Anapa_Vityazevo´
    • +
    • ´AIRBASE.Caucasus.Batumi´
    • +
    • ´AIRBASE.Caucasus.Beslan´
    • +
    • ´AIRBASE.Caucasus.Gelendzhik´
    • +
    • ´AIRBASE.Caucasus.Gudauta´
    • +
    • ´AIRBASE.Caucasus.Kobuleti´
    • +
    • ´AIRBASE.Caucasus.Krasnodar_Center´
    • +
    • ´AIRBASE.Caucasus.Krasnodar_Pashkovsky´
    • +
    • ´AIRBASE.Caucasus.Krymsk´
    • +
    • ´AIRBASE.Caucasus.Kutaisi´
    • +
    • ´AIRBASE.Caucasus.Maykop_Khanskaya´
    • +
    • ´AIRBASE.Caucasus.Mineralnye_Vody´
    • +
    • ´AIRBASE.Caucasus.Mozdok´
    • +
    • ´AIRBASE.Caucasus.Nalchik´
    • +
    • ´AIRBASE.Caucasus.Novorossiysk´
    • +
    • ´AIRBASE.Caucasus.Senaki_Kolkhi´
    • +
    • ´AIRBASE.Caucasus.Sochi_Adler´
    • +
    • ´AIRBASE.Caucasus.Soganlug´
    • +
    • ´AIRBASE.Caucasus.Sukhumi_Babushara´
    • +
    • ´AIRBASE.Caucasus.Tbilisi_Lochini´
    • +
    • ´AIRBASE.Caucasus.Vaziani´
    • +
    + + +

    Installation

    + +

    In Single Player Missions

    + +

    ATC_GROUND is fully functional in single player.

    + +

    In Multi Player Missions

    + +

    ATCGROUND is NOT functional in multi player, for client machines connecting to the server, running the mission. +Due to a bug in DCS since release 1.5, the despawning of clients are not anymore working in multi player. +To work around this problem, a much better solution has been made, using the slot blocker script designed +by Ciribob. With the help of Ciribob, this script has been extended to also kick client players while in flight. +ATCGROUND is communicating with this modified script to kick players!

    + +

    Install the file SimpleSlotBlockGameGUI.lua on the server, following the installation instructions described by Ciribob.

    + +

    Simple Slot Blocker from Ciribob & FlightControl

    + +

    Script it!

    + +

    1. ATCGROUNDCAUCASUS Constructor

    + +

    Creates a new ATCGROUNDCAUCASUS object that will monitor pilots taxiing behaviour.

    + +
    -- This creates a new ATC_GROUND_CAUCASUS object.
    +
    +-- Monitor all the airbases.
    +AirbasePoliceCaucasus = ATC_GROUND_CAUCASUS:New()
    +
    +-- Monitor specific airbases only.
    +
    +ATC_Ground = ATC_GROUND_CAUCASUS:New(
    +  { AIRBASE.Caucasus.Gelendzhik,     
    +    AIRBASE.Caucasus.Krymsk          
    +  }                                  
    +)                                    
    +
    +
    + +
    +
    +
    +
    + + #ATC_GROUND_NEVADA + +ATC_GROUND_NEVADA + +
    +
    + +

    ATCGROUNDNEVADA, extends #ATC_GROUND

    + +

    Banner Image

    + +

    The ATCGROUNDNEVADA class monitors the speed of the airplanes at the airbase during taxi.

    + + +

    The pilots may not drive faster than the maximum speed for the airbase, or they will be despawned.

    + +

    The pilot will receive 3 times a warning during speeding. After the 3rd warning, if the pilot is still driving +faster than the maximum allowed speed, the pilot will be kicked.

    + +

    Different airbases have different maximum speeds, according safety regulations.

    + +

    Airbases monitored

    + +

    The following airbases are monitored at the Nevada region. +Use the AIRBASE.Nevada enumeration to select the airbases to be monitored.

    + +
      +
    • AIRBASE.Nevada.Beatty_Airport
    • +
    • AIRBASE.Nevada.Boulder_City_Airport
    • +
    • AIRBASE.Nevada.Creech_AFB
    • +
    • AIRBASE.Nevada.Echo_Bay
    • +
    • AIRBASE.Nevada.Groom_Lake_AFB
    • +
    • AIRBASE.Nevada.Henderson_Executive_Airport
    • +
    • AIRBASE.Nevada.Jean_Airport
    • +
    • AIRBASE.Nevada.Laughlin_Airport
    • +
    • AIRBASE.Nevada.Lincoln_County
    • +
    • AIRBASE.Nevada.McCarran_International_Airport
    • +
    • AIRBASE.Nevada.Mellan_Airstrip
    • +
    • AIRBASE.Nevada.Mesquite
    • +
    • AIRBASE.Nevada.Mina_Airport_3Q0
    • +
    • AIRBASE.Nevada.Nellis_AFB
    • +
    • AIRBASE.Nevada.North_Las_Vegas
    • +
    • AIRBASE.Nevada.Pahute_Mesa_Airstrip
    • +
    • AIRBASE.Nevada.Tonopah_Airport
    • +
    • AIRBASE.Nevada.Tonopah_Test_Range_Airfield
    • +
    + +

    Installation

    + +

    In Single Player Missions

    + +

    ATC_GROUND is fully functional in single player.

    + +

    In Multi Player Missions

    + +

    ATCGROUND is NOT functional in multi player, for client machines connecting to the server, running the mission. +Due to a bug in DCS since release 1.5, the despawning of clients are not anymore working in multi player. +To work around this problem, a much better solution has been made, using the slot blocker script designed +by Ciribob. With the help of Ciribob, this script has been extended to also kick client players while in flight. +ATCGROUND is communicating with this modified script to kick players!

    + +

    Install the file SimpleSlotBlockGameGUI.lua on the server, following the installation instructions described by Ciribob.

    + +

    Simple Slot Blocker from Ciribob & FlightControl

    + +

    Script it!

    + +

    1. ATCGROUNDNEVADA Constructor

    + +

    Creates a new ATCGROUNDNEVADA object that will monitor pilots taxiing behaviour.

    + +
    -- This creates a new ATC_GROUND_NEVADA object.
    +
    +-- Monitor all the airbases.
    +AirbasePoliceCaucasus = ATC_GROUND_NEVADA:New()
    +
    +
    +-- Monitor specific airbases.
    +ATC_Ground = ATC_GROUND_NEVADA:New(              
    +  { AIRBASE.Nevada.Laughlin_Airport,             
    +    AIRBASE.Nevada.Mellan_Airstrip,              
    +    AIRBASE.Nevada.Lincoln_County,               
    +    AIRBASE.Nevada.North_Las_Vegas,              
    +    AIRBASE.Nevada.McCarran_International_Airport
    +  }                                              
    +)                                                
    +
    + + +
    +
    +
    +
    + + #ATC_GROUND_NORMANDY + +ATC_GROUND_NORMANDY + +
    +
    + +

    ATCGROUNDNORMANDY, extends #ATC_GROUND

    + +

    Banner Image

    + +

    The ATCGROUNDNORMANDY class monitors the speed of the airplanes at the airbase during taxi.

    + + +

    The pilots may not drive faster than the maximum speed for the airbase, or they will be despawned.

    + +

    The pilot will receive 3 times a warning during speeding. After the 3rd warning, if the pilot is still driving +faster than the maximum allowed speed, the pilot will be kicked.

    + +

    Different airbases have different maximum speeds, according safety regulations.

    + +

    Airbases monitored

    + +

    The following airbases are monitored at the Normandy region. +Use the AIRBASE.Normandy enumeration to select the airbases to be monitored.

    + +
      +
    • ´AIRBASE.Normandy.Azeville´
    • +
    • ´AIRBASE.Normandy.Bazenville´
    • +
    • ´AIRBASE.Normandy.BenysurMer´
    • +
    • ´AIRBASE.Normandy.Beuzeville´
    • +
    • ´AIRBASE.Normandy.Biniville´
    • +
    • ´AIRBASE.Normandy.Brucheville´
    • +
    • ´AIRBASE.Normandy.Cardonville´
    • +
    • ´AIRBASE.Normandy.Carpiquet´
    • +
    • ´AIRBASE.Normandy.Chailey´
    • +
    • ´AIRBASE.Normandy.Chippelle´
    • +
    • ´AIRBASE.Normandy.Cretteville´
    • +
    • ´AIRBASE.Normandy.CricquevilleenBessin´
    • +
    • ´AIRBASE.Normandy.Deux_Jumeaux´
    • +
    • ´AIRBASE.Normandy.Evreux´
    • +
    • ´AIRBASE.Normandy.Ford´
    • +
    • ´AIRBASE.Normandy.Funtington´
    • +
    • ´AIRBASE.Normandy.Lantheuil´
    • +
    • ´AIRBASE.Normandy.Le_Molay´
    • +
    • ´AIRBASE.Normandy.Lessay´
    • +
    • ´AIRBASE.Normandy.Lignerolles´
    • +
    • ´AIRBASE.Normandy.LonguessurMer´
    • +
    • ´AIRBASE.Normandy.Maupertus´
    • +
    • ´AIRBASE.Normandy.Meautis´
    • +
    • ´AIRBASE.Normandy.NeedsOarPoint´
    • +
    • ´AIRBASE.Normandy.Picauville´
    • +
    • ´AIRBASE.Normandy.Rucqueville´
    • +
    • ´AIRBASE.Normandy.SaintPierredu_Mont´
    • +
    • ´AIRBASE.Normandy.SainteCroixsur_Mer´
    • +
    • ´AIRBASE.Normandy.SainteLaurentsur_Mer´
    • +
    • ´AIRBASE.Normandy.Sommervieu´
    • +
    • ´AIRBASE.Normandy.Tangmere´
    • +
    + +

    Installation

    + +

    In Single Player Missions

    + +

    ATC_GROUND is fully functional in single player.

    + +

    In Multi Player Missions

    + +

    ATCGROUND is NOT functional in multi player, for client machines connecting to the server, running the mission. +Due to a bug in DCS since release 1.5, the despawning of clients are not anymore working in multi player. +To work around this problem, a much better solution has been made, using the slot blocker script designed +by Ciribob. With the help of Ciribob, this script has been extended to also kick client players while in flight. +ATCGROUND is communicating with this modified script to kick players!

    + +

    Install the file SimpleSlotBlockGameGUI.lua on the server, following the installation instructions described by Ciribob.

    + +

    Simple Slot Blocker from Ciribob & FlightControl

    + +

    Script it!

    + +

    1. ATCGROUNDNORMANDY Constructor

    + +

    Creates a new ATCGROUNDNORMANDY object that will monitor pilots taxiing behaviour.

    + +
    -- This creates a new ATC_GROUND_NORMANDY object.
    +
    +-- Monitor for these clients the airbases.
    +AirbasePoliceCaucasus = ATC_GROUND_NORMANDY:New()
    +
    +ATC_Ground = ATC_GROUND_NORMANDY:New( 
    +  { AIRBASE.Normandy.Chippelle,
    +    AIRBASE.Normandy.Beuzeville 
    +  } 
    +)
    +
    + + + +
    +
    +
    +
    + + + +SSB + +
    +
    + + + + +

    This is simple slot blocker is used on the server.

    + +
    +
    +

    Type ATC_Ground

    + +

    Type ATC_GROUND

    +

    Field(s)

    +
    +
    + + + +ATC_GROUND.AirbaseList + +
    +
    + + + +
    +
    +
    +
    + + + +ATC_GROUND.AirbaseMonitor + +
    +
    + + + +
    +
    +
    +
    + + + +ATC_GROUND.Airbases + +
    +
    + + + +
    +
    +
    +
    + + + +ATC_GROUND.KickSpeed + +
    +
    + + + +
    +
    +
    +
    + + +ATC_GROUND:New(Airbases, AirbaseList) + +
    +
    + +

    Creates a new ATC_GROUND object.

    + +

    Parameters

    +
      +
    • + +

      Airbases : +A table of Airbase Names.

      + +
    • +
    • + +

      AirbaseList :

      + +
    • +
    +

    Return value

    + +

    #ATC_GROUND: +self

    + +
    +
    +
    +
    + + Core.Set#SET_CLIENT + +ATC_GROUND.SetClient + +
    +
    + + + +
    +
    +
    +
    + + +ATC_GROUND:SetKickSpeedKmph(KickSpeed) + +
    +
    + +

    Set the maximum speed in Kmph until the player gets kicked.

    + +

    Parameter

    +
      +
    • + +

      #number KickSpeed : +Set the maximum speed in Kmph until the player gets kicked.

      + +
    • +
    +

    Return value

    + +

    #ATC_GROUND: +self

    + +
    +
    +
    +
    + + +ATC_GROUND:SetKickSpeedMiph(KickSpeedMiph) + +
    +
    + +

    Set the maximum speed in Miph until the player gets kicked.

    + +

    Parameter

    +
      +
    • + +

      #number KickSpeedMiph : +Set the maximum speed in Mph until the player gets kicked.

      + +
    • +
    +

    Return value

    + +

    #ATC_GROUND: +self

    + +
    +
    +
    +
    + + +ATC_GROUND:SmokeRunways(SmokeColor) + +
    +
    + +

    Smoke the airbases runways.

    + +

    Parameter

    + +

    Return value

    + +

    #ATC_GROUND: +self

    + +
    +
    +
    +
    + + +ATC_GROUND:_AirbaseMonitor() + +
    +
    + + + +
    +
    + +

    Type ATC_GROUND.AirbaseNames

    + +

    Type ATC_GROUND_CAUCASUS

    +

    Field(s)

    +
    +
    + + +ATC_GROUND_CAUCASUS:New(AirbaseNames) + +
    +
    + +

    Creates a new ATCGROUNDCAUCASUS object.

    + +

    Parameter

    +
      +
    • + +

      AirbaseNames : +A list {} of airbase names (Use AIRBASE.Caucasus enumerator).

      + +
    • +
    +

    Return value

    + +

    #ATCGROUNDCAUCASUS: +self

    + +
    +
    + +

    Type ATC_GROUND_NEVADA

    +

    Field(s)

    +
    +
    + + +ATC_GROUND_NEVADA:New(AirbaseNames) + +
    +
    + +

    Creates a new ATCGROUNDNEVADA object.

    + +

    Parameter

    +
      +
    • + +

      AirbaseNames : +A list {} of airbase names (Use AIRBASE.Nevada enumerator).

      + +
    • +
    +

    Return value

    + +

    #ATCGROUNDNEVADA: +self

    + +
    +
    + +

    Type ATC_GROUND_NORMANDY

    +

    Field(s)

    +
    +
    + + +ATC_GROUND_NORMANDY:New(AirbaseNames) + +
    +
    + +

    Creates a new ATCGROUNDNORMANDY object.

    + +

    Parameter

    +
      +
    • + +

      AirbaseNames : +A list {} of airbase names (Use AIRBASE.Normandy enumerator).

      + +
    • +
    +

    Return value

    + +

    #ATCGROUNDNORMANDY: +self

    + +
    +
    + +
    + +
    + + diff --git a/docs/Documentation/Account.html b/docs/Documentation/Account.html index 3edae38f1..9f3fd9603 100644 --- a/docs/Documentation/Account.html +++ b/docs/Documentation/Account.html @@ -28,9 +28,9 @@
  • AI_Cas
  • AI_Formation
  • AI_Patrol
  • +
  • ATC_Ground
  • Account
  • Airbase
  • -
  • AirbasePolice
  • Assign
  • Base
  • Cargo
  • diff --git a/docs/Documentation/Airbase.html b/docs/Documentation/Airbase.html index c80bfd735..58c016c31 100644 --- a/docs/Documentation/Airbase.html +++ b/docs/Documentation/Airbase.html @@ -28,9 +28,9 @@
  • AI_Cas
  • AI_Formation
  • AI_Patrol
  • +
  • ATC_Ground
  • Account
  • Airbase
  • -
  • AirbasePolice
  • Assign
  • Base
  • Cargo
  • diff --git a/docs/Documentation/Assign.html b/docs/Documentation/Assign.html index a3e44f47d..7e288992b 100644 --- a/docs/Documentation/Assign.html +++ b/docs/Documentation/Assign.html @@ -28,9 +28,9 @@
  • AI_Cas
  • AI_Formation
  • AI_Patrol
  • +
  • ATC_Ground
  • Account
  • Airbase
  • -
  • AirbasePolice
  • Assign
  • Base
  • Cargo
  • diff --git a/docs/Documentation/Base.html b/docs/Documentation/Base.html index 2d446b98b..40149e468 100644 --- a/docs/Documentation/Base.html +++ b/docs/Documentation/Base.html @@ -28,9 +28,9 @@
  • AI_Cas
  • AI_Formation
  • AI_Patrol
  • +
  • ATC_Ground
  • Account
  • Airbase
  • -
  • AirbasePolice
  • Assign
  • Base
  • Cargo
  • diff --git a/docs/Documentation/Cargo.html b/docs/Documentation/Cargo.html index ea6e33cb9..3f1622ad1 100644 --- a/docs/Documentation/Cargo.html +++ b/docs/Documentation/Cargo.html @@ -28,9 +28,9 @@
  • AI_Cas
  • AI_Formation
  • AI_Patrol
  • +
  • ATC_Ground
  • Account
  • Airbase
  • -
  • AirbasePolice
  • Assign
  • Base
  • Cargo
  • @@ -3804,7 +3804,6 @@ The range till cargo will board.

    - #number CARGO_UNIT.RunCount diff --git a/docs/Documentation/CleanUp.html b/docs/Documentation/CleanUp.html index d71241c29..b1b2ac62a 100644 --- a/docs/Documentation/CleanUp.html +++ b/docs/Documentation/CleanUp.html @@ -28,9 +28,9 @@
  • AI_Cas
  • AI_Formation
  • AI_Patrol
  • +
  • ATC_Ground
  • Account
  • Airbase
  • -
  • AirbasePolice
  • Assign
  • Base
  • Cargo
  • diff --git a/docs/Documentation/Client.html b/docs/Documentation/Client.html index 31983dfb8..aab1424b1 100644 --- a/docs/Documentation/Client.html +++ b/docs/Documentation/Client.html @@ -28,9 +28,9 @@
  • AI_Cas
  • AI_Formation
  • AI_Patrol
  • +
  • ATC_Ground
  • Account
  • Airbase
  • -
  • AirbasePolice
  • Assign
  • Base
  • Cargo
  • diff --git a/docs/Documentation/CommandCenter.html b/docs/Documentation/CommandCenter.html index a99621a6c..1644bb348 100644 --- a/docs/Documentation/CommandCenter.html +++ b/docs/Documentation/CommandCenter.html @@ -28,9 +28,9 @@
  • AI_Cas
  • AI_Formation
  • AI_Patrol
  • +
  • ATC_Ground
  • Account
  • Airbase
  • -
  • AirbasePolice
  • Assign
  • Base
  • Cargo
  • diff --git a/docs/Documentation/Controllable.html b/docs/Documentation/Controllable.html index 1a81d568f..d73c8c8ed 100644 --- a/docs/Documentation/Controllable.html +++ b/docs/Documentation/Controllable.html @@ -28,9 +28,9 @@
  • AI_Cas
  • AI_Formation
  • AI_Patrol
  • +
  • ATC_Ground
  • Account
  • Airbase
  • -
  • AirbasePolice
  • Assign
  • Base
  • Cargo
  • diff --git a/docs/Documentation/DCSAirbase.html b/docs/Documentation/DCSAirbase.html index b7bb4bb46..5ed931154 100644 --- a/docs/Documentation/DCSAirbase.html +++ b/docs/Documentation/DCSAirbase.html @@ -28,9 +28,9 @@
  • AI_Cas
  • AI_Formation
  • AI_Patrol
  • +
  • ATC_Ground
  • Account
  • Airbase
  • -
  • AirbasePolice
  • Assign
  • Base
  • Cargo
  • diff --git a/docs/Documentation/DCSCoalitionObject.html b/docs/Documentation/DCSCoalitionObject.html index cf4dfd653..1cc18d3ca 100644 --- a/docs/Documentation/DCSCoalitionObject.html +++ b/docs/Documentation/DCSCoalitionObject.html @@ -28,9 +28,9 @@
  • AI_Cas
  • AI_Formation
  • AI_Patrol
  • +
  • ATC_Ground
  • Account
  • Airbase
  • -
  • AirbasePolice
  • Assign
  • Base
  • Cargo
  • diff --git a/docs/Documentation/DCSCommand.html b/docs/Documentation/DCSCommand.html index be18b704d..56fbc15b4 100644 --- a/docs/Documentation/DCSCommand.html +++ b/docs/Documentation/DCSCommand.html @@ -28,9 +28,9 @@
  • AI_Cas
  • AI_Formation
  • AI_Patrol
  • +
  • ATC_Ground
  • Account
  • Airbase
  • -
  • AirbasePolice
  • Assign
  • Base
  • Cargo
  • diff --git a/docs/Documentation/DCSController.html b/docs/Documentation/DCSController.html index ffe035b06..4b0c7a8f8 100644 --- a/docs/Documentation/DCSController.html +++ b/docs/Documentation/DCSController.html @@ -28,9 +28,9 @@
  • AI_Cas
  • AI_Formation
  • AI_Patrol
  • +
  • ATC_Ground
  • Account
  • Airbase
  • -
  • AirbasePolice
  • Assign
  • Base
  • Cargo
  • diff --git a/docs/Documentation/DCSGroup.html b/docs/Documentation/DCSGroup.html index 9af43a594..8ba1a322a 100644 --- a/docs/Documentation/DCSGroup.html +++ b/docs/Documentation/DCSGroup.html @@ -28,9 +28,9 @@
  • AI_Cas
  • AI_Formation
  • AI_Patrol
  • +
  • ATC_Ground
  • Account
  • Airbase
  • -
  • AirbasePolice
  • Assign
  • Base
  • Cargo
  • diff --git a/docs/Documentation/DCSObject.html b/docs/Documentation/DCSObject.html index 471315d7d..6b8cc219c 100644 --- a/docs/Documentation/DCSObject.html +++ b/docs/Documentation/DCSObject.html @@ -28,9 +28,9 @@
  • AI_Cas
  • AI_Formation
  • AI_Patrol
  • +
  • ATC_Ground
  • Account
  • Airbase
  • -
  • AirbasePolice
  • Assign
  • Base
  • Cargo
  • diff --git a/docs/Documentation/DCSTask.html b/docs/Documentation/DCSTask.html index 9a37b51bd..d28f90330 100644 --- a/docs/Documentation/DCSTask.html +++ b/docs/Documentation/DCSTask.html @@ -28,9 +28,9 @@
  • AI_Cas
  • AI_Formation
  • AI_Patrol
  • +
  • ATC_Ground
  • Account
  • Airbase
  • -
  • AirbasePolice
  • Assign
  • Base
  • Cargo
  • diff --git a/docs/Documentation/DCSTypes.html b/docs/Documentation/DCSTypes.html index 1c2cadc66..4aceb5449 100644 --- a/docs/Documentation/DCSTypes.html +++ b/docs/Documentation/DCSTypes.html @@ -28,9 +28,9 @@
  • AI_Cas
  • AI_Formation
  • AI_Patrol
  • +
  • ATC_Ground
  • Account
  • Airbase
  • -
  • AirbasePolice
  • Assign
  • Base
  • Cargo
  • diff --git a/docs/Documentation/DCSUnit.html b/docs/Documentation/DCSUnit.html index b286a5a8e..97cd036e3 100644 --- a/docs/Documentation/DCSUnit.html +++ b/docs/Documentation/DCSUnit.html @@ -28,9 +28,9 @@
  • AI_Cas
  • AI_Formation
  • AI_Patrol
  • +
  • ATC_Ground
  • Account
  • Airbase
  • -
  • AirbasePolice
  • Assign
  • Base
  • Cargo
  • diff --git a/docs/Documentation/DCSVec3.html b/docs/Documentation/DCSVec3.html index b5aebb5a2..23b90c24e 100644 --- a/docs/Documentation/DCSVec3.html +++ b/docs/Documentation/DCSVec3.html @@ -28,9 +28,9 @@
  • AI_Cas
  • AI_Formation
  • AI_Patrol
  • +
  • ATC_Ground
  • Account
  • Airbase
  • -
  • AirbasePolice
  • Assign
  • Base
  • Cargo
  • diff --git a/docs/Documentation/DCSWorld.html b/docs/Documentation/DCSWorld.html index aaa798b22..a5f7a1eff 100644 --- a/docs/Documentation/DCSWorld.html +++ b/docs/Documentation/DCSWorld.html @@ -28,9 +28,9 @@
  • AI_Cas
  • AI_Formation
  • AI_Patrol
  • +
  • ATC_Ground
  • Account
  • Airbase
  • -
  • AirbasePolice
  • Assign
  • Base
  • Cargo
  • diff --git a/docs/Documentation/DCSZone.html b/docs/Documentation/DCSZone.html index 442ed36f2..7371708d9 100644 --- a/docs/Documentation/DCSZone.html +++ b/docs/Documentation/DCSZone.html @@ -28,9 +28,9 @@
  • AI_Cas
  • AI_Formation
  • AI_Patrol
  • +
  • ATC_Ground
  • Account
  • Airbase
  • -
  • AirbasePolice
  • Assign
  • Base
  • Cargo
  • diff --git a/docs/Documentation/DCScountry.html b/docs/Documentation/DCScountry.html index 1bf08dc46..dbe9e2ec5 100644 --- a/docs/Documentation/DCScountry.html +++ b/docs/Documentation/DCScountry.html @@ -28,9 +28,9 @@
  • AI_Cas
  • AI_Formation
  • AI_Patrol
  • +
  • ATC_Ground
  • Account
  • Airbase
  • -
  • AirbasePolice
  • Assign
  • Base
  • Cargo
  • diff --git a/docs/Documentation/DCStimer.html b/docs/Documentation/DCStimer.html index 8f91702af..10633000b 100644 --- a/docs/Documentation/DCStimer.html +++ b/docs/Documentation/DCStimer.html @@ -28,9 +28,9 @@
  • AI_Cas
  • AI_Formation
  • AI_Patrol
  • +
  • ATC_Ground
  • Account
  • Airbase
  • -
  • AirbasePolice
  • Assign
  • Base
  • Cargo
  • diff --git a/docs/Documentation/DCStrigger.html b/docs/Documentation/DCStrigger.html index 2f5cb2fa5..bf4138cc4 100644 --- a/docs/Documentation/DCStrigger.html +++ b/docs/Documentation/DCStrigger.html @@ -28,9 +28,9 @@
  • AI_Cas
  • AI_Formation
  • AI_Patrol
  • +
  • ATC_Ground
  • Account
  • Airbase
  • -
  • AirbasePolice
  • Assign
  • Base
  • Cargo
  • diff --git a/docs/Documentation/Database.html b/docs/Documentation/Database.html index 1e572dfd0..c38cf0965 100644 --- a/docs/Documentation/Database.html +++ b/docs/Documentation/Database.html @@ -28,9 +28,9 @@
  • AI_Cas
  • AI_Formation
  • AI_Patrol
  • +
  • ATC_Ground
  • Account
  • Airbase
  • -
  • AirbasePolice
  • Assign
  • Base
  • Cargo
  • diff --git a/docs/Documentation/Designate.html b/docs/Documentation/Designate.html index 548df5b75..0e77566fe 100644 --- a/docs/Documentation/Designate.html +++ b/docs/Documentation/Designate.html @@ -28,9 +28,9 @@
  • AI_Cas
  • AI_Formation
  • AI_Patrol
  • +
  • ATC_Ground
  • Account
  • Airbase
  • -
  • AirbasePolice
  • Assign
  • Base
  • Cargo
  • @@ -1106,7 +1106,7 @@ function below will use the range 1-7 just in case

    - #number + DESIGNATE.LaseDuration diff --git a/docs/Documentation/Detection.html b/docs/Documentation/Detection.html index 535e6d549..76f441953 100644 --- a/docs/Documentation/Detection.html +++ b/docs/Documentation/Detection.html @@ -28,9 +28,9 @@
  • AI_Cas
  • AI_Formation
  • AI_Patrol
  • +
  • ATC_Ground
  • Account
  • Airbase
  • -
  • AirbasePolice
  • Assign
  • Base
  • Cargo
  • @@ -2469,6 +2469,7 @@ The index of the DetectedItem.

    + #number DETECTION_BASE.DetectedItemCount @@ -2482,6 +2483,7 @@ The index of the DetectedItem.

    + #number DETECTION_BASE.DetectedItemMax @@ -4059,7 +4061,7 @@ Return false to cancel Transition.

    - + #number DETECTION_BASE.RefreshTimeInterval diff --git a/docs/Documentation/DetectionManager.html b/docs/Documentation/DetectionManager.html index d03d6d579..c6925b26f 100644 --- a/docs/Documentation/DetectionManager.html +++ b/docs/Documentation/DetectionManager.html @@ -28,9 +28,9 @@
  • AI_Cas
  • AI_Formation
  • AI_Patrol
  • +
  • ATC_Ground
  • Account
  • Airbase
  • -
  • AirbasePolice
  • Assign
  • Base
  • Cargo
  • diff --git a/docs/Documentation/Escort.html b/docs/Documentation/Escort.html index 6b331253c..ed1e59e36 100644 --- a/docs/Documentation/Escort.html +++ b/docs/Documentation/Escort.html @@ -28,9 +28,9 @@
  • AI_Cas
  • AI_Formation
  • AI_Patrol
  • +
  • ATC_Ground
  • Account
  • Airbase
  • -
  • AirbasePolice
  • Assign
  • Base
  • Cargo
  • diff --git a/docs/Documentation/Event.html b/docs/Documentation/Event.html index 78be7f4c5..5815c4b0b 100644 --- a/docs/Documentation/Event.html +++ b/docs/Documentation/Event.html @@ -28,9 +28,9 @@
  • AI_Cas
  • AI_Formation
  • AI_Patrol
  • +
  • ATC_Ground
  • Account
  • Airbase
  • -
  • AirbasePolice
  • Assign
  • Base
  • Cargo
  • diff --git a/docs/Documentation/Fsm.html b/docs/Documentation/Fsm.html index 78de04a27..9580fc0e5 100644 --- a/docs/Documentation/Fsm.html +++ b/docs/Documentation/Fsm.html @@ -28,9 +28,9 @@
  • AI_Cas
  • AI_Formation
  • AI_Patrol
  • +
  • ATC_Ground
  • Account
  • Airbase
  • -
  • AirbasePolice
  • Assign
  • Base
  • Cargo
  • @@ -1608,7 +1608,7 @@ A string defining the start state.

    - #string + FSM._StartState @@ -1907,6 +1907,7 @@ A string defining the start state.

    + FSM.current diff --git a/docs/Documentation/Goal.html b/docs/Documentation/Goal.html index 3d4e32f4d..8abc4cea2 100644 --- a/docs/Documentation/Goal.html +++ b/docs/Documentation/Goal.html @@ -28,9 +28,9 @@
  • AI_Cas
  • AI_Formation
  • AI_Patrol
  • +
  • ATC_Ground
  • Account
  • Airbase
  • -
  • AirbasePolice
  • Assign
  • Base
  • Cargo
  • diff --git a/docs/Documentation/Group.html b/docs/Documentation/Group.html index f3e51bd5e..e65161b18 100644 --- a/docs/Documentation/Group.html +++ b/docs/Documentation/Group.html @@ -28,9 +28,9 @@
  • AI_Cas
  • AI_Formation
  • AI_Patrol
  • +
  • ATC_Ground
  • Account
  • Airbase
  • -
  • AirbasePolice
  • Assign
  • Base
  • Cargo
  • diff --git a/docs/Documentation/Identifiable.html b/docs/Documentation/Identifiable.html index 20b85c948..f8de45c2b 100644 --- a/docs/Documentation/Identifiable.html +++ b/docs/Documentation/Identifiable.html @@ -28,9 +28,9 @@
  • AI_Cas
  • AI_Formation
  • AI_Patrol
  • +
  • ATC_Ground
  • Account
  • Airbase
  • -
  • AirbasePolice
  • Assign
  • Base
  • Cargo
  • diff --git a/docs/Documentation/Menu.html b/docs/Documentation/Menu.html index 72c7f2fe1..0959f549b 100644 --- a/docs/Documentation/Menu.html +++ b/docs/Documentation/Menu.html @@ -28,9 +28,9 @@
  • AI_Cas
  • AI_Formation
  • AI_Patrol
  • +
  • ATC_Ground
  • Account
  • Airbase
  • -
  • AirbasePolice
  • Assign
  • Base
  • Cargo
  • diff --git a/docs/Documentation/Message.html b/docs/Documentation/Message.html index 556adb28c..8a1d2ed4a 100644 --- a/docs/Documentation/Message.html +++ b/docs/Documentation/Message.html @@ -28,9 +28,9 @@
  • AI_Cas
  • AI_Formation
  • AI_Patrol
  • +
  • ATC_Ground
  • Account
  • Airbase
  • -
  • AirbasePolice
  • Assign
  • Base
  • Cargo
  • diff --git a/docs/Documentation/MissileTrainer.html b/docs/Documentation/MissileTrainer.html index b37a093e7..d11f1379b 100644 --- a/docs/Documentation/MissileTrainer.html +++ b/docs/Documentation/MissileTrainer.html @@ -28,9 +28,9 @@
  • AI_Cas
  • AI_Formation
  • AI_Patrol
  • +
  • ATC_Ground
  • Account
  • Airbase
  • -
  • AirbasePolice
  • Assign
  • Base
  • Cargo
  • diff --git a/docs/Documentation/Mission.html b/docs/Documentation/Mission.html index 037069a01..68e86d20c 100644 --- a/docs/Documentation/Mission.html +++ b/docs/Documentation/Mission.html @@ -28,9 +28,9 @@
  • AI_Cas
  • AI_Formation
  • AI_Patrol
  • +
  • ATC_Ground
  • Account
  • Airbase
  • -
  • AirbasePolice
  • Assign
  • Base
  • Cargo
  • diff --git a/docs/Documentation/Movement.html b/docs/Documentation/Movement.html index a14e4464c..0615a2d0a 100644 --- a/docs/Documentation/Movement.html +++ b/docs/Documentation/Movement.html @@ -28,9 +28,9 @@
  • AI_Cas
  • AI_Formation
  • AI_Patrol
  • +
  • ATC_Ground
  • Account
  • Airbase
  • -
  • AirbasePolice
  • Assign
  • Base
  • Cargo
  • diff --git a/docs/Documentation/Object.html b/docs/Documentation/Object.html index 458382e42..921140d94 100644 --- a/docs/Documentation/Object.html +++ b/docs/Documentation/Object.html @@ -28,9 +28,9 @@
  • AI_Cas
  • AI_Formation
  • AI_Patrol
  • +
  • ATC_Ground
  • Account
  • Airbase
  • -
  • AirbasePolice
  • Assign
  • Base
  • Cargo
  • diff --git a/docs/Documentation/Point.html b/docs/Documentation/Point.html index fbdfecd9e..c3e994063 100644 --- a/docs/Documentation/Point.html +++ b/docs/Documentation/Point.html @@ -28,9 +28,9 @@
  • AI_Cas
  • AI_Formation
  • AI_Patrol
  • +
  • ATC_Ground
  • Account
  • Airbase
  • -
  • AirbasePolice
  • Assign
  • Base
  • Cargo
  • diff --git a/docs/Documentation/Positionable.html b/docs/Documentation/Positionable.html index b0a3587af..7605224ac 100644 --- a/docs/Documentation/Positionable.html +++ b/docs/Documentation/Positionable.html @@ -28,9 +28,9 @@
  • AI_Cas
  • AI_Formation
  • AI_Patrol
  • +
  • ATC_Ground
  • Account
  • Airbase
  • -
  • AirbasePolice
  • Assign
  • Base
  • Cargo
  • @@ -2017,7 +2017,6 @@ The height in meters to add to the altitude of the positionable.

    - Core.Spot#SPOT POSITIONABLE.Spot diff --git a/docs/Documentation/Process_JTAC.html b/docs/Documentation/Process_JTAC.html index cf84a9508..ebbff4b32 100644 --- a/docs/Documentation/Process_JTAC.html +++ b/docs/Documentation/Process_JTAC.html @@ -28,9 +28,9 @@
  • AI_Cas
  • AI_Formation
  • AI_Patrol
  • +
  • ATC_Ground
  • Account
  • Airbase
  • -
  • AirbasePolice
  • Assign
  • Base
  • Cargo
  • diff --git a/docs/Documentation/Process_Pickup.html b/docs/Documentation/Process_Pickup.html index 8e98c8715..bba9b0bef 100644 --- a/docs/Documentation/Process_Pickup.html +++ b/docs/Documentation/Process_Pickup.html @@ -28,9 +28,9 @@
  • AI_Cas
  • AI_Formation
  • AI_Patrol
  • +
  • ATC_Ground
  • Account
  • Airbase
  • -
  • AirbasePolice
  • Assign
  • Base
  • Cargo
  • diff --git a/docs/Documentation/Protect.html b/docs/Documentation/Protect.html index 753a1bda6..f18d5d4bf 100644 --- a/docs/Documentation/Protect.html +++ b/docs/Documentation/Protect.html @@ -28,9 +28,9 @@
  • AI_Cas
  • AI_Formation
  • AI_Patrol
  • +
  • ATC_Ground
  • Account
  • Airbase
  • -
  • AirbasePolice
  • Assign
  • Base
  • Cargo
  • diff --git a/docs/Documentation/Radio.html b/docs/Documentation/Radio.html index 186d75cf5..f25c70d73 100644 --- a/docs/Documentation/Radio.html +++ b/docs/Documentation/Radio.html @@ -28,9 +28,9 @@
  • AI_Cas
  • AI_Formation
  • AI_Patrol
  • +
  • ATC_Ground
  • Account
  • Airbase
  • -
  • AirbasePolice
  • Assign
  • Base
  • Cargo
  • diff --git a/docs/Documentation/Rat.html b/docs/Documentation/Rat.html index 17df9e9b1..ab1e58bea 100644 --- a/docs/Documentation/Rat.html +++ b/docs/Documentation/Rat.html @@ -28,9 +28,9 @@
  • AI_Cas
  • AI_Formation
  • AI_Patrol
  • +
  • ATC_Ground
  • Account
  • Airbase
  • -
  • AirbasePolice
  • Assign
  • Base
  • Cargo
  • diff --git a/docs/Documentation/Route.html b/docs/Documentation/Route.html index 634031bae..4a4440321 100644 --- a/docs/Documentation/Route.html +++ b/docs/Documentation/Route.html @@ -28,9 +28,9 @@
  • AI_Cas
  • AI_Formation
  • AI_Patrol
  • +
  • ATC_Ground
  • Account
  • Airbase
  • -
  • AirbasePolice
  • Assign
  • Base
  • Cargo
  • diff --git a/docs/Documentation/Scenery.html b/docs/Documentation/Scenery.html index ae65cd9d9..3de1d6356 100644 --- a/docs/Documentation/Scenery.html +++ b/docs/Documentation/Scenery.html @@ -28,9 +28,9 @@
  • AI_Cas
  • AI_Formation
  • AI_Patrol
  • +
  • ATC_Ground
  • Account
  • Airbase
  • -
  • AirbasePolice
  • Assign
  • Base
  • Cargo
  • diff --git a/docs/Documentation/ScheduleDispatcher.html b/docs/Documentation/ScheduleDispatcher.html index a029bd0da..3c62edaa1 100644 --- a/docs/Documentation/ScheduleDispatcher.html +++ b/docs/Documentation/ScheduleDispatcher.html @@ -28,9 +28,9 @@
  • AI_Cas
  • AI_Formation
  • AI_Patrol
  • +
  • ATC_Ground
  • Account
  • Airbase
  • -
  • AirbasePolice
  • Assign
  • Base
  • Cargo
  • diff --git a/docs/Documentation/Scheduler.html b/docs/Documentation/Scheduler.html index f4b48332f..3dc9d07ac 100644 --- a/docs/Documentation/Scheduler.html +++ b/docs/Documentation/Scheduler.html @@ -28,9 +28,9 @@
  • AI_Cas
  • AI_Formation
  • AI_Patrol
  • +
  • ATC_Ground
  • Account
  • Airbase
  • -
  • AirbasePolice
  • Assign
  • Base
  • Cargo
  • diff --git a/docs/Documentation/Scoring.html b/docs/Documentation/Scoring.html index 2420002c3..c7811523c 100644 --- a/docs/Documentation/Scoring.html +++ b/docs/Documentation/Scoring.html @@ -28,9 +28,9 @@
  • AI_Cas
  • AI_Formation
  • AI_Patrol
  • +
  • ATC_Ground
  • Account
  • Airbase
  • -
  • AirbasePolice
  • Assign
  • Base
  • Cargo
  • diff --git a/docs/Documentation/Sead.html b/docs/Documentation/Sead.html index 92ef00631..ef84bbfa3 100644 --- a/docs/Documentation/Sead.html +++ b/docs/Documentation/Sead.html @@ -28,9 +28,9 @@
  • AI_Cas
  • AI_Formation
  • AI_Patrol
  • +
  • ATC_Ground
  • Account
  • Airbase
  • -
  • AirbasePolice
  • Assign
  • Base
  • Cargo
  • diff --git a/docs/Documentation/Set.html b/docs/Documentation/Set.html index 0b8836cf1..b981a7e2e 100644 --- a/docs/Documentation/Set.html +++ b/docs/Documentation/Set.html @@ -28,9 +28,9 @@
  • AI_Cas
  • AI_Formation
  • AI_Patrol
  • +
  • ATC_Ground
  • Account
  • Airbase
  • -
  • AirbasePolice
  • Assign
  • Base
  • Cargo
  • diff --git a/docs/Documentation/Settings.html b/docs/Documentation/Settings.html index 200c0b2e4..9b4a8bcab 100644 --- a/docs/Documentation/Settings.html +++ b/docs/Documentation/Settings.html @@ -28,9 +28,9 @@
  • AI_Cas
  • AI_Formation
  • AI_Patrol
  • +
  • ATC_Ground
  • Account
  • Airbase
  • -
  • AirbasePolice
  • Assign
  • Base
  • Cargo
  • @@ -1250,7 +1250,7 @@ true if metric.

    - #boolean + SETTINGS.Metric diff --git a/docs/Documentation/Smoke.html b/docs/Documentation/Smoke.html index 11171008f..c7a449531 100644 --- a/docs/Documentation/Smoke.html +++ b/docs/Documentation/Smoke.html @@ -28,9 +28,9 @@
  • AI_Cas
  • AI_Formation
  • AI_Patrol
  • +
  • ATC_Ground
  • Account
  • Airbase
  • -
  • AirbasePolice
  • Assign
  • Base
  • Cargo
  • diff --git a/docs/Documentation/Spawn.html b/docs/Documentation/Spawn.html index 443134287..b8ac96005 100644 --- a/docs/Documentation/Spawn.html +++ b/docs/Documentation/Spawn.html @@ -28,9 +28,9 @@
  • AI_Cas
  • AI_Formation
  • AI_Patrol
  • +
  • ATC_Ground
  • Account
  • Airbase
  • -
  • AirbasePolice
  • Assign
  • Base
  • Cargo
  • @@ -848,12 +848,6 @@ and any spaces before and after the resulting name are removed.

    SPAWN:_TranslateRotate(SpawnIndex, SpawnRootX, SpawnRootY, SpawnX, SpawnY, SpawnAngle) - - - - SPAWN.uncontrolled - - @@ -2888,6 +2882,9 @@ when nothing was spawned.

    + +

    Overwrite unit names by default with group name.

    +
@@ -3889,20 +3886,6 @@ True = Continue Scheduler

- -
-
-
- - - -SPAWN.uncontrolled - -
-
- - -
diff --git a/docs/Documentation/SpawnStatic.html b/docs/Documentation/SpawnStatic.html index cc0683d6e..8da9a331b 100644 --- a/docs/Documentation/SpawnStatic.html +++ b/docs/Documentation/SpawnStatic.html @@ -28,9 +28,9 @@
  • AI_Cas
  • AI_Formation
  • AI_Patrol
  • +
  • ATC_Ground
  • Account
  • Airbase
  • -
  • AirbasePolice
  • Assign
  • Base
  • Cargo
  • diff --git a/docs/Documentation/Spot.html b/docs/Documentation/Spot.html index 703c5a3c9..d6706e2ed 100644 --- a/docs/Documentation/Spot.html +++ b/docs/Documentation/Spot.html @@ -28,9 +28,9 @@
  • AI_Cas
  • AI_Formation
  • AI_Patrol
  • +
  • ATC_Ground
  • Account
  • Airbase
  • -
  • AirbasePolice
  • Assign
  • Base
  • Cargo
  • diff --git a/docs/Documentation/Static.html b/docs/Documentation/Static.html index d55c5547c..6733819fe 100644 --- a/docs/Documentation/Static.html +++ b/docs/Documentation/Static.html @@ -28,9 +28,9 @@
  • AI_Cas
  • AI_Formation
  • AI_Patrol
  • +
  • ATC_Ground
  • Account
  • Airbase
  • -
  • AirbasePolice
  • Assign
  • Base
  • Cargo
  • diff --git a/docs/Documentation/StaticObject.html b/docs/Documentation/StaticObject.html index edaaceef9..dd89260c6 100644 --- a/docs/Documentation/StaticObject.html +++ b/docs/Documentation/StaticObject.html @@ -28,9 +28,9 @@
  • AI_Cas
  • AI_Formation
  • AI_Patrol
  • +
  • ATC_Ground
  • Account
  • Airbase
  • -
  • AirbasePolice
  • Assign
  • Base
  • Cargo
  • diff --git a/docs/Documentation/Task.html b/docs/Documentation/Task.html index ad89915ac..be5fb519f 100644 --- a/docs/Documentation/Task.html +++ b/docs/Documentation/Task.html @@ -28,9 +28,9 @@
  • AI_Cas
  • AI_Formation
  • AI_Patrol
  • +
  • ATC_Ground
  • Account
  • Airbase
  • -
  • AirbasePolice
  • Assign
  • Base
  • Cargo
  • diff --git a/docs/Documentation/TaskZoneCapture.html b/docs/Documentation/TaskZoneCapture.html index 07610d9ca..5a943653d 100644 --- a/docs/Documentation/TaskZoneCapture.html +++ b/docs/Documentation/TaskZoneCapture.html @@ -28,9 +28,9 @@
  • AI_Cas
  • AI_Formation
  • AI_Patrol
  • +
  • ATC_Ground
  • Account
  • Airbase
  • -
  • AirbasePolice
  • Assign
  • Base
  • Cargo
  • diff --git a/docs/Documentation/Task_A2A.html b/docs/Documentation/Task_A2A.html index e1ede0801..b8bcc3021 100644 --- a/docs/Documentation/Task_A2A.html +++ b/docs/Documentation/Task_A2A.html @@ -28,9 +28,9 @@
  • AI_Cas
  • AI_Formation
  • AI_Patrol
  • +
  • ATC_Ground
  • Account
  • Airbase
  • -
  • AirbasePolice
  • Assign
  • Base
  • Cargo
  • diff --git a/docs/Documentation/Task_A2A_Dispatcher.html b/docs/Documentation/Task_A2A_Dispatcher.html index bcaa0f453..bbad09e91 100644 --- a/docs/Documentation/Task_A2A_Dispatcher.html +++ b/docs/Documentation/Task_A2A_Dispatcher.html @@ -28,9 +28,9 @@
  • AI_Cas
  • AI_Formation
  • AI_Patrol
  • +
  • ATC_Ground
  • Account
  • Airbase
  • -
  • AirbasePolice
  • Assign
  • Base
  • Cargo
  • diff --git a/docs/Documentation/Task_A2G.html b/docs/Documentation/Task_A2G.html index 1f22797fb..81b43acb3 100644 --- a/docs/Documentation/Task_A2G.html +++ b/docs/Documentation/Task_A2G.html @@ -28,9 +28,9 @@
  • AI_Cas
  • AI_Formation
  • AI_Patrol
  • +
  • ATC_Ground
  • Account
  • Airbase
  • -
  • AirbasePolice
  • Assign
  • Base
  • Cargo
  • diff --git a/docs/Documentation/Task_A2G_Dispatcher.html b/docs/Documentation/Task_A2G_Dispatcher.html index fcf0e0d6d..a2ae397af 100644 --- a/docs/Documentation/Task_A2G_Dispatcher.html +++ b/docs/Documentation/Task_A2G_Dispatcher.html @@ -28,9 +28,9 @@
  • AI_Cas
  • AI_Formation
  • AI_Patrol
  • +
  • ATC_Ground
  • Account
  • Airbase
  • -
  • AirbasePolice
  • Assign
  • Base
  • Cargo
  • diff --git a/docs/Documentation/Task_Cargo.html b/docs/Documentation/Task_Cargo.html index 875597e26..119956c02 100644 --- a/docs/Documentation/Task_Cargo.html +++ b/docs/Documentation/Task_Cargo.html @@ -28,9 +28,9 @@
  • AI_Cas
  • AI_Formation
  • AI_Patrol
  • +
  • ATC_Ground
  • Account
  • Airbase
  • -
  • AirbasePolice
  • Assign
  • Base
  • Cargo
  • @@ -562,7 +562,7 @@ based on the tasking capabilities defined in Task#TA
    - Core.Cargo#CARGO_GROUP + Core.Cargo#CARGO FSM_PROCESS.Cargo @@ -576,7 +576,6 @@ based on the tasking capabilities defined in Task#TA
    - FSM_PROCESS.DeployZone diff --git a/docs/Documentation/Task_PICKUP.html b/docs/Documentation/Task_PICKUP.html index 481dedc9f..d6ce50a3b 100644 --- a/docs/Documentation/Task_PICKUP.html +++ b/docs/Documentation/Task_PICKUP.html @@ -28,9 +28,9 @@
  • AI_Cas
  • AI_Formation
  • AI_Patrol
  • +
  • ATC_Ground
  • Account
  • Airbase
  • -
  • AirbasePolice
  • Assign
  • Base
  • Cargo
  • diff --git a/docs/Documentation/Unit.html b/docs/Documentation/Unit.html index c3e4be0f3..6031c833a 100644 --- a/docs/Documentation/Unit.html +++ b/docs/Documentation/Unit.html @@ -28,9 +28,9 @@
  • AI_Cas
  • AI_Formation
  • AI_Patrol
  • +
  • ATC_Ground
  • Account
  • Airbase
  • -
  • AirbasePolice
  • Assign
  • Base
  • Cargo
  • diff --git a/docs/Documentation/UserFlag.html b/docs/Documentation/UserFlag.html index f6d9f1f3f..33ea8d416 100644 --- a/docs/Documentation/UserFlag.html +++ b/docs/Documentation/UserFlag.html @@ -28,9 +28,9 @@
  • AI_Cas
  • AI_Formation
  • AI_Patrol
  • +
  • ATC_Ground
  • Account
  • Airbase
  • -
  • AirbasePolice
  • Assign
  • Base
  • Cargo
  • diff --git a/docs/Documentation/UserSound.html b/docs/Documentation/UserSound.html index 9d2cfbecd..7127d4dfd 100644 --- a/docs/Documentation/UserSound.html +++ b/docs/Documentation/UserSound.html @@ -28,9 +28,9 @@
  • AI_Cas
  • AI_Formation
  • AI_Patrol
  • +
  • ATC_Ground
  • Account
  • Airbase
  • -
  • AirbasePolice
  • Assign
  • Base
  • Cargo
  • diff --git a/docs/Documentation/Utils.html b/docs/Documentation/Utils.html index cf6b13576..38658f543 100644 --- a/docs/Documentation/Utils.html +++ b/docs/Documentation/Utils.html @@ -28,9 +28,9 @@
  • AI_Cas
  • AI_Formation
  • AI_Patrol
  • +
  • ATC_Ground
  • Account
  • Airbase
  • -
  • AirbasePolice
  • Assign
  • Base
  • Cargo
  • diff --git a/docs/Documentation/Zone.html b/docs/Documentation/Zone.html index f20ad9e52..324151cf4 100644 --- a/docs/Documentation/Zone.html +++ b/docs/Documentation/Zone.html @@ -28,9 +28,9 @@
  • AI_Cas
  • AI_Formation
  • AI_Patrol
  • +
  • ATC_Ground
  • Account
  • Airbase
  • -
  • AirbasePolice
  • Assign
  • Base
  • Cargo
  • diff --git a/docs/Documentation/ZoneCaptureCoalition.html b/docs/Documentation/ZoneCaptureCoalition.html index e41e17814..ff10c49c7 100644 --- a/docs/Documentation/ZoneCaptureCoalition.html +++ b/docs/Documentation/ZoneCaptureCoalition.html @@ -28,9 +28,9 @@
  • AI_Cas
  • AI_Formation
  • AI_Patrol
  • +
  • ATC_Ground
  • Account
  • Airbase
  • -
  • AirbasePolice
  • Assign
  • Base
  • Cargo
  • diff --git a/docs/Documentation/ZoneGoal.html b/docs/Documentation/ZoneGoal.html index 854e07ffe..cd85537f6 100644 --- a/docs/Documentation/ZoneGoal.html +++ b/docs/Documentation/ZoneGoal.html @@ -28,9 +28,9 @@
  • AI_Cas
  • AI_Formation
  • AI_Patrol
  • +
  • ATC_Ground
  • Account
  • Airbase
  • -
  • AirbasePolice
  • Assign
  • Base
  • Cargo
  • diff --git a/docs/Documentation/ZoneGoalCargo.html b/docs/Documentation/ZoneGoalCargo.html index 99a89cda2..c60675d00 100644 --- a/docs/Documentation/ZoneGoalCargo.html +++ b/docs/Documentation/ZoneGoalCargo.html @@ -28,9 +28,9 @@
  • AI_Cas
  • AI_Formation
  • AI_Patrol
  • +
  • ATC_Ground
  • Account
  • Airbase
  • -
  • AirbasePolice
  • Assign
  • Base
  • Cargo
  • diff --git a/docs/Documentation/ZoneGoalCoalition.html b/docs/Documentation/ZoneGoalCoalition.html index 84a90c12d..3a47d5c0c 100644 --- a/docs/Documentation/ZoneGoalCoalition.html +++ b/docs/Documentation/ZoneGoalCoalition.html @@ -28,9 +28,9 @@
  • AI_Cas
  • AI_Formation
  • AI_Patrol
  • +
  • ATC_Ground
  • Account
  • Airbase
  • -
  • AirbasePolice
  • Assign
  • Base
  • Cargo
  • diff --git a/docs/Documentation/env.html b/docs/Documentation/env.html index a8e2e77c2..5a4a14bd0 100644 --- a/docs/Documentation/env.html +++ b/docs/Documentation/env.html @@ -28,9 +28,9 @@
  • AI_Cas
  • AI_Formation
  • AI_Patrol
  • +
  • ATC_Ground
  • Account
  • Airbase
  • -
  • AirbasePolice
  • Assign
  • Base
  • Cargo
  • diff --git a/docs/Documentation/index.html b/docs/Documentation/index.html index 45db4212d..e726ff628 100644 --- a/docs/Documentation/index.html +++ b/docs/Documentation/index.html @@ -28,9 +28,9 @@
  • AI_Cas
  • AI_Formation
  • AI_Patrol
  • +
  • ATC_Ground
  • Account
  • Airbase
  • -
  • AirbasePolice
  • Assign
  • Base
  • Cargo
  • @@ -259,6 +259,12 @@ even when there are hardly any players in the mission.


    AI PATROL classes makes AI Controllables execute an Patrol.

    + + + + ATC_Ground + +

    Functional -- The ATC_GROUND classes monitor airbase traffic and regulate speed while taxiing.

    @@ -271,12 +277,6 @@ even when there are hardly any players in the mission.

    Airbase

    Wrapper -- AIRBASE is a wrapper class to handle the DCS Airbase objects.

    - - - - AirbasePolice - -

    Functional -- The ATC_GROUND classes monitor airbase traffic and regulate speed while taxiing.

    diff --git a/docs/Documentation/land.html b/docs/Documentation/land.html index edb13ac44..5e3f0b3e0 100644 --- a/docs/Documentation/land.html +++ b/docs/Documentation/land.html @@ -28,9 +28,9 @@
  • AI_Cas
  • AI_Formation
  • AI_Patrol
  • +
  • ATC_Ground
  • Account
  • Airbase
  • -
  • AirbasePolice
  • Assign
  • Base
  • Cargo
  • diff --git a/docs/Documentation/routines.html b/docs/Documentation/routines.html index 22f0e9cea..b84a5803a 100644 --- a/docs/Documentation/routines.html +++ b/docs/Documentation/routines.html @@ -28,9 +28,9 @@
  • AI_Cas
  • AI_Formation
  • AI_Patrol
  • +
  • ATC_Ground
  • Account
  • Airbase
  • -
  • AirbasePolice
  • Assign
  • Base
  • Cargo
  • From 8a4a37ac1181b222f537ca5f5c6179ab90c520eb Mon Sep 17 00:00:00 2001 From: FlightControl_Master Date: Thu, 26 Oct 2017 12:04:39 +0200 Subject: [PATCH 04/11] extended the airbase range --- Moose Development/Moose/Wrapper/Airbase.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Moose Development/Moose/Wrapper/Airbase.lua b/Moose Development/Moose/Wrapper/Airbase.lua index ae8082b8b..d34ac6a85 100644 --- a/Moose Development/Moose/Wrapper/Airbase.lua +++ b/Moose Development/Moose/Wrapper/Airbase.lua @@ -149,7 +149,7 @@ function AIRBASE:Register( AirbaseName ) local self = BASE:Inherit( self, POSITIONABLE:New( AirbaseName ) ) self.AirbaseName = AirbaseName - self.AirbaseZone = ZONE_RADIUS:New( AirbaseName, self:GetVec2(), 2000 ) + self.AirbaseZone = ZONE_RADIUS:New( AirbaseName, self:GetVec2(), 2500 ) return self end From 0e4a5c02d55cb4a65c6d62cd9302ebe9d3586d35 Mon Sep 17 00:00:00 2001 From: FlightControl_Master Date: Thu, 26 Oct 2017 14:54:59 +0200 Subject: [PATCH 05/11] Working version, fiew! --- Moose Development/Moose/Core/Set.lua | 68 +++++++++--------- .../Moose/Functional/ATC_Ground.lua | 30 ++++---- docs/Documentation/AI_A2A.html | 1 + docs/Documentation/Cargo.html | 1 + docs/Documentation/Designate.html | 1 + docs/Documentation/Detection.html | 1 - docs/Documentation/Point.html | 1 - docs/Documentation/Positionable.html | 1 + docs/Documentation/Set.html | 54 -------------- docs/Documentation/Spawn.html | 14 ++-- docs/Documentation/SpawnStatic.html | 1 - docs/Documentation/Task_Cargo.html | 1 + docs/Documentation/ZoneGoal.html | 4 -- docs/Presentations/ATC_GROUND/Dia1.JPG | Bin 0 -> 184715 bytes docs/Presentations/ATC_GROUND/Dia2.JPG | Bin 0 -> 201202 bytes docs/Presentations/ATC_GROUND/Dia3.JPG | Bin 0 -> 215808 bytes docs/Presentations/ATC_GROUND/Dia4.JPG | Bin 0 -> 185837 bytes docs/Presentations/ATC_GROUND/Dia5.JPG | Bin 0 -> 220657 bytes docs/Presentations/ATC_GROUND/Dia6.JPG | Bin 0 -> 251459 bytes 19 files changed, 56 insertions(+), 122 deletions(-) create mode 100644 docs/Presentations/ATC_GROUND/Dia1.JPG create mode 100644 docs/Presentations/ATC_GROUND/Dia2.JPG create mode 100644 docs/Presentations/ATC_GROUND/Dia3.JPG create mode 100644 docs/Presentations/ATC_GROUND/Dia4.JPG create mode 100644 docs/Presentations/ATC_GROUND/Dia5.JPG create mode 100644 docs/Presentations/ATC_GROUND/Dia6.JPG diff --git a/Moose Development/Moose/Core/Set.lua b/Moose Development/Moose/Core/Set.lua index 58f12c4f1..bd56a7454 100644 --- a/Moose Development/Moose/Core/Set.lua +++ b/Moose Development/Moose/Core/Set.lua @@ -437,44 +437,44 @@ end --- Handles the OnPlayerEnterUnit event to fill the active players table (with the unit filter applied). -- @param #SET_BASE self -- @param Core.Event#EVENTDATA Event -function SET_BASE:_EventOnPlayerEnterUnit( Event ) - self:F3( { Event } ) - - if Event.IniDCSUnit then - local ObjectName, Object = self:AddInDatabase( Event ) - self:T3( ObjectName, Object ) - if self:IsIncludeObject( Object ) then - self:Add( ObjectName, Object ) - --self:_EventOnPlayerEnterUnit( Event ) - end - end -end +--function SET_BASE:_EventOnPlayerEnterUnit( Event ) +-- self:F3( { Event } ) +-- +-- if Event.IniDCSUnit then +-- local ObjectName, Object = self:AddInDatabase( Event ) +-- self:T3( ObjectName, Object ) +-- if self:IsIncludeObject( Object ) then +-- self:Add( ObjectName, Object ) +-- --self:_EventOnPlayerEnterUnit( Event ) +-- end +-- end +--end --- Handles the OnPlayerLeaveUnit event to clean the active players table. -- @param #SET_BASE self -- @param Core.Event#EVENTDATA Event -function SET_BASE:_EventOnPlayerLeaveUnit( Event ) - self:F3( { Event } ) - - local ObjectName = Event.IniDCSUnit - if Event.IniDCSUnit then - if Event.IniDCSGroup then - local GroupUnits = Event.IniDCSGroup:getUnits() - local PlayerCount = 0 - for _, DCSUnit in pairs( GroupUnits ) do - if DCSUnit ~= Event.IniDCSUnit then - if DCSUnit:getPlayerName() ~= nil then - PlayerCount = PlayerCount + 1 - end - end - end - self:E(PlayerCount) - if PlayerCount == 0 then - self:Remove( Event.IniDCSGroupName ) - end - end - end -end +--function SET_BASE:_EventOnPlayerLeaveUnit( Event ) +-- self:F3( { Event } ) +-- +-- local ObjectName = Event.IniDCSUnit +-- if Event.IniDCSUnit then +-- if Event.IniDCSGroup then +-- local GroupUnits = Event.IniDCSGroup:getUnits() +-- local PlayerCount = 0 +-- for _, DCSUnit in pairs( GroupUnits ) do +-- if DCSUnit ~= Event.IniDCSUnit then +-- if DCSUnit:getPlayerName() ~= nil then +-- PlayerCount = PlayerCount + 1 +-- end +-- end +-- end +-- self:E(PlayerCount) +-- if PlayerCount == 0 then +-- self:Remove( Event.IniDCSGroupName ) +-- end +-- end +-- end +--end -- Iterators diff --git a/Moose Development/Moose/Functional/ATC_Ground.lua b/Moose Development/Moose/Functional/ATC_Ground.lua index a0a6a016c..1660cefa1 100644 --- a/Moose Development/Moose/Functional/ATC_Ground.lua +++ b/Moose Development/Moose/Functional/ATC_Ground.lua @@ -124,28 +124,24 @@ end --- @param #ATC_GROUND self function ATC_GROUND:_AirbaseMonitor() - self:E( "In Scheduler") + self.SetClient:ForEachClient( + --- @param Wrapper.Client#CLIENT Client + function( Client ) - for AirbaseID, AirbaseMeta in pairs( self.Airbases ) do + if Client:IsAlive() then - if AirbaseMeta.Monitor == true then + local IsOnGround = Client:InAir() == false - self:E( AirbaseID, AirbaseMeta.MaximumSpeed ) + for AirbaseID, AirbaseMeta in pairs( self.Airbases ) do + self:E( AirbaseID, AirbaseMeta.MaximumSpeed ) + + if AirbaseMeta.Monitor == true and Client:IsInZone( AirbaseMeta.ZoneBoundary ) then - self.SetClient:ForEachClientInZone( AirbaseMeta.ZoneBoundary, - - --- @param Wrapper.Client#CLIENT Client - function( Client ) - - self:E( Client.UnitName ) - if Client and Client:IsAlive() then local NotInRunwayZone = true for ZoneRunwayID, ZoneRunway in pairs( AirbaseMeta.ZoneRunways ) do NotInRunwayZone = ( Client:IsNotInZone( ZoneRunway ) == true ) and NotInRunwayZone or false end - local IsOnGround = Client:InAir() == false - if NotInRunwayZone then if IsOnGround then @@ -245,13 +241,13 @@ function ATC_GROUND:_AirbaseMonitor() Client:SetState( self, "Taxi", false ) end end - else - Client:SetState( self, "Taxi", false ) end end - ) + else + Client:SetState( self, "Taxi", false ) + end end - end + ) return true end diff --git a/docs/Documentation/AI_A2A.html b/docs/Documentation/AI_A2A.html index e0b4ec30e..5e103cb10 100644 --- a/docs/Documentation/AI_A2A.html +++ b/docs/Documentation/AI_A2A.html @@ -671,6 +671,7 @@
    + #number AI_A2A.IdleCount diff --git a/docs/Documentation/Cargo.html b/docs/Documentation/Cargo.html index 3f1622ad1..64107dd30 100644 --- a/docs/Documentation/Cargo.html +++ b/docs/Documentation/Cargo.html @@ -2269,6 +2269,7 @@ The amount of seconds to delay the action.

    + CARGO_CRATE.CargoCarrier diff --git a/docs/Documentation/Designate.html b/docs/Documentation/Designate.html index 0e77566fe..1f8e3673b 100644 --- a/docs/Documentation/Designate.html +++ b/docs/Documentation/Designate.html @@ -1160,6 +1160,7 @@ function below will use the range 1-7 just in case

    + DESIGNATE.LaserCodes diff --git a/docs/Documentation/Detection.html b/docs/Documentation/Detection.html index 76f441953..f9bc34671 100644 --- a/docs/Documentation/Detection.html +++ b/docs/Documentation/Detection.html @@ -2469,7 +2469,6 @@ The index of the DetectedItem.

    - #number DETECTION_BASE.DetectedItemCount diff --git a/docs/Documentation/Point.html b/docs/Documentation/Point.html index c3e994063..0d83bdc5d 100644 --- a/docs/Documentation/Point.html +++ b/docs/Documentation/Point.html @@ -3495,7 +3495,6 @@ The y coordinate.

    - POINT_VEC2.z diff --git a/docs/Documentation/Positionable.html b/docs/Documentation/Positionable.html index 7605224ac..680f960e5 100644 --- a/docs/Documentation/Positionable.html +++ b/docs/Documentation/Positionable.html @@ -2017,6 +2017,7 @@ The height in meters to add to the altitude of the positionable.

    + Core.Spot#SPOT POSITIONABLE.Spot diff --git a/docs/Documentation/Set.html b/docs/Documentation/Set.html index b981a7e2e..e50f2d821 100644 --- a/docs/Documentation/Set.html +++ b/docs/Documentation/Set.html @@ -555,18 +555,6 @@ SET_BASE:_EventOnDeadOrCrash(Event)

    Handles the OnDead or OnCrash event for alive units set.

    - - - - SET_BASE:_EventOnPlayerEnterUnit(Event) - -

    Handles the OnPlayerEnterUnit event to fill the active players table (with the unit filter applied).

    - - - - SET_BASE:_EventOnPlayerLeaveUnit(Event) - -

    Handles the OnPlayerLeaveUnit event to clean the active players table.

    @@ -3059,48 +3047,6 @@ self

    - -SET_BASE:_EventOnPlayerEnterUnit(Event) - -
    -
    - -

    Handles the OnPlayerEnterUnit event to fill the active players table (with the unit filter applied).

    - -

    Parameter

    - -
    -
    -
    -
    - - -SET_BASE:_EventOnPlayerLeaveUnit(Event) - -
    -
    - -

    Handles the OnPlayerLeaveUnit event to clean the active players table.

    - -

    Parameter

    - -
    -
    -
    -
    - SET_BASE:_FilterStart() diff --git a/docs/Documentation/Spawn.html b/docs/Documentation/Spawn.html index b8ac96005..c17bcf5bb 100644 --- a/docs/Documentation/Spawn.html +++ b/docs/Documentation/Spawn.html @@ -2882,9 +2882,6 @@ when nothing was spawned.

    - -

    Overwrite unit names by default with group name.

    -
    @@ -2899,9 +2896,6 @@ when nothing was spawned.

    - -

    By default, no InitLimit

    -
    @@ -2937,7 +2931,7 @@ when nothing was spawned.

    - #number + SPAWN.SpawnMaxGroups @@ -2954,7 +2948,7 @@ when nothing was spawned.

    - #number + SPAWN.SpawnMaxUnitsAlive @@ -3282,7 +3276,7 @@ Spawn_BE_KA50 = SPAWN:New( 'BE KA-50@RAMP-Ground Defense' ):Schedule( 600, 0.5 )
    - + #boolean SPAWN.SpawnUnControlled @@ -3306,7 +3300,7 @@ Spawn_BE_KA50 = SPAWN:New( 'BE KA-50@RAMP-Ground Defense' ):Schedule( 600, 0.5 ) -

    Flag that indicates if all the Groups of the SpawnGroup need to be visible when Spawned.

    +

    When the first Spawn executes, all the Groups need to be made visible before start.

    diff --git a/docs/Documentation/SpawnStatic.html b/docs/Documentation/SpawnStatic.html index 8da9a331b..5c4e83a59 100644 --- a/docs/Documentation/SpawnStatic.html +++ b/docs/Documentation/SpawnStatic.html @@ -490,7 +490,6 @@ ptional) The name of the new static.

    - #number SPAWNSTATIC.SpawnIndex diff --git a/docs/Documentation/Task_Cargo.html b/docs/Documentation/Task_Cargo.html index 119956c02..968104c7e 100644 --- a/docs/Documentation/Task_Cargo.html +++ b/docs/Documentation/Task_Cargo.html @@ -576,6 +576,7 @@ based on the tasking capabilities defined in Task#TA
    + FSM_PROCESS.DeployZone diff --git a/docs/Documentation/ZoneGoal.html b/docs/Documentation/ZoneGoal.html index cd85537f6..8120d650d 100644 --- a/docs/Documentation/ZoneGoal.html +++ b/docs/Documentation/ZoneGoal.html @@ -489,7 +489,6 @@ The name of the player.

    - ZONE_GOAL.SmokeTime @@ -498,9 +497,6 @@ The name of the player.

    - -

    self.SmokeColor = nil

    -
    diff --git a/docs/Presentations/ATC_GROUND/Dia1.JPG b/docs/Presentations/ATC_GROUND/Dia1.JPG new file mode 100644 index 0000000000000000000000000000000000000000..154a6c8aabf42c1070874d712ebf5620ef972700 GIT binary patch literal 184715 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
    diff --git a/docs/Documentation/Cargo.html b/docs/Documentation/Cargo.html index 64107dd30..6d992a859 100644 --- a/docs/Documentation/Cargo.html +++ b/docs/Documentation/Cargo.html @@ -2269,7 +2269,6 @@ The amount of seconds to delay the action.

    - CARGO_CRATE.CargoCarrier @@ -3698,6 +3697,7 @@ The range till cargo will board.

    + CARGO_UNIT.CargoCarrier diff --git a/docs/Documentation/Designate.html b/docs/Documentation/Designate.html index 1f8e3673b..73252897d 100644 --- a/docs/Documentation/Designate.html +++ b/docs/Documentation/Designate.html @@ -1106,7 +1106,7 @@ function below will use the range 1-7 just in case

    - + #number DESIGNATE.LaseDuration @@ -1160,7 +1160,6 @@ function below will use the range 1-7 just in case

    - DESIGNATE.LaserCodes diff --git a/docs/Documentation/Detection.html b/docs/Documentation/Detection.html index f9bc34671..86ba51e64 100644 --- a/docs/Documentation/Detection.html +++ b/docs/Documentation/Detection.html @@ -2482,7 +2482,6 @@ The index of the DetectedItem.

    - #number DETECTION_BASE.DetectedItemMax @@ -4060,7 +4059,7 @@ Return false to cancel Transition.

    - #number + DETECTION_BASE.RefreshTimeInterval diff --git a/docs/Documentation/Fsm.html b/docs/Documentation/Fsm.html index 9580fc0e5..8f30460d8 100644 --- a/docs/Documentation/Fsm.html +++ b/docs/Documentation/Fsm.html @@ -1608,7 +1608,7 @@ A string defining the start state.

    - + #string FSM._StartState @@ -1907,7 +1907,6 @@ A string defining the start state.

    - FSM.current diff --git a/docs/Documentation/Positionable.html b/docs/Documentation/Positionable.html index 680f960e5..7605224ac 100644 --- a/docs/Documentation/Positionable.html +++ b/docs/Documentation/Positionable.html @@ -2017,7 +2017,6 @@ The height in meters to add to the altitude of the positionable.

    - Core.Spot#SPOT POSITIONABLE.Spot diff --git a/docs/Documentation/Spawn.html b/docs/Documentation/Spawn.html index c17bcf5bb..ba128c5d0 100644 --- a/docs/Documentation/Spawn.html +++ b/docs/Documentation/Spawn.html @@ -473,19 +473,19 @@ and any spaces before and after the resulting name are removed.

    - SPAWN:SpawnFromStatic(HostStatic, SpawnIndex) + SPAWN:SpawnFromStatic(HostStatic, MinHeight, MaxHeight, SpawnIndex)

    Will spawn a group from a hosting static.

    - SPAWN:SpawnFromUnit(HostUnit, SpawnIndex) + SPAWN:SpawnFromUnit(HostUnit, MinHeight, MaxHeight, SpawnIndex)

    Will spawn a group from a hosting unit.

    - SPAWN:SpawnFromVec2(Vec2, SpawnIndex) + SPAWN:SpawnFromVec2(Vec2, MinHeight, MaxHeight, SpawnIndex)

    Will spawn a group from a Vec2 in 3D space.

    @@ -533,7 +533,7 @@ and any spaces before and after the resulting name are removed.

    - SPAWN:SpawnInZone(Zone, RandomizeGroup, SpawnIndex) + SPAWN:SpawnInZone(Zone, RandomizeGroup, MinHeight, MaxHeight, SpawnIndex)

    Will spawn a Group within a given Zone.

    @@ -848,6 +848,12 @@ and any spaces before and after the resulting name are removed.

    SPAWN:_TranslateRotate(SpawnIndex, SpawnRootX, SpawnRootY, SpawnX, SpawnY, SpawnAngle) + + + + SPAWN.uncontrolled + + @@ -2512,7 +2518,7 @@ Nothing was spawned.

    -SPAWN:SpawnFromStatic(HostStatic, SpawnIndex) +SPAWN:SpawnFromStatic(HostStatic, MinHeight, MaxHeight, SpawnIndex)
    @@ -2533,6 +2539,18 @@ The static dropping or unloading the group.

  • +

    #number MinHeight : +(optional) The minimum height to spawn an airborne group into the zone.

    + +
  • +
  • + +

    #number MaxHeight : +(optional) The maximum height to spawn an airborne group into the zone.

    + +
  • +
  • +

    #number SpawnIndex : (optional) The index which group to spawn within the given zone.

    @@ -2553,13 +2571,24 @@ Nothing was spawned.

  • +

    Usage:

    +
    
    +  local SpawnStatic = STATIC:FindByName( StaticName )
    +
    +  -- Spawn from the static position at the height specified in the ME of the group template!
    +  SpawnAirplanes:SpawnFromStatic( SpawnStatic )  
    +  
    +  -- Spawn from the static position at the height randomized between 2000 and 4000 meters.
    +  SpawnAirplanes:SpawnFromStatic( SpawnStatic, 2000, 4000 )  
    +
    +
    -SPAWN:SpawnFromUnit(HostUnit, SpawnIndex) +SPAWN:SpawnFromUnit(HostUnit, MinHeight, MaxHeight, SpawnIndex)
    @@ -2581,6 +2610,18 @@ The air or ground unit dropping or unloading the group.

  • +

    #number MinHeight : +(optional) The minimum height to spawn an airborne group into the zone.

    + +
  • +
  • + +

    #number MaxHeight : +(optional) The maximum height to spawn an airborne group into the zone.

    + +
  • +
  • +

    #number SpawnIndex : (optional) The index which group to spawn within the given zone.

    @@ -2601,13 +2642,24 @@ Nothing was spawned.

  • +

    Usage:

    +
    
    +  local SpawnStatic = STATIC:FindByName( StaticName )
    +
    +  -- Spawn from the static position at the height specified in the ME of the group template!
    +  SpawnAirplanes:SpawnFromUnit( SpawnStatic )  
    +  
    +  -- Spawn from the static position at the height randomized between 2000 and 4000 meters.
    +  SpawnAirplanes:SpawnFromUnit( SpawnStatic, 2000, 4000 )  
    +
    +
    -SPAWN:SpawnFromVec2(Vec2, SpawnIndex) +SPAWN:SpawnFromVec2(Vec2, MinHeight, MaxHeight, SpawnIndex)
    @@ -2629,6 +2681,18 @@ The Vec2 coordinates where to spawn the group.

  • +

    #number MinHeight : +(optional) The minimum height to spawn an airborne group into the zone.

    + +
  • +
  • + +

    #number MaxHeight : +(optional) The maximum height to spawn an airborne group into the zone.

    + +
  • +
  • +

    #number SpawnIndex : (optional) The index which group to spawn within the given zone.

    @@ -2649,6 +2713,17 @@ Nothing was spawned.

  • +

    Usage:

    +
    
    +  local SpawnVec2 = ZONE:New( ZoneName ):GetVec2()
    +
    +  -- Spawn at the zone center position at the height specified in the ME of the group template!
    +  SpawnAirplanes:SpawnFromVec2( SpawnVec2 )  
    +  
    +  -- Spawn from the static position at the height randomized between 2000 and 4000 meters.
    +  SpawnAirplanes:SpawnFromVec2( SpawnVec2, 2000, 4000 )  
    +
    +
    @@ -2806,7 +2881,7 @@ SpawnGroupName

    -SPAWN:SpawnInZone(Zone, RandomizeGroup, SpawnIndex) +SPAWN:SpawnInZone(Zone, RandomizeGroup, MinHeight, MaxHeight, SpawnIndex)
    @@ -2834,6 +2909,18 @@ The zone where the group is to be spawned.

  • +

    #number MinHeight : +(optional) The minimum height to spawn an airborne group into the zone.

    + +
  • +
  • + +

    #number MaxHeight : +(optional) The maximum height to spawn an airborne group into the zone.

    + +
  • +
  • +

    #number SpawnIndex : (optional) The index which group to spawn within the given zone.

    @@ -2854,6 +2941,26 @@ when nothing was spawned.

  • +

    Usage:

    +
    
    +  local SpawnZone = ZONE:New( ZoneName )
    +
    +  -- Spawn at the zone center position at the height specified in the ME of the group template!
    +  SpawnAirplanes:SpawnFromZone( SpawnZone )  
    +  
    +  -- Spawn in the zone at a random position at the height specified in the Me of the group template.
    +  SpawnAirplanes:SpawnFromZone( SpawnZone, true )  
    +  
    +  -- Spawn in the zone at a random position at the height randomized between 2000 and 4000 meters.
    +  SpawnAirplanes:SpawnFromUnit( SpawnZone, true, 2000, 4000 )  
    +
    +  -- Spawn at the zone center position at the height randomized between 2000 and 4000 meters.
    +  SpawnAirplanes:SpawnFromUnit( SpawnZone, false, 2000, 4000 )  
    +  
    +  -- Spawn at the zone center position at the height randomized between 2000 and 4000 meters.
    +  SpawnAirplanes:SpawnFromUnit( SpawnZone, nil, 2000, 4000 )  
    +  
    +
    @@ -3276,7 +3383,7 @@ Spawn_BE_KA50 = SPAWN:New( 'BE KA-50@RAMP-Ground Defense' ):Schedule( 600, 0.5 )
    - #boolean + SPAWN.SpawnUnControlled @@ -3880,6 +3987,20 @@ True = Continue Scheduler

    + +
    +
    +
    + + + +SPAWN.uncontrolled + +
    +
    + + +
    diff --git a/docs/Documentation/Spot.html b/docs/Documentation/Spot.html index d6706e2ed..2ca8c13de 100644 --- a/docs/Documentation/Spot.html +++ b/docs/Documentation/Spot.html @@ -775,6 +775,7 @@ true if it is lasing

    + SPOT.ScheduleID @@ -788,6 +789,7 @@ true if it is lasing

    + SPOT.SpotIR @@ -801,6 +803,7 @@ true if it is lasing

    + SPOT.SpotLaser @@ -814,6 +817,7 @@ true if it is lasing

    + SPOT.Target diff --git a/docs/Documentation/Task_Cargo.html b/docs/Documentation/Task_Cargo.html index 968104c7e..1a964bad5 100644 --- a/docs/Documentation/Task_Cargo.html +++ b/docs/Documentation/Task_Cargo.html @@ -562,7 +562,7 @@ based on the tasking capabilities defined in Task#TA
    - Core.Cargo#CARGO + FSM_PROCESS.Cargo @@ -576,7 +576,6 @@ based on the tasking capabilities defined in Task#TA
    - FSM_PROCESS.DeployZone diff --git a/docs/Documentation/ZoneGoal.html b/docs/Documentation/ZoneGoal.html index 8120d650d..cd85537f6 100644 --- a/docs/Documentation/ZoneGoal.html +++ b/docs/Documentation/ZoneGoal.html @@ -489,6 +489,7 @@ The name of the player.

    + ZONE_GOAL.SmokeTime @@ -497,6 +498,9 @@ The name of the player.

    + +

    self.SmokeColor = nil

    +
    From 86ad985e0b130f5cd74a14b6d49742a3ae75cdb1 Mon Sep 17 00:00:00 2001 From: FlightControl_Master Date: Thu, 26 Oct 2017 21:19:41 +0200 Subject: [PATCH 08/11] updates docs --- Moose Development/Moose/Core/Spawn.lua | 10 +++++----- docs/Documentation/AI_A2A.html | 1 - docs/Documentation/AI_Patrol.html | 3 --- docs/Documentation/Cargo.html | 2 +- docs/Documentation/Designate.html | 1 + docs/Documentation/Movement.html | 4 ---- docs/Documentation/Settings.html | 2 +- docs/Documentation/Spawn.html | 19 +++++++++++-------- docs/Documentation/Spot.html | 4 ---- docs/Documentation/Task_Cargo.html | 2 +- 10 files changed, 20 insertions(+), 28 deletions(-) diff --git a/Moose Development/Moose/Core/Spawn.lua b/Moose Development/Moose/Core/Spawn.lua index d307a2527..b16e1bd79 100644 --- a/Moose Development/Moose/Core/Spawn.lua +++ b/Moose Development/Moose/Core/Spawn.lua @@ -1378,19 +1378,19 @@ end -- local SpawnZone = ZONE:New( ZoneName ) -- -- -- Spawn at the zone center position at the height specified in the ME of the group template! --- SpawnAirplanes:SpawnFromZone( SpawnZone ) +-- SpawnAirplanes:SpawnInZone( SpawnZone ) -- -- -- Spawn in the zone at a random position at the height specified in the Me of the group template. --- SpawnAirplanes:SpawnFromZone( SpawnZone, true ) +-- SpawnAirplanes:SpawnInZone( SpawnZone, true ) -- -- -- Spawn in the zone at a random position at the height randomized between 2000 and 4000 meters. --- SpawnAirplanes:SpawnFromUnit( SpawnZone, true, 2000, 4000 ) +-- SpawnAirplanes:SpawnInZone( SpawnZone, true, 2000, 4000 ) -- -- -- Spawn at the zone center position at the height randomized between 2000 and 4000 meters. --- SpawnAirplanes:SpawnFromUnit( SpawnZone, false, 2000, 4000 ) +-- SpawnAirplanes:SpawnInZone( SpawnZone, false, 2000, 4000 ) -- -- -- Spawn at the zone center position at the height randomized between 2000 and 4000 meters. --- SpawnAirplanes:SpawnFromUnit( SpawnZone, nil, 2000, 4000 ) +-- SpawnAirplanes:SpawnInZone( SpawnZone, nil, 2000, 4000 ) -- function SPAWN:SpawnInZone( Zone, RandomizeGroup, MinHeight, MaxHeight, SpawnIndex ) self:F( { self.SpawnTemplatePrefix, Zone, RandomizeGroup, MinHeight, MaxHeight, SpawnIndex } ) diff --git a/docs/Documentation/AI_A2A.html b/docs/Documentation/AI_A2A.html index 5e103cb10..e0b4ec30e 100644 --- a/docs/Documentation/AI_A2A.html +++ b/docs/Documentation/AI_A2A.html @@ -671,7 +671,6 @@
    - #number AI_A2A.IdleCount diff --git a/docs/Documentation/AI_Patrol.html b/docs/Documentation/AI_Patrol.html index 45a2143e2..004acc069 100644 --- a/docs/Documentation/AI_Patrol.html +++ b/docs/Documentation/AI_Patrol.html @@ -936,9 +936,6 @@ Use the method AIPATROLZONE.M - -

    This table contains the targets detected during patrol.

    -
    diff --git a/docs/Documentation/Cargo.html b/docs/Documentation/Cargo.html index 6d992a859..f5bf973b2 100644 --- a/docs/Documentation/Cargo.html +++ b/docs/Documentation/Cargo.html @@ -3697,7 +3697,6 @@ The range till cargo will board.

    - CARGO_UNIT.CargoCarrier @@ -3805,6 +3804,7 @@ The range till cargo will board.

    + #number CARGO_UNIT.RunCount diff --git a/docs/Documentation/Designate.html b/docs/Documentation/Designate.html index 73252897d..9c043bfc3 100644 --- a/docs/Documentation/Designate.html +++ b/docs/Documentation/Designate.html @@ -1160,6 +1160,7 @@ function below will use the range 1-7 just in case

    + DESIGNATE.LaserCodes diff --git a/docs/Documentation/Movement.html b/docs/Documentation/Movement.html index 0615a2d0a..8126af2b9 100644 --- a/docs/Documentation/Movement.html +++ b/docs/Documentation/Movement.html @@ -237,7 +237,6 @@ on defined intervals (currently every minute).

    - #number MOVEMENT.AliveUnits @@ -246,9 +245,6 @@ on defined intervals (currently every minute).

    - -

    Contains the counter how many units are currently alive

    -
    diff --git a/docs/Documentation/Settings.html b/docs/Documentation/Settings.html index 9b4a8bcab..159a358e6 100644 --- a/docs/Documentation/Settings.html +++ b/docs/Documentation/Settings.html @@ -1250,7 +1250,7 @@ true if metric.

    - + #boolean SETTINGS.Metric diff --git a/docs/Documentation/Spawn.html b/docs/Documentation/Spawn.html index ba128c5d0..afcd0739c 100644 --- a/docs/Documentation/Spawn.html +++ b/docs/Documentation/Spawn.html @@ -2946,19 +2946,19 @@ when nothing was spawned.

    local SpawnZone = ZONE:New( ZoneName ) -- Spawn at the zone center position at the height specified in the ME of the group template! - SpawnAirplanes:SpawnFromZone( SpawnZone ) + SpawnAirplanes:SpawnInZone( SpawnZone ) -- Spawn in the zone at a random position at the height specified in the Me of the group template. - SpawnAirplanes:SpawnFromZone( SpawnZone, true ) + SpawnAirplanes:SpawnInZone( SpawnZone, true ) -- Spawn in the zone at a random position at the height randomized between 2000 and 4000 meters. - SpawnAirplanes:SpawnFromUnit( SpawnZone, true, 2000, 4000 ) + SpawnAirplanes:SpawnInZone( SpawnZone, true, 2000, 4000 ) -- Spawn at the zone center position at the height randomized between 2000 and 4000 meters. - SpawnAirplanes:SpawnFromUnit( SpawnZone, false, 2000, 4000 ) + SpawnAirplanes:SpawnInZone( SpawnZone, false, 2000, 4000 ) -- Spawn at the zone center position at the height randomized between 2000 and 4000 meters. - SpawnAirplanes:SpawnFromUnit( SpawnZone, nil, 2000, 4000 ) + SpawnAirplanes:SpawnInZone( SpawnZone, nil, 2000, 4000 ) @@ -3003,6 +3003,9 @@ when nothing was spawned.

    + +

    By default, no InitLimit

    +
    @@ -3038,7 +3041,7 @@ when nothing was spawned.

    - + #number SPAWN.SpawnMaxGroups @@ -3055,7 +3058,7 @@ when nothing was spawned.

    - + #number SPAWN.SpawnMaxUnitsAlive @@ -3383,7 +3386,7 @@ Spawn_BE_KA50 = SPAWN:New( 'BE KA-50@RAMP-Ground Defense' ):Schedule( 600, 0.5 )
    - + #boolean SPAWN.SpawnUnControlled diff --git a/docs/Documentation/Spot.html b/docs/Documentation/Spot.html index 2ca8c13de..d6706e2ed 100644 --- a/docs/Documentation/Spot.html +++ b/docs/Documentation/Spot.html @@ -775,7 +775,6 @@ true if it is lasing

    - SPOT.ScheduleID @@ -789,7 +788,6 @@ true if it is lasing

    - SPOT.SpotIR @@ -803,7 +801,6 @@ true if it is lasing

    - SPOT.SpotLaser @@ -817,7 +814,6 @@ true if it is lasing

    - SPOT.Target diff --git a/docs/Documentation/Task_Cargo.html b/docs/Documentation/Task_Cargo.html index 1a964bad5..119956c02 100644 --- a/docs/Documentation/Task_Cargo.html +++ b/docs/Documentation/Task_Cargo.html @@ -562,7 +562,7 @@ based on the tasking capabilities defined in Task#TA
    - + Core.Cargo#CARGO FSM_PROCESS.Cargo From bdf5c1e9604b5966d13dfa63da86ae5a0f8d4d92 Mon Sep 17 00:00:00 2001 From: FlightControl_Master Date: Fri, 27 Oct 2017 07:00:40 +0200 Subject: [PATCH 09/11] Documentation --- Moose Development/Moose/Wrapper/Airbase.lua | 25 +++++++++++++++++++++ docs/Documentation/AI_Patrol.html | 3 +++ docs/Documentation/Cargo.html | 1 + docs/Documentation/Movement.html | 4 ++++ docs/Documentation/Settings.html | 2 +- docs/Documentation/Spawn.html | 8 ++++++- docs/Documentation/Task_Cargo.html | 5 +++-- docs/Documentation/ZoneGoal.html | 4 ---- docs/README.md | 13 +++++++---- 9 files changed, 53 insertions(+), 12 deletions(-) diff --git a/Moose Development/Moose/Wrapper/Airbase.lua b/Moose Development/Moose/Wrapper/Airbase.lua index d34ac6a85..ba2af2050 100644 --- a/Moose Development/Moose/Wrapper/Airbase.lua +++ b/Moose Development/Moose/Wrapper/Airbase.lua @@ -58,6 +58,31 @@ AIRBASE = { } --- @field Caucasus +-- +-- These are the airbase names that can be specified with AIRBASE.Caucasus: +-- +-- * AIRBASE.Caucasus.Gelendzhik +-- * AIRBASE.Caucasus.Krasnodar_Pashkovsky +-- * AIRBASE.Caucasus.Sukhumi_Babushara +-- * AIRBASE.Caucasus.Gudauta +-- * AIRBASE.Caucasus.Batumi +-- * AIRBASE.Caucasus.Senaki_Kolkhi +-- * AIRBASE.Caucasus.Kobuleti +-- * AIRBASE.Caucasus.Kutaisi +-- * AIRBASE.Caucasus.Tbilisi_Lochini +-- * AIRBASE.Caucasus.Soganlug +-- * AIRBASE.Caucasus.Vaziani +-- * AIRBASE.Caucasus.Anapa_Vityazevo +-- * AIRBASE.Caucasus.Krasnodar_Center +-- * AIRBASE.Caucasus.Novorossiysk +-- * AIRBASE.Caucasus.Krymsk +-- * AIRBASE.Caucasus.Maykop_Khanskaya +-- * AIRBASE.Caucasus.Sochi_Adler +-- * AIRBASE.Caucasus.Mineralnye_Vody +-- * AIRBASE.Caucasus.Nalchik +-- * AIRBASE.Caucasus.Mozdok +-- * AIRBASE.Caucasus.Beslan +-- AIRBASE.Caucasus = { ["Gelendzhik"] = "Gelendzhik", ["Krasnodar_Pashkovsky"] = "Krasnodar-Pashkovsky", diff --git a/docs/Documentation/AI_Patrol.html b/docs/Documentation/AI_Patrol.html index 004acc069..45a2143e2 100644 --- a/docs/Documentation/AI_Patrol.html +++ b/docs/Documentation/AI_Patrol.html @@ -936,6 +936,9 @@ Use the method AIPATROLZONE.M + +

    This table contains the targets detected during patrol.

    +
    diff --git a/docs/Documentation/Cargo.html b/docs/Documentation/Cargo.html index f5bf973b2..b937e23ad 100644 --- a/docs/Documentation/Cargo.html +++ b/docs/Documentation/Cargo.html @@ -2269,6 +2269,7 @@ The amount of seconds to delay the action.

    + CARGO_CRATE.CargoCarrier diff --git a/docs/Documentation/Movement.html b/docs/Documentation/Movement.html index 8126af2b9..0615a2d0a 100644 --- a/docs/Documentation/Movement.html +++ b/docs/Documentation/Movement.html @@ -237,6 +237,7 @@ on defined intervals (currently every minute).

    + #number MOVEMENT.AliveUnits @@ -245,6 +246,9 @@ on defined intervals (currently every minute).

    + +

    Contains the counter how many units are currently alive

    +
    diff --git a/docs/Documentation/Settings.html b/docs/Documentation/Settings.html index 159a358e6..9b4a8bcab 100644 --- a/docs/Documentation/Settings.html +++ b/docs/Documentation/Settings.html @@ -1250,7 +1250,7 @@ true if metric.

    - #boolean + SETTINGS.Metric diff --git a/docs/Documentation/Spawn.html b/docs/Documentation/Spawn.html index afcd0739c..531258788 100644 --- a/docs/Documentation/Spawn.html +++ b/docs/Documentation/Spawn.html @@ -2314,6 +2314,9 @@ The group that was spawned. You can use this group for further actions.

    + +

    Don't repeat the group from Take-Off till Landing and back Take-Off by ReSpawning.

    +
    @@ -2989,6 +2992,9 @@ when nothing was spawned.

    + +

    Overwrite unit names by default with group name.

    +
    @@ -3410,7 +3416,7 @@ Spawn_BE_KA50 = SPAWN:New( 'BE KA-50@RAMP-Ground Defense' ):Schedule( 600, 0.5 ) -

    When the first Spawn executes, all the Groups need to be made visible before start.

    +

    Flag that indicates if all the Groups of the SpawnGroup need to be visible when Spawned.

    diff --git a/docs/Documentation/Task_Cargo.html b/docs/Documentation/Task_Cargo.html index 119956c02..370a1360b 100644 --- a/docs/Documentation/Task_Cargo.html +++ b/docs/Documentation/Task_Cargo.html @@ -562,7 +562,7 @@ based on the tasking capabilities defined in Task#TA
    - Core.Cargo#CARGO + Core.Cargo#CARGO_GROUP FSM_PROCESS.Cargo @@ -576,6 +576,7 @@ based on the tasking capabilities defined in Task#TA
    + FSM_PROCESS.DeployZone @@ -640,7 +641,7 @@ based on the tasking capabilities defined in Task#TA
    - + #number TASK_CARGO.CargoLimit diff --git a/docs/Documentation/ZoneGoal.html b/docs/Documentation/ZoneGoal.html index cd85537f6..8120d650d 100644 --- a/docs/Documentation/ZoneGoal.html +++ b/docs/Documentation/ZoneGoal.html @@ -489,7 +489,6 @@ The name of the player.

    - ZONE_GOAL.SmokeTime @@ -498,9 +497,6 @@ The name of the player.

    - -

    self.SmokeColor = nil

    -
    diff --git a/docs/README.md b/docs/README.md index 8ed35a606..8fa3218bf 100644 --- a/docs/README.md +++ b/docs/README.md @@ -100,8 +100,6 @@ These AI Controlling Classes are based on FSM (Finite State Machine) Classes, an MOOSE Functional Classes provide various functions that are useful in mission design. -* [SPAWN](Documentation/Spawn.html): Spawn new groups (and units) during mission execution. - * [ESCORT](Documentation/Escort.html): Makes groups consisting of helicopters, airplanes, ground troops or ships within a mission joining your flight. You can control these groups through the ratio menu during your flight. Available commands are around: Navigation, Position Hold, Reporting (Target Detection), Attacking, Assisted Attacks, ROE, Evasion, Mission Execution and more ... * [MISSILETRAINER](Documentation/MissileTrainer.html): Missile trainer, it destroys missiles when they are within a certain range of player airplanes, displays tracking and alert messages of missile launches; approach; destruction, and configure with radio menu commands. Various APIs available to configure the trainer. @@ -120,6 +118,11 @@ MOOSE Functional Classes provide various functions that are useful in mission de * [RAT](Documentation/Rat.html): Random Air Traffic engine developed by FunkyFranky, use the available airspace! +* [ATC_GROUND](Documentation/ATC_Ground.html): Monitor players on the airbase and make them behave and provide instructions. + * [ATC_GROUND](Documentation/ATC_Ground.html#ATC_GROUND_CAUCASUS): ATC Ground operations for Caucasus. + * [ATC_GROUND](Documentation/ATC_Ground.html#ATC_GROUND_NEVADA): ATC Ground operations for Nevada. + * [ATC_GROUND](Documentation/ATC_Ground.html#ATC_GROUND_NORMANDY): ATC Ground operations for Normandy. + ## 2.4. MOOSE Wrapper Classes MOOSE Wrapper Classes provide an object oriented hierarchical mechanism to manage the DCS objects within the simulator. @@ -156,6 +159,10 @@ These classes define the base building blocks of the MOOSE framework. These clas * [SCHEDULER](Documentation/Scheduler.html): This class implements a timer scheduler that will call at optional specified intervals repeatedly or just one time a scheduled function. +* [SPAWN](Documentation/Spawn.html#SPAWN): Spawn new groups (and units) during mission execution. + +* [SPAWNSTATIC](Documentation/SpawnStatic.html#SPAWNSTATIC): Spawn Static objects using a predefined "template". + * [Finite State Machines](Documentation/Fsm.html): Finite State Machine provides a process management or state machine capability for various scenarios. * [FSM](Documentation/Fsm.html#FSM): The main FSM class can be used to build a generic Finite State Machine. * [FSM\_CONTROLLABLE](Documentation/Fsm.html#FSM_CONTROLLABLE): An FSM class to control a Controllable. A controllable is a group or unit that can be controlled. @@ -190,8 +197,6 @@ These classes define the base building blocks of the MOOSE framework. These clas * [CARGO](Documentation/Cargo.html): Manage Cargo in the simulation. * [CARGO\_GROUP](Documentation/Cargo.html#CARGO_GROUP): Manage Cargo that is defined as a GROUP object within the simulation. -* [SPAWNSTATIC](Documentation/SpawnStatic.html#SPAWNSTATIC): Spawn Static objects using a predefined "template". - * [BEACON](Documentation/Radio.html): Create beacons. * [RADIO](Documentation/Radio.html): Create radio communication. From c495d0e5e99ba1d2ab6b7c6b56c07b962eb5c8ff Mon Sep 17 00:00:00 2001 From: FlightControl_Master Date: Fri, 27 Oct 2017 07:03:27 +0200 Subject: [PATCH 10/11] Airbases updates --- Moose Development/Moose/Wrapper/Airbase.lua | 5 +-- docs/Documentation/AI_Patrol.html | 3 -- docs/Documentation/Airbase.html | 31 +++++++++++++++++- docs/Documentation/Cargo.html | 2 -- docs/Documentation/Movement.html | 4 --- docs/Documentation/Point.html | 1 + docs/Documentation/Positionable.html | 1 + docs/Documentation/Spawn.html | 35 ++------------------- docs/Documentation/SpawnStatic.html | 1 + docs/Documentation/Spot.html | 4 +++ docs/Documentation/Task_Cargo.html | 4 +-- docs/Documentation/ZoneGoal.html | 4 +++ 12 files changed, 49 insertions(+), 46 deletions(-) diff --git a/Moose Development/Moose/Wrapper/Airbase.lua b/Moose Development/Moose/Wrapper/Airbase.lua index ba2af2050..7a58bb401 100644 --- a/Moose Development/Moose/Wrapper/Airbase.lua +++ b/Moose Development/Moose/Wrapper/Airbase.lua @@ -57,9 +57,9 @@ AIRBASE = { }, } ---- @field Caucasus +--- Enumeration to identify the airbases in the Caucasus region. -- --- These are the airbase names that can be specified with AIRBASE.Caucasus: +-- These are all airbases: -- -- * AIRBASE.Caucasus.Gelendzhik -- * AIRBASE.Caucasus.Krasnodar_Pashkovsky @@ -83,6 +83,7 @@ AIRBASE = { -- * AIRBASE.Caucasus.Mozdok -- * AIRBASE.Caucasus.Beslan -- +-- @field Caucasus AIRBASE.Caucasus = { ["Gelendzhik"] = "Gelendzhik", ["Krasnodar_Pashkovsky"] = "Krasnodar-Pashkovsky", diff --git a/docs/Documentation/AI_Patrol.html b/docs/Documentation/AI_Patrol.html index 45a2143e2..004acc069 100644 --- a/docs/Documentation/AI_Patrol.html +++ b/docs/Documentation/AI_Patrol.html @@ -936,9 +936,6 @@ Use the method AIPATROLZONE.M - -

    This table contains the targets detected during patrol.

    -
    diff --git a/docs/Documentation/Airbase.html b/docs/Documentation/Airbase.html index 58c016c31..871dd5fb6 100644 --- a/docs/Documentation/Airbase.html +++ b/docs/Documentation/Airbase.html @@ -148,7 +148,7 @@ AIRBASE.Caucasus - +

    Enumeration to identify the airbases in the Caucasus region.

    @@ -264,7 +264,36 @@ is implemented in the AIRBASE class as AIRBASE.Get
    +

    Enumeration to identify the airbases in the Caucasus region.

    + + +

    These are all airbases:

    + +
      +
    • AIRBASE.Caucasus.Gelendzhik
    • +
    • AIRBASE.Caucasus.Krasnodar_Pashkovsky
    • +
    • AIRBASE.Caucasus.Sukhumi_Babushara
    • +
    • AIRBASE.Caucasus.Gudauta
    • +
    • AIRBASE.Caucasus.Batumi
    • +
    • AIRBASE.Caucasus.Senaki_Kolkhi
    • +
    • AIRBASE.Caucasus.Kobuleti
    • +
    • AIRBASE.Caucasus.Kutaisi
    • +
    • AIRBASE.Caucasus.Tbilisi_Lochini
    • +
    • AIRBASE.Caucasus.Soganlug
    • +
    • AIRBASE.Caucasus.Vaziani
    • +
    • AIRBASE.Caucasus.Anapa_Vityazevo
    • +
    • AIRBASE.Caucasus.Krasnodar_Center
    • +
    • AIRBASE.Caucasus.Novorossiysk
    • +
    • AIRBASE.Caucasus.Krymsk
    • +
    • AIRBASE.Caucasus.Maykop_Khanskaya
    • +
    • AIRBASE.Caucasus.Sochi_Adler
    • +
    • AIRBASE.Caucasus.Mineralnye_Vody
    • +
    • AIRBASE.Caucasus.Nalchik
    • +
    • AIRBASE.Caucasus.Mozdok
    • +
    • AIRBASE.Caucasus.Beslan +
    • +
    diff --git a/docs/Documentation/Cargo.html b/docs/Documentation/Cargo.html index b937e23ad..3f1622ad1 100644 --- a/docs/Documentation/Cargo.html +++ b/docs/Documentation/Cargo.html @@ -2269,7 +2269,6 @@ The amount of seconds to delay the action.

    - CARGO_CRATE.CargoCarrier @@ -3805,7 +3804,6 @@ The range till cargo will board.

    - #number CARGO_UNIT.RunCount diff --git a/docs/Documentation/Movement.html b/docs/Documentation/Movement.html index 0615a2d0a..8126af2b9 100644 --- a/docs/Documentation/Movement.html +++ b/docs/Documentation/Movement.html @@ -237,7 +237,6 @@ on defined intervals (currently every minute).

    - #number MOVEMENT.AliveUnits @@ -246,9 +245,6 @@ on defined intervals (currently every minute).

    - -

    Contains the counter how many units are currently alive

    -
    diff --git a/docs/Documentation/Point.html b/docs/Documentation/Point.html index 0d83bdc5d..c3e994063 100644 --- a/docs/Documentation/Point.html +++ b/docs/Documentation/Point.html @@ -3495,6 +3495,7 @@ The y coordinate.

    + POINT_VEC2.z diff --git a/docs/Documentation/Positionable.html b/docs/Documentation/Positionable.html index 7605224ac..680f960e5 100644 --- a/docs/Documentation/Positionable.html +++ b/docs/Documentation/Positionable.html @@ -2017,6 +2017,7 @@ The height in meters to add to the altitude of the positionable.

    + Core.Spot#SPOT POSITIONABLE.Spot diff --git a/docs/Documentation/Spawn.html b/docs/Documentation/Spawn.html index 531258788..57ada90b2 100644 --- a/docs/Documentation/Spawn.html +++ b/docs/Documentation/Spawn.html @@ -848,12 +848,6 @@ and any spaces before and after the resulting name are removed.

    SPAWN:_TranslateRotate(SpawnIndex, SpawnRootX, SpawnRootY, SpawnX, SpawnY, SpawnAngle) - - - - SPAWN.uncontrolled - - @@ -2314,9 +2308,6 @@ The group that was spawned. You can use this group for further actions.

    - -

    Don't repeat the group from Take-Off till Landing and back Take-Off by ReSpawning.

    -
    @@ -2992,9 +2983,6 @@ when nothing was spawned.

    - -

    Overwrite unit names by default with group name.

    -
    @@ -3009,9 +2997,6 @@ when nothing was spawned.

    - -

    By default, no InitLimit

    -
    @@ -3047,7 +3032,7 @@ when nothing was spawned.

    - #number + SPAWN.SpawnMaxGroups @@ -3064,7 +3049,7 @@ when nothing was spawned.

    - #number + SPAWN.SpawnMaxUnitsAlive @@ -3392,7 +3377,7 @@ Spawn_BE_KA50 = SPAWN:New( 'BE KA-50@RAMP-Ground Defense' ):Schedule( 600, 0.5 )
    - #boolean + SPAWN.SpawnUnControlled @@ -3996,20 +3981,6 @@ True = Continue Scheduler

    - -
    -
    -
    - - - -SPAWN.uncontrolled - -
    -
    - - -
    diff --git a/docs/Documentation/SpawnStatic.html b/docs/Documentation/SpawnStatic.html index 5c4e83a59..8da9a331b 100644 --- a/docs/Documentation/SpawnStatic.html +++ b/docs/Documentation/SpawnStatic.html @@ -490,6 +490,7 @@ ptional) The name of the new static.

    + #number SPAWNSTATIC.SpawnIndex diff --git a/docs/Documentation/Spot.html b/docs/Documentation/Spot.html index d6706e2ed..2ca8c13de 100644 --- a/docs/Documentation/Spot.html +++ b/docs/Documentation/Spot.html @@ -775,6 +775,7 @@ true if it is lasing

    + SPOT.ScheduleID @@ -788,6 +789,7 @@ true if it is lasing

    + SPOT.SpotIR @@ -801,6 +803,7 @@ true if it is lasing

    + SPOT.SpotLaser @@ -814,6 +817,7 @@ true if it is lasing

    + SPOT.Target diff --git a/docs/Documentation/Task_Cargo.html b/docs/Documentation/Task_Cargo.html index 370a1360b..3b9bfff0a 100644 --- a/docs/Documentation/Task_Cargo.html +++ b/docs/Documentation/Task_Cargo.html @@ -562,7 +562,7 @@ based on the tasking capabilities defined in Task#TA
    - Core.Cargo#CARGO_GROUP + FSM_PROCESS.Cargo @@ -641,7 +641,7 @@ based on the tasking capabilities defined in Task#TA
    - #number + TASK_CARGO.CargoLimit diff --git a/docs/Documentation/ZoneGoal.html b/docs/Documentation/ZoneGoal.html index 8120d650d..cd85537f6 100644 --- a/docs/Documentation/ZoneGoal.html +++ b/docs/Documentation/ZoneGoal.html @@ -489,6 +489,7 @@ The name of the player.

    + ZONE_GOAL.SmokeTime @@ -497,6 +498,9 @@ The name of the player.

    + +

    self.SmokeColor = nil

    +
    From 6f0a254929fd347332070f72aae6f765088488e6 Mon Sep 17 00:00:00 2001 From: FlightControl_Master Date: Fri, 27 Oct 2017 18:30:03 +0200 Subject: [PATCH 11/11] Documentation --- Moose Development/Moose/Wrapper/Airbase.lua | 58 ++++++++++++++++++++- docs/Documentation/AI_A2A.html | 1 + docs/Documentation/AI_Patrol.html | 3 ++ docs/Documentation/Airbase.html | 2 +- docs/Documentation/Cargo.html | 2 + docs/Documentation/Designate.html | 2 +- docs/Documentation/Detection.html | 2 +- docs/Documentation/Movement.html | 4 ++ docs/Documentation/Point.html | 1 - docs/Documentation/Spawn.html | 29 +++++++++-- docs/Documentation/Spot.html | 4 -- docs/Documentation/Task_Cargo.html | 1 - 12 files changed, 96 insertions(+), 13 deletions(-) diff --git a/Moose Development/Moose/Wrapper/Airbase.lua b/Moose Development/Moose/Wrapper/Airbase.lua index 7a58bb401..13ee83ab1 100644 --- a/Moose Development/Moose/Wrapper/Airbase.lua +++ b/Moose Development/Moose/Wrapper/Airbase.lua @@ -59,7 +59,7 @@ AIRBASE = { --- Enumeration to identify the airbases in the Caucasus region. -- --- These are all airbases: +-- These are all airbases of Caucasus: -- -- * AIRBASE.Caucasus.Gelendzhik -- * AIRBASE.Caucasus.Krasnodar_Pashkovsky @@ -109,6 +109,28 @@ AIRBASE.Caucasus = { } --- @field Nevada +-- +-- These are all airbases of Nevada: +-- +-- * AIRBASE.Nevada.Creech_AFB +-- * AIRBASE.Nevada.Groom_Lake_AFB +-- * AIRBASE.Nevada.McCarran_International_Airport +-- * AIRBASE.Nevada.Nellis_AFB +-- * AIRBASE.Nevada.Beatty_Airport +-- * AIRBASE.Nevada.Boulder_City_Airport +-- * AIRBASE.Nevada.Echo_Bay +-- * AIRBASE.Nevada.Henderson_Executive_Airport +-- * AIRBASE.Nevada.Jean_Airport +-- * AIRBASE.Nevada.Laughlin_Airport +-- * AIRBASE.Nevada.Lincoln_County +-- * AIRBASE.Nevada.Mellan_Airstrip +-- * AIRBASE.Nevada.Mesquite +-- * AIRBASE.Nevada.Mina_Airport_3Q0 +-- * AIRBASE.Nevada.North_Las_Vegas +-- * AIRBASE.Nevada.Pahute_Mesa_Airstrip +-- * AIRBASE.Nevada.Tonopah_Airport +-- * AIRBASE.Nevada.Tonopah_Test_Range_Airfield +-- AIRBASE.Nevada = { ["Creech_AFB"] = "Creech AFB", ["Groom_Lake_AFB"] = "Groom Lake AFB", @@ -131,6 +153,40 @@ AIRBASE.Nevada = { } --- @field Normandy +-- +-- These are all airbases of Normandy: +-- +-- * AIRBASE.Normandy.Saint_Pierre_du_Mont +-- * AIRBASE.Normandy.Lignerolles +-- * AIRBASE.Normandy.Cretteville +-- * AIRBASE.Normandy.Maupertus +-- * AIRBASE.Normandy.Brucheville +-- * AIRBASE.Normandy.Meautis +-- * AIRBASE.Normandy.Cricqueville_en_Bessin +-- * AIRBASE.Normandy.Lessay +-- * AIRBASE.Normandy.Sainte_Laurent_sur_Mer +-- * AIRBASE.Normandy.Biniville +-- * AIRBASE.Normandy.Cardonville +-- * AIRBASE.Normandy.Deux_Jumeaux +-- * AIRBASE.Normandy.Chippelle +-- * AIRBASE.Normandy.Beuzeville +-- * AIRBASE.Normandy.Azeville +-- * AIRBASE.Normandy.Picauville +-- * AIRBASE.Normandy.Le_Molay +-- * AIRBASE.Normandy.Longues_sur_Mer +-- * AIRBASE.Normandy.Carpiquet +-- * AIRBASE.Normandy.Bazenville +-- * AIRBASE.Normandy.Sainte_Croix_sur_Mer +-- * AIRBASE.Normandy.Beny_sur_Mer +-- * AIRBASE.Normandy.Rucqueville +-- * AIRBASE.Normandy.Sommervieu +-- * AIRBASE.Normandy.Lantheuil +-- * AIRBASE.Normandy.Evreux +-- * AIRBASE.Normandy.Chailey +-- * AIRBASE.Normandy.Needs_Oar_Point +-- * AIRBASE.Normandy.Funtington +-- * AIRBASE.Normandy.Tangmere +-- * AIRBASE.Normandy.Ford AIRBASE.Normandy = { ["Saint_Pierre_du_Mont"] = "Saint Pierre du Mont", ["Lignerolles"] = "Lignerolles", diff --git a/docs/Documentation/AI_A2A.html b/docs/Documentation/AI_A2A.html index e0b4ec30e..5e103cb10 100644 --- a/docs/Documentation/AI_A2A.html +++ b/docs/Documentation/AI_A2A.html @@ -671,6 +671,7 @@
    + #number AI_A2A.IdleCount diff --git a/docs/Documentation/AI_Patrol.html b/docs/Documentation/AI_Patrol.html index 004acc069..45a2143e2 100644 --- a/docs/Documentation/AI_Patrol.html +++ b/docs/Documentation/AI_Patrol.html @@ -936,6 +936,9 @@ Use the method AIPATROLZONE.M + +

    This table contains the targets detected during patrol.

    +
    diff --git a/docs/Documentation/Airbase.html b/docs/Documentation/Airbase.html index 871dd5fb6..a95339f80 100644 --- a/docs/Documentation/Airbase.html +++ b/docs/Documentation/Airbase.html @@ -268,7 +268,7 @@ is implemented in the AIRBASE class as AIRBASE.Get -

    These are all airbases:

    +

    These are all airbases of Caucasus:

    + +
    +
    +
    + + + +SPAWN.uncontrolled + +
    +
    + + +
    diff --git a/docs/Documentation/Spot.html b/docs/Documentation/Spot.html index 2ca8c13de..d6706e2ed 100644 --- a/docs/Documentation/Spot.html +++ b/docs/Documentation/Spot.html @@ -775,7 +775,6 @@ true if it is lasing

    - SPOT.ScheduleID @@ -789,7 +788,6 @@ true if it is lasing

    - SPOT.SpotIR @@ -803,7 +801,6 @@ true if it is lasing

    - SPOT.SpotLaser @@ -817,7 +814,6 @@ true if it is lasing

    - SPOT.Target diff --git a/docs/Documentation/Task_Cargo.html b/docs/Documentation/Task_Cargo.html index 3b9bfff0a..1a964bad5 100644 --- a/docs/Documentation/Task_Cargo.html +++ b/docs/Documentation/Task_Cargo.html @@ -576,7 +576,6 @@ based on the tasking capabilities defined in Task#TA
    - FSM_PROCESS.DeployZone