Documentation

This commit is contained in:
FlightControl_Master 2017-10-23 15:35:14 +02:00
parent ea7d4e4ab8
commit 6c5dcb068b
17 changed files with 1517 additions and 2656 deletions

View File

@ -671,6 +671,7 @@
<dl class="function">
<dt>
<em>#number</em>
<a id="#(AI_A2A).IdleCount" >
<strong>AI_A2A.IdleCount</strong>
</a>

View File

@ -153,6 +153,16 @@
<p><img src="..\Presentations\AIRBASEPOLICE\Dia1.JPG" alt="Banner Image"/></p>
<p>The AIRBASEPOLICE_NEVADA class monitors the speed of the airplanes at the airbase during taxi.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="#AIRBASEPOLICE_NORMANDY">AIRBASEPOLICE_NORMANDY</a></td>
<td class="summary">
<h1>AIRBASEPOLICE_NORMANDY, extends <a href="##(AIRBASEPOLICE_BASE)">#AIRBASEPOLICE_BASE</a></h1>
<p><img src="..\Presentations\AIRBASEPOLICE\Dia1.JPG" alt="Banner Image"/></p>
<p>The AIRBASEPOLICE_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>
@ -193,7 +239,7 @@
<h2><a id="#(AIRBASEPOLICE_CAUCASUS)">Type <code>AIRBASEPOLICE_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="##(AIRBASEPOLICE_CAUCASUS).New">AIRBASEPOLICE_CAUCASUS:New(AirbaseNames)</a></td>
<td class="summary">
<p>Creates a new AIRBASEPOLICE_CAUCASUS object.</p>
</td>
@ -203,9 +249,19 @@
<h2><a id="#(AIRBASEPOLICE_NEVADA)">Type <code>AIRBASEPOLICE_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="##(AIRBASEPOLICE_NEVADA).New">AIRBASEPOLICE_NEVADA:New(AirbaseNames)</a></td>
<td class="summary">
<p>Creates a new AIRBASEPOLICE_NEVADA object.</p>
</td>
</tr>
</table>
<h2><a id="#(AIRBASEPOLICE_NORMANDY)">Type <code>AIRBASEPOLICE_NORMANDY</code></a></h2>
<table class="function_list">
<tr>
<td class="name" nowrap="nowrap"><a href="##(AIRBASEPOLICE_NORMANDY).New">AIRBASEPOLICE_NORMANDY:New(AirbaseNames)</a></td>
<td class="summary">
<p>Creates a new AIRBASEPOLICE_NORMANDY object.</p>
</td>
</tr>
</table>
@ -306,11 +362,8 @@ AIRBASEPOLICE is communicating with this modified script to kick players!</p>
<pre><code>-- 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 )
AirbasePoliceCaucasus = AIRBASEPOLICE_CAUCASUS:New()
</code></pre>
@ -378,11 +431,77 @@ AIRBASEPOLICE is communicating with this modified script to kick players!</p>
<pre><code>-- 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()
</code></pre>
</dd>
</dl>
<dl class="function">
<dt>
<em><a href="##(AIRBASEPOLICE_NORMANDY)">#AIRBASEPOLICE_NORMANDY</a></em>
<a id="AIRBASEPOLICE_NORMANDY" >
<strong>AIRBASEPOLICE_NORMANDY</strong>
</a>
</dt>
<dd>
<h1>AIRBASEPOLICE_NORMANDY, extends <a href="##(AIRBASEPOLICE_BASE)">#AIRBASEPOLICE_BASE</a></h1>
<p><img src="..\Presentations\AIRBASEPOLICE\Dia1.JPG" alt="Banner Image"/></p>
<p>The AIRBASEPOLICE_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 Caucasus region:</p>
<ul>
<li>Nellis</li>
<li>McCarran</li>
<li>Creech</li>
<li>GroomLake</li>
</ul>
<h1>Installation</h1>
<h2>In Single Player Missions</h2>
<p>AIRBASEPOLICE 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.
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>
<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. AIRBASEPOLICE_NORMANDY Constructor</h2>
<p>Creates a new AIRBASEPOLICE_NORMANDY object that will monitor pilots taxiing behaviour.</p>
<pre><code>-- This creates a new AIRBASEPOLICE_NORMANDY object.
-- Monitor for these clients the airbases.
AirbasePoliceNevada = AIRBASEPOLICE_NEVADA:New( AllClientsSet )
AirbasePoliceCaucasus = AIRBASEPOLICE_NORMANDY:New()
</code></pre>
@ -412,8 +531,64 @@ AirbasePoliceNevada = 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 +599,6 @@ AirbasePoliceNevada = 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 +628,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">
@ -510,23 +733,17 @@ self</p>
<dt>
<a id="#(AIRBASEPOLICE_CAUCASUS).New" >
<strong>AIRBASEPOLICE_CAUCASUS:New(SetClient, AirbaseNames)</strong>
<strong>AIRBASEPOLICE_CAUCASUS:New(AirbaseNames)</strong>
</a>
</dt>
<dd>
<p>Creates a new AIRBASEPOLICE_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>
@ -546,23 +763,17 @@ self</p>
<dt>
<a id="#(AIRBASEPOLICE_NEVADA).New" >
<strong>AIRBASEPOLICE_NEVADA:New(SetClient, AirbaseNames)</strong>
<strong>AIRBASEPOLICE_NEVADA:New(AirbaseNames)</strong>
</a>
</dt>
<dd>
<p>Creates a new AIRBASEPOLICE_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>
@ -573,6 +784,36 @@ A list {} of airbase names (Use AIRBASE.Nevada enumerator).</p>
<p><em><a href="##(AIRBASEPOLICE_NEVADA)">#AIRBASEPOLICE_NEVADA</a>:</em>
self</p>
</dd>
</dl>
<h2><a id="#(AIRBASEPOLICE_NORMANDY)" >Type <code>AIRBASEPOLICE_NORMANDY</code></a></h2>
<h3>Field(s)</h3>
<dl class="function">
<dt>
<a id="#(AIRBASEPOLICE_NORMANDY).New" >
<strong>AIRBASEPOLICE_NORMANDY:New(AirbaseNames)</strong>
</a>
</dt>
<dd>
<p>Creates a new AIRBASEPOLICE_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="##(AIRBASEPOLICE_NORMANDY)">#AIRBASEPOLICE_NORMANDY</a>:</em>
self</p>
</dd>
</dl>

File diff suppressed because it is too large Load Diff

View File

@ -2269,7 +2269,6 @@ The amount of seconds to delay the action.</p>
<dl class="function">
<dt>
<em></em>
<a id="#(CARGO_CRATE).CargoCarrier" >
<strong>CARGO_CRATE.CargoCarrier</strong>
</a>
@ -3698,7 +3697,6 @@ The range till cargo will board.</p>
<dl class="function">
<dt>
<em></em>
<a id="#(CARGO_UNIT).CargoCarrier" >
<strong>CARGO_UNIT.CargoCarrier</strong>
</a>
@ -3806,6 +3804,7 @@ The range till cargo will board.</p>
<dl class="function">
<dt>
<em>#number</em>
<a id="#(CARGO_UNIT).RunCount" >
<strong>CARGO_UNIT.RunCount</strong>
</a>

View File

@ -121,7 +121,19 @@
<hr/>
<h1>1) <a href="##(DATABASE)">#DATABASE</a> class, extends <a href="Base.html##(BASE)">Base#BASE</a></h1>
<h3>Author: <strong>Sven Van de Velde (FlightControl)</strong></h3>
<h3>Contributions:</h3>
<hr/>
<h2>Global(s)</h2>
<table class="function_list">
<tr>
<td class="name" nowrap="nowrap"><a href="#DATABASE">DATABASE</a></td>
<td class="summary">
<h1>DATABASE class, extends <a href="Base.html##(BASE)">Base#BASE</a></h1>
<p>Mission designers can use the DATABASE class to refer to:</p>
<ul>
@ -136,38 +148,6 @@
</ul>
<p>On top, for internal MOOSE administration purposes, the DATBASE administers the Unit and Group TEMPLATES as defined within the Mission Editor.</p>
<p>Moose will automatically create one instance of the DATABASE class into the <strong>global</strong> object _DATABASE.
Moose refers to _DATABASE within the framework extensively, but you can also refer to the _DATABASE object within your missions if required.</p>
<h2>1.1) DATABASE iterators</h2>
<p>You can iterate the database with the available iterator methods.
The iterator methods will walk the DATABASE set, and call for each element within the set a function that you provide.
The following iterator methods are currently available within the DATABASE:</p>
<ul>
<li><a href="##(DATABASE).ForEachUnit">DATABASE.ForEachUnit</a>: Calls a function for each <a href="UNIT.html">UNIT</a> it finds within the DATABASE.</li>
<li><a href="##(DATABASE).ForEachGroup">DATABASE.ForEachGroup</a>: Calls a function for each <a href="GROUP.html">GROUP</a> it finds within the DATABASE.</li>
<li><a href="##(DATABASE).ForEachPlayer">DATABASE.ForEachPlayer</a>: Calls a function for each alive player it finds within the DATABASE.</li>
<li><a href="##(DATABASE).ForEachPlayerJoined">DATABASE.ForEachPlayerJoined</a>: Calls a function for each joined player it finds within the DATABASE.</li>
<li><a href="##(DATABASE).ForEachClient">DATABASE.ForEachClient</a>: Calls a function for each <a href="CLIENT.html">CLIENT</a> it finds within the DATABASE.</li>
<li><a href="##(DATABASE).ForEachClientAlive">DATABASE.ForEachClientAlive</a>: Calls a function for each alive <a href="CLIENT.html">CLIENT</a> it finds within the DATABASE.</li>
</ul>
<hr/>
<h3>Author: <strong>Sven Van de Velde (FlightControl)</strong></h3>
<h3>Contributions:</h3>
<hr/>
<h2>Global(s)</h2>
<table class="function_list">
<tr>
<td class="name" nowrap="nowrap"><a href="#DATABASE">DATABASE</a></td>
<td class="summary">
</td>
</tr>
<tr>
@ -180,12 +160,6 @@ The following iterator methods are currently available within the DATABASE:</p>
<h2><a id="#(DATABASE)">Type <code>DATABASE</code></a></h2>
<table class="function_list">
<tr>
<td class="name" nowrap="nowrap"><a href="##(DATABASE).AIRBASES">DATABASE.AIRBASES</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(DATABASE).AccountDestroys">DATABASE:AccountDestroys(Event)</a></td>
<td class="summary">
<p>Account the destroys.</p>
@ -237,42 +211,6 @@ The following iterator methods are currently available within the DATABASE:</p>
<td class="name" nowrap="nowrap"><a href="##(DATABASE).AddUnit">DATABASE:AddUnit(DCSUnitName)</a></td>
<td class="summary">
<p>Adds a Unit based on the Unit Name in the DATABASE.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(DATABASE).CARGOS">DATABASE.CARGOS</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(DATABASE).CLIENTS">DATABASE.CLIENTS</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(DATABASE).COUNTRY_ID">DATABASE.COUNTRY_ID</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(DATABASE).COUNTRY_NAME">DATABASE.COUNTRY_NAME</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(DATABASE).ClassName">DATABASE.ClassName</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(DATABASE).DESTROYS">DATABASE.DESTROYS</a></td>
<td class="summary">
</td>
</tr>
<tr>
@ -393,12 +331,6 @@ The following iterator methods are currently available within the DATABASE:</p>
<td class="name" nowrap="nowrap"><a href="##(DATABASE).ForEachUnit">DATABASE:ForEachUnit(IteratorFunction, FinalizeFunction, ...)</a></td>
<td class="summary">
<p>Iterate the DATABASE and call an iterator function for each <strong>alive</strong> UNIT, providing the UNIT and optional parameters.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(DATABASE).GROUPS">DATABASE.GROUPS</a></td>
<td class="summary">
</td>
</tr>
<tr>
@ -465,18 +397,6 @@ The following iterator methods are currently available within the DATABASE:</p>
<td class="name" nowrap="nowrap"><a href="##(DATABASE).GetStatusGroup">DATABASE:GetStatusGroup(GroupName)</a></td>
<td class="summary">
<p>Get a status to a Group within the Database, this to check crossing events for example.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(DATABASE).HITS">DATABASE.HITS</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(DATABASE).NavPoints">DATABASE.NavPoints</a></td>
<td class="summary">
</td>
</tr>
<tr>
@ -501,36 +421,6 @@ The following iterator methods are currently available within the DATABASE:</p>
<td class="name" nowrap="nowrap"><a href="##(DATABASE).OnEventNewCargo">DATABASE:OnEventNewCargo(EventData)</a></td>
<td class="summary">
<p>Handles the OnEventNewCargo event.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(DATABASE).PLAYERS">DATABASE.PLAYERS</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(DATABASE).PLAYERSETTINGS">DATABASE.PLAYERSETTINGS</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(DATABASE).PLAYERSJOINED">DATABASE.PLAYERSJOINED</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(DATABASE).PLAYERUNITS">DATABASE.PLAYERUNITS</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(DATABASE).STATICS">DATABASE.STATICS</a></td>
<td class="summary">
</td>
</tr>
<tr>
@ -549,36 +439,18 @@ The following iterator methods are currently available within the DATABASE:</p>
<td class="name" nowrap="nowrap"><a href="##(DATABASE).Spawn">DATABASE:Spawn(SpawnTemplate)</a></td>
<td class="summary">
<p>Instantiate new Groups within the DCSRTE.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(DATABASE).Templates">DATABASE.Templates</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(DATABASE).UNITS">DATABASE.UNITS</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(DATABASE).UNITS_Index">DATABASE.UNITS_Index</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(DATABASE).UNITS_Position">DATABASE.UNITS_Position</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(DATABASE).ZONENAMES">DATABASE.ZONENAMES</a></td>
<td class="summary">
</td>
</tr>
<tr>
@ -618,7 +490,7 @@ The following iterator methods are currently available within the DATABASE:</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(DATABASE)._RegisterGroupTemplate">DATABASE:_RegisterGroupTemplate(GroupTemplate, CoalitionID, CategoryID, CountryID)</a></td>
<td class="name" nowrap="nowrap"><a href="##(DATABASE)._RegisterGroupTemplate">DATABASE:_RegisterGroupTemplate(GroupTemplate, CoalitionSide, CategoryID, CountryID, GroupName)</a></td>
<td class="summary">
<p>Private method that registers new Group Templates within the DATABASE Object.</p>
</td>
@ -666,6 +538,27 @@ The following iterator methods are currently available within the DATABASE:</p>
</dt>
<dd>
<h1>DATABASE class, extends <a href="Base.html##(BASE)">Base#BASE</a></h1>
<p>Mission designers can use the DATABASE class to refer to:</p>
<ul>
<li>STATICS</li>
<li>UNITS</li>
<li>GROUPS</li>
<li>CLIENTS</li>
<li>AIRBASES</li>
<li>PLAYERSJOINED</li>
<li>PLAYERS</li>
<li>CARGOS</li>
</ul>
<p>On top, for internal MOOSE administration purposes, the DATBASE administers the Unit and Group TEMPLATES as defined within the Mission Editor.</p>
<p>The singleton object <strong>_DATABASE</strong> is automatically created by MOOSE, that administers all objects within the mission.
Moose refers to <strong>_DATABASE</strong> within the framework extensively, but you can also refer to the _DATABASE object within your missions if required.</p>
</dd>
@ -687,24 +580,7 @@ The following iterator methods are currently available within the DATABASE:</p>
<h2><a id="#(Database)" >Type <code>Database</code></a></h2>
<h2><a id="#(DATABASE)" >Type <code>DATABASE</code></a></h2>
<p>DATABASE class</p>
<h3>Field(s)</h3>
<dl class="function">
<dt>
<em></em>
<a id="#(DATABASE).AIRBASES" >
<strong>DATABASE.AIRBASES</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<h3>Field(s)</h3>
<dl class="function">
<dt>
@ -904,90 +780,6 @@ The name of the airbase</p>
</li>
</ul>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="#(DATABASE).CARGOS" >
<strong>DATABASE.CARGOS</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="#(DATABASE).CLIENTS" >
<strong>DATABASE.CLIENTS</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="#(DATABASE).COUNTRY_ID" >
<strong>DATABASE.COUNTRY_ID</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="#(DATABASE).COUNTRY_NAME" >
<strong>DATABASE.COUNTRY_NAME</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em>#string</em>
<a id="#(DATABASE).ClassName" >
<strong>DATABASE.ClassName</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="#(DATABASE).DESTROYS" >
<strong>DATABASE.DESTROYS</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
@ -1584,20 +1376,6 @@ The function that will be called for each object in the database. The function n
<p><em><a href="##(DATABASE)">#DATABASE</a>:</em>
self</p>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="#(DATABASE).GROUPS" >
<strong>DATABASE.GROUPS</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
@ -1834,34 +1612,6 @@ self</p>
</li>
</ul>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="#(DATABASE).HITS" >
<strong>DATABASE.HITS</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="#(DATABASE).NavPoints" >
<strong>DATABASE.NavPoints</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
@ -1940,76 +1690,6 @@ DBObject = DATABASE:New()</code></pre>
</li>
</ul>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="#(DATABASE).PLAYERS" >
<strong>DATABASE.PLAYERS</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="#(DATABASE).PLAYERSETTINGS" >
<strong>DATABASE.PLAYERSETTINGS</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="#(DATABASE).PLAYERSJOINED" >
<strong>DATABASE.PLAYERSJOINED</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="#(DATABASE).PLAYERUNITS" >
<strong>DATABASE.PLAYERUNITS</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="#(DATABASE).STATICS" >
<strong>DATABASE.STATICS</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
@ -2098,20 +1778,6 @@ This method is used by the SPAWN class.</p>
<p><em><a href="##(DATABASE)">#DATABASE</a>:</em>
self</p>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="#(DATABASE).Templates" >
<strong>DATABASE.Templates</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
@ -2126,20 +1792,6 @@ self</p>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="#(DATABASE).UNITS_Index" >
<strong>DATABASE.UNITS_Index</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
@ -2154,20 +1806,6 @@ self</p>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="#(DATABASE).ZONENAMES" >
<strong>DATABASE.ZONENAMES</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
@ -2289,7 +1927,7 @@ self</p>
<dt>
<a id="#(DATABASE)._RegisterGroupTemplate" >
<strong>DATABASE:_RegisterGroupTemplate(GroupTemplate, CoalitionID, CategoryID, CountryID)</strong>
<strong>DATABASE:_RegisterGroupTemplate(GroupTemplate, CoalitionSide, CategoryID, CountryID, GroupName)</strong>
</a>
</dt>
<dd>
@ -2305,17 +1943,25 @@ self</p>
</li>
<li>
<p><code><em> CoalitionID </em></code>: </p>
<p><code><em><a href="Dcs.DCScoalition.html##(coalition.side)">Dcs.DCScoalition#coalition.side</a> CoalitionSide </em></code>:
The coalition.side of the object.</p>
</li>
<li>
<p><code><em> CategoryID </em></code>: </p>
<p><code><em><a href="Dcs.DCSObject.html##(Object.Category)">Dcs.DCSObject#Object.Category</a> CategoryID </em></code>:
The Object.category of the object.</p>
</li>
<li>
<p><code><em> CountryID </em></code>: </p>
<p><code><em><a href="Dcs.DCScountry.html##(country.id)">Dcs.DCScountry#country.id</a> CountryID </em></code>:
the country.id of the object</p>
</li>
<li>
<p><code><em> GroupName </em></code>: </p>
</li>
</ul>

View File

@ -1106,7 +1106,7 @@ function below will use the range 1-7 just in case</p>
<dl class="function">
<dt>
<em></em>
<em>#number</em>
<a id="#(DESIGNATE).LaseDuration" >
<strong>DESIGNATE.LaseDuration</strong>
</a>

View File

@ -460,6 +460,12 @@
<td class="name" nowrap="nowrap"><a href="##(GROUP).IsShip">GROUP:IsShip()</a></td>
<td class="summary">
<p>Returns if the DCS Group contains Ships.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(GROUP).NewTemplate">GROUP:NewTemplate(GroupTemplate, CoalitionSide, CategoryID, CountryID)</a></td>
<td class="summary">
<p>Create a new GROUP from a given GroupTemplate as a parameter.</p>
</td>
</tr>
<tr>
@ -471,7 +477,7 @@
<tr>
<td class="name" nowrap="nowrap"><a href="##(GROUP).Register">GROUP:Register(GroupName)</a></td>
<td class="summary">
<p>Create a new GROUP from a DCSGroup</p>
<p>Create a new GROUP from an existing Group in the Mission.</p>
</td>
</tr>
<tr>
@ -1801,6 +1807,55 @@ true if DCS Group contains Ships.</p>
<dl class="function">
<dt>
<a id="#(GROUP).NewTemplate" >
<strong>GROUP:NewTemplate(GroupTemplate, CoalitionSide, CategoryID, CountryID)</strong>
</a>
</dt>
<dd>
<p>Create a new GROUP from a given GroupTemplate as a parameter.</p>
<p>Note that the GroupTemplate is NOT spawned into the mission.
It is merely added to the <a href="Database.html">Database</a>.</p>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em>#table GroupTemplate </em></code>:
The GroupTemplate Structure exactly as defined within the mission editor.</p>
</li>
<li>
<p><code><em><a href="Dcs.DCScoalition.html##(coalition.side)">Dcs.DCScoalition#coalition.side</a> CoalitionSide </em></code>:
The coalition.side of the group.</p>
</li>
<li>
<p><code><em><a href="Dcs.DCSGroup.html##(Group.Category)">Dcs.DCSGroup#Group.Category</a> CategoryID </em></code>:
The Group.Category of the group.</p>
</li>
<li>
<p><code><em><a href="Dcs.DCScountry.html##(country.id)">Dcs.DCScountry#country.id</a> CountryID </em></code>:
the country.id of the group.</p>
</li>
</ul>
<h3>Return value</h3>
<p><em><a href="##(GROUP)">#GROUP</a>:</em>
self</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(GROUP).OnReSpawn" >
<strong>GROUP:OnReSpawn(ReSpawnFunction)</strong>
</a>
@ -1828,14 +1883,14 @@ true if DCS Group contains Ships.</p>
</dt>
<dd>
<p>Create a new GROUP from a DCSGroup</p>
<p>Create a new GROUP from an existing Group in the Mission.</p>
<h3>Parameter</h3>
<ul>
<li>
<p><code><em><a href="Dcs.DCSWrapper.Group.html##(Group)">Dcs.DCSWrapper.Group#Group</a> GroupName </em></code>:
The DCS Group name</p>
<p><code><em>#string GroupName </em></code>:
The Group name</p>
</li>
</ul>

View File

@ -3495,6 +3495,7 @@ The y coordinate.</p>
<dl class="function">
<dt>
<em></em>
<a id="#(POINT_VEC2).z" >
<strong>POINT_VEC2.z</strong>
</a>

View File

@ -314,7 +314,7 @@
<tr>
<td class="name" nowrap="nowrap"><a href="##(POSITIONABLE).GetVelocity">POSITIONABLE:GetVelocity()</a></td>
<td class="summary">
<p>Returns the POSITIONABLE velocity vector.</p>
<p>Returns the a <a href="Velocity.html">Velocity</a> object from the positionable.</p>
</td>
</tr>
<tr>
@ -327,6 +327,12 @@
<td class="name" nowrap="nowrap"><a href="##(POSITIONABLE).GetVelocityMPS">POSITIONABLE:GetVelocityMPS()</a></td>
<td class="summary">
<p>Returns the POSITIONABLE velocity in meters per second.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(POSITIONABLE).GetVelocityVec3">POSITIONABLE:GetVelocityVec3()</a></td>
<td class="summary">
<p>Returns the POSITIONABLE velocity Vec3 vector.</p>
</td>
</tr>
<tr>
@ -1208,14 +1214,14 @@ The POSITIONABLE is not existing or alive. </p>
</dt>
<dd>
<p>Returns the POSITIONABLE velocity vector.</p>
<p>Returns the a <a href="Velocity.html">Velocity</a> object from the positionable.</p>
<h3>Return values</h3>
<ol>
<li>
<p><em><a href="Dcs.DCSTypes.html##(Vec3)">Dcs.DCSTypes#Vec3</a>:</em>
The velocity vector</p>
<p><em><a href="Core.Velocity.html##(VELOCITY)">Core.Velocity#VELOCITY</a>:</em>
Velocity The Velocity object.</p>
</li>
<li>
@ -1266,6 +1272,34 @@ The velocity in meters per second.</p>
<dl class="function">
<dt>
<a id="#(POSITIONABLE).GetVelocityVec3" >
<strong>POSITIONABLE:GetVelocityVec3()</strong>
</a>
</dt>
<dd>
<p>Returns the POSITIONABLE velocity Vec3 vector.</p>
<h3>Return values</h3>
<ol>
<li>
<p><em><a href="Dcs.DCSTypes.html##(Vec3)">Dcs.DCSTypes#Vec3</a>:</em>
The velocity Vec3 vector</p>
</li>
<li>
<p><em>#nil:</em>
The POSITIONABLE is not existing or alive. </p>
</li>
</ol>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(POSITIONABLE).HasCargo" >
<strong>POSITIONABLE:HasCargo(Cargo)</strong>
</a>

View File

@ -236,6 +236,22 @@
<li>Countries</li>
<li>Starting with certain prefix strings.</li>
</ul>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="#SET_PLAYER">SET_PLAYER</a></td>
<td class="summary">
<h1>4) SET_PLAYER class, extends <a href="Set.html##(SET_BASE)">Set#SET_BASE</a></h1>
<p>Mission designers can use the <a href="Set.html##(SET_PLAYER)">Set#SET_PLAYER</a> class to build sets of units belonging to alive players:</p>
<h2>4.1) SET_PLAYER constructor</h2>
<p>Create a new SET_PLAYER object with the <a href="##(SET_PLAYER).New">SET_PLAYER.New</a> method:</p>
<ul>
<li><a href="##(SET_PLAYER).New">SET_PLAYER.New</a>: Creates a new SET_PLAYER object.</li>
</ul>
</td>
</tr>
<tr>
@ -951,6 +967,106 @@ mission designer to add a dedicated method</p>
<td class="name" nowrap="nowrap"><a href="##(SET_GROUP)._EventOnDeadOrCrash">SET_GROUP:_EventOnDeadOrCrash(Event)</a></td>
<td class="summary">
<p>Handles the OnDead or OnCrash event for alive groups set.</p>
</td>
</tr>
</table>
<h2><a id="#(SET_PLAYER)">Type <code>SET_PLAYER</code></a></h2>
<table class="function_list">
<tr>
<td class="name" nowrap="nowrap"><a href="##(SET_PLAYER).AddClientsByName">SET_PLAYER:AddClientsByName(AddClientNames)</a></td>
<td class="summary">
<p>Add CLIENT(s) to SET_PLAYER.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(SET_PLAYER).AddInDatabase">SET_PLAYER:AddInDatabase(Event)</a></td>
<td class="summary">
<p>Handles the Database to check on an event (birth) that the Object was added in the Database.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(SET_PLAYER).FilterCategories">SET_PLAYER:FilterCategories(Categories)</a></td>
<td class="summary">
<p>Builds a set of clients out of categories joined by players.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(SET_PLAYER).FilterCoalitions">SET_PLAYER:FilterCoalitions(Coalitions)</a></td>
<td class="summary">
<p>Builds a set of clients of coalitions joined by specific players.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(SET_PLAYER).FilterCountries">SET_PLAYER:FilterCountries(Countries)</a></td>
<td class="summary">
<p>Builds a set of clients of defined countries.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(SET_PLAYER).FilterPrefixes">SET_PLAYER:FilterPrefixes(Prefixes)</a></td>
<td class="summary">
<p>Builds a set of clients of defined client prefixes.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(SET_PLAYER).FilterStart">SET_PLAYER:FilterStart()</a></td>
<td class="summary">
<p>Starts the filtering.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(SET_PLAYER).FilterTypes">SET_PLAYER:FilterTypes(Types)</a></td>
<td class="summary">
<p>Builds a set of clients of defined client types joined by players.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(SET_PLAYER).FindClient">SET_PLAYER:FindClient(PlayerName)</a></td>
<td class="summary">
<p>Finds a Client based on the Player Name.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(SET_PLAYER).FindInDatabase">SET_PLAYER:FindInDatabase(Event)</a></td>
<td class="summary">
<p>Handles the Database to check on any event that Object exists in the Database.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(SET_PLAYER).ForEachPlayer">SET_PLAYER:ForEachPlayer(IteratorFunction, ...)</a></td>
<td class="summary">
<p>Iterate the SET_PLAYER and call an interator function for each <strong>alive</strong> CLIENT, providing the CLIENT and optional parameters.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(SET_PLAYER).ForEachPlayerInZone">SET_PLAYER:ForEachPlayerInZone(ZoneObject, IteratorFunction, ...)</a></td>
<td class="summary">
<p>Iterate the SET_PLAYER and call an iterator function for each <strong>alive</strong> CLIENT presence completely in a <a href="Zone.html">Zone</a>, providing the CLIENT and optional parameters to the called function.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(SET_PLAYER).ForEachPlayerNotInZone">SET_PLAYER:ForEachPlayerNotInZone(ZoneObject, IteratorFunction, ...)</a></td>
<td class="summary">
<p>Iterate the SET_PLAYER and call an iterator function for each <strong>alive</strong> CLIENT presence not in a <a href="Zone.html">Zone</a>, providing the CLIENT and optional parameters to the called function.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(SET_PLAYER).IsIncludeObject">SET_PLAYER:IsIncludeObject(MClient)</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(SET_PLAYER).New">SET_PLAYER:New()</a></td>
<td class="summary">
<p>Creates a new SET_PLAYER object, building a set of clients belonging to a coalitions, categories, countries, types or with defined prefix names.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(SET_PLAYER).RemoveClientsByName">SET_PLAYER:RemoveClientsByName(RemoveClientNames)</a></td>
<td class="summary">
<p>Remove CLIENT(s) from SET_PLAYER.</p>
</td>
</tr>
</table>
@ -1664,6 +1780,69 @@ The following iterator methods are currently available within the SET</em>GROUP:
<hr/>
</dd>
</dl>
<dl class="function">
<dt>
<em><a href="##(SET_PLAYER)">#SET_PLAYER</a></em>
<a id="SET_PLAYER" >
<strong>SET_PLAYER</strong>
</a>
</dt>
<dd>
<h1>4) SET_PLAYER class, extends <a href="Set.html##(SET_BASE)">Set#SET_BASE</a></h1>
<p>Mission designers can use the <a href="Set.html##(SET_PLAYER)">Set#SET_PLAYER</a> class to build sets of units belonging to alive players:</p>
<h2>4.1) SET_PLAYER constructor</h2>
<p>Create a new SET_PLAYER object with the <a href="##(SET_PLAYER).New">SET_PLAYER.New</a> method:</p>
<ul>
<li><a href="##(SET_PLAYER).New">SET_PLAYER.New</a>: Creates a new SET_PLAYER object.</li>
</ul>
<p> </p>
<h2>4.3) SET_PLAYER filter criteria</h2>
<p>You can set filter criteria to define the set of clients within the SET_PLAYER.
Filter criteria are defined by:</p>
<ul>
<li><a href="##(SET_PLAYER).FilterCoalitions">SET_PLAYER.FilterCoalitions</a>: Builds the SET_PLAYER with the clients belonging to the coalition(s).</li>
<li><a href="##(SET_PLAYER).FilterCategories">SET_PLAYER.FilterCategories</a>: Builds the SET_PLAYER with the clients belonging to the category(ies).</li>
<li><a href="##(SET_PLAYER).FilterTypes">SET_PLAYER.FilterTypes</a>: Builds the SET_PLAYER with the clients belonging to the client type(s).</li>
<li><a href="##(SET_PLAYER).FilterCountries">SET_PLAYER.FilterCountries</a>: Builds the SET_PLAYER with the clients belonging to the country(ies).</li>
<li><a href="##(SET_PLAYER).FilterPrefixes">SET_PLAYER.FilterPrefixes</a>: Builds the SET_PLAYER with the clients starting with the same prefix string(s).</li>
</ul>
<p>Once the filter criteria have been set for the SET_PLAYER, you can start filtering using:</p>
<ul>
<li><a href="##(SET_PLAYER).FilterStart">SET_PLAYER.FilterStart</a>: Starts the filtering of the clients within the SET_PLAYER.</li>
</ul>
<p>Planned filter criteria within development are (so these are not yet available):</p>
<ul>
<li><a href="##(SET_PLAYER).FilterZones">SET_PLAYER.FilterZones</a>: Builds the SET_PLAYER with the clients within a <a href="Zone.html##(ZONE)">Zone#ZONE</a>.</li>
</ul>
<h2>4.4) SET_PLAYER iterators</h2>
<p>Once the filters have been defined and the SET<em>PLAYER has been built, you can iterate the SET</em>PLAYER with the available iterator methods.
The iterator methods will walk the SET<em>PLAYER set, and call for each element within the set a function that you provide.
The following iterator methods are currently available within the SET</em>PLAYER:</p>
<ul>
<li><a href="##(SET_PLAYER).ForEachClient">SET_PLAYER.ForEachClient</a>: Calls a function for each alive client it finds within the SET_PLAYER.</li>
</ul>
<hr/>
</dd>
</dl>
<dl class="function">
@ -4828,6 +5007,491 @@ A single name or an array of GROUP names.</p>
</li>
</ul>
</dd>
</dl>
<h2><a id="#(SET_PLAYER)" >Type <code>SET_PLAYER</code></a></h2>
<h3>Field(s)</h3>
<dl class="function">
<dt>
<a id="#(SET_PLAYER).AddClientsByName" >
<strong>SET_PLAYER:AddClientsByName(AddClientNames)</strong>
</a>
</dt>
<dd>
<p>Add CLIENT(s) to SET_PLAYER.</p>
<h3>Parameter</h3>
<ul>
<li>
<p><code><em>#string AddClientNames </em></code>:
A single name or an array of CLIENT names.</p>
</li>
</ul>
<h3>Return value</h3>
<p>self</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(SET_PLAYER).AddInDatabase" >
<strong>SET_PLAYER:AddInDatabase(Event)</strong>
</a>
</dt>
<dd>
<p>Handles the Database to check on an event (birth) that the Object was added in the Database.</p>
<p>This is required, because sometimes the <em>DATABASE birth event gets called later than the SET</em>BASE birth event!</p>
<h3>Parameter</h3>
<ul>
<li>
<p><code><em><a href="Core.Event.html##(EVENTDATA)">Core.Event#EVENTDATA</a> Event </em></code>: </p>
</li>
</ul>
<h3>Return values</h3>
<ol>
<li>
<p><em>#string:</em>
The name of the CLIENT</p>
</li>
<li>
<p><em>#table:</em>
The CLIENT</p>
</li>
</ol>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(SET_PLAYER).FilterCategories" >
<strong>SET_PLAYER:FilterCategories(Categories)</strong>
</a>
</dt>
<dd>
<p>Builds a set of clients out of categories joined by players.</p>
<p>Possible current categories are plane, helicopter, ground, ship.</p>
<h3>Parameter</h3>
<ul>
<li>
<p><code><em>#string Categories </em></code>:
Can take the following values: "plane", "helicopter", "ground", "ship".</p>
</li>
</ul>
<h3>Return value</h3>
<p><em><a href="##(SET_PLAYER)">#SET_PLAYER</a>:</em>
self</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(SET_PLAYER).FilterCoalitions" >
<strong>SET_PLAYER:FilterCoalitions(Coalitions)</strong>
</a>
</dt>
<dd>
<p>Builds a set of clients of coalitions joined by specific players.</p>
<p>Possible current coalitions are red, blue and neutral.</p>
<h3>Parameter</h3>
<ul>
<li>
<p><code><em>#string Coalitions </em></code>:
Can take the following values: "red", "blue", "neutral".</p>
</li>
</ul>
<h3>Return value</h3>
<p><em><a href="##(SET_PLAYER)">#SET_PLAYER</a>:</em>
self</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(SET_PLAYER).FilterCountries" >
<strong>SET_PLAYER:FilterCountries(Countries)</strong>
</a>
</dt>
<dd>
<p>Builds a set of clients of defined countries.</p>
<p>Possible current countries are those known within DCS world.</p>
<h3>Parameter</h3>
<ul>
<li>
<p><code><em>#string Countries </em></code>:
Can take those country strings known within DCS world.</p>
</li>
</ul>
<h3>Return value</h3>
<p><em><a href="##(SET_PLAYER)">#SET_PLAYER</a>:</em>
self</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(SET_PLAYER).FilterPrefixes" >
<strong>SET_PLAYER:FilterPrefixes(Prefixes)</strong>
</a>
</dt>
<dd>
<p>Builds a set of clients of defined client prefixes.</p>
<p>All the clients starting with the given prefixes will be included within the set.</p>
<h3>Parameter</h3>
<ul>
<li>
<p><code><em>#string Prefixes </em></code>:
The prefix of which the client name starts with.</p>
</li>
</ul>
<h3>Return value</h3>
<p><em><a href="##(SET_PLAYER)">#SET_PLAYER</a>:</em>
self</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(SET_PLAYER).FilterStart" >
<strong>SET_PLAYER:FilterStart()</strong>
</a>
</dt>
<dd>
<p>Starts the filtering.</p>
<h3>Return value</h3>
<p><em><a href="##(SET_PLAYER)">#SET_PLAYER</a>:</em>
self</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(SET_PLAYER).FilterTypes" >
<strong>SET_PLAYER:FilterTypes(Types)</strong>
</a>
</dt>
<dd>
<p>Builds a set of clients of defined client types joined by players.</p>
<p>Possible current types are those types known within DCS world.</p>
<h3>Parameter</h3>
<ul>
<li>
<p><code><em>#string Types </em></code>:
Can take those type strings known within DCS world.</p>
</li>
</ul>
<h3>Return value</h3>
<p><em><a href="##(SET_PLAYER)">#SET_PLAYER</a>:</em>
self</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(SET_PLAYER).FindClient" >
<strong>SET_PLAYER:FindClient(PlayerName)</strong>
</a>
</dt>
<dd>
<p>Finds a Client based on the Player Name.</p>
<h3>Parameter</h3>
<ul>
<li>
<p><code><em>#string PlayerName </em></code>: </p>
</li>
</ul>
<h3>Return value</h3>
<p><em><a href="Wrapper.Client.html##(CLIENT)">Wrapper.Client#CLIENT</a>:</em>
The found Client.</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(SET_PLAYER).FindInDatabase" >
<strong>SET_PLAYER:FindInDatabase(Event)</strong>
</a>
</dt>
<dd>
<p>Handles the Database to check on any event that Object exists in the Database.</p>
<p>This is required, because sometimes the <em>DATABASE event gets called later than the SET</em>BASE event or vise versa!</p>
<h3>Parameter</h3>
<ul>
<li>
<p><code><em><a href="Core.Event.html##(EVENTDATA)">Core.Event#EVENTDATA</a> Event </em></code>: </p>
</li>
</ul>
<h3>Return values</h3>
<ol>
<li>
<p><em>#string:</em>
The name of the CLIENT</p>
</li>
<li>
<p><em>#table:</em>
The CLIENT</p>
</li>
</ol>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(SET_PLAYER).ForEachPlayer" >
<strong>SET_PLAYER:ForEachPlayer(IteratorFunction, ...)</strong>
</a>
</dt>
<dd>
<p>Iterate the SET_PLAYER and call an interator function for each <strong>alive</strong> CLIENT, providing the CLIENT and optional parameters.</p>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em>#function IteratorFunction </em></code>:
The function that will be called when there is an alive CLIENT in the SET_PLAYER. The function needs to accept a CLIENT parameter.</p>
</li>
<li>
<p><code><em> ... </em></code>: </p>
</li>
</ul>
<h3>Return value</h3>
<p><em><a href="##(SET_PLAYER)">#SET_PLAYER</a>:</em>
self</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(SET_PLAYER).ForEachPlayerInZone" >
<strong>SET_PLAYER:ForEachPlayerInZone(ZoneObject, IteratorFunction, ...)</strong>
</a>
</dt>
<dd>
<p>Iterate the SET_PLAYER and call an iterator function for each <strong>alive</strong> CLIENT presence completely in a <a href="Zone.html">Zone</a>, providing the CLIENT and optional parameters to the called function.</p>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em><a href="Core.Zone.html##(ZONE)">Core.Zone#ZONE</a> ZoneObject </em></code>:
The Zone to be tested for.</p>
</li>
<li>
<p><code><em>#function IteratorFunction </em></code>:
The function that will be called when there is an alive CLIENT in the SET_PLAYER. The function needs to accept a CLIENT parameter.</p>
</li>
<li>
<p><code><em> ... </em></code>: </p>
</li>
</ul>
<h3>Return value</h3>
<p><em><a href="##(SET_PLAYER)">#SET_PLAYER</a>:</em>
self</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(SET_PLAYER).ForEachPlayerNotInZone" >
<strong>SET_PLAYER:ForEachPlayerNotInZone(ZoneObject, IteratorFunction, ...)</strong>
</a>
</dt>
<dd>
<p>Iterate the SET_PLAYER and call an iterator function for each <strong>alive</strong> CLIENT presence not in a <a href="Zone.html">Zone</a>, providing the CLIENT and optional parameters to the called function.</p>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em><a href="Core.Zone.html##(ZONE)">Core.Zone#ZONE</a> ZoneObject </em></code>:
The Zone to be tested for.</p>
</li>
<li>
<p><code><em>#function IteratorFunction </em></code>:
The function that will be called when there is an alive CLIENT in the SET_PLAYER. The function needs to accept a CLIENT parameter.</p>
</li>
<li>
<p><code><em> ... </em></code>: </p>
</li>
</ul>
<h3>Return value</h3>
<p><em><a href="##(SET_PLAYER)">#SET_PLAYER</a>:</em>
self</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(SET_PLAYER).IsIncludeObject" >
<strong>SET_PLAYER:IsIncludeObject(MClient)</strong>
</a>
</dt>
<dd>
<h3>Parameter</h3>
<ul>
<li>
<p><code><em><a href="Wrapper.Client.html##(CLIENT)">Wrapper.Client#CLIENT</a> MClient </em></code>: </p>
</li>
</ul>
<h3>Return value</h3>
<p><em><a href="##(SET_PLAYER)">#SET_PLAYER</a>:</em>
self</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(SET_PLAYER).New" >
<strong>SET_PLAYER:New()</strong>
</a>
</dt>
<dd>
<p>Creates a new SET_PLAYER object, building a set of clients belonging to a coalitions, categories, countries, types or with defined prefix names.</p>
<h3>Return value</h3>
<p><em><a href="##(SET_PLAYER)">#SET_PLAYER</a>:</em></p>
<h3>Usage:</h3>
<pre class="example"><code>-- Define a new SET_PLAYER Object. This DBObject will contain a reference to all Clients.
DBObject = SET_PLAYER:New()</code></pre>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(SET_PLAYER).RemoveClientsByName" >
<strong>SET_PLAYER:RemoveClientsByName(RemoveClientNames)</strong>
</a>
</dt>
<dd>
<p>Remove CLIENT(s) from SET_PLAYER.</p>
<h3>Parameter</h3>
<ul>
<li>
<p><code><em><a href="Wrapper.Client.html##(CLIENT)">Wrapper.Client#CLIENT</a> RemoveClientNames </em></code>:
A single name or an array of CLIENT names.</p>
</li>
</ul>
<h3>Return value</h3>
<p>self</p>
</dd>
</dl>

View File

@ -1250,7 +1250,7 @@ true if metric.</p>
<dl class="function">
<dt>
<em></em>
<em>#boolean</em>
<a id="#(SETTINGS).Metric" >
<strong>SETTINGS.Metric</strong>
</a>

View File

@ -848,6 +848,12 @@ and any spaces before and after the resulting name are removed.</p>
<td class="name" nowrap="nowrap"><a href="##(SPAWN)._TranslateRotate">SPAWN:_TranslateRotate(SpawnIndex, SpawnRootX, SpawnRootY, SpawnX, SpawnY, SpawnAngle)</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(SPAWN).uncontrolled">SPAWN.uncontrolled</a></td>
<td class="summary">
</td>
</tr>
</table>
@ -2308,9 +2314,6 @@ The group that was spawned. You can use this group for further actions.</p>
<p> Don't repeat the group from Take-Off till Landing and back Take-Off by ReSpawning.</p>
</dd>
</dl>
<dl class="function">
@ -2885,9 +2888,6 @@ when nothing was spawned.</p>
<p> Overwrite unit names by default with group name.</p>
</dd>
</dl>
<dl class="function">
@ -3889,6 +3889,20 @@ True = Continue Scheduler</p>
</li>
</ul>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="#(SPAWN).uncontrolled" >
<strong>SPAWN.uncontrolled</strong>
</a>
</dt>
<dd>
</dd>
</dl>

View File

@ -490,6 +490,7 @@ ptional) The name of the new static.</p>
<dl class="function">
<dt>
<em>#number</em>
<a id="#(SPAWNSTATIC).SpawnIndex" >
<strong>SPAWNSTATIC.SpawnIndex</strong>
</a>

View File

@ -562,7 +562,7 @@ based on the tasking capabilities defined in <a href="Task.html##(TASK)">Task#TA
<dl class="function">
<dt>
<em></em>
<em><a href="Core.Cargo.html##(CARGO)">Core.Cargo#CARGO</a></em>
<a id="#(FSM_PROCESS).Cargo" >
<strong>FSM_PROCESS.Cargo</strong>
</a>
@ -576,6 +576,7 @@ based on the tasking capabilities defined in <a href="Task.html##(TASK)">Task#TA
<dl class="function">
<dt>
<em></em>
<a id="#(FSM_PROCESS).DeployZone" >
<strong>FSM_PROCESS.DeployZone</strong>
</a>
@ -640,7 +641,7 @@ based on the tasking capabilities defined in <a href="Task.html##(TASK)">Task#TA
<dl class="function">
<dt>
<em>#number</em>
<em></em>
<a id="#(TASK_CARGO).CargoLimit" >
<strong>TASK_CARGO.CargoLimit</strong>
</a>

View File

@ -317,6 +317,12 @@ which are excellent tools to be reused in an OO environment!.</p>
<td class="name" nowrap="nowrap"><a href="##(UTILS).MetersToNM">UTILS.MetersToNM(meters)</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(UTILS).MiphToMps">UTILS.MiphToMps(miph)</a></td>
<td class="summary">
</td>
</tr>
<tr>
@ -329,6 +335,12 @@ which are excellent tools to be reused in an OO environment!.</p>
<td class="name" nowrap="nowrap"><a href="##(UTILS).MpsToKnots">UTILS.MpsToKnots(mps)</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(UTILS).MpsToMiph">UTILS.MpsToMiph(mps)</a></td>
<td class="summary">
</td>
</tr>
<tr>
@ -910,6 +922,27 @@ is the name of the class to evaluate (can be either a string or a Moose class)</
<dl class="function">
<dt>
<a id="#(UTILS).MiphToMps" >
<strong>UTILS.MiphToMps(miph)</strong>
</a>
</dt>
<dd>
<h3>Parameter</h3>
<ul>
<li>
<p><code><em> miph </em></code>: </p>
</li>
</ul>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(UTILS).MpsToKmph" >
<strong>UTILS.MpsToKmph(mps)</strong>
</a>
@ -939,6 +972,27 @@ is the name of the class to evaluate (can be either a string or a Moose class)</
<h3>Parameter</h3>
<ul>
<li>
<p><code><em> mps </em></code>: </p>
</li>
</ul>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(UTILS).MpsToMiph" >
<strong>UTILS.MpsToMiph(mps)</strong>
</a>
</dt>
<dd>
<h3>Parameter</h3>
<ul>
<li>

View File

@ -528,7 +528,7 @@
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(ZONE_RADIUS).FlareZone">ZONE_RADIUS:FlareZone(FlareColor, Points, Azimuth)</a></td>
<td class="name" nowrap="nowrap"><a href="##(ZONE_RADIUS).FlareZone">ZONE_RADIUS:FlareZone(FlareColor, Points, Azimuth, AddHeight)</a></td>
<td class="summary">
<p>Flares the zone boundaries in a color.</p>
</td>
@ -678,7 +678,7 @@
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(ZONE_RADIUS).SmokeZone">ZONE_RADIUS:SmokeZone(SmokeColor, Points)</a></td>
<td class="name" nowrap="nowrap"><a href="##(ZONE_RADIUS).SmokeZone">ZONE_RADIUS:SmokeZone(SmokeColor, Points, AddHeight, AddOffSet, AngleOffset)</a></td>
<td class="summary">
<p>Smokes the zone boundaries in a color.</p>
</td>
@ -2063,7 +2063,7 @@ self</p>
<dt>
<a id="#(ZONE_RADIUS).FlareZone" >
<strong>ZONE_RADIUS:FlareZone(FlareColor, Points, Azimuth)</strong>
<strong>ZONE_RADIUS:FlareZone(FlareColor, Points, Azimuth, AddHeight)</strong>
</a>
</dt>
<dd>
@ -2089,6 +2089,12 @@ The flare color.</p>
<p><code><em><a href="Dcs.DCSTypes.html##(Azimuth)">Dcs.DCSTypes#Azimuth</a> Azimuth </em></code>:
(optional) Azimuth The azimuth of the flare.</p>
</li>
<li>
<p><code><em>#number AddHeight </em></code>:
(optional) The height to be added for the smoke.</p>
</li>
</ul>
<h3>Return value</h3>
@ -2712,7 +2718,7 @@ The new location of the zone.</p>
<dt>
<a id="#(ZONE_RADIUS).SmokeZone" >
<strong>ZONE_RADIUS:SmokeZone(SmokeColor, Points)</strong>
<strong>ZONE_RADIUS:SmokeZone(SmokeColor, Points, AddHeight, AddOffSet, AngleOffset)</strong>
</a>
</dt>
<dd>
@ -2732,6 +2738,23 @@ The smoke color.</p>
<p><code><em>#number Points </em></code>:
(optional) The amount of points in the circle.</p>
</li>
<li>
<p><code><em>#number AddHeight </em></code>:
(optional) The height to be added for the smoke.</p>
</li>
<li>
<p><code><em>#number AddOffSet </em></code>:
(optional) The angle to be added for the smoking start position.</p>
</li>
<li>
<p><code><em> AngleOffset </em></code>: </p>
</li>
</ul>
<h3>Return value</h3>

View File

@ -288,7 +288,7 @@ even when there are hardly any players in the mission.</strong></p>
<tr>
<td class="name" nowrap="nowrap"><a href="Base.html">Base</a></td>
<td class="summary">
<p><strong>Core</strong> -- BASE forms <strong>the basis of the MOOSE framework</strong>.</p>
<p><strong>Core</strong> -- VELOCITY models a speed, which can be expressed in various formats according the Settings.</p>
</td>
</tr>
<tr>