MOOSE/docs/Documentation/ATC_Ground.html
FlightControl_Master 74951f4237 Documentation
2017-10-26 11:17:11 +02:00

893 lines
26 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!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/>
<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<em>GROUND</em>CAUCASUS, extends <a href="##(ATC_GROUND)">#ATC_GROUND</a></h1>
<p><img src="..\Presentations\ATC_GROUND\Dia1.JPG" alt="Banner Image"/></p>
<p>The ATC<em>GROUND</em>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<em>GROUND</em>NEVADA, extends <a href="##(ATC_GROUND)">#ATC_GROUND</a></h1>
<p><img src="..\Presentations\ATC_GROUND\Dia1.JPG" alt="Banner Image"/></p>
<p>The ATC<em>GROUND</em>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<em>GROUND</em>NORMANDY, extends <a href="##(ATC_GROUND)">#ATC_GROUND</a></h1>
<p><img src="..\Presentations\ATC_GROUND\Dia1.JPG" alt="Banner Image"/></p>
<p>The ATC<em>GROUND</em>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<em>GROUND</em>CAUCASUS, extends <a href="##(ATC_GROUND)">#ATC_GROUND</a></h1>
<p><img src="..\Presentations\ATC_GROUND\Dia1.JPG" alt="Banner Image"/></p>
<p>The ATC<em>GROUND</em>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>
<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 AIRBASE.Caucasus enumeration to select the airbases to be monitored.</p>
<ul>
<li>´AIRBASE.Caucasus.Anapa_Vityazevo´</li>
<li>´AIRBASE.Caucasus.Batumi´</li>
<li>´AIRBASE.Caucasus.Beslan´</li>
<li>´AIRBASE.Caucasus.Gelendzhik´</li>
<li>´AIRBASE.Caucasus.Gudauta´</li>
<li>´AIRBASE.Caucasus.Kobuleti´</li>
<li>´AIRBASE.Caucasus.Krasnodar_Center´</li>
<li>´AIRBASE.Caucasus.Krasnodar_Pashkovsky´</li>
<li>´AIRBASE.Caucasus.Krymsk´</li>
<li>´AIRBASE.Caucasus.Kutaisi´</li>
<li>´AIRBASE.Caucasus.Maykop_Khanskaya´</li>
<li>´AIRBASE.Caucasus.Mineralnye_Vody´</li>
<li>´AIRBASE.Caucasus.Mozdok´</li>
<li>´AIRBASE.Caucasus.Nalchik´</li>
<li>´AIRBASE.Caucasus.Novorossiysk´</li>
<li>´AIRBASE.Caucasus.Senaki_Kolkhi´</li>
<li>´AIRBASE.Caucasus.Sochi_Adler´</li>
<li>´AIRBASE.Caucasus.Soganlug´</li>
<li>´AIRBASE.Caucasus.Sukhumi_Babushara´</li>
<li>´AIRBASE.Caucasus.Tbilisi_Lochini´</li>
<li>´AIRBASE.Caucasus.Vaziani´</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<em>GROUND</em>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<em>GROUND</em>NEVADA, extends <a href="##(ATC_GROUND)">#ATC_GROUND</a></h1>
<p><img src="..\Presentations\ATC_GROUND\Dia1.JPG" alt="Banner Image"/></p>
<p>The ATC<em>GROUND</em>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>
<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 AIRBASE.Nevada 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<em>GROUND</em>NORMANDY, extends <a href="##(ATC_GROUND)">#ATC_GROUND</a></h1>
<p><img src="..\Presentations\ATC_GROUND\Dia1.JPG" alt="Banner Image"/></p>
<p>The ATC<em>GROUND</em>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>
<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 AIRBASE.Normandy enumeration to select the airbases to be monitored.</p>
<ul>
<li>´AIRBASE.Normandy.Azeville´</li>
<li>´AIRBASE.Normandy.Bazenville´</li>
<li>´AIRBASE.Normandy.Beny<em>sur</em>Mer´</li>
<li>´AIRBASE.Normandy.Beuzeville´</li>
<li>´AIRBASE.Normandy.Biniville´</li>
<li>´AIRBASE.Normandy.Brucheville´</li>
<li>´AIRBASE.Normandy.Cardonville´</li>
<li>´AIRBASE.Normandy.Carpiquet´</li>
<li>´AIRBASE.Normandy.Chailey´</li>
<li>´AIRBASE.Normandy.Chippelle´</li>
<li>´AIRBASE.Normandy.Cretteville´</li>
<li>´AIRBASE.Normandy.Cricqueville<em>en</em>Bessin´</li>
<li>´AIRBASE.Normandy.Deux_Jumeaux´</li>
<li>´AIRBASE.Normandy.Evreux´</li>
<li>´AIRBASE.Normandy.Ford´</li>
<li>´AIRBASE.Normandy.Funtington´</li>
<li>´AIRBASE.Normandy.Lantheuil´</li>
<li>´AIRBASE.Normandy.Le_Molay´</li>
<li>´AIRBASE.Normandy.Lessay´</li>
<li>´AIRBASE.Normandy.Lignerolles´</li>
<li>´AIRBASE.Normandy.Longues<em>sur</em>Mer´</li>
<li>´AIRBASE.Normandy.Maupertus´</li>
<li>´AIRBASE.Normandy.Meautis´</li>
<li>´AIRBASE.Normandy.Needs<em>Oar</em>Point´</li>
<li>´AIRBASE.Normandy.Picauville´</li>
<li>´AIRBASE.Normandy.Rucqueville´</li>
<li>´AIRBASE.Normandy.Saint<em>Pierre</em>du_Mont´</li>
<li>´AIRBASE.Normandy.Sainte<em>Croix</em>sur_Mer´</li>
<li>´AIRBASE.Normandy.Sainte<em>Laurent</em>sur_Mer´</li>
<li>´AIRBASE.Normandy.Sommervieu´</li>
<li>´AIRBASE.Normandy.Tangmere´</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>