Module ATC_Ground

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


Banner Image


Contributions: Dutch Baron - Concept & Testing

Author: FlightControl - Framework Design & Programming


Global(s)

ATC_GROUND

Base class for ATC_GROUND implementations.

ATC_GROUND_CAUCASUS

ATC_GROUND_CAUCASUS, extends #ATC_GROUND

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

ATC_GROUND_NEVADA

ATC_GROUND_NEVADA, extends #ATC_GROUND

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

ATC_GROUND_NORMANDY

ATC_GROUND_NORMANDY, extends #ATC_GROUND

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

SSB

Type ATC_GROUND

ATC_GROUND.AirbaseList
ATC_GROUND.Airbases
ATC_GROUND.KickSpeed
ATC_GROUND.MaximumKickSpeed
ATC_GROUND:New(Airbases, AirbaseList)

Creates a new ATC_GROUND object.

ATC_GROUND.SetClient
ATC_GROUND:SetKickSpeed(KickSpeed, Airbase)

Set the maximum speed in meters per second (Mps) until the player gets kicked.

ATC_GROUND:SetKickSpeedKmph(KickSpeed, Airbase)

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

ATC_GROUND:SetKickSpeedMiph(KickSpeedMiph, Airbase)

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

ATC_GROUND:SetMaximumKickSpeed(MaximumKickSpeed, Airbase)

Set the maximum kick speed in meters per second (Mps) until the player gets kicked.

ATC_GROUND:SetMaximumKickSpeedKmph(MaximumKickSpeed, Airbase)

Set the maximum kick speed in kilometers per hour (Kmph) until the player gets kicked.

ATC_GROUND:SetMaximumKickSpeedMiph(MaximumKickSpeedMiph, Airbase)

Set the maximum kick speed in miles per hour (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.AirbaseMonitor
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

ATC_GROUND_CAUCASUS, extends #ATC_GROUND

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.


Banner Image


The default maximum speed for the airbases at Caucasus is 50 km/h. Warnings are given if this speed limit is trespassed. Players will be immediately kicked when driving faster than 150 km/h on the taxi way.

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 Wrapper.Airbase#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

ATC_GROUND is functional in multi player, however ...

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. 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.

Simple Slot Blocker from Ciribob & FlightControl

Script it!

1. ATC_GROUND_CAUCASUS Constructor

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

-- This creates a new ATC_GROUND_CAUCASUS object.

-- Monitor all the airbases.
ATC_Ground = ATC_GROUND_CAUCASUS:New()

-- Monitor specific airbases only.

ATC_Ground = ATC_GROUND_CAUCASUS:New(
  { AIRBASE.Caucasus.Gelendzhik,     
    AIRBASE.Caucasus.Krymsk          
  }                                  
)                                    

2. Set various options

There are various methods that you can use to tweak the behaviour of the ATC_GROUND classes.

2.1 Speed limit at an airbase.

2.2 Prevent Takeoff at an airbase. Players will be kicked immediately.

#ATC_GROUND_NEVADA ATC_GROUND_NEVADA

ATC_GROUND_NEVADA, extends #ATC_GROUND

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.


Banner Image


The default maximum speed for the airbases at Nevada is 50 km/h. Warnings are given if this speed limit is trespassed. Players will be immediately kicked when driving faster than 150 km/h on the taxi way.

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 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 Wrapper.Airbase#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

ATC_GROUND is functional in multi player, however ...

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. 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.

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.
ATC_Ground = 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
  }                                              
)                                                

2. Set various options

There are various methods that you can use to tweak the behaviour of the ATC_GROUND classes.

2.1 Speed limit at an airbase.

2.2 Prevent Takeoff at an airbase. Players will be kicked immediately.

#ATC_GROUND_NORMANDY ATC_GROUND_NORMANDY

ATC_GROUND_NORMANDY, extends #ATC_GROUND

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.


Banner Image


The default maximum speed for the airbases at Caucasus is 40 km/h. Warnings are given if this speed limit is trespassed. Players will be immediately kicked when driving faster than 100 km/h on the taxi way.

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 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 Wrapper.Airbase#AIRBASE.Normandy enumeration to select the airbases to be monitored.

  • 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

ATC_GROUND is fully functional in single player.

In Multi Player Missions

ATC_GROUND is functional in multi player, however ...

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. 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.

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 
  } 
)

2. Set various options

There are various methods that you can use to tweak the behaviour of the ATC_GROUND classes.

2.1 Speed limit at an airbase.

2.2 Prevent Takeoff at an airbase. Players will be kicked immediately.

SSB

This is simple slot blocker is used on the server.

Type ATC_Ground

Type ATC_GROUND

Extends Core.Base#BASE

Field(s)

ATC_GROUND.AirbaseList
ATC_GROUND.Airbases
ATC_GROUND.KickSpeed
ATC_GROUND.MaximumKickSpeed
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:SetKickSpeed(KickSpeed, Airbase)

Set the maximum speed in meters per second (Mps) until the player gets kicked.

An airbase can be specified to set the kick speed for.

Parameters

  • #number KickSpeed : The speed in Mps.

  • Wrapper.Airbase#AIRBASE Airbase : (optional) The airbase to set the kick speed for.

Return value

#ATC_GROUND: self

Usage:


  -- Declare Atc_Ground using one of those, depending on the map.

  Atc_Ground = ATC_GROUND_CAUCAUS:New()
  Atc_Ground = ATC_GROUND_NEVADA:New()
  Atc_Ground = ATC_GROUND_NORMANDY:New()
  
  -- Then use one of these methods...

  Atc_Ground:SetKickSpeed( UTILS.KmphToMps( 80 ) ) -- Kick the players at 80 kilometers per hour

  Atc_Ground:SetKickSpeed( UTILS.MiphToMps( 100 ) ) -- Kick the players at 100 miles per hour

  Atc_Ground:SetKickSpeed( 24 ) -- Kick the players at 24 meters per second ( 24 * 3.6 = 86.4 kilometers per hour )
ATC_GROUND:SetKickSpeedKmph(KickSpeed, Airbase)

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

Parameters

  • #number KickSpeed : Set the speed in Kmph.

  • Wrapper.Airbase#AIRBASE Airbase : (optional) The airbase to set the kick speed for.

Return value

#ATC_GROUND: self

Atc_Ground:SetKickSpeedKmph( 80 ) -- Kick the players at 80 kilometers per hour

ATC_GROUND:SetKickSpeedMiph(KickSpeedMiph, Airbase)

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

Parameters

  • #number KickSpeedMiph : Set the speed in Mph.

  • Wrapper.Airbase#AIRBASE Airbase : (optional) The airbase to set the kick speed for.

Return value

#ATC_GROUND: self

Atc_Ground:SetKickSpeedMiph( 100 ) -- Kick the players at 100 miles per hour

ATC_GROUND:SetMaximumKickSpeed(MaximumKickSpeed, Airbase)

Set the maximum kick speed in meters per second (Mps) until the player gets kicked.

There are no warnings given if this speed is reached, and is to prevent players to take off from the airbase! An airbase can be specified to set the maximum kick speed for.

Parameters

  • #number MaximumKickSpeed : The speed in Mps.

  • Wrapper.Airbase#AIRBASE Airbase : (optional) The airbase to set the kick speed for.

Return value

#ATC_GROUND: self

Usage:


  -- Declare Atc_Ground using one of those, depending on the map.

  Atc_Ground = ATC_GROUND_CAUCAUS:New()
  Atc_Ground = ATC_GROUND_NEVADA:New()
  Atc_Ground = ATC_GROUND_NORMANDY:New()
  
  -- Then use one of these methods...

  Atc_Ground:SetMaximumKickSpeed( UTILS.KmphToMps( 80 ) ) -- Kick the players at 80 kilometers per hour

  Atc_Ground:SetMaximumKickSpeed( UTILS.MiphToMps( 100 ) ) -- Kick the players at 100 miles per hour

  Atc_Ground:SetMaximumKickSpeed( 24 ) -- Kick the players at 24 meters per second ( 24 * 3.6 = 86.4 kilometers per hour )
ATC_GROUND:SetMaximumKickSpeedKmph(MaximumKickSpeed, Airbase)

Set the maximum kick speed in kilometers per hour (Kmph) until the player gets kicked.

There are no warnings given if this speed is reached, and is to prevent players to take off from the airbase! An airbase can be specified to set the maximum kick speed for.

Parameters

  • #number MaximumKickSpeed : Set the speed in Kmph.

  • Wrapper.Airbase#AIRBASE Airbase : (optional) The airbase to set the kick speed for.

Return value

#ATC_GROUND: self

Atc_Ground:SetMaximumKickSpeedKmph( 150 ) -- Kick the players at 150 kilometers per hour

ATC_GROUND:SetMaximumKickSpeedMiph(MaximumKickSpeedMiph, Airbase)

Set the maximum kick speed in miles per hour (Miph) until the player gets kicked.

There are no warnings given if this speed is reached, and is to prevent players to take off from the airbase! An airbase can be specified to set the maximum kick speed for.

Parameters

  • #number MaximumKickSpeedMiph : Set the speed in Mph.

  • Wrapper.Airbase#AIRBASE Airbase : (optional) The airbase to set the kick speed for.

Return value

#ATC_GROUND: self

Atc_Ground:SetMaximumKickSpeedMiph( 100 ) -- Kick the players at 100 miles per hour

ATC_GROUND:SmokeRunways(SmokeColor)

Smoke the airbases runways.

Parameter

Return value

#ATC_GROUND: self

ATC_GROUND:_AirbaseMonitor()

Type ATC_GROUND.AirbaseNames

ATC_GROUND.AirbaseNames is a list of #string.

Type ATC_GROUND_CAUCASUS

Extends #ATC_GROUND

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

#ATC_GROUND_CAUCASUS: self

Type ATC_GROUND_NEVADA

Extends #ATC_GROUND

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

#ATC_GROUND_NEVADA: self

Type ATC_GROUND_NORMANDY

Extends #ATC_GROUND

Field(s)

ATC_GROUND_NORMANDY.AirbaseMonitor
ATC_GROUND_NORMANDY:New(AirbaseNames)

Creates a new ATCGROUNDNORMANDY object.

Parameter

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

Return value

#ATC_GROUND_NORMANDY: self