MOOSE/docs/Documentation/ATC_Ground.html
2017-10-28 08:12:13 +02:00

909 lines
27 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<link rel="stylesheet" href="stylesheet.css" type="text/css"/>
</head>
<body>
<div id="container">
<div id="product">
<div id="product_logo"></div>
<div id="product_name"><big><b></b></big></div>
<div id="product_description"></div>
</div>
<div id="main">
<div id="navigation">
<h2>Modules</h2>
<ul><li>
<a href="index.html">index</a>
</li></ul>
<ul>
<li><a href="AI_A2A.html">AI_A2A</a></li>
<li><a href="AI_A2A_Cap.html">AI_A2A_Cap</a></li>
<li><a href="AI_A2A_Dispatcher.html">AI_A2A_Dispatcher</a></li>
<li><a href="AI_A2A_GCI.html">AI_A2A_GCI</a></li>
<li><a href="AI_A2A_Patrol.html">AI_A2A_Patrol</a></li>
<li><a href="AI_Bai.html">AI_Bai</a></li>
<li><a href="AI_Balancer.html">AI_Balancer</a></li>
<li><a href="AI_Cap.html">AI_Cap</a></li>
<li><a href="AI_Cas.html">AI_Cas</a></li>
<li><a href="AI_Formation.html">AI_Formation</a></li>
<li><a href="AI_Patrol.html">AI_Patrol</a></li>
<li>ATC_Ground</li>
<li><a href="Account.html">Account</a></li>
<li><a href="Airbase.html">Airbase</a></li>
<li><a href="Assign.html">Assign</a></li>
<li><a href="Base.html">Base</a></li>
<li><a href="Cargo.html">Cargo</a></li>
<li><a href="CleanUp.html">CleanUp</a></li>
<li><a href="Client.html">Client</a></li>
<li><a href="CommandCenter.html">CommandCenter</a></li>
<li><a href="Controllable.html">Controllable</a></li>
<li><a href="DCSAirbase.html">DCSAirbase</a></li>
<li><a href="DCSCoalitionObject.html">DCSCoalitionObject</a></li>
<li><a href="DCSCommand.html">DCSCommand</a></li>
<li><a href="DCSController.html">DCSController</a></li>
<li><a href="DCSGroup.html">DCSGroup</a></li>
<li><a href="DCSObject.html">DCSObject</a></li>
<li><a href="DCSTask.html">DCSTask</a></li>
<li><a href="DCSTypes.html">DCSTypes</a></li>
<li><a href="DCSUnit.html">DCSUnit</a></li>
<li><a href="DCSVec3.html">DCSVec3</a></li>
<li><a href="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCSZone.html">DCSZone</a></li>
<li><a href="DCScountry.html">DCScountry</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DCStrigger.html">DCStrigger</a></li>
<li><a href="Database.html">Database</a></li>
<li><a href="Designate.html">Designate</a></li>
<li><a href="Detection.html">Detection</a></li>
<li><a href="DetectionManager.html">DetectionManager</a></li>
<li><a href="Escort.html">Escort</a></li>
<li><a href="Event.html">Event</a></li>
<li><a href="Fsm.html">Fsm</a></li>
<li><a href="Goal.html">Goal</a></li>
<li><a href="Group.html">Group</a></li>
<li><a href="Identifiable.html">Identifiable</a></li>
<li><a href="Menu.html">Menu</a></li>
<li><a href="Message.html">Message</a></li>
<li><a href="MissileTrainer.html">MissileTrainer</a></li>
<li><a href="Mission.html">Mission</a></li>
<li><a href="Movement.html">Movement</a></li>
<li><a href="Object.html">Object</a></li>
<li><a href="Point.html">Point</a></li>
<li><a href="Positionable.html">Positionable</a></li>
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
<li><a href="Protect.html">Protect</a></li>
<li><a href="Radio.html">Radio</a></li>
<li><a href="Rat.html">Rat</a></li>
<li><a href="Route.html">Route</a></li>
<li><a href="Scenery.html">Scenery</a></li>
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
<li><a href="Scheduler.html">Scheduler</a></li>
<li><a href="Scoring.html">Scoring</a></li>
<li><a href="Sead.html">Sead</a></li>
<li><a href="Set.html">Set</a></li>
<li><a href="Settings.html">Settings</a></li>
<li><a href="Smoke.html">Smoke</a></li>
<li><a href="Spawn.html">Spawn</a></li>
<li><a href="SpawnStatic.html">SpawnStatic</a></li>
<li><a href="Spot.html">Spot</a></li>
<li><a href="Static.html">Static</a></li>
<li><a href="StaticObject.html">StaticObject</a></li>
<li><a href="Task.html">Task</a></li>
<li><a href="TaskZoneCapture.html">TaskZoneCapture</a></li>
<li><a href="Task_A2A.html">Task_A2A</a></li>
<li><a href="Task_A2A_Dispatcher.html">Task_A2A_Dispatcher</a></li>
<li><a href="Task_A2G.html">Task_A2G</a></li>
<li><a href="Task_A2G_Dispatcher.html">Task_A2G_Dispatcher</a></li>
<li><a href="Task_Cargo.html">Task_Cargo</a></li>
<li><a href="Task_PICKUP.html">Task_PICKUP</a></li>
<li><a href="Unit.html">Unit</a></li>
<li><a href="UserFlag.html">UserFlag</a></li>
<li><a href="UserSound.html">UserSound</a></li>
<li><a href="Utils.html">Utils</a></li>
<li><a href="Zone.html">Zone</a></li>
<li><a href="ZoneCaptureCoalition.html">ZoneCaptureCoalition</a></li>
<li><a href="ZoneGoal.html">ZoneGoal</a></li>
<li><a href="ZoneGoalCargo.html">ZoneGoalCargo</a></li>
<li><a href="ZoneGoalCoalition.html">ZoneGoalCoalition</a></li>
<li><a href="env.html">env</a></li>
<li><a href="land.html">land</a></li>
<li><a href="routines.html">routines</a></li>
</ul>
</div>
<div id="content">
<h1>Module <code>ATC_Ground</code></h1>
<p><strong>Functional</strong> -- The ATC_GROUND classes monitor airbase traffic and regulate speed while taxiing.</p>
<hr/>
<p><img src="..\Presentations\ATC_GROUND\Dia1.JPG" alt="Banner Image"/></p>
<hr/>
<h3>Contributions: Dutch Baron - Concept &amp; Testing</h3>
<h3>Author: FlightControl - Framework Design &amp; Programming</h3>
<hr/>
<h2>Global(s)</h2>
<table class="function_list">
<tr>
<td class="name" nowrap="nowrap"><a href="#ATC_GROUND">ATC_GROUND</a></td>
<td class="summary">
<p>Base class for ATC_GROUND implementations.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="#ATC_GROUND_CAUCASUS">ATC_GROUND_CAUCASUS</a></td>
<td class="summary">
<h1>ATC_GROUND_CAUCASUS, extends <a href="##(ATC_GROUND)">#ATC_GROUND</a></h1>
<p>The ATC_GROUND_CAUCASUS class monitors the speed of the airplanes at the airbase during taxi.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="#ATC_GROUND_NEVADA">ATC_GROUND_NEVADA</a></td>
<td class="summary">
<h1>ATC_GROUND_NEVADA, extends <a href="##(ATC_GROUND)">#ATC_GROUND</a></h1>
<p>The ATC_GROUND_NEVADA class monitors the speed of the airplanes at the airbase during taxi.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="#ATC_GROUND_NORMANDY">ATC_GROUND_NORMANDY</a></td>
<td class="summary">
<h1>ATC_GROUND_NORMANDY, extends <a href="##(ATC_GROUND)">#ATC_GROUND</a></h1>
<p>The ATC_GROUND_NORMANDY class monitors the speed of the airplanes at the airbase during taxi.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="#SSB">SSB</a></td>
<td class="summary">
</td>
</tr>
</table>
<h2><a id="#(ATC_GROUND)">Type <code>ATC_GROUND</code></a></h2>
<table class="function_list">
<tr>
<td class="name" nowrap="nowrap"><a href="##(ATC_GROUND).AirbaseList">ATC_GROUND.AirbaseList</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(ATC_GROUND).AirbaseMonitor">ATC_GROUND.AirbaseMonitor</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(ATC_GROUND).Airbases">ATC_GROUND.Airbases</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(ATC_GROUND).KickSpeed">ATC_GROUND.KickSpeed</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(ATC_GROUND).New">ATC_GROUND:New(Airbases, AirbaseList)</a></td>
<td class="summary">
<p>Creates a new ATC_GROUND object.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(ATC_GROUND).SetClient">ATC_GROUND.SetClient</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(ATC_GROUND).SetKickSpeedKmph">ATC_GROUND:SetKickSpeedKmph(KickSpeed)</a></td>
<td class="summary">
<p>Set the maximum speed in Kmph until the player gets kicked.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(ATC_GROUND).SetKickSpeedMiph">ATC_GROUND:SetKickSpeedMiph(KickSpeedMiph)</a></td>
<td class="summary">
<p>Set the maximum speed in Miph until the player gets kicked.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(ATC_GROUND).SmokeRunways">ATC_GROUND:SmokeRunways(SmokeColor)</a></td>
<td class="summary">
<p>Smoke the airbases runways.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(ATC_GROUND)._AirbaseMonitor">ATC_GROUND:_AirbaseMonitor()</a></td>
<td class="summary">
</td>
</tr>
</table>
<h2><a id="#(ATC_GROUND_CAUCASUS)">Type <code>ATC_GROUND_CAUCASUS</code></a></h2>
<table class="function_list">
<tr>
<td class="name" nowrap="nowrap"><a href="##(ATC_GROUND_CAUCASUS).New">ATC_GROUND_CAUCASUS:New(AirbaseNames)</a></td>
<td class="summary">
<p>Creates a new ATC<em>GROUND</em>CAUCASUS object.</p>
</td>
</tr>
</table>
<h2><a id="#(ATC_GROUND_NEVADA)">Type <code>ATC_GROUND_NEVADA</code></a></h2>
<table class="function_list">
<tr>
<td class="name" nowrap="nowrap"><a href="##(ATC_GROUND_NEVADA).New">ATC_GROUND_NEVADA:New(AirbaseNames)</a></td>
<td class="summary">
<p>Creates a new ATC<em>GROUND</em>NEVADA object.</p>
</td>
</tr>
</table>
<h2><a id="#(ATC_GROUND_NORMANDY)">Type <code>ATC_GROUND_NORMANDY</code></a></h2>
<table class="function_list">
<tr>
<td class="name" nowrap="nowrap"><a href="##(ATC_GROUND_NORMANDY).New">ATC_GROUND_NORMANDY:New(AirbaseNames)</a></td>
<td class="summary">
<p>Creates a new ATC<em>GROUND</em>NORMANDY object.</p>
</td>
</tr>
</table>
<h2>Global(s)</h2>
<dl class="function">
<dt>
<em><a href="##(ATC_GROUND)">#ATC_GROUND</a></em>
<a id="ATC_GROUND" >
<strong>ATC_GROUND</strong>
</a>
</dt>
<dd>
<p>Base class for ATC_GROUND implementations.</p>
</dd>
</dl>
<dl class="function">
<dt>
<em><a href="##(ATC_GROUND_CAUCASUS)">#ATC_GROUND_CAUCASUS</a></em>
<a id="ATC_GROUND_CAUCASUS" >
<strong>ATC_GROUND_CAUCASUS</strong>
</a>
</dt>
<dd>
<h1>ATC_GROUND_CAUCASUS, extends <a href="##(ATC_GROUND)">#ATC_GROUND</a></h1>
<p>The ATC_GROUND_CAUCASUS class monitors the speed of the airplanes at the airbase during taxi.</p>
<p>The pilots may not drive faster than the maximum speed for the airbase, or they will be despawned.</p>
<hr/>
<p><img src="..\Presentations\ATC_GROUND\Dia1.JPG" alt="Banner Image"/></p>
<hr/>
<p>The maximum speed for the airbases at Caucasus is <strong>50 km/h</strong>.</p>
<p>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.</p>
<p>Different airbases have different maximum speeds, according safety regulations.</p>
<h1>Airbases monitored</h1>
<p>The following airbases are monitored at the Caucasus region.
Use the <a href="Airbase.html##(AIRBASE).Caucasus">Airbase#AIRBASE.Caucasus</a> enumeration to select the airbases to be monitored.</p>
<ul>
<li><code>AIRBASE.Caucasus.Anapa_Vityazevo</code></li>
<li><code>AIRBASE.Caucasus.Batumi</code></li>
<li><code>AIRBASE.Caucasus.Beslan</code></li>
<li><code>AIRBASE.Caucasus.Gelendzhik</code></li>
<li><code>AIRBASE.Caucasus.Gudauta</code></li>
<li><code>AIRBASE.Caucasus.Kobuleti</code></li>
<li><code>AIRBASE.Caucasus.Krasnodar_Center</code></li>
<li><code>AIRBASE.Caucasus.Krasnodar_Pashkovsky</code></li>
<li><code>AIRBASE.Caucasus.Krymsk</code></li>
<li><code>AIRBASE.Caucasus.Kutaisi</code></li>
<li><code>AIRBASE.Caucasus.Maykop_Khanskaya</code></li>
<li><code>AIRBASE.Caucasus.Mineralnye_Vody</code></li>
<li><code>AIRBASE.Caucasus.Mozdok</code></li>
<li><code>AIRBASE.Caucasus.Nalchik</code></li>
<li><code>AIRBASE.Caucasus.Novorossiysk</code></li>
<li><code>AIRBASE.Caucasus.Senaki_Kolkhi</code></li>
<li><code>AIRBASE.Caucasus.Sochi_Adler</code></li>
<li><code>AIRBASE.Caucasus.Soganlug</code></li>
<li><code>AIRBASE.Caucasus.Sukhumi_Babushara</code></li>
<li><code>AIRBASE.Caucasus.Tbilisi_Lochini</code></li>
<li><code>AIRBASE.Caucasus.Vaziani</code></li>
</ul>
<h1>Installation</h1>
<h2>In Single Player Missions</h2>
<p>ATC_GROUND is fully functional in single player.</p>
<h2>In Multi Player Missions</h2>
<p>ATC<em>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 <strong>Ciribob</strong>, this script has been extended to also kick client players while in flight.
ATC</em>GROUND is communicating with this modified script to kick players!</p>
<p>Install the file <strong>SimpleSlotBlockGameGUI.lua</strong> on the server, following the installation instructions described by Ciribob.</p>
<p><a href="https://github.com/ciribob/DCS-SimpleSlotBlock">Simple Slot Blocker from Ciribob &amp; FlightControl</a></p>
<h1>Script it!</h1>
<h2>1. ATC_GROUND_CAUCASUS Constructor</h2>
<p>Creates a new ATC<em>GROUND</em>CAUCASUS object that will monitor pilots taxiing behaviour.</p>
<pre><code>-- 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
}
)
</code></pre>
</dd>
</dl>
<dl class="function">
<dt>
<em><a href="##(ATC_GROUND_NEVADA)">#ATC_GROUND_NEVADA</a></em>
<a id="ATC_GROUND_NEVADA" >
<strong>ATC_GROUND_NEVADA</strong>
</a>
</dt>
<dd>
<h1>ATC_GROUND_NEVADA, extends <a href="##(ATC_GROUND)">#ATC_GROUND</a></h1>
<p>The ATC_GROUND_NEVADA class monitors the speed of the airplanes at the airbase during taxi.</p>
<p>The pilots may not drive faster than the maximum speed for the airbase, or they will be despawned.</p>
<hr/>
<p><img src="..\Presentations\ATC_GROUND\Dia1.JPG" alt="Banner Image"/></p>
<hr/>
<p>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.</p>
<p>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.</p>
<p>Different airbases have different maximum speeds, according safety regulations.</p>
<h1>Airbases monitored</h1>
<p>The following airbases are monitored at the Nevada region.
Use the <a href="Airbase.html##(AIRBASE).Nevada">Airbase#AIRBASE.Nevada</a> enumeration to select the airbases to be monitored.</p>
<ul>
<li><code>AIRBASE.Nevada.Beatty_Airport</code></li>
<li><code>AIRBASE.Nevada.Boulder_City_Airport</code></li>
<li><code>AIRBASE.Nevada.Creech_AFB</code></li>
<li><code>AIRBASE.Nevada.Echo_Bay</code></li>
<li><code>AIRBASE.Nevada.Groom_Lake_AFB</code></li>
<li><code>AIRBASE.Nevada.Henderson_Executive_Airport</code></li>
<li><code>AIRBASE.Nevada.Jean_Airport</code></li>
<li><code>AIRBASE.Nevada.Laughlin_Airport</code></li>
<li><code>AIRBASE.Nevada.Lincoln_County</code></li>
<li><code>AIRBASE.Nevada.McCarran_International_Airport</code></li>
<li><code>AIRBASE.Nevada.Mellan_Airstrip</code></li>
<li><code>AIRBASE.Nevada.Mesquite</code></li>
<li><code>AIRBASE.Nevada.Mina_Airport_3Q0</code></li>
<li><code>AIRBASE.Nevada.Nellis_AFB</code></li>
<li><code>AIRBASE.Nevada.North_Las_Vegas</code></li>
<li><code>AIRBASE.Nevada.Pahute_Mesa_Airstrip</code></li>
<li><code>AIRBASE.Nevada.Tonopah_Airport</code></li>
<li><code>AIRBASE.Nevada.Tonopah_Test_Range_Airfield</code></li>
</ul>
<h1>Installation</h1>
<h2>In Single Player Missions</h2>
<p>ATC_GROUND is fully functional in single player.</p>
<h2>In Multi Player Missions</h2>
<p>ATC<em>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.
ATC</em>GROUND is communicating with this modified script to kick players!</p>
<p>Install the file <strong>SimpleSlotBlockGameGUI.lua</strong> on the server, following the installation instructions described by Ciribob.</p>
<p><a href="https://github.com/ciribob/DCS-SimpleSlotBlock">Simple Slot Blocker from Ciribob &amp; FlightControl</a></p>
<h1>Script it!</h1>
<h2>1. ATC<em>GROUND</em>NEVADA Constructor</h2>
<p>Creates a new ATC<em>GROUND</em>NEVADA object that will monitor pilots taxiing behaviour.</p>
<pre><code>-- 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
}
)
</code></pre>
</dd>
</dl>
<dl class="function">
<dt>
<em><a href="##(ATC_GROUND_NORMANDY)">#ATC_GROUND_NORMANDY</a></em>
<a id="ATC_GROUND_NORMANDY" >
<strong>ATC_GROUND_NORMANDY</strong>
</a>
</dt>
<dd>
<h1>ATC_GROUND_NORMANDY, extends <a href="##(ATC_GROUND)">#ATC_GROUND</a></h1>
<p>The ATC_GROUND_NORMANDY class monitors the speed of the airplanes at the airbase during taxi.</p>
<p>The pilots may not drive faster than the maximum speed for the airbase, or they will be despawned.</p>
<hr/>
<p><img src="..\Presentations\ATC_GROUND\Dia1.JPG" alt="Banner Image"/></p>
<hr/>
<p>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.</p>
<p>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.</p>
<p>Different airbases have different maximum speeds, according safety regulations.</p>
<h1>Airbases monitored</h1>
<p>The following airbases are monitored at the Normandy region.
Use the <a href="Airbase.html##(AIRBASE).Normandy">Airbase#AIRBASE.Normandy</a> enumeration to select the airbases to be monitored.</p>
<ul>
<li><code>AIRBASE.Normandy.Azeville</code></li>
<li><code>AIRBASE.Normandy.Bazenville</code></li>
<li><code>AIRBASE.Normandy.Beny_sur_Mer</code></li>
<li><code>AIRBASE.Normandy.Beuzeville</code></li>
<li><code>AIRBASE.Normandy.Biniville</code></li>
<li><code>AIRBASE.Normandy.Brucheville</code></li>
<li><code>AIRBASE.Normandy.Cardonville</code></li>
<li><code>AIRBASE.Normandy.Carpiquet</code></li>
<li><code>AIRBASE.Normandy.Chailey</code></li>
<li><code>AIRBASE.Normandy.Chippelle</code></li>
<li><code>AIRBASE.Normandy.Cretteville</code></li>
<li><code>AIRBASE.Normandy.Cricqueville_en_Bessin</code></li>
<li><code>AIRBASE.Normandy.Deux_Jumeaux</code></li>
<li><code>AIRBASE.Normandy.Evreux</code></li>
<li><code>AIRBASE.Normandy.Ford</code></li>
<li><code>AIRBASE.Normandy.Funtington</code></li>
<li><code>AIRBASE.Normandy.Lantheuil</code></li>
<li><code>AIRBASE.Normandy.Le_Molay</code></li>
<li><code>AIRBASE.Normandy.Lessay</code></li>
<li><code>AIRBASE.Normandy.Lignerolles</code></li>
<li><code>AIRBASE.Normandy.Longues_sur_Mer</code></li>
<li><code>AIRBASE.Normandy.Maupertus</code></li>
<li><code>AIRBASE.Normandy.Meautis</code></li>
<li><code>AIRBASE.Normandy.Needs_Oar_Point</code></li>
<li><code>AIRBASE.Normandy.Picauville</code></li>
<li><code>AIRBASE.Normandy.Rucqueville</code></li>
<li><code>AIRBASE.Normandy.Saint_Pierre_du_Mont</code></li>
<li><code>AIRBASE.Normandy.Sainte_Croix_sur_Mer</code></li>
<li><code>AIRBASE.Normandy.Sainte_Laurent_sur_Mer</code></li>
<li><code>AIRBASE.Normandy.Sommervieu</code></li>
<li><code>AIRBASE.Normandy.Tangmere</code></li>
</ul>
<h1>Installation</h1>
<h2>In Single Player Missions</h2>
<p>ATC_GROUND is fully functional in single player.</p>
<h2>In Multi Player Missions</h2>
<p>ATC<em>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.
ATC</em>GROUND is communicating with this modified script to kick players!</p>
<p>Install the file <strong>SimpleSlotBlockGameGUI.lua</strong> on the server, following the installation instructions described by Ciribob.</p>
<p><a href="https://github.com/ciribob/DCS-SimpleSlotBlock">Simple Slot Blocker from Ciribob &amp; FlightControl</a></p>
<h1>Script it!</h1>
<h2>1. ATC<em>GROUND</em>NORMANDY Constructor</h2>
<p>Creates a new ATC<em>GROUND</em>NORMANDY object that will monitor pilots taxiing behaviour.</p>
<pre><code>-- 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
}
)
</code></pre>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="SSB" >
<strong>SSB</strong>
</a>
</dt>
<dd>
<p> This is simple slot blocker is used on the server. </p>
</dd>
</dl>
<h2><a id="#(ATC_Ground)" >Type <code>ATC_Ground</code></a></h2>
<h2><a id="#(ATC_GROUND)" >Type <code>ATC_GROUND</code></a></h2>
<h3>Field(s)</h3>
<dl class="function">
<dt>
<em></em>
<a id="#(ATC_GROUND).AirbaseList" >
<strong>ATC_GROUND.AirbaseList</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="#(ATC_GROUND).AirbaseMonitor" >
<strong>ATC_GROUND.AirbaseMonitor</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="#(ATC_GROUND).Airbases" >
<strong>ATC_GROUND.Airbases</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="#(ATC_GROUND).KickSpeed" >
<strong>ATC_GROUND.KickSpeed</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(ATC_GROUND).New" >
<strong>ATC_GROUND:New(Airbases, AirbaseList)</strong>
</a>
</dt>
<dd>
<p>Creates a new ATC_GROUND object.</p>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em> Airbases </em></code>:
A table of Airbase Names.</p>
</li>
<li>
<p><code><em> AirbaseList </em></code>: </p>
</li>
</ul>
<h3>Return value</h3>
<p><em><a href="##(ATC_GROUND)">#ATC_GROUND</a>:</em>
self</p>
</dd>
</dl>
<dl class="function">
<dt>
<em><a href="Core.Set.html##(SET_CLIENT)">Core.Set#SET_CLIENT</a></em>
<a id="#(ATC_GROUND).SetClient" >
<strong>ATC_GROUND.SetClient</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(ATC_GROUND).SetKickSpeedKmph" >
<strong>ATC_GROUND:SetKickSpeedKmph(KickSpeed)</strong>
</a>
</dt>
<dd>
<p>Set the maximum speed in Kmph until the player gets kicked.</p>
<h3>Parameter</h3>
<ul>
<li>
<p><code><em>#number KickSpeed </em></code>:
Set the maximum speed in Kmph until the player gets kicked.</p>
</li>
</ul>
<h3>Return value</h3>
<p><em><a href="##(ATC_GROUND)">#ATC_GROUND</a>:</em>
self</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(ATC_GROUND).SetKickSpeedMiph" >
<strong>ATC_GROUND:SetKickSpeedMiph(KickSpeedMiph)</strong>
</a>
</dt>
<dd>
<p>Set the maximum speed in Miph until the player gets kicked.</p>
<h3>Parameter</h3>
<ul>
<li>
<p><code><em>#number KickSpeedMiph </em></code>:
Set the maximum speed in Mph until the player gets kicked.</p>
</li>
</ul>
<h3>Return value</h3>
<p><em><a href="##(ATC_GROUND)">#ATC_GROUND</a>:</em>
self</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(ATC_GROUND).SmokeRunways" >
<strong>ATC_GROUND:SmokeRunways(SmokeColor)</strong>
</a>
</dt>
<dd>
<p>Smoke the airbases runways.</p>
<h3>Parameter</h3>
<ul>
<li>
<p><code><em><a href="Utilities.Utils.html##(SMOKECOLOR)">Utilities.Utils#SMOKECOLOR</a> SmokeColor </em></code>:
The color of the smoke around the runways.</p>
</li>
</ul>
<h3>Return value</h3>
<p><em><a href="##(ATC_GROUND)">#ATC_GROUND</a>:</em>
self</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(ATC_GROUND)._AirbaseMonitor" >
<strong>ATC_GROUND:_AirbaseMonitor()</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<h2><a id="#(ATC_GROUND.AirbaseNames)" >Type <code>ATC_GROUND.AirbaseNames</code></a></h2>
<h2><a id="#(ATC_GROUND_CAUCASUS)" >Type <code>ATC_GROUND_CAUCASUS</code></a></h2>
<h3>Field(s)</h3>
<dl class="function">
<dt>
<a id="#(ATC_GROUND_CAUCASUS).New" >
<strong>ATC_GROUND_CAUCASUS:New(AirbaseNames)</strong>
</a>
</dt>
<dd>
<p>Creates a new ATC<em>GROUND</em>CAUCASUS object.</p>
<h3>Parameter</h3>
<ul>
<li>
<p><code><em> AirbaseNames </em></code>:
A list {} of airbase names (Use AIRBASE.Caucasus enumerator).</p>
</li>
</ul>
<h3>Return value</h3>
<p><em><a href="##(ATC_GROUND_CAUCASUS)">#ATC<em>GROUND</em>CAUCASUS</a>:</em>
self</p>
</dd>
</dl>
<h2><a id="#(ATC_GROUND_NEVADA)" >Type <code>ATC_GROUND_NEVADA</code></a></h2>
<h3>Field(s)</h3>
<dl class="function">
<dt>
<a id="#(ATC_GROUND_NEVADA).New" >
<strong>ATC_GROUND_NEVADA:New(AirbaseNames)</strong>
</a>
</dt>
<dd>
<p>Creates a new ATC<em>GROUND</em>NEVADA object.</p>
<h3>Parameter</h3>
<ul>
<li>
<p><code><em> AirbaseNames </em></code>:
A list {} of airbase names (Use AIRBASE.Nevada enumerator).</p>
</li>
</ul>
<h3>Return value</h3>
<p><em><a href="##(ATC_GROUND_NEVADA)">#ATC<em>GROUND</em>NEVADA</a>:</em>
self</p>
</dd>
</dl>
<h2><a id="#(ATC_GROUND_NORMANDY)" >Type <code>ATC_GROUND_NORMANDY</code></a></h2>
<h3>Field(s)</h3>
<dl class="function">
<dt>
<a id="#(ATC_GROUND_NORMANDY).New" >
<strong>ATC_GROUND_NORMANDY:New(AirbaseNames)</strong>
</a>
</dt>
<dd>
<p>Creates a new ATC<em>GROUND</em>NORMANDY object.</p>
<h3>Parameter</h3>
<ul>
<li>
<p><code><em> AirbaseNames </em></code>:
A list {} of airbase names (Use AIRBASE.Normandy enumerator).</p>
</li>
</ul>
<h3>Return value</h3>
<p><em><a href="##(ATC_GROUND_NORMANDY)">#ATC<em>GROUND</em>NORMANDY</a>:</em>
self</p>
</dd>
</dl>
</div>
</div>
</body>
</html>