Module AirbasePolice
Functional -- The AIRBASEPOLICE classes monitor airbase traffic and regulate speed while taxiing.
Contributions: Dutch Baron - Concept & Testing
Author: FlightControl - Framework Design & Programming
Global(s)
| AIRBASEPOLICE_BASE |
Base class for AIRBASEPOLICE implementations. |
| AIRBASEPOLICE_CAUCASUS |
AIRBASEPOLICE_CAUCASUS, extends #AIRBASEPOLICE_BASEThe AIRBASEPOLICE_CAUCASUS class monitors the speed of the airplanes at the airbase during taxi. |
| AIRBASEPOLICE_NEVADA |
AIRBASEPOLICE_NEVADA, extends #AIRBASEPOLICE_BASEThe AIRBASEPOLICE_NEVADA class monitors the speed of the airplanes at the airbase during taxi. |
| SSB |
Type AIRBASEPOLICE_BASE
| AIRBASEPOLICE_BASE.AirbaseNames | |
| AIRBASEPOLICE_BASE:Monitor(AirbaseNames) |
Monitor a table of airbase names. |
| AIRBASEPOLICE_BASE:New(SetClient, Airbases) |
Creates a new AIRBASEPOLICE_BASE object. |
| AIRBASEPOLICE_BASE.SetClient | |
| AIRBASEPOLICE_BASE:_AirbaseMonitor() |
Type AIRBASEPOLICE_CAUCASUS
| AIRBASEPOLICE_CAUCASUS:New(SetClient) |
Creates a new AIRBASEPOLICE_CAUCASUS object. |
Type AIRBASEPOLICE_NEVADA
| AIRBASEPOLICE_NEVADA:New(SetClient) |
Creates a new AIRBASEPOLICE_NEVADA object. |
Global(s)
- #AIRBASEPOLICE_BASE AIRBASEPOLICE_BASE
-
Base class for AIRBASEPOLICE implementations.
- #AIRBASEPOLICE_CAUCASUS AIRBASEPOLICE_CAUCASUS
-
AIRBASEPOLICE_CAUCASUS, extends #AIRBASEPOLICE_BASE
The AIRBASEPOLICE_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.
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:
- 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
Installation
In Single Player Missions
AIRBASEPOLICE 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. 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!
Install the file SimpleSlotBlockGameGUI.lua on the server, following the installation instructions described by Ciribob.
Simple Slot Blocker from Ciribob & FlightControl
Script it!
1. AIRBASEPOLICE_CAUCASUS Constructor
Creates a new AIRBASEPOLICE_CAUCASUS object that will monitor pilots taxiing behaviour.
-- This creates a new AIRBASEPOLICE_CAUCASUS object. -- Create a set of all clients in the mission. AllClientsSet = SET_CLIENT:New():FilterStart() -- Monitor for these clients the airbases. AirbasePoliceCaucasus = AIRBASEPOLICE_CAUCASUS:New( AllClientsSet )
- #AIRBASEPOLICE_NEVADA AIRBASEPOLICE_NEVADA
-
AIRBASEPOLICE_NEVADA, extends #AIRBASEPOLICE_BASE
The AIRBASEPOLICE_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 Caucasus region:
- Nellis
- McCarran
- Creech
- GroomLake
Installation
In Single Player Missions
AIRBASEPOLICE 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. 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!
Install the file SimpleSlotBlockGameGUI.lua on the server, following the installation instructions described by Ciribob.
Simple Slot Blocker from Ciribob & FlightControl
Script it!
1. AIRBASEPOLICE_NEVADA Constructor
Creates a new AIRBASEPOLICE_NEVADA object that will monitor pilots taxiing behaviour.
-- This creates a new AIRBASEPOLICE_NEVADA object. -- Create a set of all clients in the mission. AllClientsSet = SET_CLIENT:New():FilterStart() -- Monitor for these clients the airbases. AirbasePoliceCaucasus = AIRBASEPOLICE_NEVADA:New( AllClientsSet )
- SSB
-
This is simple slot blocker is used on the server.
Type AirbasePolice
Type AIRBASEPOLICE_BASE
Field(s)
- AIRBASEPOLICE_BASE:Monitor(AirbaseNames)
-
Monitor a table of airbase names.
Parameter
-
#AIRBASEPOLICE_BASE.AirbaseNames AirbaseNames: A list of AirbaseNames to monitor. If this parameters is nil, then all airbases will be monitored.
Return value
#AIRBASEPOLICE_BASE: self
-
- AIRBASEPOLICE_BASE:New(SetClient, Airbases)
-
Creates a new AIRBASEPOLICE_BASE object.
Parameters
-
SetClient: A SET_CLIENT object that will contain the CLIENT objects to be monitored if they follow the rules of the airbase. -
Airbases: A table of Airbase Names.
Return value
#AIRBASEPOLICE_BASE: self
-
Type AIRBASEPOLICE_BASE.AirbaseNames
Type AIRBASEPOLICE_CAUCASUS
Field(s)
- AIRBASEPOLICE_CAUCASUS:New(SetClient)
-
Creates a new AIRBASEPOLICE_CAUCASUS object.
Parameter
-
SetClient: A SET_CLIENT object that will contain the CLIENT objects to be monitored if they follow the rules of the airbase.
Return value
#AIRBASEPOLICE_CAUCASUS: self
-
Type AIRBASEPOLICE_NEVADA
Field(s)
- AIRBASEPOLICE_NEVADA:New(SetClient)
-
Creates a new AIRBASEPOLICE_NEVADA object.
Parameter
-
SetClient: A SET_CLIENT object that will contain the CLIENT objects to be monitored if they follow the rules of the airbase.
Return value
#AIRBASEPOLICE_NEVADA: self
-