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_BASE

Banner Image

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

AIRBASEPOLICE_NEVADA

AIRBASEPOLICE_NEVADA, extends #AIRBASEPOLICE_BASE

Banner Image

The 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

Banner Image

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

Banner Image

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.AirbaseNames
AIRBASEPOLICE_BASE:Monitor(AirbaseNames)

Monitor a table of airbase names.

Parameter

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

Core.Set#SET_CLIENT AIRBASEPOLICE_BASE.SetClient
AIRBASEPOLICE_BASE:_AirbaseMonitor()

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