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/Core/Spawn.lua b/Moose Development/Moose/Core/Spawn.lua index 23b38b24f..b16e1bd79 100644 --- a/Moose Development/Moose/Core/Spawn.lua +++ b/Moose Development/Moose/Core/Spawn.lua @@ -1231,6 +1231,8 @@ function SPAWN:SpawnFromVec3( Vec3, SpawnIndex ) if SpawnTemplate then self:T( { "Current point of ", self.SpawnTemplatePrefix, Vec3 } ) + + local TemplateHeight = SpawnTemplate.route.points[1].alt -- Translate the position of the Group Template to the Vec3. for UnitID = 1, #SpawnTemplate.units do @@ -1245,7 +1247,7 @@ function SPAWN:SpawnFromVec3( Vec3, SpawnIndex ) SpawnTemplate.units[UnitID].x = TX SpawnTemplate.units[UnitID].y = TY if SpawnTemplate.CategoryID ~= Group.Category.SHIP then - SpawnTemplate.units[UnitID].alt = Vec3.y + SpawnTemplate.units[UnitID].alt = Vec3.y or TemplateHeight end self:T( 'After Translation SpawnTemplate.units['..UnitID..'].x = ' .. SpawnTemplate.units[UnitID].x .. ', SpawnTemplate.units['..UnitID..'].y = ' .. SpawnTemplate.units[UnitID].y ) end @@ -1253,11 +1255,11 @@ function SPAWN:SpawnFromVec3( Vec3, SpawnIndex ) SpawnTemplate.route.points[1].x = Vec3.x SpawnTemplate.route.points[1].y = Vec3.z if SpawnTemplate.CategoryID ~= Group.Category.SHIP then - SpawnTemplate.route.points[1].alt = Vec3.y + SpawnTemplate.route.points[1].alt = Vec3.y or TemplateHeight end - SpawnTemplate.x = Vec3.x SpawnTemplate.y = Vec3.z + SpawnTemplate.alt = Vec3.y or TemplateHeight return self:SpawnWithIndex( self.SpawnIndex ) end @@ -1272,14 +1274,31 @@ end -- You can use the returned group to further define the route to be followed. -- @param #SPAWN self -- @param Dcs.DCSTypes#Vec2 Vec2 The Vec2 coordinates where to spawn the group. +-- @param #number MinHeight (optional) The minimum height to spawn an airborne group into the zone. +-- @param #number MaxHeight (optional) The maximum height to spawn an airborne group into the zone. -- @param #number SpawnIndex (optional) The index which group to spawn within the given zone. -- @return Wrapper.Group#GROUP that was spawned. -- @return #nil Nothing was spawned. -function SPAWN:SpawnFromVec2( Vec2, SpawnIndex ) - self:F( { self.SpawnTemplatePrefix, Vec2, SpawnIndex } ) +-- @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 ) +-- +function SPAWN:SpawnFromVec2( Vec2, MinHeight, MaxHeight, SpawnIndex ) + self:F( { self.SpawnTemplatePrefix, self.SpawnIndex, Vec2, MinHeight, MaxHeight, SpawnIndex } ) - local PointVec2 = POINT_VEC2:NewFromVec2( Vec2 ) - return self:SpawnFromVec3( PointVec2:GetVec3(), SpawnIndex ) + local Height = nil + + if MinHeight and MaxHeight then + Height = math.random( MinHeight, MaxHeight) + end + + return self:SpawnFromVec3( { x = Vec2.x, y = Height, z = Vec2.y }, SpawnIndex ) -- y can be nil. In this case, spawn on the ground for vehicles, and in the template altitude for air. end @@ -1288,14 +1307,26 @@ end -- You can use the returned group to further define the route to be followed. -- @param #SPAWN self -- @param Wrapper.Unit#UNIT HostUnit The air or ground unit dropping or unloading the group. +-- @param #number MinHeight (optional) The minimum height to spawn an airborne group into the zone. +-- @param #number MaxHeight (optional) The maximum height to spawn an airborne group into the zone. -- @param #number SpawnIndex (optional) The index which group to spawn within the given zone. -- @return Wrapper.Group#GROUP that was spawned. -- @return #nil Nothing was spawned. -function SPAWN:SpawnFromUnit( HostUnit, SpawnIndex ) - self:F( { self.SpawnTemplatePrefix, HostUnit, SpawnIndex } ) +-- @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 ) +-- +function SPAWN:SpawnFromUnit( HostUnit, MinHeight, MaxHeight, SpawnIndex ) + self:F( { self.SpawnTemplatePrefix, HostUnit, MinHeight, MaxHeight, SpawnIndex } ) if HostUnit and HostUnit:IsAlive() ~= nil then -- and HostUnit:getUnit(1):inAir() == false then - return self:SpawnFromVec3( HostUnit:GetVec3(), SpawnIndex ) + return self:SpawnFromVec2( HostUnit:GetVec2(), MinHeight, MaxHeight, SpawnIndex ) end return nil @@ -1305,14 +1336,26 @@ end -- You can use the returned group to further define the route to be followed. -- @param #SPAWN self -- @param Wrapper.Static#STATIC HostStatic The static dropping or unloading the group. +-- @param #number MinHeight (optional) The minimum height to spawn an airborne group into the zone. +-- @param #number MaxHeight (optional) The maximum height to spawn an airborne group into the zone. -- @param #number SpawnIndex (optional) The index which group to spawn within the given zone. -- @return Wrapper.Group#GROUP that was spawned. -- @return #nil Nothing was spawned. -function SPAWN:SpawnFromStatic( HostStatic, SpawnIndex ) - self:F( { self.SpawnTemplatePrefix, HostStatic, SpawnIndex } ) +-- @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 ) +-- +function SPAWN:SpawnFromStatic( HostStatic, MinHeight, MaxHeight, SpawnIndex ) + self:F( { self.SpawnTemplatePrefix, HostStatic, MinHeight, MaxHeight, SpawnIndex } ) if HostStatic and HostStatic:IsAlive() then - return self:SpawnFromVec3( HostStatic:GetVec3(), SpawnIndex ) + return self:SpawnFromVec2( HostStatic:GetVec2(), MinHeight, MaxHeight, SpawnIndex ) end return nil @@ -1325,17 +1368,38 @@ end -- @param #SPAWN self -- @param Core.Zone#ZONE Zone The zone where the group is to be spawned. -- @param #boolean RandomizeGroup (optional) Randomization of the @{Group} position in the zone. +-- @param #number MinHeight (optional) The minimum height to spawn an airborne group into the zone. +-- @param #number MaxHeight (optional) The maximum height to spawn an airborne group into the zone. -- @param #number SpawnIndex (optional) The index which group to spawn within the given zone. -- @return Wrapper.Group#GROUP that was spawned. -- @return #nil when nothing was spawned. -function SPAWN:SpawnInZone( Zone, RandomizeGroup, SpawnIndex ) - self:F( { self.SpawnTemplatePrefix, Zone, RandomizeGroup, SpawnIndex } ) +-- @usage +-- +-- local SpawnZone = ZONE:New( ZoneName ) +-- +-- -- Spawn at the zone center position at the height specified in the ME of the group template! +-- SpawnAirplanes:SpawnInZone( SpawnZone ) +-- +-- -- Spawn in the zone at a random position at the height specified in the Me of the group template. +-- SpawnAirplanes:SpawnInZone( SpawnZone, true ) +-- +-- -- Spawn in the zone at a random position at the height randomized between 2000 and 4000 meters. +-- SpawnAirplanes:SpawnInZone( SpawnZone, true, 2000, 4000 ) +-- +-- -- Spawn at the zone center position at the height randomized between 2000 and 4000 meters. +-- SpawnAirplanes:SpawnInZone( SpawnZone, false, 2000, 4000 ) +-- +-- -- Spawn at the zone center position at the height randomized between 2000 and 4000 meters. +-- SpawnAirplanes:SpawnInZone( SpawnZone, nil, 2000, 4000 ) +-- +function SPAWN:SpawnInZone( Zone, RandomizeGroup, MinHeight, MaxHeight, SpawnIndex ) + self:F( { self.SpawnTemplatePrefix, Zone, RandomizeGroup, MinHeight, MaxHeight, SpawnIndex } ) if Zone then if RandomizeGroup then - return self:SpawnFromVec2( Zone:GetRandomVec2(), SpawnIndex ) + return self:SpawnFromVec2( Zone:GetRandomVec2(), MinHeight, MaxHeight, SpawnIndex ) else - return self:SpawnFromVec2( Zone:GetVec2(), SpawnIndex ) + return self:SpawnFromVec2( Zone:GetVec2(), MinHeight, MaxHeight, SpawnIndex ) end end diff --git a/Moose Development/Moose/Functional/AirbasePolice.lua b/Moose Development/Moose/Functional/ATC_Ground.lua similarity index 84% rename from Moose Development/Moose/Functional/AirbasePolice.lua rename to Moose Development/Moose/Functional/ATC_Ground.lua index 912fac1ad..1660cefa1 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,136 +102,134 @@ 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") + 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 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 ) @@ -245,22 +243,24 @@ function AIRBASEPOLICE_BASE:_AirbaseMonitor() end end end - ) + else + Client:SetState( self, "Taxi", false ) + end end - end + ) return true 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 +272,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 +318,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 +624,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 +847,15 @@ end ---- @type AIRBASEPOLICE_NEVADA --- @extends #AIRBASEPOLICE_BASE +--- @type ATC_GROUND_NEVADA +-- @extends #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 +865,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 +907,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 +1199,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 +1369,15 @@ function AIRBASEPOLICE_NEVADA:New( AirbaseNames ) end ---- @type AIRBASEPOLICE_NORMANDY --- @extends Functional.AirbasePolice#AIRBASEPOLICE_BASE +--- @type ATC_GROUND_NORMANDY +-- @extends #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 +1387,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 +1442,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 +1852,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..13ee83ab1 100644 --- a/Moose Development/Moose/Wrapper/Airbase.lua +++ b/Moose Development/Moose/Wrapper/Airbase.lua @@ -57,7 +57,33 @@ AIRBASE = { }, } ---- @field Caucasus +--- Enumeration to identify the airbases in the Caucasus region. +-- +-- These are all airbases of 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 +-- +-- @field Caucasus AIRBASE.Caucasus = { ["Gelendzhik"] = "Gelendzhik", ["Krasnodar_Pashkovsky"] = "Krasnodar-Pashkovsky", @@ -83,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", @@ -105,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", @@ -149,7 +231,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(), 2500 ) 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 cd942a2ca..e76034f8a 100644 --- a/Moose Mission Setup/Moose.lua +++ b/Moose Mission Setup/Moose.lua @@ -1,5 +1,9 @@ env.info( '*** MOOSE DYNAMIC INCLUDE START *** ' ) +<<<<<<< HEAD env.info( 'Moose Generation Timestamp: 20171027_1946' ) +======= +env.info( 'Moose Generation Timestamp: 20171026_1116' ) +>>>>>>> master local base = _G @@ -61,7 +65,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..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: 20171023_1007') +env.info('Moose Generation Timestamp: 20171026_1116') 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 67ca9d37e..5e103cb10 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
  • 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..45a2143e2 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
  • @@ -936,6 +936,9 @@ Use the method AIPATROLZONE.M + +

    This table contains the targets detected during patrol.

    +
    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..a95339f80 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
  • @@ -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 of 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 +
    • +
    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..b937e23ad 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
  • @@ -2269,6 +2269,7 @@ The amount of seconds to delay the action.

    + CARGO_CRATE.CargoCarrier 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..1f8e3673b 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 @@ -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 535e6d549..169a77c81 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
  • @@ -4059,7 +4059,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..8f30460d8 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
  • 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..0d83bdc5d 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
  • @@ -3495,7 +3495,6 @@ The y coordinate.

    - POINT_VEC2.z diff --git a/docs/Documentation/Positionable.html b/docs/Documentation/Positionable.html index b0a3587af..680f960e5 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
  • 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..e50f2d821 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
  • @@ -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/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 03f7632dc..5913aa9cd 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
  • @@ -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.

    @@ -2518,7 +2518,7 @@ Nothing was spawned.

    -SPAWN:SpawnFromStatic(HostStatic, SpawnIndex) +SPAWN:SpawnFromStatic(HostStatic, MinHeight, MaxHeight, SpawnIndex)
    @@ -2539,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.

    @@ -2559,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)
    @@ -2587,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.

    @@ -2607,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)
    @@ -2635,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.

    @@ -2655,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 )  
    +
    +
    @@ -2812,7 +2881,7 @@ SpawnGroupName

    -SPAWN:SpawnInZone(Zone, RandomizeGroup, SpawnIndex) +SPAWN:SpawnInZone(Zone, RandomizeGroup, MinHeight, MaxHeight, SpawnIndex)
    @@ -2840,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.

    @@ -2860,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:SpawnInZone( SpawnZone )  
    +  
    +  -- Spawn in the zone at a random position at the height specified in the Me of the group template.
    +  SpawnAirplanes:SpawnInZone( SpawnZone, true )  
    +  
    +  -- Spawn in the zone at a random position at the height randomized between 2000 and 4000 meters.
    +  SpawnAirplanes:SpawnInZone( SpawnZone, true, 2000, 4000 )  
    +
    +  -- Spawn at the zone center position at the height randomized between 2000 and 4000 meters.
    +  SpawnAirplanes:SpawnInZone( SpawnZone, false, 2000, 4000 )  
    +  
    +  -- Spawn at the zone center position at the height randomized between 2000 and 4000 meters.
    +  SpawnAirplanes:SpawnInZone( SpawnZone, nil, 2000, 4000 )  
    +  
    +
    @@ -3285,7 +3386,7 @@ Spawn_BE_KA50 = SPAWN:New( 'BE KA-50@RAMP-Ground Defense' ):Schedule( 600, 0.5 )
    - #boolean + SPAWN.SpawnUnControlled @@ -3309,7 +3410,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 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 485834c04..1a964bad5 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 + 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 387690e79..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 AIRBASEPOLICE 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
  • diff --git a/docs/Presentations/ATC_GROUND/Dia1.JPG b/docs/Presentations/ATC_GROUND/Dia1.JPG new file mode 100644 index 000000000..154a6c8aa Binary files /dev/null and b/docs/Presentations/ATC_GROUND/Dia1.JPG differ diff --git a/docs/Presentations/ATC_GROUND/Dia2.JPG b/docs/Presentations/ATC_GROUND/Dia2.JPG new file mode 100644 index 000000000..e94f024da Binary files /dev/null and b/docs/Presentations/ATC_GROUND/Dia2.JPG differ diff --git a/docs/Presentations/ATC_GROUND/Dia3.JPG b/docs/Presentations/ATC_GROUND/Dia3.JPG new file mode 100644 index 000000000..636ffa2a7 Binary files /dev/null and b/docs/Presentations/ATC_GROUND/Dia3.JPG differ diff --git a/docs/Presentations/ATC_GROUND/Dia4.JPG b/docs/Presentations/ATC_GROUND/Dia4.JPG new file mode 100644 index 000000000..516b06654 Binary files /dev/null and b/docs/Presentations/ATC_GROUND/Dia4.JPG differ diff --git a/docs/Presentations/ATC_GROUND/Dia5.JPG b/docs/Presentations/ATC_GROUND/Dia5.JPG new file mode 100644 index 000000000..7169ee3f1 Binary files /dev/null and b/docs/Presentations/ATC_GROUND/Dia5.JPG differ diff --git a/docs/Presentations/ATC_GROUND/Dia6.JPG b/docs/Presentations/ATC_GROUND/Dia6.JPG new file mode 100644 index 000000000..ee9f49739 Binary files /dev/null and b/docs/Presentations/ATC_GROUND/Dia6.JPG differ 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.