mirror of
https://github.com/FlightControl-Master/MOOSE.git
synced 2025-10-29 16:58:06 +00:00
* Renamed AIRBASE POLICE to ATC GROUND
* Fixed issues with landing and departing.
This commit is contained in:
@@ -115,7 +115,7 @@
|
||||
<div id="content">
|
||||
<h1>Module <code>AirbasePolice</code></h1>
|
||||
|
||||
<p><strong>Functional</strong> -- The AIRBASEPOLICE classes monitor airbase traffic and regulate speed while taxiing.</p>
|
||||
<p><strong>Functional</strong> -- The ATC_GROUND classes monitor airbase traffic and regulate speed while taxiing.</p>
|
||||
|
||||
|
||||
|
||||
@@ -132,27 +132,37 @@
|
||||
<tr>
|
||||
<td class="name" nowrap="nowrap"><a href="#AIRBASEPOLICE_BASE">AIRBASEPOLICE_BASE</a></td>
|
||||
<td class="summary">
|
||||
<p>Base class for AIRBASEPOLICE implementations.</p>
|
||||
<p>Base class for ATC_GROUND implementations.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="name" nowrap="nowrap"><a href="#AIRBASEPOLICE_CAUCASUS">AIRBASEPOLICE_CAUCASUS</a></td>
|
||||
<td class="name" nowrap="nowrap"><a href="#ATC_GROUND_CAUCASUS">ATC_GROUND_CAUCASUS</a></td>
|
||||
<td class="summary">
|
||||
<h1>AIRBASEPOLICE_CAUCASUS, extends <a href="##(AIRBASEPOLICE_BASE)">#AIRBASEPOLICE_BASE</a></h1>
|
||||
<h1>ATC<em>GROUND</em>CAUCASUS, extends <a href="##(AIRBASEPOLICE_BASE)">#AIRBASEPOLICE_BASE</a></h1>
|
||||
|
||||
<p><img src="..\Presentations\AIRBASEPOLICE\Dia1.JPG" alt="Banner Image"/></p>
|
||||
<p><img src="..\Presentations\ATC_GROUND\Dia1.JPG" alt="Banner Image"/></p>
|
||||
|
||||
<p>The AIRBASEPOLICE_CAUCASUS class monitors the speed of the airplanes at the airbase during taxi.</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="#AIRBASEPOLICE_NEVADA">AIRBASEPOLICE_NEVADA</a></td>
|
||||
<td class="name" nowrap="nowrap"><a href="#ATC_GROUND_NEVADA">ATC_GROUND_NEVADA</a></td>
|
||||
<td class="summary">
|
||||
<h1>AIRBASEPOLICE_NEVADA, extends <a href="##(AIRBASEPOLICE_BASE)">#AIRBASEPOLICE_BASE</a></h1>
|
||||
<h1>ATC<em>GROUND</em>NEVADA, extends <a href="##(AIRBASEPOLICE_BASE)">#AIRBASEPOLICE_BASE</a></h1>
|
||||
|
||||
<p><img src="..\Presentations\AIRBASEPOLICE\Dia1.JPG" alt="Banner Image"/></p>
|
||||
<p><img src="..\Presentations\ATC_GROUND\Dia1.JPG" alt="Banner Image"/></p>
|
||||
|
||||
<p>The AIRBASEPOLICE_NEVADA class monitors the speed of the airplanes at the airbase during taxi.</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="##(AIRBASEPOLICE_BASE)">#AIRBASEPOLICE_BASE</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>
|
||||
@@ -165,7 +175,31 @@
|
||||
<h2><a id="#(AIRBASEPOLICE_BASE)">Type <code>AIRBASEPOLICE_BASE</code></a></h2>
|
||||
<table class="function_list">
|
||||
<tr>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AIRBASEPOLICE_BASE).New">AIRBASEPOLICE_BASE:New(SetClient, Airbases, AirbaseList)</a></td>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AIRBASEPOLICE_BASE).AirbaseList">AIRBASEPOLICE_BASE.AirbaseList</a></td>
|
||||
<td class="summary">
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AIRBASEPOLICE_BASE).AirbaseMonitor">AIRBASEPOLICE_BASE.AirbaseMonitor</a></td>
|
||||
<td class="summary">
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AIRBASEPOLICE_BASE).Airbases">AIRBASEPOLICE_BASE.Airbases</a></td>
|
||||
<td class="summary">
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AIRBASEPOLICE_BASE).KickSpeed">AIRBASEPOLICE_BASE.KickSpeed</a></td>
|
||||
<td class="summary">
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AIRBASEPOLICE_BASE).New">AIRBASEPOLICE_BASE:New(Airbases, AirbaseList)</a></td>
|
||||
<td class="summary">
|
||||
<p>Creates a new AIRBASEPOLICE_BASE object.</p>
|
||||
</td>
|
||||
@@ -174,6 +208,18 @@
|
||||
<td class="name" nowrap="nowrap"><a href="##(AIRBASEPOLICE_BASE).SetClient">AIRBASEPOLICE_BASE.SetClient</a></td>
|
||||
<td class="summary">
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="name" nowrap="nowrap"><a href="##(AIRBASEPOLICE_BASE).SetKickSpeedKmph">AIRBASEPOLICE_BASE: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="##(AIRBASEPOLICE_BASE).SetKickSpeedMiph">AIRBASEPOLICE_BASE:SetKickSpeedMiph(KickSpeedMiph)</a></td>
|
||||
<td class="summary">
|
||||
<p>Set the maximum speed in Miph until the player gets kicked.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -190,22 +236,32 @@
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<h2><a id="#(AIRBASEPOLICE_CAUCASUS)">Type <code>AIRBASEPOLICE_CAUCASUS</code></a></h2>
|
||||
<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="##(AIRBASEPOLICE_CAUCASUS).New">AIRBASEPOLICE_CAUCASUS:New(SetClient, AirbaseNames)</a></td>
|
||||
<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 AIRBASEPOLICE_CAUCASUS object.</p>
|
||||
<p>Creates a new ATC<em>GROUND</em>CAUCASUS object.</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<h2><a id="#(AIRBASEPOLICE_NEVADA)">Type <code>AIRBASEPOLICE_NEVADA</code></a></h2>
|
||||
<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="##(AIRBASEPOLICE_NEVADA).New">AIRBASEPOLICE_NEVADA:New(SetClient, AirbaseNames)</a></td>
|
||||
<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 AIRBASEPOLICE_NEVADA object.</p>
|
||||
<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>
|
||||
@@ -221,25 +277,25 @@
|
||||
</dt>
|
||||
<dd>
|
||||
|
||||
<p>Base class for AIRBASEPOLICE implementations.</p>
|
||||
<p>Base class for ATC_GROUND implementations.</p>
|
||||
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="function">
|
||||
<dt>
|
||||
|
||||
<em><a href="##(AIRBASEPOLICE_CAUCASUS)">#AIRBASEPOLICE_CAUCASUS</a></em>
|
||||
<a id="AIRBASEPOLICE_CAUCASUS" >
|
||||
<strong>AIRBASEPOLICE_CAUCASUS</strong>
|
||||
<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>AIRBASEPOLICE_CAUCASUS, extends <a href="##(AIRBASEPOLICE_BASE)">#AIRBASEPOLICE_BASE</a></h1>
|
||||
<h1>ATC<em>GROUND</em>CAUCASUS, extends <a href="##(AIRBASEPOLICE_BASE)">#AIRBASEPOLICE_BASE</a></h1>
|
||||
|
||||
<p><img src="..\Presentations\AIRBASEPOLICE\Dia1.JPG" alt="Banner Image"/></p>
|
||||
<p><img src="..\Presentations\ATC_GROUND\Dia1.JPG" alt="Banner Image"/></p>
|
||||
|
||||
<p>The AIRBASEPOLICE_CAUCASUS class monitors the speed of the airplanes at the airbase during taxi.</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>
|
||||
@@ -253,30 +309,31 @@ faster than the maximum allowed speed, the pilot will be kicked.</p>
|
||||
|
||||
<h1>Airbases monitored</h1>
|
||||
|
||||
<p>The following airbases are monitored at the Caucasus region:</p>
|
||||
<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>Anapa Vityazevo</li>
|
||||
<li>Batumi</li>
|
||||
<li>Beslan</li>
|
||||
<li>Gelendzhik</li>
|
||||
<li>Gudauta</li>
|
||||
<li>Kobuleti</li>
|
||||
<li>Krasnodar Center</li>
|
||||
<li>Krasnodar Pashkovsky</li>
|
||||
<li>Krymsk</li>
|
||||
<li>Kutaisi</li>
|
||||
<li>Maykop Khanskaya</li>
|
||||
<li>Mineralnye Vody</li>
|
||||
<li>Mozdok</li>
|
||||
<li>Nalchik</li>
|
||||
<li>Novorossiysk</li>
|
||||
<li>Senaki Kolkhi</li>
|
||||
<li>Sochi Adler</li>
|
||||
<li>Soganlug</li>
|
||||
<li>Sukhumi Babushara</li>
|
||||
<li>Tbilisi Lochini</li>
|
||||
<li>Vaziani</li>
|
||||
<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>
|
||||
|
||||
|
||||
@@ -284,15 +341,15 @@ faster than the maximum allowed speed, the pilot will be kicked.</p>
|
||||
|
||||
<h2>In Single Player Missions</h2>
|
||||
|
||||
<p>AIRBASEPOLICE is fully functional in single player.</p>
|
||||
<p>ATC_GROUND is fully functional in single player.</p>
|
||||
|
||||
<h2>In Multi Player Missions</h2>
|
||||
|
||||
<p>AIRBASEPOLICE is NOT functional in multi player, for client machines connecting to the server, running the mission.
|
||||
<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.
|
||||
AIRBASEPOLICE is communicating with this modified script to kick players!</p>
|
||||
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>
|
||||
|
||||
@@ -300,37 +357,42 @@ AIRBASEPOLICE is communicating with this modified script to kick players!</p>
|
||||
|
||||
<h1>Script it!</h1>
|
||||
|
||||
<h2>1. AIRBASEPOLICE_CAUCASUS Constructor</h2>
|
||||
<h2>1. ATC<em>GROUND</em>CAUCASUS Constructor</h2>
|
||||
|
||||
<p>Creates a new AIRBASEPOLICE_CAUCASUS object that will monitor pilots taxiing behaviour.</p>
|
||||
<p>Creates a new ATC<em>GROUND</em>CAUCASUS object that will monitor pilots taxiing behaviour.</p>
|
||||
|
||||
<pre><code>-- This creates a new AIRBASEPOLICE_CAUCASUS object.
|
||||
<pre><code>-- This creates a new ATC_GROUND_CAUCASUS object.
|
||||
|
||||
-- Create a set of all clients in the mission.
|
||||
AllClientsSet = SET_CLIENT:New():FilterStart()
|
||||
-- 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
|
||||
}
|
||||
)
|
||||
|
||||
-- Monitor for these clients the airbases.
|
||||
AirbasePoliceCaucasus = AIRBASEPOLICE_CAUCASUS:New( AllClientsSet )
|
||||
</code></pre>
|
||||
|
||||
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="function">
|
||||
<dt>
|
||||
|
||||
<em><a href="##(AIRBASEPOLICE_NEVADA)">#AIRBASEPOLICE_NEVADA</a></em>
|
||||
<a id="AIRBASEPOLICE_NEVADA" >
|
||||
<strong>AIRBASEPOLICE_NEVADA</strong>
|
||||
<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>AIRBASEPOLICE_NEVADA, extends <a href="##(AIRBASEPOLICE_BASE)">#AIRBASEPOLICE_BASE</a></h1>
|
||||
<h1>ATC<em>GROUND</em>NEVADA, extends <a href="##(AIRBASEPOLICE_BASE)">#AIRBASEPOLICE_BASE</a></h1>
|
||||
|
||||
<p><img src="..\Presentations\AIRBASEPOLICE\Dia1.JPG" alt="Banner Image"/></p>
|
||||
<p><img src="..\Presentations\ATC_GROUND\Dia1.JPG" alt="Banner Image"/></p>
|
||||
|
||||
<p>The AIRBASEPOLICE_NEVADA class monitors the speed of the airplanes at the airbase during taxi.</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>
|
||||
@@ -342,29 +404,43 @@ faster than the maximum allowed speed, the pilot will be kicked.</p>
|
||||
|
||||
<h1>Airbases monitored</h1>
|
||||
|
||||
<p>The following airbases are monitored at the Caucasus region:</p>
|
||||
<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>Nellis</li>
|
||||
<li>McCarran</li>
|
||||
<li>Creech</li>
|
||||
<li>GroomLake</li>
|
||||
<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>AIRBASEPOLICE is fully functional in single player.</p>
|
||||
<p>ATC_GROUND is fully functional in single player.</p>
|
||||
|
||||
<h2>In Multi Player Missions</h2>
|
||||
|
||||
<p>AIRBASEPOLICE is NOT functional in multi player, for client machines connecting to the server, running the mission.
|
||||
<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.
|
||||
AIRBASEPOLICE is communicating with this modified script to kick players!</p>
|
||||
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>
|
||||
|
||||
@@ -372,20 +448,131 @@ AIRBASEPOLICE is communicating with this modified script to kick players!</p>
|
||||
|
||||
<h1>Script it!</h1>
|
||||
|
||||
<h2>1. AIRBASEPOLICE_NEVADA Constructor</h2>
|
||||
<h2>1. ATC<em>GROUND</em>NEVADA Constructor</h2>
|
||||
|
||||
<p>Creates a new AIRBASEPOLICE_NEVADA object that will monitor pilots taxiing behaviour.</p>
|
||||
<p>Creates a new ATC<em>GROUND</em>NEVADA object that will monitor pilots taxiing behaviour.</p>
|
||||
|
||||
<pre><code>-- This creates a new AIRBASEPOLICE_NEVADA object.
|
||||
<pre><code>-- This creates a new ATC_GROUND_NEVADA object.
|
||||
|
||||
-- Create a set of all clients in the mission.
|
||||
AllClientsSet = SET_CLIENT:New():FilterStart()
|
||||
-- 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="##(AIRBASEPOLICE_BASE)">#AIRBASEPOLICE_BASE</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 & 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 = AIRBASEPOLICE_NEVADA:New( AllClientsSet )
|
||||
AirbasePoliceCaucasus = ATC_GROUND_NORMANDY:New()
|
||||
|
||||
ATC_Ground = ATC_GROUND_NORMANDY:New(
|
||||
{ AIRBASE.Normandy.Chippelle,
|
||||
AIRBASE.Normandy.Beuzeville
|
||||
}
|
||||
)
|
||||
</code></pre>
|
||||
|
||||
|
||||
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="function">
|
||||
@@ -412,8 +599,64 @@ AirbasePoliceCaucasus = AIRBASEPOLICE_NEVADA:New( AllClientsSet )
|
||||
<dl class="function">
|
||||
<dt>
|
||||
|
||||
<em></em>
|
||||
<a id="#(AIRBASEPOLICE_BASE).AirbaseList" >
|
||||
<strong>AIRBASEPOLICE_BASE.AirbaseList</strong>
|
||||
</a>
|
||||
</dt>
|
||||
<dd>
|
||||
|
||||
|
||||
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="function">
|
||||
<dt>
|
||||
|
||||
<em></em>
|
||||
<a id="#(AIRBASEPOLICE_BASE).AirbaseMonitor" >
|
||||
<strong>AIRBASEPOLICE_BASE.AirbaseMonitor</strong>
|
||||
</a>
|
||||
</dt>
|
||||
<dd>
|
||||
|
||||
|
||||
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="function">
|
||||
<dt>
|
||||
|
||||
<em></em>
|
||||
<a id="#(AIRBASEPOLICE_BASE).Airbases" >
|
||||
<strong>AIRBASEPOLICE_BASE.Airbases</strong>
|
||||
</a>
|
||||
</dt>
|
||||
<dd>
|
||||
|
||||
|
||||
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="function">
|
||||
<dt>
|
||||
|
||||
<em></em>
|
||||
<a id="#(AIRBASEPOLICE_BASE).KickSpeed" >
|
||||
<strong>AIRBASEPOLICE_BASE.KickSpeed</strong>
|
||||
</a>
|
||||
</dt>
|
||||
<dd>
|
||||
|
||||
|
||||
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="function">
|
||||
<dt>
|
||||
|
||||
<a id="#(AIRBASEPOLICE_BASE).New" >
|
||||
<strong>AIRBASEPOLICE_BASE:New(SetClient, Airbases, AirbaseList)</strong>
|
||||
<strong>AIRBASEPOLICE_BASE:New(Airbases, AirbaseList)</strong>
|
||||
</a>
|
||||
</dt>
|
||||
<dd>
|
||||
@@ -424,12 +667,6 @@ AirbasePoliceCaucasus = AIRBASEPOLICE_NEVADA:New( AllClientsSet )
|
||||
<ul>
|
||||
<li>
|
||||
|
||||
<p><code><em> SetClient </em></code>:
|
||||
A SET_CLIENT object that will contain the CLIENT objects to be monitored if they follow the rules of the airbase.</p>
|
||||
|
||||
</li>
|
||||
<li>
|
||||
|
||||
<p><code><em> Airbases </em></code>:
|
||||
A table of Airbase Names.</p>
|
||||
|
||||
@@ -459,6 +696,60 @@ self</p>
|
||||
|
||||
|
||||
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="function">
|
||||
<dt>
|
||||
|
||||
<a id="#(AIRBASEPOLICE_BASE).SetKickSpeedKmph" >
|
||||
<strong>AIRBASEPOLICE_BASE: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="##(AIRBASEPOLICE_BASE)">#AIRBASEPOLICE_BASE</a>:</em>
|
||||
self</p>
|
||||
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="function">
|
||||
<dt>
|
||||
|
||||
<a id="#(AIRBASEPOLICE_BASE).SetKickSpeedMiph" >
|
||||
<strong>AIRBASEPOLICE_BASE: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="##(AIRBASEPOLICE_BASE)">#AIRBASEPOLICE_BASE</a>:</em>
|
||||
self</p>
|
||||
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="function">
|
||||
@@ -504,29 +795,23 @@ self</p>
|
||||
|
||||
<h2><a id="#(AIRBASEPOLICE_BASE.AirbaseNames)" >Type <code>AIRBASEPOLICE_BASE.AirbaseNames</code></a></h2>
|
||||
|
||||
<h2><a id="#(AIRBASEPOLICE_CAUCASUS)" >Type <code>AIRBASEPOLICE_CAUCASUS</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="#(AIRBASEPOLICE_CAUCASUS).New" >
|
||||
<strong>AIRBASEPOLICE_CAUCASUS:New(SetClient, AirbaseNames)</strong>
|
||||
<a id="#(ATC_GROUND_CAUCASUS).New" >
|
||||
<strong>ATC_GROUND_CAUCASUS:New(AirbaseNames)</strong>
|
||||
</a>
|
||||
</dt>
|
||||
<dd>
|
||||
|
||||
<p>Creates a new AIRBASEPOLICE_CAUCASUS object.</p>
|
||||
<p>Creates a new ATC<em>GROUND</em>CAUCASUS object.</p>
|
||||
|
||||
<h3>Parameters</h3>
|
||||
<h3>Parameter</h3>
|
||||
<ul>
|
||||
<li>
|
||||
|
||||
<p><code><em> SetClient </em></code>:
|
||||
A SET_CLIENT object that will contain the CLIENT objects to be monitored if they follow the rules of the airbase.</p>
|
||||
|
||||
</li>
|
||||
<li>
|
||||
|
||||
<p><code><em> AirbaseNames </em></code>:
|
||||
A list {} of airbase names (Use AIRBASE.Caucasus enumerator).</p>
|
||||
|
||||
@@ -534,35 +819,29 @@ A list {} of airbase names (Use AIRBASE.Caucasus enumerator).</p>
|
||||
</ul>
|
||||
<h3>Return value</h3>
|
||||
|
||||
<p><em><a href="##(AIRBASEPOLICE_CAUCASUS)">#AIRBASEPOLICE_CAUCASUS</a>:</em>
|
||||
<p><em><a href="##(ATC_GROUND_CAUCASUS)">#ATC<em>GROUND</em>CAUCASUS</a>:</em>
|
||||
self</p>
|
||||
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<h2><a id="#(AIRBASEPOLICE_NEVADA)" >Type <code>AIRBASEPOLICE_NEVADA</code></a></h2>
|
||||
<h2><a id="#(ATC_GROUND_NEVADA)" >Type <code>ATC_GROUND_NEVADA</code></a></h2>
|
||||
<h3>Field(s)</h3>
|
||||
<dl class="function">
|
||||
<dt>
|
||||
|
||||
<a id="#(AIRBASEPOLICE_NEVADA).New" >
|
||||
<strong>AIRBASEPOLICE_NEVADA:New(SetClient, AirbaseNames)</strong>
|
||||
<a id="#(ATC_GROUND_NEVADA).New" >
|
||||
<strong>ATC_GROUND_NEVADA:New(AirbaseNames)</strong>
|
||||
</a>
|
||||
</dt>
|
||||
<dd>
|
||||
|
||||
<p>Creates a new AIRBASEPOLICE_NEVADA object.</p>
|
||||
<p>Creates a new ATC<em>GROUND</em>NEVADA object.</p>
|
||||
|
||||
<h3>Parameters</h3>
|
||||
<h3>Parameter</h3>
|
||||
<ul>
|
||||
<li>
|
||||
|
||||
<p><code><em> SetClient </em></code>:
|
||||
A SET_CLIENT object that will contain the CLIENT objects to be monitored if they follow the rules of the airbase.</p>
|
||||
|
||||
</li>
|
||||
<li>
|
||||
|
||||
<p><code><em> AirbaseNames </em></code>:
|
||||
A list {} of airbase names (Use AIRBASE.Nevada enumerator).</p>
|
||||
|
||||
@@ -570,7 +849,37 @@ A list {} of airbase names (Use AIRBASE.Nevada enumerator).</p>
|
||||
</ul>
|
||||
<h3>Return value</h3>
|
||||
|
||||
<p><em><a href="##(AIRBASEPOLICE_NEVADA)">#AIRBASEPOLICE_NEVADA</a>:</em>
|
||||
<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>
|
||||
|
||||
Reference in New Issue
Block a user