Documentation, and test mission video + optimizations

This commit is contained in:
FlightControl 2016-05-24 11:57:01 +02:00
parent d1b8eda700
commit 070c893940
68 changed files with 4190 additions and 2098 deletions

View File

@ -37,10 +37,11 @@
-- @return #Group.Category -- @return #Group.Category
--TODO check coalition.side --TODO check coalition.side
--- Returns coalition of the group.
--- Returns the coalition of the group.
-- @function [parent=#Group] getCoalition -- @function [parent=#Group] getCoalition
-- @param #Group self -- @param #Group self
-- @return #coalition.side -- @return DCSCoalitionObject#coalition.side
--- Returns the group's name. This is the same name assigned to the group in Mission Editor. --- Returns the group's name. This is the same name assigned to the group in Mission Editor.
-- @function [parent=#Group] getName -- @function [parent=#Group] getName

View File

@ -1,2 +1,8 @@
-- @type ModelTime -------------------------------------------------------------------------------
-- @module DCSTime
--- @type ModelTime
-- @extends #number
--- @type Time
-- @extends #number -- @extends #number

View File

@ -0,0 +1,8 @@
Include.File( "Group" )
Include.File( "Unit" )
local UnitAirPlaneAI = _DATABASE:FindUnit( "Airplane AI" )
UnitAirPlaneAI:FlareRed()

View File

@ -21,6 +21,17 @@
<li><a href="CARGO.html">CARGO</a></li> <li><a href="CARGO.html">CARGO</a></li>
<li><a href="CleanUp.html">CleanUp</a></li> <li><a href="CleanUp.html">CleanUp</a></li>
<li><a href="Client.html">Client</a></li> <li><a href="Client.html">Client</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="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li> <li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li>
<li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li> <li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li>
<li><a href="DESTROYGROUPSTASK.html">DESTROYGROUPSTASK</a></li> <li><a href="DESTROYGROUPSTASK.html">DESTROYGROUPSTASK</a></li>
@ -45,9 +56,12 @@
<li><a href="Sead.html">Sead</a></li> <li><a href="Sead.html">Sead</a></li>
<li><a href="Set.html">Set</a></li> <li><a href="Set.html">Set</a></li>
<li><a href="Spawn.html">Spawn</a></li> <li><a href="Spawn.html">Spawn</a></li>
<li><a href="StaticObject.html">StaticObject</a></li>
<li><a href="TASK.html">TASK</a></li> <li><a href="TASK.html">TASK</a></li>
<li><a href="Unit.html">Unit</a></li> <li><a href="Unit.html">Unit</a></li>
<li><a href="Zone.html">Zone</a></li> <li><a href="Zone.html">Zone</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> <li><a href="routines.html">routines</a></li>
</ul> </ul>
</div> </div>

View File

@ -21,6 +21,17 @@
<li>CARGO</li> <li>CARGO</li>
<li><a href="CleanUp.html">CleanUp</a></li> <li><a href="CleanUp.html">CleanUp</a></li>
<li><a href="Client.html">Client</a></li> <li><a href="Client.html">Client</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="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li> <li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li>
<li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li> <li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li>
<li><a href="DESTROYGROUPSTASK.html">DESTROYGROUPSTASK</a></li> <li><a href="DESTROYGROUPSTASK.html">DESTROYGROUPSTASK</a></li>
@ -45,9 +56,12 @@
<li><a href="Sead.html">Sead</a></li> <li><a href="Sead.html">Sead</a></li>
<li><a href="Set.html">Set</a></li> <li><a href="Set.html">Set</a></li>
<li><a href="Spawn.html">Spawn</a></li> <li><a href="Spawn.html">Spawn</a></li>
<li><a href="StaticObject.html">StaticObject</a></li>
<li><a href="TASK.html">TASK</a></li> <li><a href="TASK.html">TASK</a></li>
<li><a href="Unit.html">Unit</a></li> <li><a href="Unit.html">Unit</a></li>
<li><a href="Zone.html">Zone</a></li> <li><a href="Zone.html">Zone</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> <li><a href="routines.html">routines</a></li>
</ul> </ul>
</div> </div>

View File

@ -21,6 +21,17 @@
<li><a href="CARGO.html">CARGO</a></li> <li><a href="CARGO.html">CARGO</a></li>
<li>CleanUp</li> <li>CleanUp</li>
<li><a href="Client.html">Client</a></li> <li><a href="Client.html">Client</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="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li> <li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li>
<li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li> <li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li>
<li><a href="DESTROYGROUPSTASK.html">DESTROYGROUPSTASK</a></li> <li><a href="DESTROYGROUPSTASK.html">DESTROYGROUPSTASK</a></li>
@ -45,9 +56,12 @@
<li><a href="Sead.html">Sead</a></li> <li><a href="Sead.html">Sead</a></li>
<li><a href="Set.html">Set</a></li> <li><a href="Set.html">Set</a></li>
<li><a href="Spawn.html">Spawn</a></li> <li><a href="Spawn.html">Spawn</a></li>
<li><a href="StaticObject.html">StaticObject</a></li>
<li><a href="TASK.html">TASK</a></li> <li><a href="TASK.html">TASK</a></li>
<li><a href="Unit.html">Unit</a></li> <li><a href="Unit.html">Unit</a></li>
<li><a href="Zone.html">Zone</a></li> <li><a href="Zone.html">Zone</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> <li><a href="routines.html">routines</a></li>
</ul> </ul>
</div> </div>

View File

@ -21,6 +21,17 @@
<li><a href="CARGO.html">CARGO</a></li> <li><a href="CARGO.html">CARGO</a></li>
<li><a href="CleanUp.html">CleanUp</a></li> <li><a href="CleanUp.html">CleanUp</a></li>
<li>Client</li> <li>Client</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="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li> <li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li>
<li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li> <li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li>
<li><a href="DESTROYGROUPSTASK.html">DESTROYGROUPSTASK</a></li> <li><a href="DESTROYGROUPSTASK.html">DESTROYGROUPSTASK</a></li>
@ -45,9 +56,12 @@
<li><a href="Sead.html">Sead</a></li> <li><a href="Sead.html">Sead</a></li>
<li><a href="Set.html">Set</a></li> <li><a href="Set.html">Set</a></li>
<li><a href="Spawn.html">Spawn</a></li> <li><a href="Spawn.html">Spawn</a></li>
<li><a href="StaticObject.html">StaticObject</a></li>
<li><a href="TASK.html">TASK</a></li> <li><a href="TASK.html">TASK</a></li>
<li><a href="Unit.html">Unit</a></li> <li><a href="Unit.html">Unit</a></li>
<li><a href="Zone.html">Zone</a></li> <li><a href="Zone.html">Zone</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> <li><a href="routines.html">routines</a></li>
</ul> </ul>
</div> </div>
@ -60,18 +74,41 @@
<h1><a href="##(CLIENT)">#CLIENT</a> class</h1> <h1><a href="##(CLIENT)">#CLIENT</a> class</h1>
<p>Clients are those <strong>Units</strong> defined within the Mission Editor that have the skillset defined as <strong>Client</strong> or <strong>Player</strong>. <p>Clients are those <strong>Units</strong> defined within the Mission Editor that have the skillset defined as <strong>Client</strong> or <strong>Player</strong>.
Note that clients are NOT the same as Units, they are NOT necessarily alive.</p> Note that clients are NOT the same as Units, they are NOT necessarily alive.
The <a href="CLIENT.html">CLIENT</a> class is a wrapper class to handle the DCS Unit objects that have the skillset defined as <strong>Client</strong> or <strong>Player</strong>:</p>
<ul>
<li>Wraps the DCS Unit objects with skill level set to Player or Client.</li>
<li>Support all DCS Unit APIs.</li>
<li>Enhance with Unit specific APIs not in the DCS Group API set.</li>
<li>When player joins Unit, execute alive init logic.</li>
<li>Handles messages to players.</li>
<li>Manage the "state" of the DCS Unit.</li>
</ul>
<p>Clients are being used by the <a href="MISSION.html">MISSION</a> class to follow players and register their successes.</p> <p>Clients are being used by the <a href="MISSION.html">MISSION</a> class to follow players and register their successes.</p>
<h1>CLIENT construction methods:</h1> <h1>CLIENT reference methods</h1>
<p>Create a new CLIENT object with the <a href="##(CLIENT).New">CLIENT.New</a> method:</p> <p>For each DCS Unit having skill level Player or Client, a CLIENT wrapper object (instance) will be created within the _<a href="DATABASE.html">DATABASE</a> object.
This is done at the beginning of the mission (when the mission starts).</p>
<p>The CLIENT class does not contain a :New() method, rather it provides :Find() methods to retrieve the object reference
using the DCS Unit or the DCS UnitName.</p>
<p>Another thing to know is that CLIENT objects do not "contain" the DCS Unit object.
The CLIENT methods will reference the DCS Unit object by name when it is needed during API execution.
If the DCS Unit object does not exist or is nil, the CLIENT methods will return nil and log an exception in the DCS.log file.</p>
<p>The CLIENT class provides the following functions to retrieve quickly the relevant CLIENT instance:</p>
<ul> <ul>
<li><a href="##(CLIENT).New">CLIENT.New</a>: Creates a new CLIENT object taking the name of the <strong>DCSUnit</strong> that is a client as defined within the mission editor. <li><a href="##(CLIENT).Find">CLIENT.Find</a>(): Find a CLIENT instance from the _DATABASE object using a DCS Unit object.</li>
</li> <li><a href="##(CLIENT).FindByName">CLIENT.FindByName</a>(): Find a CLIENT instance from the _DATABASE object using a DCS Unit name.</li>
</ul> </ul>
<p>IMPORTANT: ONE SHOULD NEVER SANATIZE these CLIENT OBJECT REFERENCES! (make the CLIENT object references nil).</p>
<h2>Global(s)</h2> <h2>Global(s)</h2>
<table class="function_list"> <table class="function_list">
<tr> <tr>
@ -93,12 +130,6 @@ Note that clients are NOT the same as Units, they are NOT necessarily alive.</p>
<td class="name" nowrap="nowrap"><a href="##(CLIENT).Alive">CLIENT:Alive(CallBack, ...)</a></td> <td class="name" nowrap="nowrap"><a href="##(CLIENT).Alive">CLIENT:Alive(CallBack, ...)</a></td>
<td class="summary"> <td class="summary">
<p>Checks for a client alive event and calls a function on a continuous basis.</p> <p>Checks for a client alive event and calls a function on a continuous basis.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(CLIENT).AliveCheckScheduler">CLIENT.AliveCheckScheduler</a></td>
<td class="summary">
</td> </td>
</tr> </tr>
<tr> <tr>
@ -171,6 +202,18 @@ Note that clients are NOT the same as Units, they are NOT necessarily alive.</p>
<td class="name" nowrap="nowrap"><a href="##(CLIENT).ClientTransport">CLIENT.ClientTransport</a></td> <td class="name" nowrap="nowrap"><a href="##(CLIENT).ClientTransport">CLIENT.ClientTransport</a></td>
<td class="summary"> <td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(CLIENT).Find">CLIENT:Find(ClientName, ClientBriefing, DCSUnit)</a></td>
<td class="summary">
<p>Finds a CLIENT from the _DATABASE using the relevant DCS Unit.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(CLIENT).FindByName">CLIENT:FindByName(ClientName, ClientBriefing)</a></td>
<td class="summary">
<p>Finds a CLIENT from the _DATABASE using the relevant Client Unit Name.</p>
</td> </td>
</tr> </tr>
<tr> <tr>
@ -237,24 +280,12 @@ Note that clients are NOT the same as Units, they are NOT necessarily alive.</p>
<td class="name" nowrap="nowrap"><a href="##(CLIENT).Message">CLIENT:Message(Message, MessageDuration, MessageId, MessageCategory, MessageInterval)</a></td> <td class="name" nowrap="nowrap"><a href="##(CLIENT).Message">CLIENT:Message(Message, MessageDuration, MessageId, MessageCategory, MessageInterval)</a></td>
<td class="summary"> <td class="summary">
<p>The main message driver for the CLIENT.</p> <p>The main message driver for the CLIENT.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(CLIENT).MessageSwitch">CLIENT.MessageSwitch</a></td>
<td class="summary">
</td> </td>
</tr> </tr>
<tr> <tr>
<td class="name" nowrap="nowrap"><a href="##(CLIENT).Messages">CLIENT.Messages</a></td> <td class="name" nowrap="nowrap"><a href="##(CLIENT).Messages">CLIENT.Messages</a></td>
<td class="summary"> <td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(CLIENT).New">CLIENT:New(ClientName, ClientBriefing)</a></td>
<td class="summary">
<p>Use this method to register new Clients within a mission.</p>
</td> </td>
</tr> </tr>
<tr> <tr>
@ -273,6 +304,12 @@ Note that clients are NOT the same as Units, they are NOT necessarily alive.</p>
<td class="name" nowrap="nowrap"><a href="##(CLIENT).Reset">CLIENT:Reset(ClientName)</a></td> <td class="name" nowrap="nowrap"><a href="##(CLIENT).Reset">CLIENT:Reset(ClientName)</a></td>
<td class="summary"> <td class="summary">
<p>Resets a CLIENT.</p> <p>Resets a CLIENT.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(CLIENT).ShowBriefing">CLIENT:ShowBriefing()</a></td>
<td class="summary">
<p>Show the briefing of the MISSION to the CLIENT.</p>
</td> </td>
</tr> </tr>
<tr> <tr>
@ -357,8 +394,8 @@ is the text defining the Mission briefing.</p>
</ul> </ul>
<h3>Return value</h3> <h3>Return value</h3>
<p><em><a href="##(CLIENT)">#CLIENT</a>:</em></p> <p><em><a href="##(CLIENT)">#CLIENT</a>:</em>
self</p>
</dd> </dd>
</dl> </dl>
@ -392,20 +429,6 @@ Function.</p>
<p><em><a href="##(CLIENT)">#CLIENT</a>:</em></p> <p><em><a href="##(CLIENT)">#CLIENT</a>:</em></p>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="#(CLIENT).AliveCheckScheduler" >
<strong>CLIENT.AliveCheckScheduler</strong>
</a>
</dt>
<dd>
</dd> </dd>
</dl> </dl>
<dl class="function"> <dl class="function">
@ -536,7 +559,6 @@ Function.</p>
<dl class="function"> <dl class="function">
<dt> <dt>
<em></em>
<a id="#(CLIENT).ClientName" > <a id="#(CLIENT).ClientName" >
<strong>CLIENT.ClientName</strong> <strong>CLIENT.ClientName</strong>
</a> </a>
@ -573,6 +595,100 @@ Function.</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(CLIENT).Find" >
<strong>CLIENT:Find(ClientName, ClientBriefing, DCSUnit)</strong>
</a>
</dt>
<dd>
<p>Finds a CLIENT from the _DATABASE using the relevant DCS Unit.</p>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em>#string ClientName </em></code>:
Name of the DCS <strong>Unit</strong> as defined within the Mission Editor.</p>
</li>
<li>
<p><code><em>#string ClientBriefing </em></code>:
Text that describes the briefing of the mission when a Player logs into the Client.</p>
</li>
<li>
<p><code><em> DCSUnit </em></code>: </p>
</li>
</ul>
<h3>Return value</h3>
<p><em><a href="##(CLIENT)">#CLIENT</a>:</em></p>
<h3>Usage:</h3>
<pre class="example"><code>-- Create new Clients.
local Mission = MISSIONSCHEDULER.AddMission( 'Russia Transport Troops SA-6', 'Operational', 'Transport troops from the control center to one of the SA-6 SAM sites to activate their operation.', 'Russia' )
Mission:AddGoal( DeploySA6TroopsGoal )
Mission:AddClient( CLIENT:FindByName( 'RU MI-8MTV2*HOT-Deploy Troops 1' ):Transport() )
Mission:AddClient( CLIENT:FindByName( 'RU MI-8MTV2*RAMP-Deploy Troops 3' ):Transport() )
Mission:AddClient( CLIENT:FindByName( 'RU MI-8MTV2*HOT-Deploy Troops 2' ):Transport() )
Mission:AddClient( CLIENT:FindByName( 'RU MI-8MTV2*RAMP-Deploy Troops 4' ):Transport() )</code></pre>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(CLIENT).FindByName" >
<strong>CLIENT:FindByName(ClientName, ClientBriefing)</strong>
</a>
</dt>
<dd>
<p>Finds a CLIENT from the _DATABASE using the relevant Client Unit Name.</p>
<p>As an optional parameter, a briefing text can be given also.</p>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em>#string ClientName </em></code>:
Name of the DCS <strong>Unit</strong> as defined within the Mission Editor.</p>
</li>
<li>
<p><code><em>#string ClientBriefing </em></code>:
Text that describes the briefing of the mission when a Player logs into the Client.</p>
</li>
</ul>
<h3>Return value</h3>
<p><em><a href="##(CLIENT)">#CLIENT</a>:</em></p>
<h3>Usage:</h3>
<pre class="example"><code>-- Create new Clients.
local Mission = MISSIONSCHEDULER.AddMission( 'Russia Transport Troops SA-6', 'Operational', 'Transport troops from the control center to one of the SA-6 SAM sites to activate their operation.', 'Russia' )
Mission:AddGoal( DeploySA6TroopsGoal )
Mission:AddClient( CLIENT:FindByName( 'RU MI-8MTV2*HOT-Deploy Troops 1' ):Transport() )
Mission:AddClient( CLIENT:FindByName( 'RU MI-8MTV2*RAMP-Deploy Troops 3' ):Transport() )
Mission:AddClient( CLIENT:FindByName( 'RU MI-8MTV2*HOT-Deploy Troops 2' ):Transport() )
Mission:AddClient( CLIENT:FindByName( 'RU MI-8MTV2*RAMP-Deploy Troops 4' ):Transport() )</code></pre>
</dd> </dd>
</dl> </dl>
<dl class="function"> <dl class="function">
@ -794,20 +910,6 @@ is the interval in seconds between the display of the <a href="Message.html##(ME
</li> </li>
</ul> </ul>
</dd>
</dl>
<dl class="function">
<dt>
<em>#boolean</em>
<a id="#(CLIENT).MessageSwitch" >
<strong>CLIENT.MessageSwitch</strong>
</a>
</dt>
<dd>
</dd> </dd>
</dl> </dl>
<dl class="function"> <dl class="function">
@ -822,49 +924,6 @@ is the interval in seconds between the display of the <a href="Message.html##(ME
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(CLIENT).New" >
<strong>CLIENT:New(ClientName, ClientBriefing)</strong>
</a>
</dt>
<dd>
<p>Use this method to register new Clients within a mission.</p>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em>#string ClientName </em></code>:
Name of the DCS <strong>Unit</strong> as defined within the Mission Editor.</p>
</li>
<li>
<p><code><em>#string ClientBriefing </em></code>:
Text that describes the briefing of the mission when a Player logs into the Client.</p>
</li>
</ul>
<h3>Return value</h3>
<p><em><a href="##(CLIENT)">#CLIENT</a>:</em></p>
<h3>Usage:</h3>
<pre class="example"><code>-- Create new Clients.
local Mission = MISSIONSCHEDULER.AddMission( 'Russia Transport Troops SA-6', 'Operational', 'Transport troops from the control center to one of the SA-6 SAM sites to activate their operation.', 'Russia' )
Mission:AddGoal( DeploySA6TroopsGoal )
Mission:AddClient( CLIENT:New( 'RU MI-8MTV2*HOT-Deploy Troops 1' ):Transport() )
Mission:AddClient( CLIENT:New( 'RU MI-8MTV2*RAMP-Deploy Troops 3' ):Transport() )
Mission:AddClient( CLIENT:New( 'RU MI-8MTV2*HOT-Deploy Troops 2' ):Transport() )
Mission:AddClient( CLIENT:New( 'RU MI-8MTV2*RAMP-Deploy Troops 4' ):Transport() )</code></pre>
</dd> </dd>
</dl> </dl>
<dl class="function"> <dl class="function">
@ -927,6 +986,24 @@ Name of the Group as defined within the Mission Editor. The Group must have a Un
<dl class="function"> <dl class="function">
<dt> <dt>
<a id="#(CLIENT).ShowBriefing" >
<strong>CLIENT:ShowBriefing()</strong>
</a>
</dt>
<dd>
<p>Show the briefing of the MISSION to the CLIENT.</p>
<h3>Return value</h3>
<p><em><a href="##(CLIENT)">#CLIENT</a>:</em>
self</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(CLIENT).ShowCargo" > <a id="#(CLIENT).ShowCargo" >
<strong>CLIENT:ShowCargo()</strong> <strong>CLIENT:ShowCargo()</strong>
</a> </a>

View File

@ -46,12 +46,15 @@
<li><a href="MOVEMENT.html">MOVEMENT</a></li> <li><a href="MOVEMENT.html">MOVEMENT</a></li>
<li><a href="Menu.html">Menu</a></li> <li><a href="Menu.html">Menu</a></li>
<li><a href="Message.html">Message</a></li> <li><a href="Message.html">Message</a></li>
<li><a href="MissileTrainer.html">MissileTrainer</a></li>
<li><a href="NOTASK.html">NOTASK</a></li> <li><a href="NOTASK.html">NOTASK</a></li>
<li><a href="PICKUPTASK.html">PICKUPTASK</a></li> <li><a href="PICKUPTASK.html">PICKUPTASK</a></li>
<li><a href="ROUTETASK.html">ROUTETASK</a></li> <li><a href="ROUTETASK.html">ROUTETASK</a></li>
<li><a href="STAGE.html">STAGE</a></li> <li><a href="STAGE.html">STAGE</a></li>
<li><a href="Scheduler.html">Scheduler</a></li>
<li><a href="Scoring.html">Scoring</a></li> <li><a href="Scoring.html">Scoring</a></li>
<li><a href="Sead.html">Sead</a></li> <li><a href="Sead.html">Sead</a></li>
<li><a href="Set.html">Set</a></li>
<li><a href="Spawn.html">Spawn</a></li> <li><a href="Spawn.html">Spawn</a></li>
<li><a href="StaticObject.html">StaticObject</a></li> <li><a href="StaticObject.html">StaticObject</a></li>
<li><a href="TASK.html">TASK</a></li> <li><a href="TASK.html">TASK</a></li>

View File

@ -46,12 +46,15 @@
<li><a href="MOVEMENT.html">MOVEMENT</a></li> <li><a href="MOVEMENT.html">MOVEMENT</a></li>
<li><a href="Menu.html">Menu</a></li> <li><a href="Menu.html">Menu</a></li>
<li><a href="Message.html">Message</a></li> <li><a href="Message.html">Message</a></li>
<li><a href="MissileTrainer.html">MissileTrainer</a></li>
<li><a href="NOTASK.html">NOTASK</a></li> <li><a href="NOTASK.html">NOTASK</a></li>
<li><a href="PICKUPTASK.html">PICKUPTASK</a></li> <li><a href="PICKUPTASK.html">PICKUPTASK</a></li>
<li><a href="ROUTETASK.html">ROUTETASK</a></li> <li><a href="ROUTETASK.html">ROUTETASK</a></li>
<li><a href="STAGE.html">STAGE</a></li> <li><a href="STAGE.html">STAGE</a></li>
<li><a href="Scheduler.html">Scheduler</a></li>
<li><a href="Scoring.html">Scoring</a></li> <li><a href="Scoring.html">Scoring</a></li>
<li><a href="Sead.html">Sead</a></li> <li><a href="Sead.html">Sead</a></li>
<li><a href="Set.html">Set</a></li>
<li><a href="Spawn.html">Spawn</a></li> <li><a href="Spawn.html">Spawn</a></li>
<li><a href="StaticObject.html">StaticObject</a></li> <li><a href="StaticObject.html">StaticObject</a></li>
<li><a href="TASK.html">TASK</a></li> <li><a href="TASK.html">TASK</a></li>

View File

@ -46,12 +46,15 @@
<li><a href="MOVEMENT.html">MOVEMENT</a></li> <li><a href="MOVEMENT.html">MOVEMENT</a></li>
<li><a href="Menu.html">Menu</a></li> <li><a href="Menu.html">Menu</a></li>
<li><a href="Message.html">Message</a></li> <li><a href="Message.html">Message</a></li>
<li><a href="MissileTrainer.html">MissileTrainer</a></li>
<li><a href="NOTASK.html">NOTASK</a></li> <li><a href="NOTASK.html">NOTASK</a></li>
<li><a href="PICKUPTASK.html">PICKUPTASK</a></li> <li><a href="PICKUPTASK.html">PICKUPTASK</a></li>
<li><a href="ROUTETASK.html">ROUTETASK</a></li> <li><a href="ROUTETASK.html">ROUTETASK</a></li>
<li><a href="STAGE.html">STAGE</a></li> <li><a href="STAGE.html">STAGE</a></li>
<li><a href="Scheduler.html">Scheduler</a></li>
<li><a href="Scoring.html">Scoring</a></li> <li><a href="Scoring.html">Scoring</a></li>
<li><a href="Sead.html">Sead</a></li> <li><a href="Sead.html">Sead</a></li>
<li><a href="Set.html">Set</a></li>
<li><a href="Spawn.html">Spawn</a></li> <li><a href="Spawn.html">Spawn</a></li>
<li><a href="StaticObject.html">StaticObject</a></li> <li><a href="StaticObject.html">StaticObject</a></li>
<li><a href="TASK.html">TASK</a></li> <li><a href="TASK.html">TASK</a></li>

View File

@ -46,12 +46,15 @@
<li><a href="MOVEMENT.html">MOVEMENT</a></li> <li><a href="MOVEMENT.html">MOVEMENT</a></li>
<li><a href="Menu.html">Menu</a></li> <li><a href="Menu.html">Menu</a></li>
<li><a href="Message.html">Message</a></li> <li><a href="Message.html">Message</a></li>
<li><a href="MissileTrainer.html">MissileTrainer</a></li>
<li><a href="NOTASK.html">NOTASK</a></li> <li><a href="NOTASK.html">NOTASK</a></li>
<li><a href="PICKUPTASK.html">PICKUPTASK</a></li> <li><a href="PICKUPTASK.html">PICKUPTASK</a></li>
<li><a href="ROUTETASK.html">ROUTETASK</a></li> <li><a href="ROUTETASK.html">ROUTETASK</a></li>
<li><a href="STAGE.html">STAGE</a></li> <li><a href="STAGE.html">STAGE</a></li>
<li><a href="Scheduler.html">Scheduler</a></li>
<li><a href="Scoring.html">Scoring</a></li> <li><a href="Scoring.html">Scoring</a></li>
<li><a href="Sead.html">Sead</a></li> <li><a href="Sead.html">Sead</a></li>
<li><a href="Set.html">Set</a></li>
<li><a href="Spawn.html">Spawn</a></li> <li><a href="Spawn.html">Spawn</a></li>
<li><a href="StaticObject.html">StaticObject</a></li> <li><a href="StaticObject.html">StaticObject</a></li>
<li><a href="TASK.html">TASK</a></li> <li><a href="TASK.html">TASK</a></li>

View File

@ -46,12 +46,15 @@
<li><a href="MOVEMENT.html">MOVEMENT</a></li> <li><a href="MOVEMENT.html">MOVEMENT</a></li>
<li><a href="Menu.html">Menu</a></li> <li><a href="Menu.html">Menu</a></li>
<li><a href="Message.html">Message</a></li> <li><a href="Message.html">Message</a></li>
<li><a href="MissileTrainer.html">MissileTrainer</a></li>
<li><a href="NOTASK.html">NOTASK</a></li> <li><a href="NOTASK.html">NOTASK</a></li>
<li><a href="PICKUPTASK.html">PICKUPTASK</a></li> <li><a href="PICKUPTASK.html">PICKUPTASK</a></li>
<li><a href="ROUTETASK.html">ROUTETASK</a></li> <li><a href="ROUTETASK.html">ROUTETASK</a></li>
<li><a href="STAGE.html">STAGE</a></li> <li><a href="STAGE.html">STAGE</a></li>
<li><a href="Scheduler.html">Scheduler</a></li>
<li><a href="Scoring.html">Scoring</a></li> <li><a href="Scoring.html">Scoring</a></li>
<li><a href="Sead.html">Sead</a></li> <li><a href="Sead.html">Sead</a></li>
<li><a href="Set.html">Set</a></li>
<li><a href="Spawn.html">Spawn</a></li> <li><a href="Spawn.html">Spawn</a></li>
<li><a href="StaticObject.html">StaticObject</a></li> <li><a href="StaticObject.html">StaticObject</a></li>
<li><a href="TASK.html">TASK</a></li> <li><a href="TASK.html">TASK</a></li>
@ -106,6 +109,12 @@
<td class="name" nowrap="nowrap"><a href="##(Group).getCategory">Group:getCategory()</a></td> <td class="name" nowrap="nowrap"><a href="##(Group).getCategory">Group:getCategory()</a></td>
<td class="summary"> <td class="summary">
<p>Returns category of the group.</p> <p>Returns category of the group.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(Group).getCoalition">Group:getCoalition()</a></td>
<td class="summary">
<p>Returns the coalition of the group.</p>
</td> </td>
</tr> </tr>
<tr> <tr>
@ -291,6 +300,24 @@
<p><em><a href="##(Group.Category)">#Group.Category</a>:</em></p> <p><em><a href="##(Group.Category)">#Group.Category</a>:</em></p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(Group).getCoalition" >
<strong>Group:getCoalition()</strong>
</a>
</dt>
<dd>
<p>Returns the coalition of the group.</p>
<h3>Return value</h3>
<p><em><a href="DCSCoalitionObject.html##(coalition.side)">DCSCoalitionObject#coalition.side</a>:</em></p>
</dd> </dd>
</dl> </dl>
<dl class="function"> <dl class="function">

View File

@ -46,12 +46,15 @@
<li><a href="MOVEMENT.html">MOVEMENT</a></li> <li><a href="MOVEMENT.html">MOVEMENT</a></li>
<li><a href="Menu.html">Menu</a></li> <li><a href="Menu.html">Menu</a></li>
<li><a href="Message.html">Message</a></li> <li><a href="Message.html">Message</a></li>
<li><a href="MissileTrainer.html">MissileTrainer</a></li>
<li><a href="NOTASK.html">NOTASK</a></li> <li><a href="NOTASK.html">NOTASK</a></li>
<li><a href="PICKUPTASK.html">PICKUPTASK</a></li> <li><a href="PICKUPTASK.html">PICKUPTASK</a></li>
<li><a href="ROUTETASK.html">ROUTETASK</a></li> <li><a href="ROUTETASK.html">ROUTETASK</a></li>
<li><a href="STAGE.html">STAGE</a></li> <li><a href="STAGE.html">STAGE</a></li>
<li><a href="Scheduler.html">Scheduler</a></li>
<li><a href="Scoring.html">Scoring</a></li> <li><a href="Scoring.html">Scoring</a></li>
<li><a href="Sead.html">Sead</a></li> <li><a href="Sead.html">Sead</a></li>
<li><a href="Set.html">Set</a></li>
<li><a href="Spawn.html">Spawn</a></li> <li><a href="Spawn.html">Spawn</a></li>
<li><a href="StaticObject.html">StaticObject</a></li> <li><a href="StaticObject.html">StaticObject</a></li>
<li><a href="TASK.html">TASK</a></li> <li><a href="TASK.html">TASK</a></li>

View File

@ -46,12 +46,15 @@
<li><a href="MOVEMENT.html">MOVEMENT</a></li> <li><a href="MOVEMENT.html">MOVEMENT</a></li>
<li><a href="Menu.html">Menu</a></li> <li><a href="Menu.html">Menu</a></li>
<li><a href="Message.html">Message</a></li> <li><a href="Message.html">Message</a></li>
<li><a href="MissileTrainer.html">MissileTrainer</a></li>
<li><a href="NOTASK.html">NOTASK</a></li> <li><a href="NOTASK.html">NOTASK</a></li>
<li><a href="PICKUPTASK.html">PICKUPTASK</a></li> <li><a href="PICKUPTASK.html">PICKUPTASK</a></li>
<li><a href="ROUTETASK.html">ROUTETASK</a></li> <li><a href="ROUTETASK.html">ROUTETASK</a></li>
<li><a href="STAGE.html">STAGE</a></li> <li><a href="STAGE.html">STAGE</a></li>
<li><a href="Scheduler.html">Scheduler</a></li>
<li><a href="Scoring.html">Scoring</a></li> <li><a href="Scoring.html">Scoring</a></li>
<li><a href="Sead.html">Sead</a></li> <li><a href="Sead.html">Sead</a></li>
<li><a href="Set.html">Set</a></li>
<li><a href="Spawn.html">Spawn</a></li> <li><a href="Spawn.html">Spawn</a></li>
<li><a href="StaticObject.html">StaticObject</a></li> <li><a href="StaticObject.html">StaticObject</a></li>
<li><a href="TASK.html">TASK</a></li> <li><a href="TASK.html">TASK</a></li>

View File

@ -46,12 +46,15 @@
<li><a href="MOVEMENT.html">MOVEMENT</a></li> <li><a href="MOVEMENT.html">MOVEMENT</a></li>
<li><a href="Menu.html">Menu</a></li> <li><a href="Menu.html">Menu</a></li>
<li><a href="Message.html">Message</a></li> <li><a href="Message.html">Message</a></li>
<li><a href="MissileTrainer.html">MissileTrainer</a></li>
<li><a href="NOTASK.html">NOTASK</a></li> <li><a href="NOTASK.html">NOTASK</a></li>
<li><a href="PICKUPTASK.html">PICKUPTASK</a></li> <li><a href="PICKUPTASK.html">PICKUPTASK</a></li>
<li><a href="ROUTETASK.html">ROUTETASK</a></li> <li><a href="ROUTETASK.html">ROUTETASK</a></li>
<li><a href="STAGE.html">STAGE</a></li> <li><a href="STAGE.html">STAGE</a></li>
<li><a href="Scheduler.html">Scheduler</a></li>
<li><a href="Scoring.html">Scoring</a></li> <li><a href="Scoring.html">Scoring</a></li>
<li><a href="Sead.html">Sead</a></li> <li><a href="Sead.html">Sead</a></li>
<li><a href="Set.html">Set</a></li>
<li><a href="Spawn.html">Spawn</a></li> <li><a href="Spawn.html">Spawn</a></li>
<li><a href="StaticObject.html">StaticObject</a></li> <li><a href="StaticObject.html">StaticObject</a></li>
<li><a href="TASK.html">TASK</a></li> <li><a href="TASK.html">TASK</a></li>

View File

@ -46,12 +46,15 @@
<li><a href="MOVEMENT.html">MOVEMENT</a></li> <li><a href="MOVEMENT.html">MOVEMENT</a></li>
<li><a href="Menu.html">Menu</a></li> <li><a href="Menu.html">Menu</a></li>
<li><a href="Message.html">Message</a></li> <li><a href="Message.html">Message</a></li>
<li><a href="MissileTrainer.html">MissileTrainer</a></li>
<li><a href="NOTASK.html">NOTASK</a></li> <li><a href="NOTASK.html">NOTASK</a></li>
<li><a href="PICKUPTASK.html">PICKUPTASK</a></li> <li><a href="PICKUPTASK.html">PICKUPTASK</a></li>
<li><a href="ROUTETASK.html">ROUTETASK</a></li> <li><a href="ROUTETASK.html">ROUTETASK</a></li>
<li><a href="STAGE.html">STAGE</a></li> <li><a href="STAGE.html">STAGE</a></li>
<li><a href="Scheduler.html">Scheduler</a></li>
<li><a href="Scoring.html">Scoring</a></li> <li><a href="Scoring.html">Scoring</a></li>
<li><a href="Sead.html">Sead</a></li> <li><a href="Sead.html">Sead</a></li>
<li><a href="Set.html">Set</a></li>
<li><a href="Spawn.html">Spawn</a></li> <li><a href="Spawn.html">Spawn</a></li>
<li><a href="StaticObject.html">StaticObject</a></li> <li><a href="StaticObject.html">StaticObject</a></li>
<li><a href="TASK.html">TASK</a></li> <li><a href="TASK.html">TASK</a></li>

View File

@ -46,12 +46,15 @@
<li><a href="MOVEMENT.html">MOVEMENT</a></li> <li><a href="MOVEMENT.html">MOVEMENT</a></li>
<li><a href="Menu.html">Menu</a></li> <li><a href="Menu.html">Menu</a></li>
<li><a href="Message.html">Message</a></li> <li><a href="Message.html">Message</a></li>
<li><a href="MissileTrainer.html">MissileTrainer</a></li>
<li><a href="NOTASK.html">NOTASK</a></li> <li><a href="NOTASK.html">NOTASK</a></li>
<li><a href="PICKUPTASK.html">PICKUPTASK</a></li> <li><a href="PICKUPTASK.html">PICKUPTASK</a></li>
<li><a href="ROUTETASK.html">ROUTETASK</a></li> <li><a href="ROUTETASK.html">ROUTETASK</a></li>
<li><a href="STAGE.html">STAGE</a></li> <li><a href="STAGE.html">STAGE</a></li>
<li><a href="Scheduler.html">Scheduler</a></li>
<li><a href="Scoring.html">Scoring</a></li> <li><a href="Scoring.html">Scoring</a></li>
<li><a href="Sead.html">Sead</a></li> <li><a href="Sead.html">Sead</a></li>
<li><a href="Set.html">Set</a></li>
<li><a href="Spawn.html">Spawn</a></li> <li><a href="Spawn.html">Spawn</a></li>
<li><a href="StaticObject.html">StaticObject</a></li> <li><a href="StaticObject.html">StaticObject</a></li>
<li><a href="TASK.html">TASK</a></li> <li><a href="TASK.html">TASK</a></li>

View File

@ -46,12 +46,15 @@
<li><a href="MOVEMENT.html">MOVEMENT</a></li> <li><a href="MOVEMENT.html">MOVEMENT</a></li>
<li><a href="Menu.html">Menu</a></li> <li><a href="Menu.html">Menu</a></li>
<li><a href="Message.html">Message</a></li> <li><a href="Message.html">Message</a></li>
<li><a href="MissileTrainer.html">MissileTrainer</a></li>
<li><a href="NOTASK.html">NOTASK</a></li> <li><a href="NOTASK.html">NOTASK</a></li>
<li><a href="PICKUPTASK.html">PICKUPTASK</a></li> <li><a href="PICKUPTASK.html">PICKUPTASK</a></li>
<li><a href="ROUTETASK.html">ROUTETASK</a></li> <li><a href="ROUTETASK.html">ROUTETASK</a></li>
<li><a href="STAGE.html">STAGE</a></li> <li><a href="STAGE.html">STAGE</a></li>
<li><a href="Scheduler.html">Scheduler</a></li>
<li><a href="Scoring.html">Scoring</a></li> <li><a href="Scoring.html">Scoring</a></li>
<li><a href="Sead.html">Sead</a></li> <li><a href="Sead.html">Sead</a></li>
<li><a href="Set.html">Set</a></li>
<li><a href="Spawn.html">Spawn</a></li> <li><a href="Spawn.html">Spawn</a></li>
<li><a href="StaticObject.html">StaticObject</a></li> <li><a href="StaticObject.html">StaticObject</a></li>
<li><a href="TASK.html">TASK</a></li> <li><a href="TASK.html">TASK</a></li>

View File

@ -21,6 +21,17 @@
<li><a href="CARGO.html">CARGO</a></li> <li><a href="CARGO.html">CARGO</a></li>
<li><a href="CleanUp.html">CleanUp</a></li> <li><a href="CleanUp.html">CleanUp</a></li>
<li><a href="Client.html">Client</a></li> <li><a href="Client.html">Client</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="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li>DEPLOYTASK</li> <li>DEPLOYTASK</li>
<li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li> <li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li>
<li><a href="DESTROYGROUPSTASK.html">DESTROYGROUPSTASK</a></li> <li><a href="DESTROYGROUPSTASK.html">DESTROYGROUPSTASK</a></li>
@ -45,9 +56,12 @@
<li><a href="Sead.html">Sead</a></li> <li><a href="Sead.html">Sead</a></li>
<li><a href="Set.html">Set</a></li> <li><a href="Set.html">Set</a></li>
<li><a href="Spawn.html">Spawn</a></li> <li><a href="Spawn.html">Spawn</a></li>
<li><a href="StaticObject.html">StaticObject</a></li>
<li><a href="TASK.html">TASK</a></li> <li><a href="TASK.html">TASK</a></li>
<li><a href="Unit.html">Unit</a></li> <li><a href="Unit.html">Unit</a></li>
<li><a href="Zone.html">Zone</a></li> <li><a href="Zone.html">Zone</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> <li><a href="routines.html">routines</a></li>
</ul> </ul>
</div> </div>

View File

@ -21,6 +21,17 @@
<li><a href="CARGO.html">CARGO</a></li> <li><a href="CARGO.html">CARGO</a></li>
<li><a href="CleanUp.html">CleanUp</a></li> <li><a href="CleanUp.html">CleanUp</a></li>
<li><a href="Client.html">Client</a></li> <li><a href="Client.html">Client</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="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li> <li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li>
<li>DESTROYBASETASK</li> <li>DESTROYBASETASK</li>
<li><a href="DESTROYGROUPSTASK.html">DESTROYGROUPSTASK</a></li> <li><a href="DESTROYGROUPSTASK.html">DESTROYGROUPSTASK</a></li>
@ -45,9 +56,12 @@
<li><a href="Sead.html">Sead</a></li> <li><a href="Sead.html">Sead</a></li>
<li><a href="Set.html">Set</a></li> <li><a href="Set.html">Set</a></li>
<li><a href="Spawn.html">Spawn</a></li> <li><a href="Spawn.html">Spawn</a></li>
<li><a href="StaticObject.html">StaticObject</a></li>
<li><a href="TASK.html">TASK</a></li> <li><a href="TASK.html">TASK</a></li>
<li><a href="Unit.html">Unit</a></li> <li><a href="Unit.html">Unit</a></li>
<li><a href="Zone.html">Zone</a></li> <li><a href="Zone.html">Zone</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> <li><a href="routines.html">routines</a></li>
</ul> </ul>
</div> </div>

View File

@ -21,6 +21,17 @@
<li><a href="CARGO.html">CARGO</a></li> <li><a href="CARGO.html">CARGO</a></li>
<li><a href="CleanUp.html">CleanUp</a></li> <li><a href="CleanUp.html">CleanUp</a></li>
<li><a href="Client.html">Client</a></li> <li><a href="Client.html">Client</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="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li> <li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li>
<li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li> <li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li>
<li>DESTROYGROUPSTASK</li> <li>DESTROYGROUPSTASK</li>
@ -45,9 +56,12 @@
<li><a href="Sead.html">Sead</a></li> <li><a href="Sead.html">Sead</a></li>
<li><a href="Set.html">Set</a></li> <li><a href="Set.html">Set</a></li>
<li><a href="Spawn.html">Spawn</a></li> <li><a href="Spawn.html">Spawn</a></li>
<li><a href="StaticObject.html">StaticObject</a></li>
<li><a href="TASK.html">TASK</a></li> <li><a href="TASK.html">TASK</a></li>
<li><a href="Unit.html">Unit</a></li> <li><a href="Unit.html">Unit</a></li>
<li><a href="Zone.html">Zone</a></li> <li><a href="Zone.html">Zone</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> <li><a href="routines.html">routines</a></li>
</ul> </ul>
</div> </div>

View File

@ -21,6 +21,17 @@
<li><a href="CARGO.html">CARGO</a></li> <li><a href="CARGO.html">CARGO</a></li>
<li><a href="CleanUp.html">CleanUp</a></li> <li><a href="CleanUp.html">CleanUp</a></li>
<li><a href="Client.html">Client</a></li> <li><a href="Client.html">Client</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="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li> <li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li>
<li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li> <li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li>
<li><a href="DESTROYGROUPSTASK.html">DESTROYGROUPSTASK</a></li> <li><a href="DESTROYGROUPSTASK.html">DESTROYGROUPSTASK</a></li>
@ -45,9 +56,12 @@
<li><a href="Sead.html">Sead</a></li> <li><a href="Sead.html">Sead</a></li>
<li><a href="Set.html">Set</a></li> <li><a href="Set.html">Set</a></li>
<li><a href="Spawn.html">Spawn</a></li> <li><a href="Spawn.html">Spawn</a></li>
<li><a href="StaticObject.html">StaticObject</a></li>
<li><a href="TASK.html">TASK</a></li> <li><a href="TASK.html">TASK</a></li>
<li><a href="Unit.html">Unit</a></li> <li><a href="Unit.html">Unit</a></li>
<li><a href="Zone.html">Zone</a></li> <li><a href="Zone.html">Zone</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> <li><a href="routines.html">routines</a></li>
</ul> </ul>
</div> </div>

View File

@ -21,6 +21,17 @@
<li><a href="CARGO.html">CARGO</a></li> <li><a href="CARGO.html">CARGO</a></li>
<li><a href="CleanUp.html">CleanUp</a></li> <li><a href="CleanUp.html">CleanUp</a></li>
<li><a href="Client.html">Client</a></li> <li><a href="Client.html">Client</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="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li> <li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li>
<li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li> <li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li>
<li><a href="DESTROYGROUPSTASK.html">DESTROYGROUPSTASK</a></li> <li><a href="DESTROYGROUPSTASK.html">DESTROYGROUPSTASK</a></li>
@ -45,9 +56,12 @@
<li><a href="Sead.html">Sead</a></li> <li><a href="Sead.html">Sead</a></li>
<li><a href="Set.html">Set</a></li> <li><a href="Set.html">Set</a></li>
<li><a href="Spawn.html">Spawn</a></li> <li><a href="Spawn.html">Spawn</a></li>
<li><a href="StaticObject.html">StaticObject</a></li>
<li><a href="TASK.html">TASK</a></li> <li><a href="TASK.html">TASK</a></li>
<li><a href="Unit.html">Unit</a></li> <li><a href="Unit.html">Unit</a></li>
<li><a href="Zone.html">Zone</a></li> <li><a href="Zone.html">Zone</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> <li><a href="routines.html">routines</a></li>
</ul> </ul>
</div> </div>

View File

@ -21,6 +21,17 @@
<li><a href="CARGO.html">CARGO</a></li> <li><a href="CARGO.html">CARGO</a></li>
<li><a href="CleanUp.html">CleanUp</a></li> <li><a href="CleanUp.html">CleanUp</a></li>
<li><a href="Client.html">Client</a></li> <li><a href="Client.html">Client</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="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li> <li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li>
<li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li> <li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li>
<li><a href="DESTROYGROUPSTASK.html">DESTROYGROUPSTASK</a></li> <li><a href="DESTROYGROUPSTASK.html">DESTROYGROUPSTASK</a></li>
@ -45,9 +56,12 @@
<li><a href="Sead.html">Sead</a></li> <li><a href="Sead.html">Sead</a></li>
<li><a href="Set.html">Set</a></li> <li><a href="Set.html">Set</a></li>
<li><a href="Spawn.html">Spawn</a></li> <li><a href="Spawn.html">Spawn</a></li>
<li><a href="StaticObject.html">StaticObject</a></li>
<li><a href="TASK.html">TASK</a></li> <li><a href="TASK.html">TASK</a></li>
<li><a href="Unit.html">Unit</a></li> <li><a href="Unit.html">Unit</a></li>
<li><a href="Zone.html">Zone</a></li> <li><a href="Zone.html">Zone</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> <li><a href="routines.html">routines</a></li>
</ul> </ul>
</div> </div>
@ -143,6 +157,12 @@ The following iterator methods are currently available within the DATABASE:</p>
<td class="name" nowrap="nowrap"><a href="##(DATABASE).AddClient">DATABASE:AddClient(ClientName)</a></td> <td class="name" nowrap="nowrap"><a href="##(DATABASE).AddClient">DATABASE:AddClient(ClientName)</a></td>
<td class="summary"> <td class="summary">
<p>Adds a CLIENT based on the ClientName in the DATABASE.</p> <p>Adds a CLIENT based on the ClientName in the DATABASE.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(DATABASE).AddGroup">DATABASE:AddGroup(DCSGroup, GroupName)</a></td>
<td class="summary">
<p>Adds a GROUP based on the GroupName in the DATABASE.</p>
</td> </td>
</tr> </tr>
<tr> <tr>
@ -152,13 +172,13 @@ The following iterator methods are currently available within the DATABASE:</p>
</td> </td>
</tr> </tr>
<tr> <tr>
<td class="name" nowrap="nowrap"><a href="##(DATABASE).ClassName">DATABASE.ClassName</a></td> <td class="name" nowrap="nowrap"><a href="##(DATABASE).CLIENTS">DATABASE.CLIENTS</a></td>
<td class="summary"> <td class="summary">
</td> </td>
</tr> </tr>
<tr> <tr>
<td class="name" nowrap="nowrap"><a href="##(DATABASE).Clients">DATABASE.Clients</a></td> <td class="name" nowrap="nowrap"><a href="##(DATABASE).ClassName">DATABASE.ClassName</a></td>
<td class="summary"> <td class="summary">
</td> </td>
@ -203,6 +223,12 @@ The following iterator methods are currently available within the DATABASE:</p>
<td class="name" nowrap="nowrap"><a href="##(DATABASE).FindClient">DATABASE:FindClient(ClientName)</a></td> <td class="name" nowrap="nowrap"><a href="##(DATABASE).FindClient">DATABASE:FindClient(ClientName)</a></td>
<td class="summary"> <td class="summary">
<p>Finds a CLIENT based on the ClientName.</p> <p>Finds a CLIENT based on the ClientName.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(DATABASE).FindGroup">DATABASE:FindGroup(GroupName)</a></td>
<td class="summary">
<p>Finds a GROUP based on the GroupName.</p>
</td> </td>
</tr> </tr>
<tr> <tr>
@ -236,15 +262,15 @@ The following iterator methods are currently available within the DATABASE:</p>
</td> </td>
</tr> </tr>
<tr> <tr>
<td class="name" nowrap="nowrap"><a href="##(DATABASE).GetStatusGroup">DATABASE:GetStatusGroup(GroupName)</a></td> <td class="name" nowrap="nowrap"><a href="##(DATABASE).GROUPS">DATABASE.GROUPS</a></td>
<td class="summary"> <td class="summary">
<p>Get a status to a Group within the Database, this to check crossing events for example.</p>
</td> </td>
</tr> </tr>
<tr> <tr>
<td class="name" nowrap="nowrap"><a href="##(DATABASE).Groups">DATABASE.Groups</a></td> <td class="name" nowrap="nowrap"><a href="##(DATABASE).GetStatusGroup">DATABASE:GetStatusGroup(GroupName)</a></td>
<td class="summary"> <td class="summary">
<p>Get a status to a Group within the Database, this to check crossing events for example.</p>
</td> </td>
</tr> </tr>
<tr> <tr>
@ -308,7 +334,7 @@ The following iterator methods are currently available within the DATABASE:</p>
</td> </td>
</tr> </tr>
<tr> <tr>
<td class="name" nowrap="nowrap"><a href="##(DATABASE).Units">DATABASE.Units</a></td> <td class="name" nowrap="nowrap"><a href="##(DATABASE).UNITS">DATABASE.UNITS</a></td>
<td class="summary"> <td class="summary">
</td> </td>
@ -421,6 +447,32 @@ The following iterator methods are currently available within the DATABASE:</p>
<dl class="function"> <dl class="function">
<dt> <dt>
<a id="#(DATABASE).AddGroup" >
<strong>DATABASE:AddGroup(DCSGroup, GroupName)</strong>
</a>
</dt>
<dd>
<p>Adds a GROUP based on the GroupName in the DATABASE.</p>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em> DCSGroup </em></code>: </p>
</li>
<li>
<p><code><em> GroupName </em></code>: </p>
</li>
</ul>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(DATABASE).AddUnit" > <a id="#(DATABASE).AddUnit" >
<strong>DATABASE:AddUnit(DCSUnit, DCSUnitName)</strong> <strong>DATABASE:AddUnit(DCSUnit, DCSUnitName)</strong>
</a> </a>
@ -447,9 +499,9 @@ The following iterator methods are currently available within the DATABASE:</p>
<dl class="function"> <dl class="function">
<dt> <dt>
<em>#string</em> <em></em>
<a id="#(DATABASE).ClassName" > <a id="#(DATABASE).CLIENTS" >
<strong>DATABASE.ClassName</strong> <strong>DATABASE.CLIENTS</strong>
</a> </a>
</dt> </dt>
<dd> <dd>
@ -461,9 +513,9 @@ The following iterator methods are currently available within the DATABASE:</p>
<dl class="function"> <dl class="function">
<dt> <dt>
<em></em> <em>#string</em>
<a id="#(DATABASE).Clients" > <a id="#(DATABASE).ClassName" >
<strong>DATABASE.Clients</strong> <strong>DATABASE.ClassName</strong>
</a> </a>
</dt> </dt>
<dd> <dd>
@ -592,6 +644,32 @@ The found CLIENT.</p>
<dl class="function"> <dl class="function">
<dt> <dt>
<a id="#(DATABASE).FindGroup" >
<strong>DATABASE:FindGroup(GroupName)</strong>
</a>
</dt>
<dd>
<p>Finds a GROUP based on the GroupName.</p>
<h3>Parameter</h3>
<ul>
<li>
<p><code><em>#string GroupName </em></code>: </p>
</li>
</ul>
<h3>Return value</h3>
<p><em><a href="Group.html##(GROUP)">Group#GROUP</a>:</em>
The found GROUP.</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(DATABASE).FindUnit" > <a id="#(DATABASE).FindUnit" >
<strong>DATABASE:FindUnit(UnitName)</strong> <strong>DATABASE:FindUnit(UnitName)</strong>
</a> </a>
@ -746,6 +824,20 @@ The function that will be called when there is an alive player in the database.
<p><em><a href="##(DATABASE)">#DATABASE</a>:</em> <p><em><a href="##(DATABASE)">#DATABASE</a>:</em>
self</p> self</p>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="#(DATABASE).GROUPS" >
<strong>DATABASE.GROUPS</strong>
</a>
</dt>
<dd>
</dd> </dd>
</dl> </dl>
<dl class="function"> <dl class="function">
@ -767,20 +859,6 @@ self</p>
</li> </li>
</ul> </ul>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="#(DATABASE).Groups" >
<strong>DATABASE.Groups</strong>
</a>
</dt>
<dd>
</dd> </dd>
</dl> </dl>
<dl class="function"> <dl class="function">
@ -970,8 +1048,8 @@ self</p>
<dt> <dt>
<em></em> <em></em>
<a id="#(DATABASE).Units" > <a id="#(DATABASE).UNITS" >
<strong>DATABASE.Units</strong> <strong>DATABASE.UNITS</strong>
</a> </a>
</dt> </dt>
<dd> <dd>

View File

@ -21,6 +21,17 @@
<li><a href="CARGO.html">CARGO</a></li> <li><a href="CARGO.html">CARGO</a></li>
<li><a href="CleanUp.html">CleanUp</a></li> <li><a href="CleanUp.html">CleanUp</a></li>
<li><a href="Client.html">Client</a></li> <li><a href="Client.html">Client</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="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li> <li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li>
<li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li> <li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li>
<li><a href="DESTROYGROUPSTASK.html">DESTROYGROUPSTASK</a></li> <li><a href="DESTROYGROUPSTASK.html">DESTROYGROUPSTASK</a></li>
@ -45,9 +56,12 @@
<li><a href="Sead.html">Sead</a></li> <li><a href="Sead.html">Sead</a></li>
<li><a href="Set.html">Set</a></li> <li><a href="Set.html">Set</a></li>
<li><a href="Spawn.html">Spawn</a></li> <li><a href="Spawn.html">Spawn</a></li>
<li><a href="StaticObject.html">StaticObject</a></li>
<li><a href="TASK.html">TASK</a></li> <li><a href="TASK.html">TASK</a></li>
<li><a href="Unit.html">Unit</a></li> <li><a href="Unit.html">Unit</a></li>
<li><a href="Zone.html">Zone</a></li> <li><a href="Zone.html">Zone</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> <li><a href="routines.html">routines</a></li>
</ul> </ul>
</div> </div>
@ -1836,6 +1850,7 @@ self</p>
<dl class="function"> <dl class="function">
<dt> <dt>
<em></em>
<a id="#(ESCORT).ReportTargetsScheduler" > <a id="#(ESCORT).ReportTargetsScheduler" >
<strong>ESCORT.ReportTargetsScheduler</strong> <strong>ESCORT.ReportTargetsScheduler</strong>
</a> </a>

View File

@ -21,6 +21,17 @@
<li><a href="CARGO.html">CARGO</a></li> <li><a href="CARGO.html">CARGO</a></li>
<li><a href="CleanUp.html">CleanUp</a></li> <li><a href="CleanUp.html">CleanUp</a></li>
<li><a href="Client.html">Client</a></li> <li><a href="Client.html">Client</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="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li> <li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li>
<li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li> <li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li>
<li><a href="DESTROYGROUPSTASK.html">DESTROYGROUPSTASK</a></li> <li><a href="DESTROYGROUPSTASK.html">DESTROYGROUPSTASK</a></li>
@ -45,9 +56,12 @@
<li><a href="Sead.html">Sead</a></li> <li><a href="Sead.html">Sead</a></li>
<li><a href="Set.html">Set</a></li> <li><a href="Set.html">Set</a></li>
<li><a href="Spawn.html">Spawn</a></li> <li><a href="Spawn.html">Spawn</a></li>
<li><a href="StaticObject.html">StaticObject</a></li>
<li><a href="TASK.html">TASK</a></li> <li><a href="TASK.html">TASK</a></li>
<li><a href="Unit.html">Unit</a></li> <li><a href="Unit.html">Unit</a></li>
<li><a href="Zone.html">Zone</a></li> <li><a href="Zone.html">Zone</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> <li><a href="routines.html">routines</a></li>
</ul> </ul>
</div> </div>

View File

@ -21,6 +21,17 @@
<li><a href="CARGO.html">CARGO</a></li> <li><a href="CARGO.html">CARGO</a></li>
<li><a href="CleanUp.html">CleanUp</a></li> <li><a href="CleanUp.html">CleanUp</a></li>
<li><a href="Client.html">Client</a></li> <li><a href="Client.html">Client</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="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li> <li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li>
<li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li> <li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li>
<li><a href="DESTROYGROUPSTASK.html">DESTROYGROUPSTASK</a></li> <li><a href="DESTROYGROUPSTASK.html">DESTROYGROUPSTASK</a></li>
@ -45,9 +56,12 @@
<li><a href="Sead.html">Sead</a></li> <li><a href="Sead.html">Sead</a></li>
<li><a href="Set.html">Set</a></li> <li><a href="Set.html">Set</a></li>
<li><a href="Spawn.html">Spawn</a></li> <li><a href="Spawn.html">Spawn</a></li>
<li><a href="StaticObject.html">StaticObject</a></li>
<li><a href="TASK.html">TASK</a></li> <li><a href="TASK.html">TASK</a></li>
<li><a href="Unit.html">Unit</a></li> <li><a href="Unit.html">Unit</a></li>
<li><a href="Zone.html">Zone</a></li> <li><a href="Zone.html">Zone</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> <li><a href="routines.html">routines</a></li>
</ul> </ul>
</div> </div>

File diff suppressed because it is too large Load Diff

View File

@ -21,6 +21,17 @@
<li><a href="CARGO.html">CARGO</a></li> <li><a href="CARGO.html">CARGO</a></li>
<li><a href="CleanUp.html">CleanUp</a></li> <li><a href="CleanUp.html">CleanUp</a></li>
<li><a href="Client.html">Client</a></li> <li><a href="Client.html">Client</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="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li> <li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li>
<li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li> <li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li>
<li><a href="DESTROYGROUPSTASK.html">DESTROYGROUPSTASK</a></li> <li><a href="DESTROYGROUPSTASK.html">DESTROYGROUPSTASK</a></li>
@ -45,9 +56,12 @@
<li><a href="Sead.html">Sead</a></li> <li><a href="Sead.html">Sead</a></li>
<li><a href="Set.html">Set</a></li> <li><a href="Set.html">Set</a></li>
<li><a href="Spawn.html">Spawn</a></li> <li><a href="Spawn.html">Spawn</a></li>
<li><a href="StaticObject.html">StaticObject</a></li>
<li><a href="TASK.html">TASK</a></li> <li><a href="TASK.html">TASK</a></li>
<li><a href="Unit.html">Unit</a></li> <li><a href="Unit.html">Unit</a></li>
<li><a href="Zone.html">Zone</a></li> <li><a href="Zone.html">Zone</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> <li><a href="routines.html">routines</a></li>
</ul> </ul>
</div> </div>
@ -273,12 +287,6 @@ A <a href="CLIENT.html">CLIENT</a> needs to be registered within the <a href="MI
<td class="name" nowrap="nowrap"><a href="##(MISSION).SUCCESS">MISSION.SUCCESS</a></td> <td class="name" nowrap="nowrap"><a href="##(MISSION).SUCCESS">MISSION.SUCCESS</a></td>
<td class="summary"> <td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(MISSION).ShowBriefing">MISSION.ShowBriefing(CLIENT, self, Client)</a></td>
<td class="summary">
<p>Show the briefing of the MISSION to the CLIENT.</p>
</td> </td>
</tr> </tr>
<tr> <tr>
@ -1157,43 +1165,6 @@ local Mission = MISSIONSCHEDULER.AddMission( 'Rescue secret agent', 'Tactical',
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(MISSION).ShowBriefing" >
<strong>MISSION.ShowBriefing(CLIENT, self, Client)</strong>
</a>
</dt>
<dd>
<p>Show the briefing of the MISSION to the CLIENT.</p>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em> CLIENT </em></code>:
Client to show briefing to.</p>
</li>
<li>
<p><code><em> self </em></code>: </p>
</li>
<li>
<p><code><em> Client </em></code>: </p>
</li>
</ul>
<h3>Return value</h3>
<p>CLIENT</p>
</dd> </dd>
</dl> </dl>
<dl class="function"> <dl class="function">

View File

@ -21,6 +21,17 @@
<li><a href="CARGO.html">CARGO</a></li> <li><a href="CARGO.html">CARGO</a></li>
<li><a href="CleanUp.html">CleanUp</a></li> <li><a href="CleanUp.html">CleanUp</a></li>
<li><a href="Client.html">Client</a></li> <li><a href="Client.html">Client</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="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li> <li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li>
<li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li> <li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li>
<li><a href="DESTROYGROUPSTASK.html">DESTROYGROUPSTASK</a></li> <li><a href="DESTROYGROUPSTASK.html">DESTROYGROUPSTASK</a></li>
@ -45,9 +56,12 @@
<li><a href="Sead.html">Sead</a></li> <li><a href="Sead.html">Sead</a></li>
<li><a href="Set.html">Set</a></li> <li><a href="Set.html">Set</a></li>
<li><a href="Spawn.html">Spawn</a></li> <li><a href="Spawn.html">Spawn</a></li>
<li><a href="StaticObject.html">StaticObject</a></li>
<li><a href="TASK.html">TASK</a></li> <li><a href="TASK.html">TASK</a></li>
<li><a href="Unit.html">Unit</a></li> <li><a href="Unit.html">Unit</a></li>
<li><a href="Zone.html">Zone</a></li> <li><a href="Zone.html">Zone</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> <li><a href="routines.html">routines</a></li>
</ul> </ul>
</div> </div>

View File

@ -21,6 +21,17 @@
<li><a href="CARGO.html">CARGO</a></li> <li><a href="CARGO.html">CARGO</a></li>
<li><a href="CleanUp.html">CleanUp</a></li> <li><a href="CleanUp.html">CleanUp</a></li>
<li><a href="Client.html">Client</a></li> <li><a href="Client.html">Client</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="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li> <li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li>
<li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li> <li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li>
<li><a href="DESTROYGROUPSTASK.html">DESTROYGROUPSTASK</a></li> <li><a href="DESTROYGROUPSTASK.html">DESTROYGROUPSTASK</a></li>
@ -45,9 +56,12 @@
<li><a href="Sead.html">Sead</a></li> <li><a href="Sead.html">Sead</a></li>
<li><a href="Set.html">Set</a></li> <li><a href="Set.html">Set</a></li>
<li><a href="Spawn.html">Spawn</a></li> <li><a href="Spawn.html">Spawn</a></li>
<li><a href="StaticObject.html">StaticObject</a></li>
<li><a href="TASK.html">TASK</a></li> <li><a href="TASK.html">TASK</a></li>
<li><a href="Unit.html">Unit</a></li> <li><a href="Unit.html">Unit</a></li>
<li><a href="Zone.html">Zone</a></li> <li><a href="Zone.html">Zone</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> <li><a href="routines.html">routines</a></li>
</ul> </ul>
</div> </div>

View File

@ -21,6 +21,17 @@
<li><a href="CARGO.html">CARGO</a></li> <li><a href="CARGO.html">CARGO</a></li>
<li><a href="CleanUp.html">CleanUp</a></li> <li><a href="CleanUp.html">CleanUp</a></li>
<li><a href="Client.html">Client</a></li> <li><a href="Client.html">Client</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="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li> <li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li>
<li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li> <li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li>
<li><a href="DESTROYGROUPSTASK.html">DESTROYGROUPSTASK</a></li> <li><a href="DESTROYGROUPSTASK.html">DESTROYGROUPSTASK</a></li>
@ -45,9 +56,12 @@
<li><a href="Sead.html">Sead</a></li> <li><a href="Sead.html">Sead</a></li>
<li><a href="Set.html">Set</a></li> <li><a href="Set.html">Set</a></li>
<li><a href="Spawn.html">Spawn</a></li> <li><a href="Spawn.html">Spawn</a></li>
<li><a href="StaticObject.html">StaticObject</a></li>
<li><a href="TASK.html">TASK</a></li> <li><a href="TASK.html">TASK</a></li>
<li><a href="Unit.html">Unit</a></li> <li><a href="Unit.html">Unit</a></li>
<li><a href="Zone.html">Zone</a></li> <li><a href="Zone.html">Zone</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> <li><a href="routines.html">routines</a></li>
</ul> </ul>
</div> </div>

View File

@ -21,6 +21,17 @@
<li><a href="CARGO.html">CARGO</a></li> <li><a href="CARGO.html">CARGO</a></li>
<li><a href="CleanUp.html">CleanUp</a></li> <li><a href="CleanUp.html">CleanUp</a></li>
<li><a href="Client.html">Client</a></li> <li><a href="Client.html">Client</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="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li> <li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li>
<li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li> <li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li>
<li><a href="DESTROYGROUPSTASK.html">DESTROYGROUPSTASK</a></li> <li><a href="DESTROYGROUPSTASK.html">DESTROYGROUPSTASK</a></li>
@ -45,9 +56,12 @@
<li><a href="Sead.html">Sead</a></li> <li><a href="Sead.html">Sead</a></li>
<li><a href="Set.html">Set</a></li> <li><a href="Set.html">Set</a></li>
<li><a href="Spawn.html">Spawn</a></li> <li><a href="Spawn.html">Spawn</a></li>
<li><a href="StaticObject.html">StaticObject</a></li>
<li><a href="TASK.html">TASK</a></li> <li><a href="TASK.html">TASK</a></li>
<li><a href="Unit.html">Unit</a></li> <li><a href="Unit.html">Unit</a></li>
<li><a href="Zone.html">Zone</a></li> <li><a href="Zone.html">Zone</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> <li><a href="routines.html">routines</a></li>
</ul> </ul>
</div> </div>

View File

@ -21,6 +21,17 @@
<li><a href="CARGO.html">CARGO</a></li> <li><a href="CARGO.html">CARGO</a></li>
<li><a href="CleanUp.html">CleanUp</a></li> <li><a href="CleanUp.html">CleanUp</a></li>
<li><a href="Client.html">Client</a></li> <li><a href="Client.html">Client</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="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li> <li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li>
<li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li> <li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li>
<li><a href="DESTROYGROUPSTASK.html">DESTROYGROUPSTASK</a></li> <li><a href="DESTROYGROUPSTASK.html">DESTROYGROUPSTASK</a></li>
@ -45,9 +56,12 @@
<li><a href="Sead.html">Sead</a></li> <li><a href="Sead.html">Sead</a></li>
<li><a href="Set.html">Set</a></li> <li><a href="Set.html">Set</a></li>
<li><a href="Spawn.html">Spawn</a></li> <li><a href="Spawn.html">Spawn</a></li>
<li><a href="StaticObject.html">StaticObject</a></li>
<li><a href="TASK.html">TASK</a></li> <li><a href="TASK.html">TASK</a></li>
<li><a href="Unit.html">Unit</a></li> <li><a href="Unit.html">Unit</a></li>
<li><a href="Zone.html">Zone</a></li> <li><a href="Zone.html">Zone</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> <li><a href="routines.html">routines</a></li>
</ul> </ul>
</div> </div>

View File

@ -21,6 +21,17 @@
<li><a href="CARGO.html">CARGO</a></li> <li><a href="CARGO.html">CARGO</a></li>
<li><a href="CleanUp.html">CleanUp</a></li> <li><a href="CleanUp.html">CleanUp</a></li>
<li><a href="Client.html">Client</a></li> <li><a href="Client.html">Client</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="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li> <li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li>
<li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li> <li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li>
<li><a href="DESTROYGROUPSTASK.html">DESTROYGROUPSTASK</a></li> <li><a href="DESTROYGROUPSTASK.html">DESTROYGROUPSTASK</a></li>
@ -45,9 +56,12 @@
<li><a href="Sead.html">Sead</a></li> <li><a href="Sead.html">Sead</a></li>
<li><a href="Set.html">Set</a></li> <li><a href="Set.html">Set</a></li>
<li><a href="Spawn.html">Spawn</a></li> <li><a href="Spawn.html">Spawn</a></li>
<li><a href="StaticObject.html">StaticObject</a></li>
<li><a href="TASK.html">TASK</a></li> <li><a href="TASK.html">TASK</a></li>
<li><a href="Unit.html">Unit</a></li> <li><a href="Unit.html">Unit</a></li>
<li><a href="Zone.html">Zone</a></li> <li><a href="Zone.html">Zone</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> <li><a href="routines.html">routines</a></li>
</ul> </ul>
</div> </div>

View File

@ -21,6 +21,17 @@
<li><a href="CARGO.html">CARGO</a></li> <li><a href="CARGO.html">CARGO</a></li>
<li><a href="CleanUp.html">CleanUp</a></li> <li><a href="CleanUp.html">CleanUp</a></li>
<li><a href="Client.html">Client</a></li> <li><a href="Client.html">Client</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="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li> <li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li>
<li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li> <li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li>
<li><a href="DESTROYGROUPSTASK.html">DESTROYGROUPSTASK</a></li> <li><a href="DESTROYGROUPSTASK.html">DESTROYGROUPSTASK</a></li>
@ -45,9 +56,12 @@
<li><a href="Sead.html">Sead</a></li> <li><a href="Sead.html">Sead</a></li>
<li><a href="Set.html">Set</a></li> <li><a href="Set.html">Set</a></li>
<li><a href="Spawn.html">Spawn</a></li> <li><a href="Spawn.html">Spawn</a></li>
<li><a href="StaticObject.html">StaticObject</a></li>
<li><a href="TASK.html">TASK</a></li> <li><a href="TASK.html">TASK</a></li>
<li><a href="Unit.html">Unit</a></li> <li><a href="Unit.html">Unit</a></li>
<li><a href="Zone.html">Zone</a></li> <li><a href="Zone.html">Zone</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> <li><a href="routines.html">routines</a></li>
</ul> </ul>
</div> </div>

View File

@ -21,6 +21,17 @@
<li><a href="CARGO.html">CARGO</a></li> <li><a href="CARGO.html">CARGO</a></li>
<li><a href="CleanUp.html">CleanUp</a></li> <li><a href="CleanUp.html">CleanUp</a></li>
<li><a href="Client.html">Client</a></li> <li><a href="Client.html">Client</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="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li> <li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li>
<li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li> <li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li>
<li><a href="DESTROYGROUPSTASK.html">DESTROYGROUPSTASK</a></li> <li><a href="DESTROYGROUPSTASK.html">DESTROYGROUPSTASK</a></li>
@ -45,9 +56,12 @@
<li><a href="Sead.html">Sead</a></li> <li><a href="Sead.html">Sead</a></li>
<li><a href="Set.html">Set</a></li> <li><a href="Set.html">Set</a></li>
<li><a href="Spawn.html">Spawn</a></li> <li><a href="Spawn.html">Spawn</a></li>
<li><a href="StaticObject.html">StaticObject</a></li>
<li><a href="TASK.html">TASK</a></li> <li><a href="TASK.html">TASK</a></li>
<li><a href="Unit.html">Unit</a></li> <li><a href="Unit.html">Unit</a></li>
<li><a href="Zone.html">Zone</a></li> <li><a href="Zone.html">Zone</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> <li><a href="routines.html">routines</a></li>
</ul> </ul>
</div> </div>

View File

@ -21,6 +21,17 @@
<li><a href="CARGO.html">CARGO</a></li> <li><a href="CARGO.html">CARGO</a></li>
<li><a href="CleanUp.html">CleanUp</a></li> <li><a href="CleanUp.html">CleanUp</a></li>
<li><a href="Client.html">Client</a></li> <li><a href="Client.html">Client</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="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li> <li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li>
<li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li> <li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li>
<li><a href="DESTROYGROUPSTASK.html">DESTROYGROUPSTASK</a></li> <li><a href="DESTROYGROUPSTASK.html">DESTROYGROUPSTASK</a></li>
@ -45,9 +56,12 @@
<li><a href="Sead.html">Sead</a></li> <li><a href="Sead.html">Sead</a></li>
<li><a href="Set.html">Set</a></li> <li><a href="Set.html">Set</a></li>
<li><a href="Spawn.html">Spawn</a></li> <li><a href="Spawn.html">Spawn</a></li>
<li><a href="StaticObject.html">StaticObject</a></li>
<li><a href="TASK.html">TASK</a></li> <li><a href="TASK.html">TASK</a></li>
<li><a href="Unit.html">Unit</a></li> <li><a href="Unit.html">Unit</a></li>
<li><a href="Zone.html">Zone</a></li> <li><a href="Zone.html">Zone</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> <li><a href="routines.html">routines</a></li>
</ul> </ul>
</div> </div>

View File

@ -21,6 +21,17 @@
<li><a href="CARGO.html">CARGO</a></li> <li><a href="CARGO.html">CARGO</a></li>
<li><a href="CleanUp.html">CleanUp</a></li> <li><a href="CleanUp.html">CleanUp</a></li>
<li><a href="Client.html">Client</a></li> <li><a href="Client.html">Client</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="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li> <li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li>
<li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li> <li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li>
<li><a href="DESTROYGROUPSTASK.html">DESTROYGROUPSTASK</a></li> <li><a href="DESTROYGROUPSTASK.html">DESTROYGROUPSTASK</a></li>
@ -45,9 +56,12 @@
<li><a href="Sead.html">Sead</a></li> <li><a href="Sead.html">Sead</a></li>
<li><a href="Set.html">Set</a></li> <li><a href="Set.html">Set</a></li>
<li><a href="Spawn.html">Spawn</a></li> <li><a href="Spawn.html">Spawn</a></li>
<li><a href="StaticObject.html">StaticObject</a></li>
<li><a href="TASK.html">TASK</a></li> <li><a href="TASK.html">TASK</a></li>
<li><a href="Unit.html">Unit</a></li> <li><a href="Unit.html">Unit</a></li>
<li><a href="Zone.html">Zone</a></li> <li><a href="Zone.html">Zone</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> <li><a href="routines.html">routines</a></li>
</ul> </ul>
</div> </div>

View File

@ -21,6 +21,17 @@
<li><a href="CARGO.html">CARGO</a></li> <li><a href="CARGO.html">CARGO</a></li>
<li><a href="CleanUp.html">CleanUp</a></li> <li><a href="CleanUp.html">CleanUp</a></li>
<li><a href="Client.html">Client</a></li> <li><a href="Client.html">Client</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="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li> <li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li>
<li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li> <li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li>
<li><a href="DESTROYGROUPSTASK.html">DESTROYGROUPSTASK</a></li> <li><a href="DESTROYGROUPSTASK.html">DESTROYGROUPSTASK</a></li>
@ -45,9 +56,12 @@
<li>Sead</li> <li>Sead</li>
<li><a href="Set.html">Set</a></li> <li><a href="Set.html">Set</a></li>
<li><a href="Spawn.html">Spawn</a></li> <li><a href="Spawn.html">Spawn</a></li>
<li><a href="StaticObject.html">StaticObject</a></li>
<li><a href="TASK.html">TASK</a></li> <li><a href="TASK.html">TASK</a></li>
<li><a href="Unit.html">Unit</a></li> <li><a href="Unit.html">Unit</a></li>
<li><a href="Zone.html">Zone</a></li> <li><a href="Zone.html">Zone</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> <li><a href="routines.html">routines</a></li>
</ul> </ul>
</div> </div>

View File

@ -21,6 +21,17 @@
<li><a href="CARGO.html">CARGO</a></li> <li><a href="CARGO.html">CARGO</a></li>
<li><a href="CleanUp.html">CleanUp</a></li> <li><a href="CleanUp.html">CleanUp</a></li>
<li><a href="Client.html">Client</a></li> <li><a href="Client.html">Client</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="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li> <li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li>
<li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li> <li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li>
<li><a href="DESTROYGROUPSTASK.html">DESTROYGROUPSTASK</a></li> <li><a href="DESTROYGROUPSTASK.html">DESTROYGROUPSTASK</a></li>
@ -45,9 +56,12 @@
<li><a href="Sead.html">Sead</a></li> <li><a href="Sead.html">Sead</a></li>
<li>Set</li> <li>Set</li>
<li><a href="Spawn.html">Spawn</a></li> <li><a href="Spawn.html">Spawn</a></li>
<li><a href="StaticObject.html">StaticObject</a></li>
<li><a href="TASK.html">TASK</a></li> <li><a href="TASK.html">TASK</a></li>
<li><a href="Unit.html">Unit</a></li> <li><a href="Unit.html">Unit</a></li>
<li><a href="Zone.html">Zone</a></li> <li><a href="Zone.html">Zone</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> <li><a href="routines.html">routines</a></li>
</ul> </ul>
</div> </div>

View File

@ -21,6 +21,17 @@
<li><a href="CARGO.html">CARGO</a></li> <li><a href="CARGO.html">CARGO</a></li>
<li><a href="CleanUp.html">CleanUp</a></li> <li><a href="CleanUp.html">CleanUp</a></li>
<li><a href="Client.html">Client</a></li> <li><a href="Client.html">Client</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="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li> <li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li>
<li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li> <li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li>
<li><a href="DESTROYGROUPSTASK.html">DESTROYGROUPSTASK</a></li> <li><a href="DESTROYGROUPSTASK.html">DESTROYGROUPSTASK</a></li>
@ -45,9 +56,12 @@
<li><a href="Sead.html">Sead</a></li> <li><a href="Sead.html">Sead</a></li>
<li><a href="Set.html">Set</a></li> <li><a href="Set.html">Set</a></li>
<li>Spawn</li> <li>Spawn</li>
<li><a href="StaticObject.html">StaticObject</a></li>
<li><a href="TASK.html">TASK</a></li> <li><a href="TASK.html">TASK</a></li>
<li><a href="Unit.html">Unit</a></li> <li><a href="Unit.html">Unit</a></li>
<li><a href="Zone.html">Zone</a></li> <li><a href="Zone.html">Zone</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> <li><a href="routines.html">routines</a></li>
</ul> </ul>
</div> </div>

View File

@ -46,12 +46,15 @@
<li><a href="MOVEMENT.html">MOVEMENT</a></li> <li><a href="MOVEMENT.html">MOVEMENT</a></li>
<li><a href="Menu.html">Menu</a></li> <li><a href="Menu.html">Menu</a></li>
<li><a href="Message.html">Message</a></li> <li><a href="Message.html">Message</a></li>
<li><a href="MissileTrainer.html">MissileTrainer</a></li>
<li><a href="NOTASK.html">NOTASK</a></li> <li><a href="NOTASK.html">NOTASK</a></li>
<li><a href="PICKUPTASK.html">PICKUPTASK</a></li> <li><a href="PICKUPTASK.html">PICKUPTASK</a></li>
<li><a href="ROUTETASK.html">ROUTETASK</a></li> <li><a href="ROUTETASK.html">ROUTETASK</a></li>
<li><a href="STAGE.html">STAGE</a></li> <li><a href="STAGE.html">STAGE</a></li>
<li><a href="Scheduler.html">Scheduler</a></li>
<li><a href="Scoring.html">Scoring</a></li> <li><a href="Scoring.html">Scoring</a></li>
<li><a href="Sead.html">Sead</a></li> <li><a href="Sead.html">Sead</a></li>
<li><a href="Set.html">Set</a></li>
<li><a href="Spawn.html">Spawn</a></li> <li><a href="Spawn.html">Spawn</a></li>
<li>StaticObject</li> <li>StaticObject</li>
<li><a href="TASK.html">TASK</a></li> <li><a href="TASK.html">TASK</a></li>

View File

@ -21,6 +21,17 @@
<li><a href="CARGO.html">CARGO</a></li> <li><a href="CARGO.html">CARGO</a></li>
<li><a href="CleanUp.html">CleanUp</a></li> <li><a href="CleanUp.html">CleanUp</a></li>
<li><a href="Client.html">Client</a></li> <li><a href="Client.html">Client</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="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li> <li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li>
<li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li> <li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li>
<li><a href="DESTROYGROUPSTASK.html">DESTROYGROUPSTASK</a></li> <li><a href="DESTROYGROUPSTASK.html">DESTROYGROUPSTASK</a></li>
@ -45,9 +56,12 @@
<li><a href="Sead.html">Sead</a></li> <li><a href="Sead.html">Sead</a></li>
<li><a href="Set.html">Set</a></li> <li><a href="Set.html">Set</a></li>
<li><a href="Spawn.html">Spawn</a></li> <li><a href="Spawn.html">Spawn</a></li>
<li><a href="StaticObject.html">StaticObject</a></li>
<li>TASK</li> <li>TASK</li>
<li><a href="Unit.html">Unit</a></li> <li><a href="Unit.html">Unit</a></li>
<li><a href="Zone.html">Zone</a></li> <li><a href="Zone.html">Zone</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> <li><a href="routines.html">routines</a></li>
</ul> </ul>
</div> </div>

View File

@ -21,6 +21,17 @@
<li><a href="CARGO.html">CARGO</a></li> <li><a href="CARGO.html">CARGO</a></li>
<li><a href="CleanUp.html">CleanUp</a></li> <li><a href="CleanUp.html">CleanUp</a></li>
<li><a href="Client.html">Client</a></li> <li><a href="Client.html">Client</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="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li> <li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li>
<li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li> <li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li>
<li><a href="DESTROYGROUPSTASK.html">DESTROYGROUPSTASK</a></li> <li><a href="DESTROYGROUPSTASK.html">DESTROYGROUPSTASK</a></li>
@ -45,9 +56,12 @@
<li><a href="Sead.html">Sead</a></li> <li><a href="Sead.html">Sead</a></li>
<li><a href="Set.html">Set</a></li> <li><a href="Set.html">Set</a></li>
<li><a href="Spawn.html">Spawn</a></li> <li><a href="Spawn.html">Spawn</a></li>
<li><a href="StaticObject.html">StaticObject</a></li>
<li><a href="TASK.html">TASK</a></li> <li><a href="TASK.html">TASK</a></li>
<li>Unit</li> <li>Unit</li>
<li><a href="Zone.html">Zone</a></li> <li><a href="Zone.html">Zone</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> <li><a href="routines.html">routines</a></li>
</ul> </ul>
</div> </div>
@ -67,7 +81,7 @@
<ul> <ul>
<li>Enhance with Unit specific APIs not in the DCS Unit API set.</li> <li>Enhance with Unit specific APIs not in the DCS Unit API set.</li>
<li>Handle local Unit Controller.</li> <li>Handle local Unit Controller.</li>
<li>Manage the "state" of the objects.</li> <li>Manage the "state" of the DCS Unit.</li>
</ul> </ul>
@ -75,7 +89,7 @@
<p>For each DCS Unit object alive within a running mission, a UNIT wrapper object (instance) will be created within the _<a href="DATABASE.html">DATABASE</a> object. <p>For each DCS Unit object alive within a running mission, a UNIT wrapper object (instance) will be created within the _<a href="DATABASE.html">DATABASE</a> object.
This is done at the beginning of the mission (when the mission starts), and dynamically when new DCS Unit objects are spawned (using the <a href="SPAWN.html">SPAWN</a> class).</p> This is done at the beginning of the mission (when the mission starts), and dynamically when new DCS Unit objects are spawned (using the <a href="SPAWN.html">SPAWN</a> class).</p>
<p>The UNIT class does not contain a :New() method, rather it provides :Find() methods to retrieve the object reference <p>The UNIT class <strong>does not contain a :New()</strong> method, rather it provides <strong>:Find()</strong> methods to retrieve the object reference
using the DCS Unit or the DCS UnitName.</p> using the DCS Unit or the DCS UnitName.</p>
<p>Another thing to know is that UNIT objects do not "contain" the DCS Unit object. <p>Another thing to know is that UNIT objects do not "contain" the DCS Unit object.
@ -86,11 +100,45 @@ If the DCS Unit object does not exist or is nil, the UNIT methods will return ni
<ul> <ul>
<li><a href="##(UNIT).Find">UNIT.Find</a>(): Find a UNIT instance from the _DATABASE object using a DCS Unit object.</li> <li><a href="##(UNIT).Find">UNIT.Find</a>(): Find a UNIT instance from the _DATABASE object using a DCS Unit object.</li>
<li><a href="##(UNIT).FindByName">UNIT.FindByName</a>(): Find a UNIT instance from the _DATABASE object using a DCS Unit object.</li> <li><a href="##(UNIT).FindByName">UNIT.FindByName</a>(): Find a UNIT instance from the _DATABASE object using a DCS Unit name.</li>
</ul> </ul>
<p>IMPORTANT: ONE SHOULD NEVER SANATIZE these UNIT OBJECT REFERENCES! (make the UNIT object references nil).</p> <p>IMPORTANT: ONE SHOULD NEVER SANATIZE these UNIT OBJECT REFERENCES! (make the UNIT object references nil).</p>
<h1>DCS UNIT APIs</h1>
<p>The DCS Unit APIs are used extensively within MOOSE. The UNIT class has for each DCS Unit API a corresponding method.
To be able to distinguish easily in your code the difference between a UNIT API call and a DCS Unit API call,
the first letter of the method is also capitalized. So, by example, the DCS Unit method <a href="DCSUnit.html##(Unit).getName">DCSUnit#Unit.getName</a>()
is implemented in the UNIT class as <a href="##(UNIT).GetName">UNIT.GetName</a>().</p>
<h1>Additional UNIT APIs</h1>
<p>The UNIT class comes with additional methods. Find below a summary.</p>
<h2>Smoke, Flare Units</h2>
<p>The UNIT class provides methods to smoke or flare units easily.
The <a href="##(UNIT).SmokeBlue">UNIT.SmokeBlue</a>(), <a href="##(UNIT).SmokeGreen">UNIT.SmokeGreen</a>(),<a href="##(UNIT).SmokeOrange">UNIT.SmokeOrange</a>(), <a href="##(UNIT).SmokeRed">UNIT.SmokeRed</a>(), <a href="##(UNIT).SmokeRed">UNIT.SmokeRed</a>() methods
will smoke the unit in the corresponding color. Note that smoking a unit is done at the current position of the DCS Unit.
When the DCS Unit moves for whatever reason, the smoking will still continue!
The <a href="##(UNIT).FlareGreen">UNIT.FlareGreen</a>(), <a href="##(UNIT).FlareRed">UNIT.FlareRed</a>(), <a href="##(UNIT).FlareWhite">UNIT.FlareWhite</a>(), <a href="##(UNIT).FlareYellow">UNIT.FlareYellow</a>()
methods will fire off a flare in the air with the corresponding color. Note that a flare is a one-off shot and its effect is of very short duration.</p>
<h2>Position, Point</h2>
<p>The UNIT class provides methods to obtain the current point or position of the DCS Unit.
The <a href="##(UNIT).GetPointVec2">UNIT.GetPointVec2</a>(), <a href="##(UNIT).GetPointVec3">UNIT.GetPointVec3</a>() will obtain the current location of the DCS Unit in a Vec2 (2D) or a Vec3 (3D) vector respectively.
If you want to obtain the complete 3D position including oriëntation and direction vectors, consult the <a href="##(UNIT).GetPositionVec3">UNIT.GetPositionVec3</a>() method respectively.</p>
<h2>Alive</h2>
<p>The <a href="##(UNIT).IsAlive">UNIT.IsAlive</a>(), <a href="##(UNIT).IsActive">UNIT.IsActive</a>() methods determines if the DCS Unit is alive, meaning, it is existing and active.</p>
<h2>Test for other units in radius</h2>
<p>One can test if another DCS Unit is within a given radius of the current DCS Unit, by using the <a href="##(UNIT).OtherUnitInRadius">UNIT.OtherUnitInRadius</a>() method.</p>
<h2>More functions will be added</h2>
<p>During the MOOSE development, more functions will be added. A complete list of the current functions is below.</p>
<h2>Global(s)</h2> <h2>Global(s)</h2>
<table class="function_list"> <table class="function_list">

View File

@ -21,6 +21,17 @@
<li><a href="CARGO.html">CARGO</a></li> <li><a href="CARGO.html">CARGO</a></li>
<li><a href="CleanUp.html">CleanUp</a></li> <li><a href="CleanUp.html">CleanUp</a></li>
<li><a href="Client.html">Client</a></li> <li><a href="Client.html">Client</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="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li> <li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li>
<li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li> <li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li>
<li><a href="DESTROYGROUPSTASK.html">DESTROYGROUPSTASK</a></li> <li><a href="DESTROYGROUPSTASK.html">DESTROYGROUPSTASK</a></li>
@ -45,9 +56,12 @@
<li><a href="Sead.html">Sead</a></li> <li><a href="Sead.html">Sead</a></li>
<li><a href="Set.html">Set</a></li> <li><a href="Set.html">Set</a></li>
<li><a href="Spawn.html">Spawn</a></li> <li><a href="Spawn.html">Spawn</a></li>
<li><a href="StaticObject.html">StaticObject</a></li>
<li><a href="TASK.html">TASK</a></li> <li><a href="TASK.html">TASK</a></li>
<li><a href="Unit.html">Unit</a></li> <li><a href="Unit.html">Unit</a></li>
<li>Zone</li> <li>Zone</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> <li><a href="routines.html">routines</a></li>
</ul> </ul>
</div> </div>

View File

@ -46,12 +46,15 @@
<li><a href="MOVEMENT.html">MOVEMENT</a></li> <li><a href="MOVEMENT.html">MOVEMENT</a></li>
<li><a href="Menu.html">Menu</a></li> <li><a href="Menu.html">Menu</a></li>
<li><a href="Message.html">Message</a></li> <li><a href="Message.html">Message</a></li>
<li><a href="MissileTrainer.html">MissileTrainer</a></li>
<li><a href="NOTASK.html">NOTASK</a></li> <li><a href="NOTASK.html">NOTASK</a></li>
<li><a href="PICKUPTASK.html">PICKUPTASK</a></li> <li><a href="PICKUPTASK.html">PICKUPTASK</a></li>
<li><a href="ROUTETASK.html">ROUTETASK</a></li> <li><a href="ROUTETASK.html">ROUTETASK</a></li>
<li><a href="STAGE.html">STAGE</a></li> <li><a href="STAGE.html">STAGE</a></li>
<li><a href="Scheduler.html">Scheduler</a></li>
<li><a href="Scoring.html">Scoring</a></li> <li><a href="Scoring.html">Scoring</a></li>
<li><a href="Sead.html">Sead</a></li> <li><a href="Sead.html">Sead</a></li>
<li><a href="Set.html">Set</a></li>
<li><a href="Spawn.html">Spawn</a></li> <li><a href="Spawn.html">Spawn</a></li>
<li><a href="StaticObject.html">StaticObject</a></li> <li><a href="StaticObject.html">StaticObject</a></li>
<li><a href="TASK.html">TASK</a></li> <li><a href="TASK.html">TASK</a></li>

View File

@ -21,6 +21,17 @@
<li><a href="CARGO.html">CARGO</a></li> <li><a href="CARGO.html">CARGO</a></li>
<li><a href="CleanUp.html">CleanUp</a></li> <li><a href="CleanUp.html">CleanUp</a></li>
<li><a href="Client.html">Client</a></li> <li><a href="Client.html">Client</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="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li> <li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li>
<li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li> <li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li>
<li><a href="DESTROYGROUPSTASK.html">DESTROYGROUPSTASK</a></li> <li><a href="DESTROYGROUPSTASK.html">DESTROYGROUPSTASK</a></li>
@ -45,9 +56,12 @@
<li><a href="Sead.html">Sead</a></li> <li><a href="Sead.html">Sead</a></li>
<li><a href="Set.html">Set</a></li> <li><a href="Set.html">Set</a></li>
<li><a href="Spawn.html">Spawn</a></li> <li><a href="Spawn.html">Spawn</a></li>
<li><a href="StaticObject.html">StaticObject</a></li>
<li><a href="TASK.html">TASK</a></li> <li><a href="TASK.html">TASK</a></li>
<li><a href="Unit.html">Unit</a></li> <li><a href="Unit.html">Unit</a></li>
<li><a href="Zone.html">Zone</a></li> <li><a href="Zone.html">Zone</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> <li><a href="routines.html">routines</a></li>
</ul> </ul>
</div> </div>
@ -76,6 +90,72 @@
<td class="name" nowrap="nowrap"><a href="Client.html">Client</a></td> <td class="name" nowrap="nowrap"><a href="Client.html">Client</a></td>
<td class="summary"> <td class="summary">
<p>The CLIENT models client units in multi player missions.</p> <p>The CLIENT models client units in multi player missions.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="DCSAirbase.html">DCSAirbase</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="DCSCoalitionObject.html">DCSCoalitionObject</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="DCSCommand.html">DCSCommand</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="DCSController.html">DCSController</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="DCSGroup.html">DCSGroup</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="DCSObject.html">DCSObject</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="DCSTask.html">DCSTask</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="DCSTypes.html">DCSTypes</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="DCSUnit.html">DCSUnit</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="DCSWorld.html">DCSWorld</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="DCStimer.html">DCStimer</a></td>
<td class="summary">
</td> </td>
</tr> </tr>
<tr> <tr>
@ -135,7 +215,7 @@
<tr> <tr>
<td class="name" nowrap="nowrap"><a href="Group.html">Group</a></td> <td class="name" nowrap="nowrap"><a href="Group.html">Group</a></td>
<td class="summary"> <td class="summary">
<p>A GROUP class abstraction of a DCSGroup class.</p> <p>GROUP class.</p>
</td> </td>
</tr> </tr>
<tr> <tr>
@ -220,6 +300,12 @@
<td class="name" nowrap="nowrap"><a href="Spawn.html">Spawn</a></td> <td class="name" nowrap="nowrap"><a href="Spawn.html">Spawn</a></td>
<td class="summary"> <td class="summary">
<p>Dynamic spawning of groups (and units).</p> <p>Dynamic spawning of groups (and units).</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="StaticObject.html">StaticObject</a></td>
<td class="summary">
</td> </td>
</tr> </tr>
<tr> <tr>
@ -245,6 +331,18 @@
<td class="name" nowrap="nowrap"><a href="Zone.html">Zone</a></td> <td class="name" nowrap="nowrap"><a href="Zone.html">Zone</a></td>
<td class="summary"> <td class="summary">
<p>ZONE Classes</p> <p>ZONE Classes</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="env.html">env</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="land.html">land</a></td>
<td class="summary">
</td> </td>
</tr> </tr>
<tr> <tr>

View File

@ -46,12 +46,15 @@
<li><a href="MOVEMENT.html">MOVEMENT</a></li> <li><a href="MOVEMENT.html">MOVEMENT</a></li>
<li><a href="Menu.html">Menu</a></li> <li><a href="Menu.html">Menu</a></li>
<li><a href="Message.html">Message</a></li> <li><a href="Message.html">Message</a></li>
<li><a href="MissileTrainer.html">MissileTrainer</a></li>
<li><a href="NOTASK.html">NOTASK</a></li> <li><a href="NOTASK.html">NOTASK</a></li>
<li><a href="PICKUPTASK.html">PICKUPTASK</a></li> <li><a href="PICKUPTASK.html">PICKUPTASK</a></li>
<li><a href="ROUTETASK.html">ROUTETASK</a></li> <li><a href="ROUTETASK.html">ROUTETASK</a></li>
<li><a href="STAGE.html">STAGE</a></li> <li><a href="STAGE.html">STAGE</a></li>
<li><a href="Scheduler.html">Scheduler</a></li>
<li><a href="Scoring.html">Scoring</a></li> <li><a href="Scoring.html">Scoring</a></li>
<li><a href="Sead.html">Sead</a></li> <li><a href="Sead.html">Sead</a></li>
<li><a href="Set.html">Set</a></li>
<li><a href="Spawn.html">Spawn</a></li> <li><a href="Spawn.html">Spawn</a></li>
<li><a href="StaticObject.html">StaticObject</a></li> <li><a href="StaticObject.html">StaticObject</a></li>
<li><a href="TASK.html">TASK</a></li> <li><a href="TASK.html">TASK</a></li>

View File

@ -21,6 +21,17 @@
<li><a href="CARGO.html">CARGO</a></li> <li><a href="CARGO.html">CARGO</a></li>
<li><a href="CleanUp.html">CleanUp</a></li> <li><a href="CleanUp.html">CleanUp</a></li>
<li><a href="Client.html">Client</a></li> <li><a href="Client.html">Client</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="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li> <li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li>
<li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li> <li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li>
<li><a href="DESTROYGROUPSTASK.html">DESTROYGROUPSTASK</a></li> <li><a href="DESTROYGROUPSTASK.html">DESTROYGROUPSTASK</a></li>
@ -45,9 +56,12 @@
<li><a href="Sead.html">Sead</a></li> <li><a href="Sead.html">Sead</a></li>
<li><a href="Set.html">Set</a></li> <li><a href="Set.html">Set</a></li>
<li><a href="Spawn.html">Spawn</a></li> <li><a href="Spawn.html">Spawn</a></li>
<li><a href="StaticObject.html">StaticObject</a></li>
<li><a href="TASK.html">TASK</a></li> <li><a href="TASK.html">TASK</a></li>
<li><a href="Unit.html">Unit</a></li> <li><a href="Unit.html">Unit</a></li>
<li><a href="Zone.html">Zone</a></li> <li><a href="Zone.html">Zone</a></li>
<li><a href="env.html">env</a></li>
<li><a href="land.html">land</a></li>
<li>routines</li> <li>routines</li>
</ul> </ul>
</div> </div>

File diff suppressed because it is too large Load Diff

View File

@ -4,14 +4,35 @@
-- ================ -- ================
-- Clients are those **Units** defined within the Mission Editor that have the skillset defined as __Client__ or __Player__. -- Clients are those **Units** defined within the Mission Editor that have the skillset defined as __Client__ or __Player__.
-- Note that clients are NOT the same as Units, they are NOT necessarily alive. -- Note that clients are NOT the same as Units, they are NOT necessarily alive.
-- The @{CLIENT} class is a wrapper class to handle the DCS Unit objects that have the skillset defined as __Client__ or __Player__:
--
-- * Wraps the DCS Unit objects with skill level set to Player or Client.
-- * Support all DCS Unit APIs.
-- * Enhance with Unit specific APIs not in the DCS Group API set.
-- * When player joins Unit, execute alive init logic.
-- * Handles messages to players.
-- * Manage the "state" of the DCS Unit.
-- --
-- Clients are being used by the @{MISSION} class to follow players and register their successes. -- Clients are being used by the @{MISSION} class to follow players and register their successes.
-- --
-- CLIENT construction methods: -- CLIENT reference methods
-- ============================ -- =======================
-- Create a new CLIENT object with the @{#CLIENT.New} method: -- For each DCS Unit having skill level Player or Client, a CLIENT wrapper object (instance) will be created within the _@{DATABASE} object.
-- This is done at the beginning of the mission (when the mission starts).
-- --
-- * @{#CLIENT.New}: Creates a new CLIENT object taking the name of the **DCSUnit** that is a client as defined within the mission editor. -- The CLIENT class does not contain a :New() method, rather it provides :Find() methods to retrieve the object reference
-- using the DCS Unit or the DCS UnitName.
--
-- Another thing to know is that CLIENT objects do not "contain" the DCS Unit object.
-- The CLIENT methods will reference the DCS Unit object by name when it is needed during API execution.
-- If the DCS Unit object does not exist or is nil, the CLIENT methods will return nil and log an exception in the DCS.log file.
--
-- The CLIENT class provides the following functions to retrieve quickly the relevant CLIENT instance:
--
-- * @{#CLIENT.Find}(): Find a CLIENT instance from the _DATABASE object using a DCS Unit object.
-- * @{#CLIENT.FindByName}(): Find a CLIENT instance from the _DATABASE object using a DCS Unit name.
--
-- IMPORTANT: ONE SHOULD NEVER SANATIZE these CLIENT OBJECT REFERENCES! (make the CLIENT object references nil).
-- --
-- @module Client -- @module Client
-- @author FlightControl -- @author FlightControl
@ -45,7 +66,7 @@ CLIENT = {
} }
--- Use this method to register new Clients within a mission. --- Finds a CLIENT from the _DATABASE using the relevant DCS Unit.
-- @param #CLIENT self -- @param #CLIENT self
-- @param #string ClientName Name of the DCS **Unit** as defined within the Mission Editor. -- @param #string ClientName Name of the DCS **Unit** as defined within the Mission Editor.
-- @param #string ClientBriefing Text that describes the briefing of the mission when a Player logs into the Client. -- @param #string ClientBriefing Text that describes the briefing of the mission when a Player logs into the Client.
@ -55,25 +76,61 @@ CLIENT = {
-- local Mission = MISSIONSCHEDULER.AddMission( 'Russia Transport Troops SA-6', 'Operational', 'Transport troops from the control center to one of the SA-6 SAM sites to activate their operation.', 'Russia' ) -- local Mission = MISSIONSCHEDULER.AddMission( 'Russia Transport Troops SA-6', 'Operational', 'Transport troops from the control center to one of the SA-6 SAM sites to activate their operation.', 'Russia' )
-- Mission:AddGoal( DeploySA6TroopsGoal ) -- Mission:AddGoal( DeploySA6TroopsGoal )
-- --
-- Mission:AddClient( CLIENT:New( 'RU MI-8MTV2*HOT-Deploy Troops 1' ):Transport() ) -- Mission:AddClient( CLIENT:FindByName( 'RU MI-8MTV2*HOT-Deploy Troops 1' ):Transport() )
-- Mission:AddClient( CLIENT:New( 'RU MI-8MTV2*RAMP-Deploy Troops 3' ):Transport() ) -- Mission:AddClient( CLIENT:FindByName( 'RU MI-8MTV2*RAMP-Deploy Troops 3' ):Transport() )
-- Mission:AddClient( CLIENT:New( 'RU MI-8MTV2*HOT-Deploy Troops 2' ):Transport() ) -- Mission:AddClient( CLIENT:FindByName( 'RU MI-8MTV2*HOT-Deploy Troops 2' ):Transport() )
-- Mission:AddClient( CLIENT:New( 'RU MI-8MTV2*RAMP-Deploy Troops 4' ):Transport() ) -- Mission:AddClient( CLIENT:FindByName( 'RU MI-8MTV2*RAMP-Deploy Troops 4' ):Transport() )
function CLIENT:New( ClientName, ClientBriefing ) function CLIENT:Find( DCSUnit )
self = _DATABASE:FindClient( ClientName ) local ClientName = DCSUnit:getName()
local ClientFound = _DATABASE:FindClient( ClientName )
self:F( ClientName, ClientBriefing ) if ClientFound then
self.ClientName = ClientName ClientFound:F( ClientName )
self:AddBriefing( ClientBriefing ) return ClientFound
self.MessageSwitch = true end
return self error( "CLIENT not found for: " .. ClientName )
end
--- Finds a CLIENT from the _DATABASE using the relevant Client Unit Name.
-- As an optional parameter, a briefing text can be given also.
-- @param #CLIENT self
-- @param #string ClientName Name of the DCS **Unit** as defined within the Mission Editor.
-- @param #string ClientBriefing Text that describes the briefing of the mission when a Player logs into the Client.
-- @return #CLIENT
-- @usage
-- -- Create new Clients.
-- local Mission = MISSIONSCHEDULER.AddMission( 'Russia Transport Troops SA-6', 'Operational', 'Transport troops from the control center to one of the SA-6 SAM sites to activate their operation.', 'Russia' )
-- Mission:AddGoal( DeploySA6TroopsGoal )
--
-- Mission:AddClient( CLIENT:FindByName( 'RU MI-8MTV2*HOT-Deploy Troops 1' ):Transport() )
-- Mission:AddClient( CLIENT:FindByName( 'RU MI-8MTV2*RAMP-Deploy Troops 3' ):Transport() )
-- Mission:AddClient( CLIENT:FindByName( 'RU MI-8MTV2*HOT-Deploy Troops 2' ):Transport() )
-- Mission:AddClient( CLIENT:FindByName( 'RU MI-8MTV2*RAMP-Deploy Troops 4' ):Transport() )
function CLIENT:FindByName( ClientName, ClientBriefing )
local ClientFound = _DATABASE:FindClient( ClientName )
if ClientFound then
ClientFound:F( { ClientName, ClientBriefing } )
ClientFound:AddBriefing( ClientBriefing )
ClientFound.MessageSwitch = true
return ClientFound
end
error( "CLIENT not found for: " .. ClientName )
end end
function CLIENT:Register( ClientName ) function CLIENT:Register( ClientName )
local self = BASE:Inherit( self, UNIT:Register( ClientName ) ) local self = BASE:Inherit( self, UNIT:Register( ClientName ) )
self:F( ClientName )
self.ClientName = ClientName self.ClientName = ClientName
self.MessageSwitch = true
self.ClientAlive2 = false
self.AliveCheckScheduler = routines.scheduleFunction( self._AliveCheckScheduler, { self }, timer.getTime() + 1, 5 )
return self return self
end end
@ -92,13 +149,38 @@ end
--- AddBriefing adds a briefing to a CLIENT when a player joins a mission. --- AddBriefing adds a briefing to a CLIENT when a player joins a mission.
-- @param #CLIENT self -- @param #CLIENT self
-- @param #string ClientBriefing is the text defining the Mission briefing. -- @param #string ClientBriefing is the text defining the Mission briefing.
-- @return #CLIENT -- @return #CLIENT self
function CLIENT:AddBriefing( ClientBriefing ) function CLIENT:AddBriefing( ClientBriefing )
self:F() self:F( ClientBriefing )
self.ClientBriefing = ClientBriefing self.ClientBriefing = ClientBriefing
self.ClientBriefingShown = false
return self return self
end end
--- Show the briefing of the MISSION to the CLIENT.
-- @param #CLIENT self
-- @return #CLIENT self
function CLIENT:ShowBriefing()
self:F( { self.ClientName, self.ClientBriefingShown } )
if not self.ClientBriefingShown then
self.ClientBriefingShown = true
local Briefing = ""
if self.MissionBriefing then
Briefing = Briefing .. self.MissionBriefing
end
if self.ClientBriefing then
Briefing = Briefing .. "\n" .. self.ClientBriefing
end
Briefing = Briefing .. "\nPress [LEFT ALT]+[B] to view the complete mission briefing."
self:Message( Briefing, 30, self.ClientName .. '/MissionBriefing', "Briefing" )
end
return self
end
--- Resets a CLIENT. --- Resets a CLIENT.
-- @param #CLIENT self -- @param #CLIENT self
@ -108,21 +190,6 @@ function CLIENT:Reset( ClientName )
self._Menus = {} self._Menus = {}
end end
--- Checks for a client alive event and calls a function on a continuous basis.
-- @param #CLIENT self
-- @param #function CallBack Function.
-- @return #CLIENT
function CLIENT:Alive( CallBack, ... )
self:F()
self.ClientAlive2 = false
self.ClientCallBack = CallBack
self.ClientParameters = arg
self.AliveCheckScheduler = routines.scheduleFunction( self._AliveCheckScheduler, { self }, timer.getTime() + 1, 5 )
return self
end
-- Is Functions -- Is Functions
--- Checks if the CLIENT is a multi-seated UNIT. --- Checks if the CLIENT is a multi-seated UNIT.
@ -147,15 +214,30 @@ function CLIENT:IsMultiSeated()
return false return false
end end
--- Checks for a client alive event and calls a function on a continuous basis.
-- @param #CLIENT self
-- @param #function CallBack Function.
-- @return #CLIENT
function CLIENT:Alive( CallBack, ... )
self:F()
self.ClientCallBack = CallBack
self.ClientParameters = arg
return self
end
--- @param #CLIENT self --- @param #CLIENT self
function CLIENT:_AliveCheckScheduler() function CLIENT:_AliveCheckScheduler()
self:F( { self.ClientName, self.ClientAlive2 } ) self:F( { self.ClientName, self.ClientAlive2, self.ClientBriefingShown } )
if self:IsAlive() then -- Polymorphic call of UNIT if self:IsAlive() then -- Polymorphic call of UNIT
if self.ClientAlive2 == false then if self.ClientAlive2 == false then
self:ShowBriefing()
if self.ClientCallBack then
self:T("Calling Callback function") self:T("Calling Callback function")
self.ClientCallBack( self, unpack( self.ClientParameters ) ) self.ClientCallBack( self, unpack( self.ClientParameters ) )
end
self.ClientAlive2 = true self.ClientAlive2 = true
end end
else else
@ -276,7 +358,7 @@ function CLIENT:GetClientGroupUnit()
self:T( self.ClientDCSUnit ) self:T( self.ClientDCSUnit )
if ClientDCSUnit and ClientDCSUnit:isExist() then if ClientDCSUnit and ClientDCSUnit:isExist() then
local ClientUnit = _DATABASE.Units[ self.ClientName ] local ClientUnit = _DATABASE:FindUnit( self.ClientName )
self:T2( ClientUnit ) self:T2( ClientUnit )
return ClientUnit return ClientUnit
end end
@ -342,7 +424,7 @@ end
-- @param #string MessageCategory is the category of the message (the title). -- @param #string MessageCategory is the category of the message (the title).
-- @param #number MessageInterval is the interval in seconds between the display of the @{Message#MESSAGE} when the CLIENT is in the air. -- @param #number MessageInterval is the interval in seconds between the display of the @{Message#MESSAGE} when the CLIENT is in the air.
function CLIENT:Message( Message, MessageDuration, MessageId, MessageCategory, MessageInterval ) function CLIENT:Message( Message, MessageDuration, MessageId, MessageCategory, MessageInterval )
self:F() self:F( { Message, MessageDuration, MessageId, MessageCategory, MessageInterval } )
if not self.MenuMessages then if not self.MenuMessages then
if self:GetClientGroupID() then if self:GetClientGroupID() then

View File

@ -83,13 +83,13 @@ DATABASE = {
}, },
DCSUnits = {}, DCSUnits = {},
DCSGroups = {}, DCSGroups = {},
Units = {}, UNITS = {},
Groups = {}, GROUPS = {},
NavPoints = {}, NavPoints = {},
Statics = {}, Statics = {},
Players = {}, Players = {},
PlayersAlive = {}, PlayersAlive = {},
Clients = {}, CLIENTS = {},
ClientsAlive = {}, ClientsAlive = {},
Filter = { Filter = {
Coalitions = nil, Coalitions = nil,
@ -163,7 +163,7 @@ end
-- @return Unit#UNIT The found Unit. -- @return Unit#UNIT The found Unit.
function DATABASE:FindUnit( UnitName ) function DATABASE:FindUnit( UnitName )
local UnitFound = self.Units[UnitName] local UnitFound = self.UNITS[UnitName]
return UnitFound return UnitFound
end end
@ -172,7 +172,7 @@ end
function DATABASE:AddUnit( DCSUnit, DCSUnitName ) function DATABASE:AddUnit( DCSUnit, DCSUnitName )
self.DCSUnits[DCSUnitName] = DCSUnit self.DCSUnits[DCSUnitName] = DCSUnit
self.Units[DCSUnitName] = UNIT:Register( DCSUnitName ) self.UNITS[DCSUnitName] = UNIT:Register( DCSUnitName )
end end
--- Deletes a Unit from the DATABASE based on the Unit Name. --- Deletes a Unit from the DATABASE based on the Unit Name.
@ -188,7 +188,7 @@ end
-- @return Client#CLIENT The found CLIENT. -- @return Client#CLIENT The found CLIENT.
function DATABASE:FindClient( ClientName ) function DATABASE:FindClient( ClientName )
local ClientFound = self.Clients[ClientName] local ClientFound = self.CLIENTS[ClientName]
return ClientFound return ClientFound
end end
@ -196,7 +196,26 @@ end
-- @param #DATABASE self -- @param #DATABASE self
function DATABASE:AddClient( ClientName ) function DATABASE:AddClient( ClientName )
self.Clients[ClientName] = CLIENT:Register( ClientName ) self.CLIENTS[ClientName] = CLIENT:Register( ClientName )
self:E( self.CLIENTS[ClientName]:GetClassNameAndID() )
end
--- Finds a GROUP based on the GroupName.
-- @param #DATABASE self
-- @param #string GroupName
-- @return Group#GROUP The found GROUP.
function DATABASE:FindGroup( GroupName )
local GroupFound = self.GROUPS[GroupName]
return GroupFound
end
--- Adds a GROUP based on the GroupName in the DATABASE.
-- @param #DATABASE self
function DATABASE:AddGroup( DCSGroup, GroupName )
self.DCSGroups[GroupName] = DCSGroup
self.GROUPS[GroupName] = GROUP:Register( GroupName )
end end
--- Instantiate new Groups within the DCSRTE. --- Instantiate new Groups within the DCSRTE.
@ -230,7 +249,7 @@ function DATABASE:Spawn( SpawnTemplate )
SpawnTemplate.SpawnCategoryID = SpawnCategoryID SpawnTemplate.SpawnCategoryID = SpawnCategoryID
local SpawnGroup = GROUP:New( Group.getByName( SpawnTemplate.name ) ) local SpawnGroup = GROUP:Register( SpawnTemplate.name )
return SpawnGroup return SpawnGroup
end end
@ -333,8 +352,7 @@ function DATABASE:_RegisterDatabase()
local DCSGroupName = DCSGroup:getName() local DCSGroupName = DCSGroup:getName()
self:E( { "Register Group:", DCSGroup, DCSGroupName } ) self:E( { "Register Group:", DCSGroup, DCSGroupName } )
self.DCSGroups[DCSGroupName] = DCSGroup self:AddGroup( DCSGroup, DCSGroupName )
self.Groups[DCSGroupName] = GROUP:New( DCSGroup )
for DCSUnitId, DCSUnit in pairs( DCSGroup:getUnits() ) do for DCSUnitId, DCSUnit in pairs( DCSGroup:getUnits() ) do
@ -368,12 +386,7 @@ function DATABASE:_EventOnBirth( Event )
if Event.IniDCSUnit then if Event.IniDCSUnit then
if self:_IsIncludeDCSUnit( Event.IniDCSUnit ) then if self:_IsIncludeDCSUnit( Event.IniDCSUnit ) then
self:AddUnit( Event.IniDCSUnit, Event.IniDCSUnitName ) self:AddUnit( Event.IniDCSUnit, Event.IniDCSUnitName )
self:AddGroup( Event.IniDCSGroup, Event.IniDCSGroupName )
--if not self.DCSGroups[Event.IniDCSGroupName] then
-- self.DCSGroups[Event.IniDCSGroupName] = Event.IniDCSGroupName
-- self.DCSGroupsAlive[Event.IniDCSGroupName] = Event.IniDCSGroupName
-- self.Groups[Event.IniDCSGroupName] = GROUP:New( Event.IniDCSGroup )
--end
self:_EventOnPlayerEnterUnit( Event ) self:_EventOnPlayerEnterUnit( Event )
end end
end end
@ -388,6 +401,7 @@ function DATABASE:_EventOnDeadOrCrash( Event )
if Event.IniDCSUnit then if Event.IniDCSUnit then
if self.DCSUnits[Event.IniDCSUnitName] then if self.DCSUnits[Event.IniDCSUnitName] then
self:DeleteUnit( Event.IniDCSUnitName ) self:DeleteUnit( Event.IniDCSUnitName )
-- add logic to correctly remove a group once all units are destroyed...
end end
end end
end end
@ -403,7 +417,7 @@ function DATABASE:_EventOnPlayerEnterUnit( Event )
if not self.PlayersAlive[Event.IniDCSUnitName] then if not self.PlayersAlive[Event.IniDCSUnitName] then
self:E( { "Add player for unit:", Event.IniDCSUnitName, Event.IniDCSUnit:getPlayerName() } ) self:E( { "Add player for unit:", Event.IniDCSUnitName, Event.IniDCSUnit:getPlayerName() } )
self.PlayersAlive[Event.IniDCSUnitName] = Event.IniDCSUnit:getPlayerName() self.PlayersAlive[Event.IniDCSUnitName] = Event.IniDCSUnit:getPlayerName()
self.ClientsAlive[Event.IniDCSUnitName] = _DATABASE.Clients[ Event.IniDCSUnitName ] self.ClientsAlive[Event.IniDCSUnitName] = self.CLIENTS[ Event.IniDCSUnitName ]
end end
end end
end end
@ -503,7 +517,7 @@ end
function DATABASE:ForEachClient( IteratorFunction, ... ) function DATABASE:ForEachClient( IteratorFunction, ... )
self:F( arg ) self:F( arg )
self:ForEach( IteratorFunction, arg, self.Clients ) self:ForEach( IteratorFunction, arg, self.CLIENTS )
return self return self
end end
@ -513,7 +527,7 @@ function DATABASE:ScanEnvironment()
self:F() self:F()
self.Navpoints = {} self.Navpoints = {}
self.Units = {} self.UNITS = {}
--Build routines.db.units and self.Navpoints --Build routines.db.units and self.Navpoints
for coa_name, coa_data in pairs(env.mission.coalition) do for coa_name, coa_data in pairs(env.mission.coalition) do

File diff suppressed because it is too large Load Diff

View File

@ -231,25 +231,6 @@ function MISSION:AddGoalFunction( GoalFunction )
self.GoalFunction = GoalFunction self.GoalFunction = GoalFunction
end end
--- Show the briefing of the MISSION to the CLIENT.
-- @param CLIENT Client to show briefing to.
-- @return CLIENT
function MISSION:ShowBriefing( Client )
self:F( { Client.ClientName } )
if not Client.ClientBriefingShown then
Client.ClientBriefingShown = true
local Briefing = self.MissionBriefing
if Client.ClientBriefing then
Briefing = Briefing .. "\n" .. Client.ClientBriefing
end
Briefing = Briefing .. "\n (Press [LEFT ALT]+[B] to view the graphical documentation.)"
Client:Message( Briefing, 30, self.Name .. '/MissionBriefing', "Command: Mission Briefing" )
end
return Client
end
--- Register a new @{CLIENT} to participate within the mission. --- Register a new @{CLIENT} to participate within the mission.
-- @param CLIENT Client is the @{CLIENT} object. The object must have been instantiated with @{CLIENT:New}. -- @param CLIENT Client is the @{CLIENT} object. The object must have been instantiated with @{CLIENT:New}.
-- @return CLIENT -- @return CLIENT

View File

@ -308,7 +308,7 @@ function SET:FilterStart()
self:E( { "Adding Unit:", DCSUnitName } ) self:E( { "Adding Unit:", DCSUnitName } )
self.DCSUnits[DCSUnitName] = _DATABASE.DCSUnits[DCSUnitName] self.DCSUnits[DCSUnitName] = _DATABASE.DCSUnits[DCSUnitName]
self.Units[DCSUnitName] = _DATABASE.Units[DCSUnitName] self.Units[DCSUnitName] = _DATABASE:FindUnit( DCSUnitName )
if _DATABASE.DCSUnitsAlive[DCSUnitName] then if _DATABASE.DCSUnitsAlive[DCSUnitName] then
self.DCSUnitsAlive[DCSUnitName] = _DATABASE.DCSUnitsAlive[DCSUnitName] self.DCSUnitsAlive[DCSUnitName] = _DATABASE.DCSUnitsAlive[DCSUnitName]
@ -323,7 +323,7 @@ function SET:FilterStart()
--if self:_IsIncludeDCSGroup( DCSGroup ) then --if self:_IsIncludeDCSGroup( DCSGroup ) then
self:E( { "Adding Group:", DCSGroupName } ) self:E( { "Adding Group:", DCSGroupName } )
self.DCSGroups[DCSGroupName] = _DATABASE.DCSGroups[DCSGroupName] self.DCSGroups[DCSGroupName] = _DATABASE.DCSGroups[DCSGroupName]
self.Groups[DCSGroupName] = _DATABASE.Groups[DCSGroupName] self.Groups[DCSGroupName] = _DATABASE:FindGroups( DCSGroupName )
--end --end
if _DATABASE.DCSGroupsAlive[DCSGroupName] then if _DATABASE.DCSGroupsAlive[DCSGroupName] then
@ -332,7 +332,7 @@ function SET:FilterStart()
end end
end end
for DCSUnitName, Client in pairs( _DATABASE.Clients ) do for DCSUnitName, Client in pairs( _DATABASE.CLIENTS ) do
self:E( { "Adding Client for Unit:", DCSUnitName } ) self:E( { "Adding Client for Unit:", DCSUnitName } )
self.Clients[DCSUnitName] = _DATABASE.Clients[DCSUnitName] self.Clients[DCSUnitName] = _DATABASE.Clients[DCSUnitName]
end end

View File

@ -69,7 +69,7 @@ end
function STAGEBRIEF:Execute( Mission, Client, Task ) function STAGEBRIEF:Execute( Mission, Client, Task )
local Valid = BASE:Inherited(self):Execute( Mission, Client, Task ) local Valid = BASE:Inherited(self):Execute( Mission, Client, Task )
self:F() self:F()
Mission:ShowBriefing( Client ) Client:ShowBriefing()
self.StageBriefingTime = timer.getTime() self.StageBriefingTime = timer.getTime()
return Valid return Valid
end end

View File

@ -7,7 +7,7 @@
-- * Support all DCS Unit APIs. -- * Support all DCS Unit APIs.
-- * Enhance with Unit specific APIs not in the DCS Unit API set. -- * Enhance with Unit specific APIs not in the DCS Unit API set.
-- * Handle local Unit Controller. -- * Handle local Unit Controller.
-- * Manage the "state" of the objects. -- * Manage the "state" of the DCS Unit.
-- --
-- --
-- UNIT reference methods -- UNIT reference methods
@ -15,7 +15,7 @@
-- For each DCS Unit object alive within a running mission, a UNIT wrapper object (instance) will be created within the _@{DATABASE} object. -- For each DCS Unit object alive within a running mission, a UNIT wrapper object (instance) will be created within the _@{DATABASE} object.
-- This is done at the beginning of the mission (when the mission starts), and dynamically when new DCS Unit objects are spawned (using the @{SPAWN} class). -- This is done at the beginning of the mission (when the mission starts), and dynamically when new DCS Unit objects are spawned (using the @{SPAWN} class).
-- --
-- The UNIT class does not contain a :New() method, rather it provides :Find() methods to retrieve the object reference -- The UNIT class **does not contain a :New()** method, rather it provides **:Find()** methods to retrieve the object reference
-- using the DCS Unit or the DCS UnitName. -- using the DCS Unit or the DCS UnitName.
-- --
-- Another thing to know is that UNIT objects do not "contain" the DCS Unit object. -- Another thing to know is that UNIT objects do not "contain" the DCS Unit object.
@ -25,10 +25,51 @@
-- The UNIT class provides the following functions to retrieve quickly the relevant UNIT instance: -- The UNIT class provides the following functions to retrieve quickly the relevant UNIT instance:
-- --
-- * @{#UNIT.Find}(): Find a UNIT instance from the _DATABASE object using a DCS Unit object. -- * @{#UNIT.Find}(): Find a UNIT instance from the _DATABASE object using a DCS Unit object.
-- * @{#UNIT.FindByName}(): Find a UNIT instance from the _DATABASE object using a DCS Unit object. -- * @{#UNIT.FindByName}(): Find a UNIT instance from the _DATABASE object using a DCS Unit name.
-- --
-- IMPORTANT: ONE SHOULD NEVER SANATIZE these UNIT OBJECT REFERENCES! (make the UNIT object references nil). -- IMPORTANT: ONE SHOULD NEVER SANATIZE these UNIT OBJECT REFERENCES! (make the UNIT object references nil).
-- --
-- DCS UNIT APIs
-- =============
-- The DCS Unit APIs are used extensively within MOOSE. The UNIT class has for each DCS Unit API a corresponding method.
-- To be able to distinguish easily in your code the difference between a UNIT API call and a DCS Unit API call,
-- the first letter of the method is also capitalized. So, by example, the DCS Unit method @{DCSUnit#Unit.getName}()
-- is implemented in the UNIT class as @{#UNIT.GetName}().
--
-- Additional UNIT APIs
-- ====================
-- The UNIT class comes with additional methods. Find below a summary.
--
-- Smoke, Flare Units
-- ------------------
-- The UNIT class provides methods to smoke or flare units easily.
-- The @{#UNIT.SmokeBlue}(), @{#UNIT.SmokeGreen}(),@{#UNIT.SmokeOrange}(), @{#UNIT.SmokeRed}(), @{#UNIT.SmokeRed}() methods
-- will smoke the unit in the corresponding color. Note that smoking a unit is done at the current position of the DCS Unit.
-- When the DCS Unit moves for whatever reason, the smoking will still continue!
-- The @{#UNIT.FlareGreen}(), @{#UNIT.FlareRed}(), @{#UNIT.FlareWhite}(), @{#UNIT.FlareYellow}()
-- methods will fire off a flare in the air with the corresponding color. Note that a flare is a one-off shot and its effect is of very short duration.
--
-- Position, Point
-- ---------------
-- The UNIT class provides methods to obtain the current point or position of the DCS Unit.
-- The @{#UNIT.GetPointVec2}(), @{#UNIT.GetPointVec3}() will obtain the current location of the DCS Unit in a Vec2 (2D) or a Vec3 (3D) vector respectively.
-- If you want to obtain the complete 3D position including oriëntation and direction vectors, consult the @{#UNIT.GetPositionVec3}() method respectively.
--
-- Alive
-- -----
-- The @{#UNIT.IsAlive}(), @{#UNIT.IsActive}() methods determines if the DCS Unit is alive, meaning, it is existing and active.
--
-- Test for other units in radius
-- ------------------------------
-- One can test if another DCS Unit is within a given radius of the current DCS Unit, by using the @{#UNIT.OtherUnitInRadius}() method.
--
-- More functions will be added
-- ----------------------------
-- During the MOOSE development, more functions will be added. A complete list of the current functions is below.
--
--
--
--
-- @module Unit -- @module Unit
-- @author FlightControl -- @author FlightControl
@ -38,7 +79,7 @@ Include.File( "Message" )
--- The UNIT class --- The UNIT class
-- @type UNIT -- @type UNIT
-- @Extends Base#BASE -- @extends Base#BASE
-- @field #UNIT.FlareColor FlareColor -- @field #UNIT.FlareColor FlareColor
-- @field #UNIT.SmokeColor SmokeColor -- @field #UNIT.SmokeColor SmokeColor
UNIT = { UNIT = {
@ -80,6 +121,8 @@ UNIT = {
-- @field Orange -- @field Orange
-- @field Blue -- @field Blue
-- Registration.
--- Create a new UNIT from DCSUnit. --- Create a new UNIT from DCSUnit.
-- @param #UNIT self -- @param #UNIT self
-- @param DCSUnit#Unit DCSUnit -- @param DCSUnit#Unit DCSUnit
@ -88,11 +131,12 @@ UNIT = {
function UNIT:Register( UnitName ) function UNIT:Register( UnitName )
local self = BASE:Inherit( self, BASE:New() ) local self = BASE:Inherit( self, BASE:New() )
self:F( UnitName ) self:F2( UnitName )
self.UnitName = UnitName self.UnitName = UnitName
return self return self
end end
-- Reference methods.
--- Finds a UNIT from the _DATABASE using a DCSUnit object. --- Finds a UNIT from the _DATABASE using a DCSUnit object.
-- @param #UNIT self -- @param #UNIT self
@ -110,10 +154,9 @@ end
-- @param #string UnitName The Unit Name. -- @param #string UnitName The Unit Name.
-- @return Unit#UNIT self -- @return Unit#UNIT self
function UNIT:FindByName( UnitName ) function UNIT:FindByName( UnitName )
-- self:F( UnitName )
local FoundUnit = _DATABASE:FindUnit( UnitName ) local UnitFound = _DATABASE:FindUnit( UnitName )
return FoundUnit return UnitFound
end end
function UNIT:GetDCSUnit() function UNIT:GetDCSUnit()
@ -131,13 +174,13 @@ end
-- @return DCSCoalitionObject#coalition.side The side of the coalition. -- @return DCSCoalitionObject#coalition.side The side of the coalition.
-- @return #nil The DCS Unit is not existing or alive. -- @return #nil The DCS Unit is not existing or alive.
function UNIT:GetCoalition() function UNIT:GetCoalition()
self:F( self.UnitName ) self:F2( self.UnitName )
local DCSUnit = self:GetDCSUnit() local DCSUnit = self:GetDCSUnit()
if DCSUnit then if DCSUnit then
local UnitCoalition = DCSUnit:getCoalition() local UnitCoalition = DCSUnit:getCoalition()
self:T( UnitCoalition ) self:T3( UnitCoalition )
return UnitCoalition return UnitCoalition
end end
@ -149,13 +192,13 @@ end
-- @return DCScountry#country.id The country identifier. -- @return DCScountry#country.id The country identifier.
-- @return #nil The DCS Unit is not existing or alive. -- @return #nil The DCS Unit is not existing or alive.
function UNIT:GetCountry() function UNIT:GetCountry()
self:F( self.UnitName ) self:F2( self.UnitName )
local DCSUnit = self:GetDCSUnit() local DCSUnit = self:GetDCSUnit()
if DCSUnit then if DCSUnit then
local UnitCountry = DCSUnit:getCountry() local UnitCountry = DCSUnit:getCountry()
self:T( UnitCountry ) self:T3( UnitCountry )
return UnitCountry return UnitCountry
end end
@ -169,7 +212,7 @@ end
-- @return #string The name of the DCS Unit. -- @return #string The name of the DCS Unit.
-- @return #nil The DCS Unit is not existing or alive. -- @return #nil The DCS Unit is not existing or alive.
function UNIT:GetName() function UNIT:GetName()
self:F( self.UnitName ) self:F2( self.UnitName )
local DCSUnit = self:GetDCSUnit() local DCSUnit = self:GetDCSUnit()
@ -187,7 +230,7 @@ end
-- @return #boolean true if Unit is alive. -- @return #boolean true if Unit is alive.
-- @return #nil The DCS Unit is not existing or alive. -- @return #nil The DCS Unit is not existing or alive.
function UNIT:IsAlive() function UNIT:IsAlive()
self:F( self.UnitName ) self:F2( self.UnitName )
local DCSUnit = self:GetDCSUnit() local DCSUnit = self:GetDCSUnit()
@ -204,7 +247,7 @@ end
-- @return #boolean true if Unit is activated. -- @return #boolean true if Unit is activated.
-- @return #nil The DCS Unit is not existing or alive. -- @return #nil The DCS Unit is not existing or alive.
function UNIT:IsActive() function UNIT:IsActive()
self:F( self.UnitName ) self:F2( self.UnitName )
local DCSUnit = self:GetDCSUnit() local DCSUnit = self:GetDCSUnit()
@ -222,7 +265,7 @@ end
-- @return #string Player Name -- @return #string Player Name
-- @return #nil The DCS Unit is not existing or alive. -- @return #nil The DCS Unit is not existing or alive.
function UNIT:GetPlayerName() function UNIT:GetPlayerName()
self:F( self.UnitName ) self:F2( self.UnitName )
local DCSUnit = self:GetDCSUnit() local DCSUnit = self:GetDCSUnit()
@ -243,7 +286,7 @@ end
-- @return DCSUnit#Unit.ID Unit ID -- @return DCSUnit#Unit.ID Unit ID
-- @return #nil The DCS Unit is not existing or alive. -- @return #nil The DCS Unit is not existing or alive.
function UNIT:GetID() function UNIT:GetID()
self:F( self.UnitName ) self:F2( self.UnitName )
local DCSUnit = self:GetDCSUnit() local DCSUnit = self:GetDCSUnit()
@ -263,7 +306,7 @@ end
-- @return #number The Unit number. -- @return #number The Unit number.
-- @return #nil The DCS Unit is not existing or alive. -- @return #nil The DCS Unit is not existing or alive.
function UNIT:GetNumber() function UNIT:GetNumber()
self:F( self.UnitName ) self:F2( self.UnitName )
local DCSUnit = self:GetDCSUnit() local DCSUnit = self:GetDCSUnit()
@ -280,7 +323,7 @@ end
-- @return Group#GROUP The Group of the Unit. -- @return Group#GROUP The Group of the Unit.
-- @return #nil The DCS Unit is not existing or alive. -- @return #nil The DCS Unit is not existing or alive.
function UNIT:GetGroup() function UNIT:GetGroup()
self:F( self.UnitName ) self:F2( self.UnitName )
local DCSUnit = self:GetDCSUnit() local DCSUnit = self:GetDCSUnit()
@ -298,7 +341,7 @@ end
-- @return #string The Callsign of the Unit. -- @return #string The Callsign of the Unit.
-- @return #nil The DCS Unit is not existing or alive. -- @return #nil The DCS Unit is not existing or alive.
function UNIT:GetCallSign() function UNIT:GetCallSign()
self:F( self.UnitName ) self:F2( self.UnitName )
local DCSUnit = self:GetDCSUnit() local DCSUnit = self:GetDCSUnit()
@ -315,7 +358,7 @@ end
-- @return #number The Unit's health value. -- @return #number The Unit's health value.
-- @return #nil The DCS Unit is not existing or alive. -- @return #nil The DCS Unit is not existing or alive.
function UNIT:GetLife() function UNIT:GetLife()
self:F( self.UnitName ) self:F2( self.UnitName )
local DCSUnit = self:GetDCSUnit() local DCSUnit = self:GetDCSUnit()
@ -332,7 +375,7 @@ end
-- @return #number The Unit's initial health value. -- @return #number The Unit's initial health value.
-- @return #nil The DCS Unit is not existing or alive. -- @return #nil The DCS Unit is not existing or alive.
function UNIT:GetLife0() function UNIT:GetLife0()
self:F( self.UnitName ) self:F2( self.UnitName )
local DCSUnit = self:GetDCSUnit() local DCSUnit = self:GetDCSUnit()
@ -349,7 +392,7 @@ end
-- @return #number The relative amount of fuel (from 0.0 to 1.0). -- @return #number The relative amount of fuel (from 0.0 to 1.0).
-- @return #nil The DCS Unit is not existing or alive. -- @return #nil The DCS Unit is not existing or alive.
function UNIT:GetFuel() function UNIT:GetFuel()
self:F( self.UnitName ) self:F2( self.UnitName )
local DCSUnit = self:GetDCSUnit() local DCSUnit = self:GetDCSUnit()
@ -366,7 +409,7 @@ end
-- @return DCSUnit#Unit.Ammo -- @return DCSUnit#Unit.Ammo
-- @return #nil The DCS Unit is not existing or alive. -- @return #nil The DCS Unit is not existing or alive.
function UNIT:GetAmmo() function UNIT:GetAmmo()
self:F( self.UnitName ) self:F2( self.UnitName )
local DCSUnit = self:GetDCSUnit() local DCSUnit = self:GetDCSUnit()
@ -383,7 +426,7 @@ end
-- @return DCSUnit#Unit.Sensors -- @return DCSUnit#Unit.Sensors
-- @return #nil The DCS Unit is not existing or alive. -- @return #nil The DCS Unit is not existing or alive.
function UNIT:GetSensors() function UNIT:GetSensors()
self:F( self.UnitName ) self:F2( self.UnitName )
local DCSUnit = self:GetDCSUnit() local DCSUnit = self:GetDCSUnit()
@ -407,7 +450,7 @@ end
-- @return DCSObject#Object The object of the radar's interest. Not nil only if at least one radar of the unit is tracking a target. -- @return DCSObject#Object The object of the radar's interest. Not nil only if at least one radar of the unit is tracking a target.
-- @return #nil The DCS Unit is not existing or alive. -- @return #nil The DCS Unit is not existing or alive.
function UNIT:GetRadar() function UNIT:GetRadar()
self:F( self.UnitName ) self:F2( self.UnitName )
local DCSUnit = self:GetDCSUnit() local DCSUnit = self:GetDCSUnit()
@ -426,7 +469,7 @@ end
-- @return DCSUnit#Unit.Desc The Unit descriptor. -- @return DCSUnit#Unit.Desc The Unit descriptor.
-- @return #nil The DCS Unit is not existing or alive. -- @return #nil The DCS Unit is not existing or alive.
function UNIT:GetDesc() function UNIT:GetDesc()
self:F( self.UnitName ) self:F2( self.UnitName )
local DCSUnit = self:GetDCSUnit() local DCSUnit = self:GetDCSUnit()
@ -444,13 +487,13 @@ end
-- @return #string The type name of the DCS Unit. -- @return #string The type name of the DCS Unit.
-- @return #nil The DCS Unit is not existing or alive. -- @return #nil The DCS Unit is not existing or alive.
function UNIT:GetTypeName() function UNIT:GetTypeName()
self:F( self.UnitName ) self:F2( self.UnitName )
local DCSUnit = self:GetDCSUnit() local DCSUnit = self:GetDCSUnit()
if DCSUnit then if DCSUnit then
local UnitTypeName = DCSUnit:getTypeName() local UnitTypeName = DCSUnit:getTypeName()
self:T( UnitTypeName ) self:T3( UnitTypeName )
return UnitTypeName return UnitTypeName
end end
@ -466,13 +509,13 @@ end
-- @return #string The name of the DCS Unit. -- @return #string The name of the DCS Unit.
-- @return #nil The DCS Unit is not existing or alive. -- @return #nil The DCS Unit is not existing or alive.
function UNIT:GetPrefix() function UNIT:GetPrefix()
self:F( self.UnitName ) self:F2( self.UnitName )
local DCSUnit = self:GetDCSUnit() local DCSUnit = self:GetDCSUnit()
if DCSUnit then if DCSUnit then
local UnitPrefix = string.match( self.UnitName, ".*#" ):sub( 1, -2 ) local UnitPrefix = string.match( self.UnitName, ".*#" ):sub( 1, -2 )
self:T( UnitPrefix ) self:T3( UnitPrefix )
return UnitPrefix return UnitPrefix
end end
@ -486,7 +529,7 @@ end
-- @return DCSTypes#Vec2 The 2D point vector of the DCS Unit. -- @return DCSTypes#Vec2 The 2D point vector of the DCS Unit.
-- @return #nil The DCS Unit is not existing or alive. -- @return #nil The DCS Unit is not existing or alive.
function UNIT:GetPointVec2() function UNIT:GetPointVec2()
self:F( self.UnitName ) self:F2( self.UnitName )
local DCSUnit = self:GetDCSUnit() local DCSUnit = self:GetDCSUnit()
@ -497,7 +540,7 @@ function UNIT:GetPointVec2()
UnitPointVec2.x = UnitPointVec3.x UnitPointVec2.x = UnitPointVec3.x
UnitPointVec2.y = UnitPointVec3.z UnitPointVec2.y = UnitPointVec3.z
self:T( UnitPointVec2 ) self:T3( UnitPointVec2 )
return UnitPointVec2 return UnitPointVec2
end end
@ -510,13 +553,13 @@ end
-- @return DCSTypes#Vec3 The 3D point vector of the DCS Unit. -- @return DCSTypes#Vec3 The 3D point vector of the DCS Unit.
-- @return #nil The DCS Unit is not existing or alive. -- @return #nil The DCS Unit is not existing or alive.
function UNIT:GetPointVec3() function UNIT:GetPointVec3()
self:F( self.UnitName ) self:F2( self.UnitName )
local DCSUnit = self:GetDCSUnit() local DCSUnit = self:GetDCSUnit()
if DCSUnit then if DCSUnit then
local UnitPointVec3 = DCSUnit:getPosition().p local UnitPointVec3 = DCSUnit:getPosition().p
self:T( UnitPointVec3 ) self:T3( UnitPointVec3 )
return UnitPointVec3 return UnitPointVec3
end end
@ -528,13 +571,13 @@ end
-- @return DCSTypes#Position The 3D position vectors of the DCS Unit. -- @return DCSTypes#Position The 3D position vectors of the DCS Unit.
-- @return #nil The DCS Unit is not existing or alive. -- @return #nil The DCS Unit is not existing or alive.
function UNIT:GetPositionVec3() function UNIT:GetPositionVec3()
self:F( self.UnitName ) self:F2( self.UnitName )
local DCSUnit = self:GetDCSUnit() local DCSUnit = self:GetDCSUnit()
if DCSUnit then if DCSUnit then
local UnitPosition = DCSUnit:getPosition() local UnitPosition = DCSUnit:getPosition()
self:T( UnitPosition ) self:T3( UnitPosition )
return UnitPosition return UnitPosition
end end
@ -546,13 +589,13 @@ end
-- @return DCSTypes#Vec3 The velocity vector -- @return DCSTypes#Vec3 The velocity vector
-- @return #nil The DCS Unit is not existing or alive. -- @return #nil The DCS Unit is not existing or alive.
function UNIT:GetVelocity() function UNIT:GetVelocity()
self:F( self.UnitName ) self:F2( self.UnitName )
local DCSUnit = self:GetDCSUnit() local DCSUnit = self:GetDCSUnit()
if DCSUnit then if DCSUnit then
local UnitVelocityVec3 = DCSUnit:getVelocity() local UnitVelocityVec3 = DCSUnit:getVelocity()
self:T( UnitVelocityVec3 ) self:T3( UnitVelocityVec3 )
return UnitVelocityVec3 return UnitVelocityVec3
end end
@ -564,13 +607,13 @@ end
-- @return #boolean true if in the air. -- @return #boolean true if in the air.
-- @return #nil The DCS Unit is not existing or alive. -- @return #nil The DCS Unit is not existing or alive.
function UNIT:InAir() function UNIT:InAir()
self:F( self.UnitName ) self:F2( self.UnitName )
local DCSUnit = self:GetDCSUnit() local DCSUnit = self:GetDCSUnit()
if DCSUnit then if DCSUnit then
local UnitInAir = DCSUnit:inAir() local UnitInAir = DCSUnit:inAir()
self:T( UnitInAir ) self:T3( UnitInAir )
return UnitInAir return UnitInAir
end end
@ -582,7 +625,7 @@ end
-- @return DCSTypes#Distance The altitude of the DCS Unit. -- @return DCSTypes#Distance The altitude of the DCS Unit.
-- @return #nil The DCS Unit is not existing or alive. -- @return #nil The DCS Unit is not existing or alive.
function UNIT:GetAltitude() function UNIT:GetAltitude()
self:F() self:F2()
local DCSUnit = self:GetDCSUnit() local DCSUnit = self:GetDCSUnit()
@ -601,7 +644,7 @@ end
-- @return true If the other DCS Unit is within the radius of the 2D point of the DCS Unit. -- @return true If the other DCS Unit is within the radius of the 2D point of the DCS Unit.
-- @return #nil The DCS Unit is not existing or alive. -- @return #nil The DCS Unit is not existing or alive.
function UNIT:OtherUnitInRadius( AwaitUnit, Radius ) function UNIT:OtherUnitInRadius( AwaitUnit, Radius )
self:F( { self.UnitName, AwaitUnit.UnitName, Radius } ) self:F2( { self.UnitName, AwaitUnit.UnitName, Radius } )
local DCSUnit = self:GetDCSUnit() local DCSUnit = self:GetDCSUnit()
@ -610,10 +653,10 @@ function UNIT:OtherUnitInRadius( AwaitUnit, Radius )
local AwaitUnitPos = AwaitUnit:GetPointVec3() local AwaitUnitPos = AwaitUnit:GetPointVec3()
if (((UnitPos.x - AwaitUnitPos.x)^2 + (UnitPos.z - AwaitUnitPos.z)^2)^0.5 <= Radius) then if (((UnitPos.x - AwaitUnitPos.x)^2 + (UnitPos.z - AwaitUnitPos.z)^2)^0.5 <= Radius) then
self:T( "true" ) self:T3( "true" )
return true return true
else else
self:T( "false" ) self:T3( "false" )
return false return false
end end
end end
@ -638,77 +681,77 @@ end
--- Signal a flare at the position of the UNIT. --- Signal a flare at the position of the UNIT.
-- @param #UNIT self -- @param #UNIT self
function UNIT:Flare( FlareColor ) function UNIT:Flare( FlareColor )
self:F() self:F2()
trigger.action.signalFlare( self:GetPointVec3(), FlareColor , 0 ) trigger.action.signalFlare( self:GetPointVec3(), FlareColor , 0 )
end end
--- Signal a white flare at the position of the UNIT. --- Signal a white flare at the position of the UNIT.
-- @param #UNIT self -- @param #UNIT self
function UNIT:FlareWhite() function UNIT:FlareWhite()
self:F() self:F2()
trigger.action.signalFlare( self:GetPointVec3(), trigger.flareColor.White , 0 ) trigger.action.signalFlare( self:GetPointVec3(), trigger.flareColor.White , 0 )
end end
--- Signal a yellow flare at the position of the UNIT. --- Signal a yellow flare at the position of the UNIT.
-- @param #UNIT self -- @param #UNIT self
function UNIT:FlareYellow() function UNIT:FlareYellow()
self:F() self:F2()
trigger.action.signalFlare( self:GetPointVec3(), trigger.flareColor.Yellow , 0 ) trigger.action.signalFlare( self:GetPointVec3(), trigger.flareColor.Yellow , 0 )
end end
--- Signal a green flare at the position of the UNIT. --- Signal a green flare at the position of the UNIT.
-- @param #UNIT self -- @param #UNIT self
function UNIT:FlareGreen() function UNIT:FlareGreen()
self:F() self:F2()
trigger.action.signalFlare( self:GetPointVec3(), trigger.flareColor.Green , 0 ) trigger.action.signalFlare( self:GetPointVec3(), trigger.flareColor.Green , 0 )
end end
--- Signal a red flare at the position of the UNIT. --- Signal a red flare at the position of the UNIT.
-- @param #UNIT self -- @param #UNIT self
function UNIT:FlareRed() function UNIT:FlareRed()
self:F() self:F2()
trigger.action.signalFlare( self:GetPointVec3(), trigger.flareColor.Red, 0 ) trigger.action.signalFlare( self:GetPointVec3(), trigger.flareColor.Red, 0 )
end end
--- Smoke the UNIT. --- Smoke the UNIT.
-- @param #UNIT self -- @param #UNIT self
function UNIT:Smoke( SmokeColor ) function UNIT:Smoke( SmokeColor )
self:F() self:F2()
trigger.action.smoke( self:GetPointVec3(), SmokeColor ) trigger.action.smoke( self:GetPointVec3(), SmokeColor )
end end
--- Smoke the UNIT Green. --- Smoke the UNIT Green.
-- @param #UNIT self -- @param #UNIT self
function UNIT:SmokeGreen() function UNIT:SmokeGreen()
self:F() self:F2()
trigger.action.smoke( self:GetPointVec3(), trigger.smokeColor.Green ) trigger.action.smoke( self:GetPointVec3(), trigger.smokeColor.Green )
end end
--- Smoke the UNIT Red. --- Smoke the UNIT Red.
-- @param #UNIT self -- @param #UNIT self
function UNIT:SmokeRed() function UNIT:SmokeRed()
self:F() self:F2()
trigger.action.smoke( self:GetPointVec3(), trigger.smokeColor.Red ) trigger.action.smoke( self:GetPointVec3(), trigger.smokeColor.Red )
end end
--- Smoke the UNIT White. --- Smoke the UNIT White.
-- @param #UNIT self -- @param #UNIT self
function UNIT:SmokeWhite() function UNIT:SmokeWhite()
self:F() self:F2()
trigger.action.smoke( self:GetPointVec3(), trigger.smokeColor.White ) trigger.action.smoke( self:GetPointVec3(), trigger.smokeColor.White )
end end
--- Smoke the UNIT Orange. --- Smoke the UNIT Orange.
-- @param #UNIT self -- @param #UNIT self
function UNIT:SmokeOrange() function UNIT:SmokeOrange()
self:F() self:F2()
trigger.action.smoke( self:GetPointVec3(), trigger.smokeColor.Orange ) trigger.action.smoke( self:GetPointVec3(), trigger.smokeColor.Orange )
end end
--- Smoke the UNIT Blue. --- Smoke the UNIT Blue.
-- @param #UNIT self -- @param #UNIT self
function UNIT:SmokeBlue() function UNIT:SmokeBlue()
self:F() self:F2()
trigger.action.smoke( self:GetPointVec3(), trigger.smokeColor.Blue ) trigger.action.smoke( self:GetPointVec3(), trigger.smokeColor.Blue )
end end
@ -719,14 +762,14 @@ end
-- @param #UNIT self -- @param #UNIT self
-- @return #boolean Air category evaluation result. -- @return #boolean Air category evaluation result.
function UNIT:IsAir() function UNIT:IsAir()
self:F() self:F2()
local UnitDescriptor = self.DCSUnit:getDesc() local UnitDescriptor = self.DCSUnit:getDesc()
self:T( { UnitDescriptor.category, Unit.Category.AIRPLANE, Unit.Category.HELICOPTER } ) self:T3( { UnitDescriptor.category, Unit.Category.AIRPLANE, Unit.Category.HELICOPTER } )
local IsAirResult = ( UnitDescriptor.category == Unit.Category.AIRPLANE ) or ( UnitDescriptor.category == Unit.Category.HELICOPTER ) local IsAirResult = ( UnitDescriptor.category == Unit.Category.AIRPLANE ) or ( UnitDescriptor.category == Unit.Category.HELICOPTER )
self:T( IsAirResult ) self:T3( IsAirResult )
return IsAirResult return IsAirResult
end end

View File

@ -12,7 +12,7 @@ Include.File( "Event" )
do do
local Mission = MISSION:New( 'Destroy Gound', 'Ground', 'Briefing', 'CCCP' ) local Mission = MISSION:New( 'Destroy Gound', 'Ground', 'Briefing', 'CCCP' )
Mission:AddClient( CLIENT:New( 'Client Plane', "Just wait and observe the SU-25T destoying targets. Your mission goal should increase..." ) ) Mission:AddClient( CLIENT:FindByName( 'Client Plane', "Just wait and observe the SU-25T destoying targets. Your mission goal should increase..." ) )
local DESTROYGROUPSTASK = DESTROYGROUPSTASK:New( 'Ground Vehicle', 'Ground Vehicles', { 'DESTROY Test 1' }, 100 ) -- 75% of a patriot battery needs to be destroyed to achieve mission success... local DESTROYGROUPSTASK = DESTROYGROUPSTASK:New( 'Ground Vehicle', 'Ground Vehicles', { 'DESTROY Test 1' }, 100 ) -- 75% of a patriot battery needs to be destroyed to achieve mission success...
DESTROYGROUPSTASK:SetGoalTotal( 1 ) DESTROYGROUPSTASK:SetGoalTotal( 1 )
@ -25,7 +25,7 @@ end
do do
local Mission = MISSION:New( 'Destroy Helicopters', 'Helicopters', 'Briefing', 'CCCP' ) local Mission = MISSION:New( 'Destroy Helicopters', 'Helicopters', 'Briefing', 'CCCP' )
Mission:AddClient( CLIENT:New( 'Client Plane', "Just wait and observe the SU-25T destoying the helicopters. The helicopter mission goal should increase once all are destroyed ..." ) ) Mission:AddClient( CLIENT:FindByName( 'Client Plane', "Just wait and observe the SU-25T destoying the helicopters. The helicopter mission goal should increase once all are destroyed ..." ) )
local DESTROYGROUPSTASK = DESTROYGROUPSTASK:New( 'Helicopter', 'Helicopters', { 'DESTROY Test 2' }, 50 ) local DESTROYGROUPSTASK = DESTROYGROUPSTASK:New( 'Helicopter', 'Helicopters', { 'DESTROY Test 2' }, 50 )
DESTROYGROUPSTASK:SetGoalTotal( 2 ) DESTROYGROUPSTASK:SetGoalTotal( 2 )

View File

@ -53,8 +53,8 @@ do
SpawnEscortGround = SPAWN:New( "Escort Ground" ) SpawnEscortGround = SPAWN:New( "Escort Ground" )
SpawnEscortShip = SPAWN:New( "Escort Ship" ) SpawnEscortShip = SPAWN:New( "Escort Ship" )
EscortClientHeli = CLIENT:New( "Lead Helicopter", "Fly around and observe the behaviour of the escort helicopter" ):Alive( EventAliveHelicopter ) EscortClientHeli = CLIENT:FindByName( "Lead Helicopter", "Fly around and observe the behaviour of the escort helicopter" ):Alive( EventAliveHelicopter )
EscortClientPlane = CLIENT:New( "Lead Plane", "Fly around and observe the behaviour of the escort airplane. Select Navigate->Joun-Up and airplane should follow you. Change speed and directions." ) EscortClientPlane = CLIENT:FindByName( "Lead Plane", "Fly around and observe the behaviour of the escort airplane. Select Navigate->Joun-Up and airplane should follow you. Change speed and directions." )
:Alive( EventAlivePlane ) :Alive( EventAlivePlane )
end end

View File

@ -26,7 +26,7 @@ Group_Vehicle6 = Spawn_Vehicle:Spawn()
Group_Vehicle1:TaskRouteToZone( ZONE:New( "Landing Zone" ), true, 40, "Cone" ) Group_Vehicle1:TaskRouteToZone( ZONE:New( "Landing Zone" ), true, 40, "Cone" )
-- Now land the spawned plane on to the Vinson, by copying the route of another object. -- Now land the spawned plane on to the Vinson, by copying the route of another object.
Route_Plane = GROUP:NewFromName( "Spawn Helicopter Route Copy" ):CopyRoute( 1, 0 ) Route_Plane = GROUP:FindByName( "Spawn Helicopter Route Copy" ):CopyRoute( 1, 0 )
Group_Plane:Route( Route_Plane ) Group_Plane:Route( Route_Plane )

View File

@ -14,8 +14,8 @@ Include.File( "CleanUp" )
do do
local Mission = MISSION:New( 'Pickup', 'Operational', 'Pickup Troops', 'NATO' ) local Mission = MISSION:New( 'Pickup', 'Operational', 'Pickup Troops', 'NATO' )
Mission:AddClient( CLIENT:New( 'DE Pickup Test 1' ):Transport() ) Mission:AddClient( CLIENT:FindByName( 'DE Pickup Test 1' ):Transport() )
Mission:AddClient( CLIENT:New( 'DE Pickup Test 2' ):Transport() ) Mission:AddClient( CLIENT:FindByName( 'DE Pickup Test 2' ):Transport() )
local CargoTable = {} local CargoTable = {}
@ -62,7 +62,7 @@ end
do do
local Mission = MISSION:New( 'Deliver secret letter', 'Operational', 'Pickup letter to the commander.', 'NATO' ) local Mission = MISSION:New( 'Deliver secret letter', 'Operational', 'Pickup letter to the commander.', 'NATO' )
Client_Package_1 = CLIENT:New( 'BE Package Test 1' ):Transport() Client_Package_1 = CLIENT:FindByName( 'BE Package Test 1' ):Transport()
Mission:AddClient( Client_Package_1 ) Mission:AddClient( Client_Package_1 )
@ -95,8 +95,8 @@ end
do do
local Mission = MISSION:New( 'Sling load Cargo', 'Operational', 'Sling Load Cargo to Deploy Zone.', 'NATO' ) local Mission = MISSION:New( 'Sling load Cargo', 'Operational', 'Sling Load Cargo to Deploy Zone.', 'NATO' )
Mission:AddClient( CLIENT:New( 'Sling Load Test Client 1' ):Transport() ) Mission:AddClient( CLIENT:FindByName( 'Sling Load Test Client 1' ):Transport() )
Mission:AddClient( CLIENT:New( 'Sling Load Test Client 2' ):Transport() ) Mission:AddClient( CLIENT:FindByName( 'Sling Load Test Client 2' ):Transport() )
Sling_Load_Pickup_Zone = CARGO_ZONE:New( 'Sling Load Pickup Zone', 'Sling Load Guard' ):RedSmoke() Sling_Load_Pickup_Zone = CARGO_ZONE:New( 'Sling Load Pickup Zone', 'Sling Load Guard' ):RedSmoke()

View File

@ -0,0 +1,39 @@
Include.File( "Group" )
Include.File( "Unit" )
Include.File( "Client" )
BASE:TraceClass( "UNIT" )
BASE:TraceClass( "GROUP" )
BASE:TraceClass( "CLIENT" )
UnitTankAI1 = _DATABASE:FindUnit( "Smoke Test 1" )
UnitTankAI2 = _DATABASE:FindUnit( "Smoke Test 2" )
UnitTankAI3 = UNIT:FindByName( "Smoke Test 3" )
UnitTankAI4 = _DATABASE:FindUnit( "Smoke Test 4" )
UnitTankAI1:SmokeBlue()
UnitTankAI3:SmokeOrange()
UnitTankAI2:T( UnitTankAI2:GetAmmo() )
GroupTanks = GROUP:FindByName( "Smoke Test" )
GroupTanks:T( GroupTanks:OptionROEOpenFirePossible() )
GroupTanks:OptionROEOpenFire()
local function ClientAlive( Client, ClientNumber )
GroupTanks:MessageToClient( "Hello Client " .. ClientNumber .. "! We are reporting to you on our way...", 5, Client )
end
ClientHeli = CLIENT:FindByName( "Client Test 1", "Fly slowly to waypoint 3 of the Command Post!" ):Alive( ClientAlive, 1 )
ClientHeli2 = CLIENT:FindByName( "Client Test 2", "Fly slowly to waypoint 3 of the Command Post!" ):Alive( ClientAlive, 2 )