Merge remote-tracking branch 'refs/remotes/origin/master' into Escort

This commit is contained in:
FlightControl 2016-04-15 05:46:45 +02:00
commit c4d559ea9c
58 changed files with 3357 additions and 599 deletions

4
.gitignore vendored
View File

@ -220,3 +220,7 @@ pip-log.txt
#Goodsync #Goodsync
_gsdata_/ _gsdata_/
#GITHUB
.gitattributes
.gitignore

View File

@ -23,6 +23,7 @@
<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="DCSAirbase.html">DCSAirbase</a></li>
<li><a href="DCSCoalitionObject.html">DCSCoalitionObject</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="DCSController.html">DCSController</a></li>
<li><a href="DCSGroup.html">DCSGroup</a></li> <li><a href="DCSGroup.html">DCSGroup</a></li>
<li><a href="DCSObject.html">DCSObject</a></li> <li><a href="DCSObject.html">DCSObject</a></li>
@ -204,6 +205,24 @@
<td class="name" nowrap="nowrap"><a href="##(BASE).T3">BASE:T3(Arguments)</a></td> <td class="name" nowrap="nowrap"><a href="##(BASE).T3">BASE:T3(Arguments)</a></td>
<td class="summary"> <td class="summary">
<p>Trace a function logic level 3.</p> <p>Trace a function logic level 3.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(BASE).TraceClass">BASE:TraceClass(Class)</a></td>
<td class="summary">
<p>Set tracing for a class</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(BASE).TraceClassMethod">BASE:TraceClassMethod(Class, Method)</a></td>
<td class="summary">
<p>Set tracing for a specific method of class</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(BASE).TraceLevel">BASE:TraceLevel(Level)</a></td>
<td class="summary">
<p>Set trace level</p>
</td> </td>
</tr> </tr>
<tr> <tr>
@ -747,6 +766,74 @@ A #table or any field.</p>
<dl class="function"> <dl class="function">
<dt> <dt>
<a id="#(BASE).TraceClass" >
<strong>BASE:TraceClass(Class)</strong>
</a>
</dt>
<dd>
<p>Set tracing for a class</p>
<h3>Parameter</h3>
<ul>
<li>
<p><code><em>#string Class </em></code>: </p>
</li>
</ul>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(BASE).TraceClassMethod" >
<strong>BASE:TraceClassMethod(Class, Method)</strong>
</a>
</dt>
<dd>
<p>Set tracing for a specific method of class</p>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em>#string Class </em></code>: </p>
</li>
<li>
<p><code><em>#string Method </em></code>: </p>
</li>
</ul>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(BASE).TraceLevel" >
<strong>BASE:TraceLevel(Level)</strong>
</a>
</dt>
<dd>
<p>Set trace level</p>
<h3>Parameter</h3>
<ul>
<li>
<p><code><em>#number Level </em></code>: </p>
</li>
</ul>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(BASE).onEvent" > <a id="#(BASE).onEvent" >
<strong>BASE:onEvent(event)</strong> <strong>BASE:onEvent(event)</strong>
</a> </a>

View File

@ -23,6 +23,7 @@
<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="DCSAirbase.html">DCSAirbase</a></li>
<li><a href="DCSCoalitionObject.html">DCSCoalitionObject</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="DCSController.html">DCSController</a></li>
<li><a href="DCSGroup.html">DCSGroup</a></li> <li><a href="DCSGroup.html">DCSGroup</a></li>
<li><a href="DCSObject.html">DCSObject</a></li> <li><a href="DCSObject.html">DCSObject</a></li>

View File

@ -23,6 +23,7 @@
<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="DCSAirbase.html">DCSAirbase</a></li>
<li><a href="DCSCoalitionObject.html">DCSCoalitionObject</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="DCSController.html">DCSController</a></li>
<li><a href="DCSGroup.html">DCSGroup</a></li> <li><a href="DCSGroup.html">DCSGroup</a></li>
<li><a href="DCSObject.html">DCSObject</a></li> <li><a href="DCSObject.html">DCSObject</a></li>

View File

@ -23,6 +23,7 @@
<li>Client</li> <li>Client</li>
<li><a href="DCSAirbase.html">DCSAirbase</a></li> <li><a href="DCSAirbase.html">DCSAirbase</a></li>
<li><a href="DCSCoalitionObject.html">DCSCoalitionObject</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="DCSController.html">DCSController</a></li>
<li><a href="DCSGroup.html">DCSGroup</a></li> <li><a href="DCSGroup.html">DCSGroup</a></li>
<li><a href="DCSObject.html">DCSObject</a></li> <li><a href="DCSObject.html">DCSObject</a></li>
@ -229,9 +230,15 @@ Note that clients are NOT the same as groups, they are NOT necessarily alive. </
</td> </td>
</tr> </tr>
<tr> <tr>
<td class="name" nowrap="nowrap"><a href="##(CLIENT).IsAlive">CLIENT:IsAlive(Returns)</a></td> <td class="name" nowrap="nowrap"><a href="##(CLIENT).IsAlive">CLIENT:IsAlive()</a></td>
<td class="summary"> <td class="summary">
<p>Checks if client is alive and returns true or false.</p> <p>Checks if client is alive and returns true or false.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(CLIENT).IsMultiSeated">CLIENT:IsMultiSeated()</a></td>
<td class="summary">
<p>Checks if the CLIENT is a multi-seated UNIT.</p>
</td> </td>
</tr> </tr>
<tr> <tr>
@ -764,22 +771,31 @@ Function.</p>
<dt> <dt>
<a id="#(CLIENT).IsAlive" > <a id="#(CLIENT).IsAlive" >
<strong>CLIENT:IsAlive(Returns)</strong> <strong>CLIENT:IsAlive()</strong>
</a> </a>
</dt> </dt>
<dd> <dd>
<p>Checks if client is alive and returns true or false.</p> <p>Checks if client is alive and returns true or false.</p>
<h3>Parameter</h3> </dd>
<ul> </dl>
<li> <dl class="function">
<dt>
<p><code><em>#boolean Returns </em></code>: <a id="#(CLIENT).IsMultiSeated" >
true if client is alive.</p> <strong>CLIENT:IsMultiSeated()</strong>
</a>
</dt>
<dd>
<p>Checks if the CLIENT is a multi-seated UNIT.</p>
<h3>Return value</h3>
<p><em>#boolean:</em>
true if multi-seated.</p>
</li>
</ul>
</dd> </dd>
</dl> </dl>
<dl class="function"> <dl class="function">

View File

@ -23,6 +23,7 @@
<li><a href="Client.html">Client</a></li> <li><a href="Client.html">Client</a></li>
<li>DCSAirbase</li> <li>DCSAirbase</li>
<li><a href="DCSCoalitionObject.html">DCSCoalitionObject</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="DCSController.html">DCSController</a></li>
<li><a href="DCSGroup.html">DCSGroup</a></li> <li><a href="DCSGroup.html">DCSGroup</a></li>
<li><a href="DCSObject.html">DCSObject</a></li> <li><a href="DCSObject.html">DCSObject</a></li>

View File

@ -23,6 +23,7 @@
<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="DCSAirbase.html">DCSAirbase</a></li>
<li>DCSCoalitionObject</li> <li>DCSCoalitionObject</li>
<li><a href="DCSCommand.html">DCSCommand</a></li>
<li><a href="DCSController.html">DCSController</a></li> <li><a href="DCSController.html">DCSController</a></li>
<li><a href="DCSGroup.html">DCSGroup</a></li> <li><a href="DCSGroup.html">DCSGroup</a></li>
<li><a href="DCSObject.html">DCSObject</a></li> <li><a href="DCSObject.html">DCSObject</a></li>

View File

@ -0,0 +1,122 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<link rel="stylesheet" href="stylesheet.css" type="text/css"/>
</head>
<body>
<div id="container">
<div id="product">
<div id="product_logo"></div>
<div id="product_name"><big><b></b></big></div>
<div id="product_description"></div>
</div>
<div id="main">
<div id="navigation">
<h2>Modules</h2>
<ul><li>
<a href="index.html">index</a>
</li></ul>
<ul>
<li><a href="Base.html">Base</a></li>
<li><a href="CARGO.html">CARGO</a></li>
<li><a href="CleanUp.html">CleanUp</a></li>
<li><a href="Client.html">Client</a></li>
<li><a href="DCSAirbase.html">DCSAirbase</a></li>
<li><a href="DCSCoalitionObject.html">DCSCoalitionObject</a></li>
<li>DCSCommand</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="DCStimer.html">DCStimer</a></li>
<li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li>
<li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li>
<li><a href="DESTROYGROUPSTASK.html">DESTROYGROUPSTASK</a></li>
<li><a href="DESTROYRADARSTASK.html">DESTROYRADARSTASK</a></li>
<li><a href="DESTROYUNITTYPESTASK.html">DESTROYUNITTYPESTASK</a></li>
<li><a href="Database.html">Database</a></li>
<li><a href="Escort.html">Escort</a></li>
<li><a href="GOHOMETASK.html">GOHOMETASK</a></li>
<li><a href="Group.html">Group</a></li>
<li><a href="MISSION.html">MISSION</a></li>
<li><a href="MOVEMENT.html">MOVEMENT</a></li>
<li><a href="Menu.html">Menu</a></li>
<li><a href="Message.html">Message</a></li>
<li><a href="NOTASK.html">NOTASK</a></li>
<li><a href="PICKUPTASK.html">PICKUPTASK</a></li>
<li><a href="ROUTETASK.html">ROUTETASK</a></li>
<li><a href="STAGE.html">STAGE</a></li>
<li><a href="Sead.html">Sead</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="Unit.html">Unit</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>
</ul>
</div>
<div id="content">
<h1>Module <code>DCSCommand</code></h1>
<h2><a id="#(Command)">Type <code>Command</code></a></h2>
<table class="function_list">
<tr>
<td class="name" nowrap="nowrap"><a href="##(Command).id">Command.id</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(Command).params">Command.params</a></td>
<td class="summary">
</td>
</tr>
</table>
<h2><a id="#(DCSCommand)" >Type <code>DCSCommand</code></a></h2>
<h2><a id="#(Command)" >Type <code>Command</code></a></h2>
<h3>Field(s)</h3>
<dl class="function">
<dt>
<em>#string</em>
<a id="#(Command).id" >
<strong>Command.id</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em><a href="##(Command.params)">#Command.params</a></em>
<a id="#(Command).params" >
<strong>Command.params</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<h2><a id="#(Command.params)" >Type <code>Command.params</code></a></h2>
</div>
</div>
</body>
</html>

View File

@ -23,6 +23,7 @@
<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="DCSAirbase.html">DCSAirbase</a></li>
<li><a href="DCSCoalitionObject.html">DCSCoalitionObject</a></li> <li><a href="DCSCoalitionObject.html">DCSCoalitionObject</a></li>
<li><a href="DCSCommand.html">DCSCommand</a></li>
<li>DCSController</li> <li>DCSController</li>
<li><a href="DCSGroup.html">DCSGroup</a></li> <li><a href="DCSGroup.html">DCSGroup</a></li>
<li><a href="DCSObject.html">DCSObject</a></li> <li><a href="DCSObject.html">DCSObject</a></li>

View File

@ -23,6 +23,7 @@
<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="DCSAirbase.html">DCSAirbase</a></li>
<li><a href="DCSCoalitionObject.html">DCSCoalitionObject</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="DCSController.html">DCSController</a></li>
<li>DCSGroup</li> <li>DCSGroup</li>
<li><a href="DCSObject.html">DCSObject</a></li> <li><a href="DCSObject.html">DCSObject</a></li>

View File

@ -23,6 +23,7 @@
<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="DCSAirbase.html">DCSAirbase</a></li>
<li><a href="DCSCoalitionObject.html">DCSCoalitionObject</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="DCSController.html">DCSController</a></li>
<li><a href="DCSGroup.html">DCSGroup</a></li> <li><a href="DCSGroup.html">DCSGroup</a></li>
<li>DCSObject</li> <li>DCSObject</li>

View File

@ -23,6 +23,7 @@
<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="DCSAirbase.html">DCSAirbase</a></li>
<li><a href="DCSCoalitionObject.html">DCSCoalitionObject</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="DCSController.html">DCSController</a></li>
<li><a href="DCSGroup.html">DCSGroup</a></li> <li><a href="DCSGroup.html">DCSGroup</a></li>
<li><a href="DCSObject.html">DCSObject</a></li> <li><a href="DCSObject.html">DCSObject</a></li>
@ -63,16 +64,16 @@
<h2><a id="#(DCSTask)" >Type <code>DCSTask</code></a></h2> <h2><a id="#(Task)">Type <code>Task</code></a></h2>
<table class="function_list"> <table class="function_list">
<tr> <tr>
<td class="name" nowrap="nowrap"><a href="##(DCSTask).id">DCSTask.id</a></td> <td class="name" nowrap="nowrap"><a href="##(Task).id">Task.id</a></td>
<td class="summary"> <td class="summary">
</td> </td>
</tr> </tr>
<tr> <tr>
<td class="name" nowrap="nowrap"><a href="##(DCSTask).param">DCSTask.param</a></td> <td class="name" nowrap="nowrap"><a href="##(Task).param">Task.param</a></td>
<td class="summary"> <td class="summary">
</td> </td>
@ -80,13 +81,15 @@
</table> </table>
<h2><a id="#(DCSTask)" >Type <code>DCSTask</code></a></h2> <h2><a id="#(DCSTask)" >Type <code>DCSTask</code></a></h2>
<h3>Field(s)</h3>
<h2><a id="#(Task)" >Type <code>Task</code></a></h2>
<h3>Field(s)</h3>
<dl class="function"> <dl class="function">
<dt> <dt>
<em>#string</em> <em>#string</em>
<a id="#(DCSTask).id" > <a id="#(Task).id" >
<strong>DCSTask.id</strong> <strong>Task.id</strong>
</a> </a>
</dt> </dt>
<dd> <dd>
@ -98,9 +101,9 @@
<dl class="function"> <dl class="function">
<dt> <dt>
<em><a href="##(DCSTask.param)">#DCSTask.param</a></em> <em><a href="##(Task.param)">#Task.param</a></em>
<a id="#(DCSTask).param" > <a id="#(Task).param" >
<strong>DCSTask.param</strong> <strong>Task.param</strong>
</a> </a>
</dt> </dt>
<dd> <dd>
@ -110,7 +113,7 @@
</dd> </dd>
</dl> </dl>
<h2><a id="#(DCSTask.param)" >Type <code>DCSTask.param</code></a></h2> <h2><a id="#(Task.param)" >Type <code>Task.param</code></a></h2>
</div> </div>

View File

@ -23,6 +23,7 @@
<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="DCSAirbase.html">DCSAirbase</a></li>
<li><a href="DCSCoalitionObject.html">DCSCoalitionObject</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="DCSController.html">DCSController</a></li>
<li><a href="DCSGroup.html">DCSGroup</a></li> <li><a href="DCSGroup.html">DCSGroup</a></li>
<li><a href="DCSObject.html">DCSObject</a></li> <li><a href="DCSObject.html">DCSObject</a></li>

View File

@ -23,6 +23,7 @@
<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="DCSAirbase.html">DCSAirbase</a></li>
<li><a href="DCSCoalitionObject.html">DCSCoalitionObject</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="DCSController.html">DCSController</a></li>
<li><a href="DCSGroup.html">DCSGroup</a></li> <li><a href="DCSGroup.html">DCSGroup</a></li>
<li><a href="DCSObject.html">DCSObject</a></li> <li><a href="DCSObject.html">DCSObject</a></li>

View File

@ -23,6 +23,7 @@
<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="DCSAirbase.html">DCSAirbase</a></li>
<li><a href="DCSCoalitionObject.html">DCSCoalitionObject</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="DCSController.html">DCSController</a></li>
<li><a href="DCSGroup.html">DCSGroup</a></li> <li><a href="DCSGroup.html">DCSGroup</a></li>
<li><a href="DCSObject.html">DCSObject</a></li> <li><a href="DCSObject.html">DCSObject</a></li>

View File

@ -23,6 +23,7 @@
<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="DCSAirbase.html">DCSAirbase</a></li>
<li><a href="DCSCoalitionObject.html">DCSCoalitionObject</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="DCSController.html">DCSController</a></li>
<li><a href="DCSGroup.html">DCSGroup</a></li> <li><a href="DCSGroup.html">DCSGroup</a></li>
<li><a href="DCSObject.html">DCSObject</a></li> <li><a href="DCSObject.html">DCSObject</a></li>

View File

@ -23,6 +23,7 @@
<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="DCSAirbase.html">DCSAirbase</a></li>
<li><a href="DCSCoalitionObject.html">DCSCoalitionObject</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="DCSController.html">DCSController</a></li>
<li><a href="DCSGroup.html">DCSGroup</a></li> <li><a href="DCSGroup.html">DCSGroup</a></li>
<li><a href="DCSObject.html">DCSObject</a></li> <li><a href="DCSObject.html">DCSObject</a></li>

View File

@ -23,6 +23,7 @@
<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="DCSAirbase.html">DCSAirbase</a></li>
<li><a href="DCSCoalitionObject.html">DCSCoalitionObject</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="DCSController.html">DCSController</a></li>
<li><a href="DCSGroup.html">DCSGroup</a></li> <li><a href="DCSGroup.html">DCSGroup</a></li>
<li><a href="DCSObject.html">DCSObject</a></li> <li><a href="DCSObject.html">DCSObject</a></li>

View File

@ -23,6 +23,7 @@
<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="DCSAirbase.html">DCSAirbase</a></li>
<li><a href="DCSCoalitionObject.html">DCSCoalitionObject</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="DCSController.html">DCSController</a></li>
<li><a href="DCSGroup.html">DCSGroup</a></li> <li><a href="DCSGroup.html">DCSGroup</a></li>
<li><a href="DCSObject.html">DCSObject</a></li> <li><a href="DCSObject.html">DCSObject</a></li>

View File

@ -23,6 +23,7 @@
<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="DCSAirbase.html">DCSAirbase</a></li>
<li><a href="DCSCoalitionObject.html">DCSCoalitionObject</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="DCSController.html">DCSController</a></li>
<li><a href="DCSGroup.html">DCSGroup</a></li> <li><a href="DCSGroup.html">DCSGroup</a></li>
<li><a href="DCSObject.html">DCSObject</a></li> <li><a href="DCSObject.html">DCSObject</a></li>

View File

@ -23,6 +23,7 @@
<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="DCSAirbase.html">DCSAirbase</a></li>
<li><a href="DCSCoalitionObject.html">DCSCoalitionObject</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="DCSController.html">DCSController</a></li>
<li><a href="DCSGroup.html">DCSGroup</a></li> <li><a href="DCSGroup.html">DCSGroup</a></li>
<li><a href="DCSObject.html">DCSObject</a></li> <li><a href="DCSObject.html">DCSObject</a></li>

View File

@ -23,6 +23,7 @@
<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="DCSAirbase.html">DCSAirbase</a></li>
<li><a href="DCSCoalitionObject.html">DCSCoalitionObject</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="DCSController.html">DCSController</a></li>
<li><a href="DCSGroup.html">DCSGroup</a></li> <li><a href="DCSGroup.html">DCSGroup</a></li>
<li><a href="DCSObject.html">DCSObject</a></li> <li><a href="DCSObject.html">DCSObject</a></li>
@ -64,7 +65,81 @@
<p>Taking the lead of AI escorting your flight.</p> <p>Taking the lead of AI escorting your flight.</p>
<p>The ESCORT class allows you to interact with escoring AI on your flight and take the lead.</p> <p>The ESCORT class allows you to interact with escorting AI on your flight and take the lead.
Each escorting group can be commanded with a whole set of radio commands (radio menu in your flight, and then F10).</p>
<p>The radio commands will vary according the category of the group. The richest set of commands are with Helicopters and AirPlanes.
Ships and Ground troops will have a more limited set, but they can provide support through the bombing of targets designated by the other escorts.</p>
<p>Find a summary below of the current available commands:</p>
<p><strong>1. Navigation ...:</strong> Escort group navigation functions:</p>
<ul>
<li><strong>"Hold Position and Stay Low":</strong> Stops the escort group and they will hover 30 meters above the ground at the position they stopped.</li>
<li><strong>"Join-Up and Hold Position NearBy":</strong> The escort group will stop nearby you, and then the group will hover.</li>
<li><strong>"Join-Up and Follow at 100":</strong> The escort group fill follow you at about 100 meters, and they will follow you.</li>
<li><strong>"Join-Up and Follow at 200":</strong> The escort group fill follow you at about 200 meters, and they will follow you.</li>
<li><strong>"Join-Up and Follow at 400":</strong> The escort group fill follow you at about 400 meters, and they will follow you.</li>
<li><strong>"Join-Up and Follow at 800":</strong> The escort group fill follow you at about 800 meters, and they will follow you.</li>
<li><strong>"Flare":</strong> Provides menu commands to let the escort group shoot a flare in the air in a color.</li>
<li><strong>"Smoke":</strong> Provides menu commands to let the escort group smoke the air in a color. Note that smoking is only available for ground and naval troops.</li>
</ul>
<p><strong>2. Report targets ...:</strong> Report targets will make the escort group to report any target that it identifies within a 8km range. Any detected target can be attacked using the 4. Attack nearby targets function. (see below).</p>
<ul>
<li><strong>"Report now":</strong> Will report the current detected targets.</li>
<li><strong>"Report targets on":</strong> Will make the escort group to report detected targets and will fill the "Attack nearby targets" menu list.</li>
<li><strong>"Report targets off":</strong> Will stop detecting targets.</li>
</ul>
<p><strong>3. Scan targets ...:</strong> Menu items to pop-up the escort group for target scanning. After scanning, the escort group will resume with the mission or defined task.</p>
<ul>
<li><strong>"Scan targets 30 seconds":</strong> Scan 30 seconds for targets.</li>
<li><strong>"Scan targets 60 seconds":</strong> Scan 60 seconds for targets.</li>
</ul>
<p><strong>4. Attack targets ...:</strong> This menu item will list all detected targets within a 15km range. Depending on the level of detection (known/unknown) and visuality, the targets type will also be listed.</p>
<p><strong>5. Request assistance from ...:</strong> This menu item will list all detected targets within a 15km range, as with the menu item <strong>Attack Targets</strong>.
This menu item allows to request attack support from other escorts supporting the current client group.
eg. the function allows a player to request support from the Ship escort to attack a target identified by the Plane escort with its Tomahawk missiles.
eg. the function allows a player to request support from other Planes escorting to bomb the unit with illumination missiles or bombs, so that the main plane escort can attack the area.</p>
<p><strong>6. ROE ...:</strong> Defines the Rules of Engagement of the escort group when in flight.</p>
<ul>
<li><strong>"Hold Fire":</strong> The escort group will hold fire.</li>
<li><strong>"Return Fire":</strong> The escort group will return fire.</li>
<li><strong>"Open Fire":</strong> The escort group will open fire on designated targets.</li>
<li><strong>"Weapon Free":</strong> The escort group will engage with any target.</li>
</ul>
<p><strong>7. Evasion ...:</strong> Will define the evasion techniques that the escort group will perform during flight or combat.</p>
<ul>
<li><strong>"Fight until death":</strong> The escort group will have no reaction to threats.</li>
<li><strong>"Use flares, chaff and jammers":</strong> The escort group will use passive defense using flares and jammers. No evasive manoeuvres are executed.</li>
<li><strong>"Evade enemy fire":</strong> The rescort group will evade enemy fire before firing.</li>
<li><strong>"Go below radar and evade fire":</strong> The escort group will perform evasive vertical manoeuvres.</li>
</ul>
<p><strong>8. Resume Mission ...:</strong> Escort groups can have their own mission. This menu item will allow the escort group to resume their Mission from a given waypoint.
Note that this is really fantastic, as you now have the dynamic of taking control of the escort groups, and allowing them to resume their path or mission.</p>
<p><strong>9. Abort Current Task:</strong> Cancel the current task and rejoin formation.</p>
<ol>
<li><h2>ESCORT object construction methods.</h2>
<p>Create a new SPAWN object with the <a href="##(ESCORT).New">ESCORT.New</a> method:</p></li>
<li><p><a href="##(ESCORT).New">ESCORT.New</a>: Creates a new ESCORT object from a <a href="Group.html##(GROUP)">Group#GROUP</a> for a <a href="Client.html##(CLIENT)">Client#CLIENT</a>, with an optional briefing text.</p></li>
<li><h2>ESCORT object initialization methods.</h2>
<p>None.</p></li>
</ol>
<h2>Global(s)</h2> <h2>Global(s)</h2>
<table class="function_list"> <table class="function_list">
@ -93,6 +168,12 @@
<td class="name" nowrap="nowrap"><a href="##(ESCORT).EscortGroup">ESCORT.EscortGroup</a></td> <td class="name" nowrap="nowrap"><a href="##(ESCORT).EscortGroup">ESCORT.EscortGroup</a></td>
<td class="summary"> <td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(ESCORT).EscortMenuResumeMission">ESCORT.EscortMenuResumeMission</a></td>
<td class="summary">
</td> </td>
</tr> </tr>
<tr> <tr>
@ -108,7 +189,13 @@
</td> </td>
</tr> </tr>
<tr> <tr>
<td class="name" nowrap="nowrap"><a href="##(ESCORT).New">ESCORT:New(EscortClient, EscortGroup, EscortName)</a></td> <td class="name" nowrap="nowrap"><a href="##(ESCORT).JoinUpAndFollow">ESCORT:JoinUpAndFollow(EscortGroup, EscortClient, Distance)</a></td>
<td class="summary">
<p>JoinsUp and Follows a CLIENT.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(ESCORT).New">ESCORT:New(EscortClient, EscortGroup, EscortName, EscortBriefing)</a></td>
<td class="summary"> <td class="summary">
<p>ESCORT class constructor for an AI group</p> <p>ESCORT class constructor for an AI group</p>
</td> </td>
@ -128,25 +215,49 @@
<tr> <tr>
<td class="name" nowrap="nowrap"><a href="##(ESCORT).RegisterRoute">ESCORT:RegisterRoute()</a></td> <td class="name" nowrap="nowrap"><a href="##(ESCORT).RegisterRoute">ESCORT:RegisterRoute()</a></td>
<td class="summary"> <td class="summary">
<p>Registers the waypoints</p>
</td> </td>
</tr> </tr>
<tr> <tr>
<td class="name" nowrap="nowrap"><a href="##(ESCORT).ReportTargets">ESCORT.ReportTargets</a></td> <td class="name" nowrap="nowrap"><a href="##(ESCORT).ReportTargets">ESCORT.ReportTargets</a></td>
<td class="summary"> <td class="summary">
<p>If true, nearby targets are reported.</p> <p>If true, nearby targets are reported.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(ESCORT).ReportTargetsScheduler">ESCORT.ReportTargetsScheduler</a></td>
<td class="summary">
</td> </td>
</tr> </tr>
<tr> <tr>
<td class="name" nowrap="nowrap"><a href="##(ESCORT).Targets">ESCORT.Targets</a></td> <td class="name" nowrap="nowrap"><a href="##(ESCORT).Targets">ESCORT.Targets</a></td>
<td class="summary"> <td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(ESCORT).TaskPoints">ESCORT.TaskPoints</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(ESCORT)._AssistTarget">ESCORT._AssistTarget(MenuParam)</a></td>
<td class="summary">
</td> </td>
</tr> </tr>
<tr> <tr>
<td class="name" nowrap="nowrap"><a href="##(ESCORT)._AttackTarget">ESCORT._AttackTarget(MenuParam)</a></td> <td class="name" nowrap="nowrap"><a href="##(ESCORT)._AttackTarget">ESCORT._AttackTarget(MenuParam)</a></td>
<td class="summary"> <td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(ESCORT)._Flare">ESCORT._Flare(MenuParam)</a></td>
<td class="summary">
</td> </td>
</tr> </tr>
<tr> <tr>
@ -174,55 +285,19 @@
</td> </td>
</tr> </tr>
<tr> <tr>
<td class="name" nowrap="nowrap"><a href="##(ESCORT)._OptionROTEvadeFire">ESCORT._OptionROTEvadeFire(MenuParam)</a></td> <td class="name" nowrap="nowrap"><a href="##(ESCORT)._ROE">ESCORT._ROE(MenuParam)</a></td>
<td class="summary"> <td class="summary">
</td> </td>
</tr> </tr>
<tr> <tr>
<td class="name" nowrap="nowrap"><a href="##(ESCORT)._OptionROTNoReaction">ESCORT._OptionROTNoReaction(MenuParam)</a></td> <td class="name" nowrap="nowrap"><a href="##(ESCORT)._ROT">ESCORT._ROT(MenuParam)</a></td>
<td class="summary"> <td class="summary">
</td> </td>
</tr> </tr>
<tr> <tr>
<td class="name" nowrap="nowrap"><a href="##(ESCORT)._OptionROTPassiveDefense">ESCORT._OptionROTPassiveDefense(MenuParam)</a></td> <td class="name" nowrap="nowrap"><a href="##(ESCORT)._ReportNearbyTargetsNow">ESCORT._ReportNearbyTargetsNow(MenuParam)</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(ESCORT)._OptionROTVertical">ESCORT._OptionROTVertical(MenuParam)</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(ESCORT)._ROEHoldFire">ESCORT._ROEHoldFire(MenuParam)</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(ESCORT)._ROEOpenFire">ESCORT._ROEOpenFire(MenuParam)</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(ESCORT)._ROEReturnFire">ESCORT._ROEReturnFire(MenuParam)</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(ESCORT)._ROEWeaponFree">ESCORT._ROEWeaponFree(MenuParam)</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(ESCORT)._ReportNearbyTargets">ESCORT._ReportNearbyTargets(MenuParam)</a></td>
<td class="summary"> <td class="summary">
</td> </td>
@ -230,7 +305,7 @@
<tr> <tr>
<td class="name" nowrap="nowrap"><a href="##(ESCORT)._ReportTargetsScheduler">ESCORT:_ReportTargetsScheduler()</a></td> <td class="name" nowrap="nowrap"><a href="##(ESCORT)._ReportTargetsScheduler">ESCORT:_ReportTargetsScheduler()</a></td>
<td class="summary"> <td class="summary">
<p>Report Targets Scheduler.</p>
</td> </td>
</tr> </tr>
<tr> <tr>
@ -240,13 +315,19 @@
</td> </td>
</tr> </tr>
<tr> <tr>
<td class="name" nowrap="nowrap"><a href="##(ESCORT)._ScanTargets30Seconds">ESCORT._ScanTargets30Seconds(MenuParam)</a></td> <td class="name" nowrap="nowrap"><a href="##(ESCORT)._ScanTargets">ESCORT._ScanTargets(MenuParam)</a></td>
<td class="summary"> <td class="summary">
</td> </td>
</tr> </tr>
<tr> <tr>
<td class="name" nowrap="nowrap"><a href="##(ESCORT)._ScanTargets60Seconds">ESCORT._ScanTargets60Seconds(MenuParam)</a></td> <td class="name" nowrap="nowrap"><a href="##(ESCORT)._Smoke">ESCORT._Smoke(MenuParam)</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(ESCORT)._SwitchReportNearbyTargets">ESCORT._SwitchReportNearbyTargets(MenuParam)</a></td>
<td class="summary"> <td class="summary">
</td> </td>
@ -259,6 +340,18 @@
<td class="name" nowrap="nowrap"><a href="##(MENUPARAM).ParamDistance">MENUPARAM.ParamDistance</a></td> <td class="name" nowrap="nowrap"><a href="##(MENUPARAM).ParamDistance">MENUPARAM.ParamDistance</a></td>
<td class="summary"> <td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(MENUPARAM).ParamFunction">MENUPARAM.ParamFunction</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(MENUPARAM).ParamMessage">MENUPARAM.ParamMessage</a></td>
<td class="summary">
</td> </td>
</tr> </tr>
<tr> <tr>
@ -333,6 +426,20 @@
</dd>
</dl>
<dl class="function">
<dt>
<em><a href="Menu.html##(MENU_CLIENT)">Menu#MENU_CLIENT</a></em>
<a id="#(ESCORT).EscortMenuResumeMission" >
<strong>ESCORT.EscortMenuResumeMission</strong>
</a>
</dt>
<dd>
</dd> </dd>
</dl> </dl>
<dl class="function"> <dl class="function">
@ -366,8 +473,39 @@
<dl class="function"> <dl class="function">
<dt> <dt>
<a id="#(ESCORT).JoinUpAndFollow" >
<strong>ESCORT:JoinUpAndFollow(EscortGroup, EscortClient, Distance)</strong>
</a>
</dt>
<dd>
<p>JoinsUp and Follows a CLIENT.</p>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em><a href="Group.html##(GROUP)">Group#GROUP</a> EscortGroup </em></code>: </p>
</li>
<li>
<p><code><em><a href="Client.html##(CLIENT)">Client#CLIENT</a> EscortClient </em></code>: </p>
</li>
<li>
<p><code><em><a href="DCSTypes.html##(Distance)">DCSTypes#Distance</a> Distance </em></code>: </p>
</li>
</ul>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(ESCORT).New" > <a id="#(ESCORT).New" >
<strong>ESCORT:New(EscortClient, EscortGroup, EscortName)</strong> <strong>ESCORT:New(EscortClient, EscortGroup, EscortName, EscortBriefing)</strong>
</a> </a>
</dt> </dt>
<dd> <dd>
@ -393,6 +531,11 @@ The group AI escorting the EscortClient.</p>
<p><code><em>#string EscortName </em></code>: <p><code><em>#string EscortName </em></code>:
Name of the escort.</p> Name of the escort.</p>
</li>
<li>
<p><code><em> EscortBriefing </em></code>: </p>
</li> </li>
</ul> </ul>
<h3>Return value</h3> <h3>Return value</h3>
@ -439,6 +582,11 @@ self</p>
</dt> </dt>
<dd> <dd>
<p>Registers the waypoints</p>
<h3>Return value</h3>
<p><em>#table:</em></p>
</dd> </dd>
@ -455,6 +603,19 @@ self</p>
<p>If true, nearby targets are reported.</p> <p>If true, nearby targets are reported.</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(ESCORT).ReportTargetsScheduler" >
<strong>ESCORT.ReportTargetsScheduler</strong>
</a>
</dt>
<dd>
</dd> </dd>
</dl> </dl>
<dl class="function"> <dl class="function">
@ -469,6 +630,41 @@ self</p>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="#(ESCORT).TaskPoints" >
<strong>ESCORT.TaskPoints</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(ESCORT)._AssistTarget" >
<strong>ESCORT._AssistTarget(MenuParam)</strong>
</a>
</dt>
<dd>
<h3>Parameter</h3>
<ul>
<li>
<p><code><em><a href="##(MENUPARAM)">#MENUPARAM</a> MenuParam </em></code>: </p>
</li>
</ul>
</dd> </dd>
</dl> </dl>
<dl class="function"> <dl class="function">
@ -482,6 +678,27 @@ self</p>
<h3>Parameter</h3>
<ul>
<li>
<p><code><em><a href="##(MENUPARAM)">#MENUPARAM</a> MenuParam </em></code>: </p>
</li>
</ul>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(ESCORT)._Flare" >
<strong>ESCORT._Flare(MenuParam)</strong>
</a>
</dt>
<dd>
<h3>Parameter</h3> <h3>Parameter</h3>
<ul> <ul>
<li> <li>
@ -579,8 +796,8 @@ self</p>
<dl class="function"> <dl class="function">
<dt> <dt>
<a id="#(ESCORT)._OptionROTEvadeFire" > <a id="#(ESCORT)._ROE" >
<strong>ESCORT._OptionROTEvadeFire(MenuParam)</strong> <strong>ESCORT._ROE(MenuParam)</strong>
</a> </a>
</dt> </dt>
<dd> <dd>
@ -600,8 +817,8 @@ self</p>
<dl class="function"> <dl class="function">
<dt> <dt>
<a id="#(ESCORT)._OptionROTNoReaction" > <a id="#(ESCORT)._ROT" >
<strong>ESCORT._OptionROTNoReaction(MenuParam)</strong> <strong>ESCORT._ROT(MenuParam)</strong>
</a> </a>
</dt> </dt>
<dd> <dd>
@ -621,8 +838,8 @@ self</p>
<dl class="function"> <dl class="function">
<dt> <dt>
<a id="#(ESCORT)._OptionROTPassiveDefense" > <a id="#(ESCORT)._ReportNearbyTargetsNow" >
<strong>ESCORT._OptionROTPassiveDefense(MenuParam)</strong> <strong>ESCORT._ReportNearbyTargetsNow(MenuParam)</strong>
</a> </a>
</dt> </dt>
<dd> <dd>
@ -642,139 +859,13 @@ self</p>
<dl class="function"> <dl class="function">
<dt> <dt>
<a id="#(ESCORT)._OptionROTVertical" >
<strong>ESCORT._OptionROTVertical(MenuParam)</strong>
</a>
</dt>
<dd>
<h3>Parameter</h3>
<ul>
<li>
<p><code><em><a href="##(MENUPARAM)">#MENUPARAM</a> MenuParam </em></code>: </p>
</li>
</ul>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(ESCORT)._ROEHoldFire" >
<strong>ESCORT._ROEHoldFire(MenuParam)</strong>
</a>
</dt>
<dd>
<h3>Parameter</h3>
<ul>
<li>
<p><code><em><a href="##(MENUPARAM)">#MENUPARAM</a> MenuParam </em></code>: </p>
</li>
</ul>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(ESCORT)._ROEOpenFire" >
<strong>ESCORT._ROEOpenFire(MenuParam)</strong>
</a>
</dt>
<dd>
<h3>Parameter</h3>
<ul>
<li>
<p><code><em><a href="##(MENUPARAM)">#MENUPARAM</a> MenuParam </em></code>: </p>
</li>
</ul>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(ESCORT)._ROEReturnFire" >
<strong>ESCORT._ROEReturnFire(MenuParam)</strong>
</a>
</dt>
<dd>
<h3>Parameter</h3>
<ul>
<li>
<p><code><em><a href="##(MENUPARAM)">#MENUPARAM</a> MenuParam </em></code>: </p>
</li>
</ul>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(ESCORT)._ROEWeaponFree" >
<strong>ESCORT._ROEWeaponFree(MenuParam)</strong>
</a>
</dt>
<dd>
<h3>Parameter</h3>
<ul>
<li>
<p><code><em><a href="##(MENUPARAM)">#MENUPARAM</a> MenuParam </em></code>: </p>
</li>
</ul>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(ESCORT)._ReportNearbyTargets" >
<strong>ESCORT._ReportNearbyTargets(MenuParam)</strong>
</a>
</dt>
<dd>
<h3>Parameter</h3>
<ul>
<li>
<p><code><em> MenuParam </em></code>: </p>
</li>
</ul>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(ESCORT)._ReportTargetsScheduler" > <a id="#(ESCORT)._ReportTargetsScheduler" >
<strong>ESCORT:_ReportTargetsScheduler()</strong> <strong>ESCORT:_ReportTargetsScheduler()</strong>
</a> </a>
</dt> </dt>
<dd> <dd>
<p>Report Targets Scheduler.</p>
</dd> </dd>
</dl> </dl>
@ -802,8 +893,8 @@ self</p>
<dl class="function"> <dl class="function">
<dt> <dt>
<a id="#(ESCORT)._ScanTargets30Seconds" > <a id="#(ESCORT)._ScanTargets" >
<strong>ESCORT._ScanTargets30Seconds(MenuParam)</strong> <strong>ESCORT._ScanTargets(MenuParam)</strong>
</a> </a>
</dt> </dt>
<dd> <dd>
@ -823,8 +914,8 @@ self</p>
<dl class="function"> <dl class="function">
<dt> <dt>
<a id="#(ESCORT)._ScanTargets60Seconds" > <a id="#(ESCORT)._Smoke" >
<strong>ESCORT._ScanTargets60Seconds(MenuParam)</strong> <strong>ESCORT._Smoke(MenuParam)</strong>
</a> </a>
</dt> </dt>
<dd> <dd>
@ -840,6 +931,27 @@ self</p>
</li> </li>
</ul> </ul>
</dd> </dd>
</dl>
<dl class="function">
<dt>
<a id="#(ESCORT)._SwitchReportNearbyTargets" >
<strong>ESCORT._SwitchReportNearbyTargets(MenuParam)</strong>
</a>
</dt>
<dd>
<h3>Parameter</h3>
<ul>
<li>
<p><code><em> MenuParam </em></code>: </p>
</li>
</ul>
</dd>
</dl> </dl>
<h2><a id="#(MENUPARAM)" >Type <code>MENUPARAM</code></a></h2> <h2><a id="#(MENUPARAM)" >Type <code>MENUPARAM</code></a></h2>
@ -859,6 +971,34 @@ self</p>
</dd>
</dl>
<dl class="function">
<dt>
<em>#function</em>
<a id="#(MENUPARAM).ParamFunction" >
<strong>MENUPARAM.ParamFunction</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em>#string</em>
<a id="#(MENUPARAM).ParamMessage" >
<strong>MENUPARAM.ParamMessage</strong>
</a>
</dt>
<dd>
</dd> </dd>
</dl> </dl>
<dl class="function"> <dl class="function">

View File

@ -23,6 +23,7 @@
<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="DCSAirbase.html">DCSAirbase</a></li>
<li><a href="DCSCoalitionObject.html">DCSCoalitionObject</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="DCSController.html">DCSController</a></li>
<li><a href="DCSGroup.html">DCSGroup</a></li> <li><a href="DCSGroup.html">DCSGroup</a></li>
<li><a href="DCSObject.html">DCSObject</a></li> <li><a href="DCSObject.html">DCSObject</a></li>

File diff suppressed because it is too large Load Diff

View File

@ -23,6 +23,7 @@
<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="DCSAirbase.html">DCSAirbase</a></li>
<li><a href="DCSCoalitionObject.html">DCSCoalitionObject</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="DCSController.html">DCSController</a></li>
<li><a href="DCSGroup.html">DCSGroup</a></li> <li><a href="DCSGroup.html">DCSGroup</a></li>
<li><a href="DCSObject.html">DCSObject</a></li> <li><a href="DCSObject.html">DCSObject</a></li>

View File

@ -23,6 +23,7 @@
<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="DCSAirbase.html">DCSAirbase</a></li>
<li><a href="DCSCoalitionObject.html">DCSCoalitionObject</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="DCSController.html">DCSController</a></li>
<li><a href="DCSGroup.html">DCSGroup</a></li> <li><a href="DCSGroup.html">DCSGroup</a></li>
<li><a href="DCSObject.html">DCSObject</a></li> <li><a href="DCSObject.html">DCSObject</a></li>

View File

@ -23,6 +23,7 @@
<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="DCSAirbase.html">DCSAirbase</a></li>
<li><a href="DCSCoalitionObject.html">DCSCoalitionObject</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="DCSController.html">DCSController</a></li>
<li><a href="DCSGroup.html">DCSGroup</a></li> <li><a href="DCSGroup.html">DCSGroup</a></li>
<li><a href="DCSObject.html">DCSObject</a></li> <li><a href="DCSObject.html">DCSObject</a></li>
@ -170,6 +171,18 @@
<td class="name" nowrap="nowrap"><a href="##(MENU_CLIENT).New">MENU_CLIENT:New(MenuClient, MenuText, ParentMenu)</a></td> <td class="name" nowrap="nowrap"><a href="##(MENU_CLIENT).New">MENU_CLIENT:New(MenuClient, MenuText, ParentMenu)</a></td>
<td class="summary"> <td class="summary">
<p>Creates a new menu item for a group</p> <p>Creates a new menu item for a group</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(MENU_CLIENT).Remove">MENU_CLIENT:Remove()</a></td>
<td class="summary">
<p>Removes the sub menus recursively of this MENU_CLIENT.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(MENU_CLIENT).RemoveSubMenus">MENU_CLIENT:RemoveSubMenus()</a></td>
<td class="summary">
<p>Removes the sub menus recursively of this MENU_CLIENT.</p>
</td> </td>
</tr> </tr>
</table> </table>
@ -509,6 +522,42 @@ The parent menu.</p>
<p><em><a href="##(MENU_CLIENT)">#MENU_CLIENT</a>:</em> <p><em><a href="##(MENU_CLIENT)">#MENU_CLIENT</a>:</em>
self</p> self</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(MENU_CLIENT).Remove" >
<strong>MENU_CLIENT:Remove()</strong>
</a>
</dt>
<dd>
<p>Removes the sub menus recursively of this MENU_CLIENT.</p>
<h3>Return value</h3>
<p><em><a href="##(MENU_CLIENT)">#MENU_CLIENT</a>:</em>
self</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(MENU_CLIENT).RemoveSubMenus" >
<strong>MENU_CLIENT:RemoveSubMenus()</strong>
</a>
</dt>
<dd>
<p>Removes the sub menus recursively of this MENU_CLIENT.</p>
<h3>Return value</h3>
<p><em><a href="##(MENU_CLIENT)">#MENU_CLIENT</a>:</em>
self</p>
</dd> </dd>
</dl> </dl>

View File

@ -23,6 +23,7 @@
<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="DCSAirbase.html">DCSAirbase</a></li>
<li><a href="DCSCoalitionObject.html">DCSCoalitionObject</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="DCSController.html">DCSController</a></li>
<li><a href="DCSGroup.html">DCSGroup</a></li> <li><a href="DCSGroup.html">DCSGroup</a></li>
<li><a href="DCSObject.html">DCSObject</a></li> <li><a href="DCSObject.html">DCSObject</a></li>

View File

@ -23,6 +23,7 @@
<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="DCSAirbase.html">DCSAirbase</a></li>
<li><a href="DCSCoalitionObject.html">DCSCoalitionObject</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="DCSController.html">DCSController</a></li>
<li><a href="DCSGroup.html">DCSGroup</a></li> <li><a href="DCSGroup.html">DCSGroup</a></li>
<li><a href="DCSObject.html">DCSObject</a></li> <li><a href="DCSObject.html">DCSObject</a></li>

View File

@ -23,6 +23,7 @@
<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="DCSAirbase.html">DCSAirbase</a></li>
<li><a href="DCSCoalitionObject.html">DCSCoalitionObject</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="DCSController.html">DCSController</a></li>
<li><a href="DCSGroup.html">DCSGroup</a></li> <li><a href="DCSGroup.html">DCSGroup</a></li>
<li><a href="DCSObject.html">DCSObject</a></li> <li><a href="DCSObject.html">DCSObject</a></li>

View File

@ -23,6 +23,7 @@
<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="DCSAirbase.html">DCSAirbase</a></li>
<li><a href="DCSCoalitionObject.html">DCSCoalitionObject</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="DCSController.html">DCSController</a></li>
<li><a href="DCSGroup.html">DCSGroup</a></li> <li><a href="DCSGroup.html">DCSGroup</a></li>
<li><a href="DCSObject.html">DCSObject</a></li> <li><a href="DCSObject.html">DCSObject</a></li>

View File

@ -23,6 +23,7 @@
<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="DCSAirbase.html">DCSAirbase</a></li>
<li><a href="DCSCoalitionObject.html">DCSCoalitionObject</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="DCSController.html">DCSController</a></li>
<li><a href="DCSGroup.html">DCSGroup</a></li> <li><a href="DCSGroup.html">DCSGroup</a></li>
<li><a href="DCSObject.html">DCSObject</a></li> <li><a href="DCSObject.html">DCSObject</a></li>
@ -800,6 +801,14 @@
</dd> </dd>
</dl> </dl>
<h2><a id="#(STAGEARRIVE)" >Type <code>STAGEARRIVE</code></a></h2>
<h2><a id="#(STAGELANDING)" >Type <code>STAGELANDING</code></a></h2>
<h2><a id="#(STAGEROUTE)" >Type <code>STAGEROUTE</code></a></h2>
<h2><a id="#(STAGEUNLOAD)" >Type <code>STAGEUNLOAD</code></a></h2>
</div> </div>
</div> </div>

View File

@ -23,6 +23,7 @@
<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="DCSAirbase.html">DCSAirbase</a></li>
<li><a href="DCSCoalitionObject.html">DCSCoalitionObject</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="DCSController.html">DCSController</a></li>
<li><a href="DCSGroup.html">DCSGroup</a></li> <li><a href="DCSGroup.html">DCSGroup</a></li>
<li><a href="DCSObject.html">DCSObject</a></li> <li><a href="DCSObject.html">DCSObject</a></li>

View File

@ -23,6 +23,7 @@
<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="DCSAirbase.html">DCSAirbase</a></li>
<li><a href="DCSCoalitionObject.html">DCSCoalitionObject</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="DCSController.html">DCSController</a></li>
<li><a href="DCSGroup.html">DCSGroup</a></li> <li><a href="DCSGroup.html">DCSGroup</a></li>
<li><a href="DCSObject.html">DCSObject</a></li> <li><a href="DCSObject.html">DCSObject</a></li>
@ -145,6 +146,12 @@ You can use the <a href="GROUP.html">GROUP</a> object to do further actions with
<h2><a id="#(SPAWN)">Type <code>SPAWN</code></a></h2> <h2><a id="#(SPAWN)">Type <code>SPAWN</code></a></h2>
<table class="function_list"> <table class="function_list">
<tr> <tr>
<td class="name" nowrap="nowrap"><a href="##(SPAWN).AliveFactor">SPAWN.AliveFactor</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(SPAWN).Array">SPAWN:Array(SpawnAngle, SpawnWidth, SpawnDeltaX, SpawnDeltaY)</a></td> <td class="name" nowrap="nowrap"><a href="##(SPAWN).Array">SPAWN:Array(SpawnAngle, SpawnWidth, SpawnDeltaX, SpawnDeltaY)</a></td>
<td class="summary"> <td class="summary">
<p>Makes the groups visible before start (like a batallion).</p> <p>Makes the groups visible before start (like a batallion).</p>
@ -160,6 +167,12 @@ You can use the <a href="GROUP.html">GROUP</a> object to do further actions with
<td class="name" nowrap="nowrap"><a href="##(SPAWN).CleanUp">SPAWN:CleanUp(SpawnCleanUpInterval)</a></td> <td class="name" nowrap="nowrap"><a href="##(SPAWN).CleanUp">SPAWN:CleanUp(SpawnCleanUpInterval)</a></td>
<td class="summary"> <td class="summary">
<p>CleanUp groups when they are still alive, but inactive.</p> <p>CleanUp groups when they are still alive, but inactive.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(SPAWN).CleanUpFunction">SPAWN.CleanUpFunction</a></td>
<td class="summary">
</td> </td>
</tr> </tr>
<tr> <tr>
@ -235,13 +248,13 @@ You can use the <a href="GROUP.html">GROUP</a> object to do further actions with
</td> </td>
</tr> </tr>
<tr> <tr>
<td class="name" nowrap="nowrap"><a href="##(SPAWN).RepeatOnEngineShutDown">SPAWN:RepeatOnEngineShutDown()</a></td> <td class="name" nowrap="nowrap"><a href="##(SPAWN).RepeatOnEngineShutDown">SPAWN.RepeatOnEngineShutDown</a></td>
<td class="summary"> <td class="summary">
<p>Same as the @{#SPAWN.Repeat) method, but now the Group will respawn after its engines have shut down.</p>
</td> </td>
</tr> </tr>
<tr> <tr>
<td class="name" nowrap="nowrap"><a href="##(SPAWN).RepeatOnLanding">SPAWN:RepeatOnLanding()</a></td> <td class="name" nowrap="nowrap"><a href="##(SPAWN).RepeatOnLanding">SPAWN.RepeatOnLanding</a></td>
<td class="summary"> <td class="summary">
</td> </td>
@ -249,25 +262,127 @@ You can use the <a href="GROUP.html">GROUP</a> object to do further actions with
<tr> <tr>
<td class="name" nowrap="nowrap"><a href="##(SPAWN).Spawn">SPAWN:Spawn()</a></td> <td class="name" nowrap="nowrap"><a href="##(SPAWN).Spawn">SPAWN:Spawn()</a></td>
<td class="summary"> <td class="summary">
<p>Will re-spawn a group based on a given index.</p> <p>Will spawn a group based on the internal index.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(SPAWN).SpawnAliasPrefix">SPAWN.SpawnAliasPrefix</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(SPAWN).SpawnCleanUpInterval">SPAWN.SpawnCleanUpInterval</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(SPAWN).SpawnCleanUpTimeStamps">SPAWN.SpawnCleanUpTimeStamps</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(SPAWN).SpawnCurrentTimer">SPAWN.SpawnCurrentTimer</a></td>
<td class="summary">
</td> </td>
</tr> </tr>
<tr> <tr>
<td class="name" nowrap="nowrap"><a href="##(SPAWN).SpawnFromUnit">SPAWN:SpawnFromUnit(HostUnit, OuterRadius, InnerRadius, SpawnIndex)</a></td> <td class="name" nowrap="nowrap"><a href="##(SPAWN).SpawnFromUnit">SPAWN:SpawnFromUnit(HostUnit, OuterRadius, InnerRadius, SpawnIndex)</a></td>
<td class="summary"> <td class="summary">
<p>Will spawn a group from a hosting unit.</p> <p>Will spawn a group from a hosting unit.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(SPAWN).SpawnFunction">SPAWN:SpawnFunction(SpawnFunctionHook, SpawnFunctionArguments, ...)</a></td>
<td class="summary">
<p>Allows to place a CallFunction hook when a new group spawns.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(SPAWN).SpawnFunctionArguments">SPAWN.SpawnFunctionArguments</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(SPAWN).SpawnFunctionHook">SPAWN.SpawnFunctionHook</a></td>
<td class="summary">
</td> </td>
</tr> </tr>
<tr> <tr>
<td class="name" nowrap="nowrap"><a href="##(SPAWN).SpawnGroupName">SPAWN:SpawnGroupName(SpawnIndex)</a></td> <td class="name" nowrap="nowrap"><a href="##(SPAWN).SpawnGroupName">SPAWN:SpawnGroupName(SpawnIndex)</a></td>
<td class="summary"> <td class="summary">
<p>Will return the SpawnGroupName either with with a specific count number or without any count.</p> <p>Will return the SpawnGroupName either with with a specific count number or without any count.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(SPAWN).SpawnHighTimer">SPAWN.SpawnHighTimer</a></td>
<td class="summary">
</td> </td>
</tr> </tr>
<tr> <tr>
<td class="name" nowrap="nowrap"><a href="##(SPAWN).SpawnInZone">SPAWN:SpawnInZone(Zone, SpawnIndex)</a></td> <td class="name" nowrap="nowrap"><a href="##(SPAWN).SpawnInZone">SPAWN:SpawnInZone(Zone, SpawnIndex)</a></td>
<td class="summary"> <td class="summary">
<p>Will spawn a Group within a given <a href="ZONE.html">ZONE</a>.</p> <p>Will spawn a Group within a given <a href="ZONE.html">ZONE</a>.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(SPAWN).SpawnLowTimer">SPAWN.SpawnLowTimer</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(SPAWN).SpawnMaxGroups">SPAWN.SpawnMaxGroups</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(SPAWN).SpawnMaxUnitsAlive">SPAWN.SpawnMaxUnitsAlive</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(SPAWN).SpawnRandomizeRoute">SPAWN.SpawnRandomizeRoute</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(SPAWN).SpawnRandomizeRouteEndPoint">SPAWN.SpawnRandomizeRouteEndPoint</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(SPAWN).SpawnRandomizeRouteRadius">SPAWN.SpawnRandomizeRouteRadius</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(SPAWN).SpawnRandomizeRouteStartPoint">SPAWN.SpawnRandomizeRouteStartPoint</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(SPAWN).SpawnRandomizeTemplate">SPAWN.SpawnRandomizeTemplate</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(SPAWN).SpawnRepeat">SPAWN.SpawnRepeat</a></td>
<td class="summary">
</td> </td>
</tr> </tr>
<tr> <tr>
@ -286,6 +401,30 @@ You can use the <a href="GROUP.html">GROUP</a> object to do further actions with
<td class="name" nowrap="nowrap"><a href="##(SPAWN).SpawnScheduled">SPAWN:SpawnScheduled(SpawnTime, SpawnTimeVariation)</a></td> <td class="name" nowrap="nowrap"><a href="##(SPAWN).SpawnScheduled">SPAWN:SpawnScheduled(SpawnTime, SpawnTimeVariation)</a></td>
<td class="summary"> <td class="summary">
<p>Spawns new groups at varying time intervals.</p> <p>Spawns new groups at varying time intervals.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(SPAWN).SpawnSetTimer">SPAWN.SpawnSetTimer</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(SPAWN).SpawnTemplatePrefix">SPAWN.SpawnTemplatePrefix</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(SPAWN).SpawnTemplatePrefixTable">SPAWN.SpawnTemplatePrefixTable</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(SPAWN).SpawnVisible">SPAWN.SpawnVisible</a></td>
<td class="summary">
</td> </td>
</tr> </tr>
<tr> <tr>
@ -370,6 +509,12 @@ You can use the <a href="GROUP.html">GROUP</a> object to do further actions with
<td class="name" nowrap="nowrap"><a href="##(SPAWN)._OnDeadOrCrash">SPAWN:_OnDeadOrCrash(event)</a></td> <td class="name" nowrap="nowrap"><a href="##(SPAWN)._OnDeadOrCrash">SPAWN:_OnDeadOrCrash(event)</a></td>
<td class="summary"> <td class="summary">
<p>Obscolete</p> <p>Obscolete</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(SPAWN)._OnEngineShutDown">SPAWN:_OnEngineShutDown(event)</a></td>
<td class="summary">
<p>Will detect AIR Units shutting down their engines ...</p>
</td> </td>
</tr> </tr>
<tr> <tr>
@ -447,6 +592,20 @@ You can use the <a href="GROUP.html">GROUP</a> object to do further actions with
<dl class="function"> <dl class="function">
<dt> <dt>
<em>#number</em>
<a id="#(SPAWN).AliveFactor" >
<strong>SPAWN.AliveFactor</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(SPAWN).Array" > <a id="#(SPAWN).Array" >
<strong>SPAWN:Array(SpawnAngle, SpawnWidth, SpawnDeltaX, SpawnDeltaY)</strong> <strong>SPAWN:Array(SpawnAngle, SpawnWidth, SpawnDeltaX, SpawnDeltaY)</strong>
</a> </a>
@ -544,6 +703,20 @@ self</p>
<h3>Usage:</h3> <h3>Usage:</h3>
<pre class="example"><code>Spawn_Helicopter:CleanUp( 20 ) -- CleanUp the spawning of the helicopters every 20 seconds when they become inactive.</code></pre> <pre class="example"><code>Spawn_Helicopter:CleanUp( 20 ) -- CleanUp the spawning of the helicopters every 20 seconds when they become inactive.</code></pre>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="#(SPAWN).CleanUpFunction" >
<strong>SPAWN.CleanUpFunction</strong>
</a>
</dt>
<dd>
</dd> </dd>
</dl> </dl>
<dl class="function"> <dl class="function">
@ -570,7 +743,7 @@ A number holding the index from where to find the first group from.</p>
<ol> <ol>
<li> <li>
<p><em><a href="GROUP.html##(GROUP)">GROUP#GROUP</a>, #number:</em> <p><em><a href="Group.html##(GROUP)">Group#GROUP</a>, #number:</em>
The group found, the new index where the group was found.</p> The group found, the new index where the group was found.</p>
</li> </li>
@ -609,7 +782,7 @@ The index of the group to return.</p>
</ul> </ul>
<h3>Return value</h3> <h3>Return value</h3>
<p><em><a href="GROUP.html##(GROUP)">GROUP#GROUP</a>:</em></p> <p><em><a href="Group.html##(GROUP)">Group#GROUP</a>:</em></p>
</dd> </dd>
@ -651,7 +824,7 @@ A number holding the last found previous index.</p>
<ol> <ol>
<li> <li>
<p><em><a href="GROUP.html##(GROUP)">GROUP#GROUP</a>, #number:</em> <p><em><a href="Group.html##(GROUP)">Group#GROUP</a>, #number:</em>
The group found, the new index where the group was found.</p> The group found, the new index where the group was found.</p>
</li> </li>
@ -930,7 +1103,7 @@ The index of the group to be spawned.</p>
</ul> </ul>
<h3>Return value</h3> <h3>Return value</h3>
<p><em><a href="GROUP.html##(GROUP)">GROUP#GROUP</a>:</em> <p><em><a href="Group.html##(GROUP)">Group#GROUP</a>:</em>
The group that was spawned. You can use this group for further actions.</p> The group that was spawned. You can use this group for further actions.</p>
</dd> </dd>
@ -967,26 +1140,23 @@ SpawnRU_SU34 = SPAWN:New( 'TF1 RU Su-34 Krymsk@AI - Attack Ships' ):Schedule( 2,
<dl class="function"> <dl class="function">
<dt> <dt>
<em>#boolean</em>
<a id="#(SPAWN).RepeatOnEngineShutDown" > <a id="#(SPAWN).RepeatOnEngineShutDown" >
<strong>SPAWN:RepeatOnEngineShutDown()</strong> <strong>SPAWN.RepeatOnEngineShutDown</strong>
</a> </a>
</dt> </dt>
<dd> <dd>
<p>Same as the @{#SPAWN.Repeat) method, but now the Group will respawn after its engines have shut down.</p>
<h3>Return value</h3>
<p>SPAWN</p>
</dd> </dd>
</dl> </dl>
<dl class="function"> <dl class="function">
<dt> <dt>
<em>#boolean</em>
<a id="#(SPAWN).RepeatOnLanding" > <a id="#(SPAWN).RepeatOnLanding" >
<strong>SPAWN:RepeatOnLanding()</strong> <strong>SPAWN.RepeatOnLanding</strong>
</a> </a>
</dt> </dt>
<dd> <dd>
@ -1004,16 +1174,75 @@ SpawnRU_SU34 = SPAWN:New( 'TF1 RU Su-34 Krymsk@AI - Attack Ships' ):Schedule( 2,
</dt> </dt>
<dd> <dd>
<p>Will re-spawn a group based on a given index.</p> <p>Will spawn a group based on the internal index.</p>
<p>Note: Uses <a href="DATABASE.html">DATABASE</a> module defined in MOOSE.</p> <p>Note: Uses <a href="DATABASE.html">DATABASE</a> module defined in MOOSE.</p>
<h3>Return value</h3> <h3>Return value</h3>
<p><em><a href="GROUP.html##(GROUP)">GROUP#GROUP</a>:</em> <p><em><a href="Group.html##(GROUP)">Group#GROUP</a>:</em>
The group that was spawned. You can use this group for further actions.</p> The group that was spawned. You can use this group for further actions.</p>
</dd>
</dl>
<dl class="function">
<dt>
<em>#string</em>
<a id="#(SPAWN).SpawnAliasPrefix" >
<strong>SPAWN.SpawnAliasPrefix</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="#(SPAWN).SpawnCleanUpInterval" >
<strong>SPAWN.SpawnCleanUpInterval</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="#(SPAWN).SpawnCleanUpTimeStamps" >
<strong>SPAWN.SpawnCleanUpTimeStamps</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em>#number</em>
<a id="#(SPAWN).SpawnCurrentTimer" >
<strong>SPAWN.SpawnCurrentTimer</strong>
</a>
</dt>
<dd>
<p> The internal timer counter to trigger a scheduled spawning of SpawnTemplatePrefix.</p>
</dd> </dd>
</dl> </dl>
<dl class="function"> <dl class="function">
@ -1074,6 +1303,76 @@ Nothing was spawned.</p>
</li> </li>
</ol> </ol>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(SPAWN).SpawnFunction" >
<strong>SPAWN:SpawnFunction(SpawnFunctionHook, SpawnFunctionArguments, ...)</strong>
</a>
</dt>
<dd>
<p>Allows to place a CallFunction hook when a new group spawns.</p>
<p>The provided function will be called when a new group is spawned, including its given parameters.
The first parameter of the SpawnFunction is the <a href="Group.html##(GROUP)">Group#GROUP</a> that was spawned.</p>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em>#function SpawnFunctionHook </em></code>:
The function to be called when a group spawns.</p>
</li>
<li>
<p><code><em> SpawnFunctionArguments </em></code>:
A random amount of arguments to be provided to the function when the group spawns.</p>
</li>
<li>
<p><code><em> ... </em></code>: </p>
</li>
</ul>
<h3>Return value</h3>
<p><em><a href="##(SPAWN)">#SPAWN</a>:</em></p>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="#(SPAWN).SpawnFunctionArguments" >
<strong>SPAWN.SpawnFunctionArguments</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="#(SPAWN).SpawnFunctionHook" >
<strong>SPAWN.SpawnFunctionHook</strong>
</a>
</dt>
<dd>
</dd> </dd>
</dl> </dl>
<dl class="function"> <dl class="function">
@ -1098,8 +1397,22 @@ Is the number of the Group that is to be spawned.</p>
</ul> </ul>
<h3>Return value</h3> <h3>Return value</h3>
<p><em>#string:</em>
SpawnGroupName</p>
</dd>
</dl>
<dl class="function">
<dt>
<em>#number</em>
<a id="#(SPAWN).SpawnHighTimer" >
<strong>SPAWN.SpawnHighTimer</strong>
</a>
</dt>
<dd>
<p>string SpawnGroupName</p>
</dd> </dd>
</dl> </dl>
@ -1133,7 +1446,7 @@ The zone where the group is to be spawned.</p>
<ol> <ol>
<li> <li>
<p><em><a href="GROUP.html##(GROUP)">GROUP#GROUP</a>:</em> <p><em><a href="Group.html##(GROUP)">Group#GROUP</a>:</em>
that was spawned.</p> that was spawned.</p>
</li> </li>
@ -1144,6 +1457,138 @@ when nothing was spawned.</p>
</li> </li>
</ol> </ol>
</dd>
</dl>
<dl class="function">
<dt>
<em>#number</em>
<a id="#(SPAWN).SpawnLowTimer" >
<strong>SPAWN.SpawnLowTimer</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="#(SPAWN).SpawnMaxGroups" >
<strong>SPAWN.SpawnMaxGroups</strong>
</a>
</dt>
<dd>
<p> The maximum amount of groups that can be spawned.</p>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="#(SPAWN).SpawnMaxUnitsAlive" >
<strong>SPAWN.SpawnMaxUnitsAlive</strong>
</a>
</dt>
<dd>
<p> The maximum amount of groups that can be alive of SpawnTemplatePrefix at the same time.</p>
</dd>
</dl>
<dl class="function">
<dt>
<em>#boolean</em>
<a id="#(SPAWN).SpawnRandomizeRoute" >
<strong>SPAWN.SpawnRandomizeRoute</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="#(SPAWN).SpawnRandomizeRouteEndPoint" >
<strong>SPAWN.SpawnRandomizeRouteEndPoint</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="#(SPAWN).SpawnRandomizeRouteRadius" >
<strong>SPAWN.SpawnRandomizeRouteRadius</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="#(SPAWN).SpawnRandomizeRouteStartPoint" >
<strong>SPAWN.SpawnRandomizeRouteStartPoint</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em>#boolean</em>
<a id="#(SPAWN).SpawnRandomizeTemplate" >
<strong>SPAWN.SpawnRandomizeTemplate</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em>#boolean</em>
<a id="#(SPAWN).SpawnRepeat" >
<strong>SPAWN.SpawnRepeat</strong>
</a>
</dt>
<dd>
</dd> </dd>
</dl> </dl>
<dl class="function"> <dl class="function">
@ -1220,6 +1665,68 @@ self</p>
-- Between these two values, a random amount of seconds will be choosen for each new spawn of the helicopters. -- Between these two values, a random amount of seconds will be choosen for each new spawn of the helicopters.
Spawn_BE_KA50 = SPAWN:New( 'BE KA-50@RAMP-Ground Defense' ):Schedule( 600, 0.5 )</code></pre> Spawn_BE_KA50 = SPAWN:New( 'BE KA-50@RAMP-Ground Defense' ):Schedule( 600, 0.5 )</code></pre>
</dd>
</dl>
<dl class="function">
<dt>
<em>#number</em>
<a id="#(SPAWN).SpawnSetTimer" >
<strong>SPAWN.SpawnSetTimer</strong>
</a>
</dt>
<dd>
<p> The internal timer value when a scheduled spawning of SpawnTemplatePrefix occurs.</p>
</dd>
</dl>
<dl class="function">
<dt>
<em>#string</em>
<a id="#(SPAWN).SpawnTemplatePrefix" >
<strong>SPAWN.SpawnTemplatePrefix</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="#(SPAWN).SpawnTemplatePrefixTable" >
<strong>SPAWN.SpawnTemplatePrefixTable</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em>#boolean</em>
<a id="#(SPAWN).SpawnVisible" >
<strong>SPAWN.SpawnVisible</strong>
</a>
</dt>
<dd>
<p> When the first Spawn executes, all the Groups need to be made visible before start.</p>
</dd> </dd>
</dl> </dl>
<dl class="function"> <dl class="function">
@ -1246,7 +1753,7 @@ Spawn_BE_KA50 = SPAWN:New( 'BE KA-50@RAMP-Ground Defense' ):Schedule( 600, 0.5 )
</ul> </ul>
<h3>Return value</h3> <h3>Return value</h3>
<p><em><a href="GROUP.html##(GROUP)">GROUP#GROUP</a>:</em> <p><em><a href="Group.html##(GROUP)">Group#GROUP</a>:</em>
The group that was spawned. You can use this group for further actions.</p> The group that was spawned. You can use this group for further actions.</p>
</dd> </dd>
@ -1568,6 +2075,31 @@ Nothing found</p>
<dl class="function"> <dl class="function">
<dt> <dt>
<a id="#(SPAWN)._OnEngineShutDown" >
<strong>SPAWN:_OnEngineShutDown(event)</strong>
</a>
</dt>
<dd>
<p>Will detect AIR Units shutting down their engines ...</p>
<p>When the event takes place, and the method <a href="RepeatOnEngineShutDown.html">RepeatOnEngineShutDown</a> was called, the spawned Group will Re-SPAWN.
But only when the Unit was registered to have landed.</p>
<h3>Parameter</h3>
<ul>
<li>
<p><code><em> event </em></code>: </p>
</li>
</ul>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(SPAWN)._OnLand" > <a id="#(SPAWN)._OnLand" >
<strong>SPAWN:_OnLand(event)</strong> <strong>SPAWN:_OnLand(event)</strong>
</a> </a>

View File

@ -23,6 +23,7 @@
<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="DCSAirbase.html">DCSAirbase</a></li>
<li><a href="DCSCoalitionObject.html">DCSCoalitionObject</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="DCSController.html">DCSController</a></li>
<li><a href="DCSGroup.html">DCSGroup</a></li> <li><a href="DCSGroup.html">DCSGroup</a></li>
<li><a href="DCSObject.html">DCSObject</a></li> <li><a href="DCSObject.html">DCSObject</a></li>

View File

@ -23,6 +23,7 @@
<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="DCSAirbase.html">DCSAirbase</a></li>
<li><a href="DCSCoalitionObject.html">DCSCoalitionObject</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="DCSController.html">DCSController</a></li>
<li><a href="DCSGroup.html">DCSGroup</a></li> <li><a href="DCSGroup.html">DCSGroup</a></li>
<li><a href="DCSObject.html">DCSObject</a></li> <li><a href="DCSObject.html">DCSObject</a></li>

View File

@ -23,6 +23,7 @@
<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="DCSAirbase.html">DCSAirbase</a></li>
<li><a href="DCSCoalitionObject.html">DCSCoalitionObject</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="DCSController.html">DCSController</a></li>
<li><a href="DCSGroup.html">DCSGroup</a></li> <li><a href="DCSGroup.html">DCSGroup</a></li>
<li><a href="DCSObject.html">DCSObject</a></li> <li><a href="DCSObject.html">DCSObject</a></li>
@ -84,6 +85,42 @@
<td class="name" nowrap="nowrap"><a href="##(UNIT).ClassName">UNIT.ClassName</a></td> <td class="name" nowrap="nowrap"><a href="##(UNIT).ClassName">UNIT.ClassName</a></td>
<td class="summary"> <td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(UNIT).Flare">UNIT:Flare(FlareColor)</a></td>
<td class="summary">
<p>Signal a flare at the position of the UNIT.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(UNIT).FlareColor">UNIT.FlareColor</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(UNIT).FlareGreen">UNIT:FlareGreen()</a></td>
<td class="summary">
<p>Signal a green flare at the position of the UNIT.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(UNIT).FlareRed">UNIT:FlareRed()</a></td>
<td class="summary">
<p>Signal a red flare at the position of the UNIT.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(UNIT).FlareWhite">UNIT:FlareWhite()</a></td>
<td class="summary">
<p>Signal a white flare at the position of the UNIT.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(UNIT).FlareYellow">UNIT:FlareYellow()</a></td>
<td class="summary">
<p>Signal a yellow flare at the position of the UNIT.</p>
</td> </td>
</tr> </tr>
<tr> <tr>
@ -138,6 +175,12 @@
<td class="name" nowrap="nowrap"><a href="##(UNIT).GetTypeName">UNIT:GetTypeName()</a></td> <td class="name" nowrap="nowrap"><a href="##(UNIT).GetTypeName">UNIT:GetTypeName()</a></td>
<td class="summary"> <td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(UNIT).IsAir">UNIT:IsAir()</a></td>
<td class="summary">
<p>Returns if the unit is of an air category.</p>
</td> </td>
</tr> </tr>
<tr> <tr>
@ -149,13 +192,117 @@
<tr> <tr>
<td class="name" nowrap="nowrap"><a href="##(UNIT).New">UNIT:New(DCSUnit)</a></td> <td class="name" nowrap="nowrap"><a href="##(UNIT).New">UNIT:New(DCSUnit)</a></td>
<td class="summary"> <td class="summary">
<p>Create a new UNIT from DCSUnit.</p>
</td> </td>
</tr> </tr>
<tr> <tr>
<td class="name" nowrap="nowrap"><a href="##(UNIT).OtherUnitInRadius">UNIT:OtherUnitInRadius(AwaitUnit, Radius)</a></td> <td class="name" nowrap="nowrap"><a href="##(UNIT).OtherUnitInRadius">UNIT:OtherUnitInRadius(AwaitUnit, Radius)</a></td>
<td class="summary"> <td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(UNIT).Smoke">UNIT:Smoke(SmokeColor)</a></td>
<td class="summary">
<p>Smoke the UNIT.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(UNIT).SmokeBlue">UNIT:SmokeBlue()</a></td>
<td class="summary">
<p>Smoke the UNIT Blue.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(UNIT).SmokeColor">UNIT.SmokeColor</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(UNIT).SmokeGreen">UNIT:SmokeGreen()</a></td>
<td class="summary">
<p>Smoke the UNIT Green.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(UNIT).SmokeOrange">UNIT:SmokeOrange()</a></td>
<td class="summary">
<p>Smoke the UNIT Orange.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(UNIT).SmokeRed">UNIT:SmokeRed()</a></td>
<td class="summary">
<p>Smoke the UNIT Red.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(UNIT).SmokeWhite">UNIT:SmokeWhite()</a></td>
<td class="summary">
<p>Smoke the UNIT White.</p>
</td>
</tr>
</table>
<h2><a id="#(UNIT.FlareColor)">Type <code>UNIT.FlareColor</code></a></h2>
<table class="function_list">
<tr>
<td class="name" nowrap="nowrap"><a href="##(UNIT.FlareColor).Green">UNIT.FlareColor.Green</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(UNIT.FlareColor).Red">UNIT.FlareColor.Red</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(UNIT.FlareColor).White">UNIT.FlareColor.White</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(UNIT.FlareColor).Yellow">UNIT.FlareColor.Yellow</a></td>
<td class="summary">
</td>
</tr>
</table>
<h2><a id="#(UNIT.SmokeColor)">Type <code>UNIT.SmokeColor</code></a></h2>
<table class="function_list">
<tr>
<td class="name" nowrap="nowrap"><a href="##(UNIT.SmokeColor).Blue">UNIT.SmokeColor.Blue</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(UNIT.SmokeColor).Green">UNIT.SmokeColor.Green</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(UNIT.SmokeColor).Orange">UNIT.SmokeColor.Orange</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(UNIT.SmokeColor).Red">UNIT.SmokeColor.Red</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(UNIT.SmokeColor).White">UNIT.SmokeColor.White</a></td>
<td class="summary">
</td> </td>
</tr> </tr>
</table> </table>
@ -208,6 +355,93 @@
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(UNIT).Flare" >
<strong>UNIT:Flare(FlareColor)</strong>
</a>
</dt>
<dd>
<p>Signal a flare at the position of the UNIT.</p>
<h3>Parameter</h3>
<ul>
<li>
<p><code><em> FlareColor </em></code>: </p>
</li>
</ul>
</dd>
</dl>
<dl class="function">
<dt>
<em><a href="##(UNIT.FlareColor)">#UNIT.FlareColor</a></em>
<a id="#(UNIT).FlareColor" >
<strong>UNIT.FlareColor</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(UNIT).FlareGreen" >
<strong>UNIT:FlareGreen()</strong>
</a>
</dt>
<dd>
<p>Signal a green flare at the position of the UNIT.</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(UNIT).FlareRed" >
<strong>UNIT:FlareRed()</strong>
</a>
</dt>
<dd>
<p>Signal a red flare at the position of the UNIT.</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(UNIT).FlareWhite" >
<strong>UNIT:FlareWhite()</strong>
</a>
</dt>
<dd>
<p>Signal a white flare at the position of the UNIT.</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(UNIT).FlareYellow" >
<strong>UNIT:FlareYellow()</strong>
</a>
</dt>
<dd>
<p>Signal a yellow flare at the position of the UNIT.</p>
</dd> </dd>
</dl> </dl>
<dl class="function"> <dl class="function">
@ -325,6 +559,27 @@
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(UNIT).IsAir" >
<strong>UNIT:IsAir()</strong>
</a>
</dt>
<dd>
<p>Returns if the unit is of an air category.</p>
<p>If the unit is a helicopter or a plane, then this method will return true, otherwise false.</p>
<h3>Return value</h3>
<p><em>#boolean:</em>
Air category evaluation result.</p>
</dd> </dd>
</dl> </dl>
<dl class="function"> <dl class="function">
@ -349,16 +604,21 @@
</dt> </dt>
<dd> <dd>
<p>Create a new UNIT from DCSUnit.</p>
<h3>Parameter</h3> <h3>Parameter</h3>
<ul> <ul>
<li> <li>
<p><code><em> DCSUnit </em></code>: </p> <p><code><em><a href="DCSUnit.html##(Unit)">DCSUnit#Unit</a> DCSUnit </em></code>: </p>
</li> </li>
</ul> </ul>
<h3>Return value</h3>
<p><em><a href="Unit.html##(UNIT)">Unit#UNIT</a>:</em></p>
</dd> </dd>
</dl> </dl>
<dl class="function"> <dl class="function">
@ -385,6 +645,235 @@
</li> </li>
</ul> </ul>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(UNIT).Smoke" >
<strong>UNIT:Smoke(SmokeColor)</strong>
</a>
</dt>
<dd>
<p>Smoke the UNIT.</p>
<h3>Parameter</h3>
<ul>
<li>
<p><code><em> SmokeColor </em></code>: </p>
</li>
</ul>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(UNIT).SmokeBlue" >
<strong>UNIT:SmokeBlue()</strong>
</a>
</dt>
<dd>
<p>Smoke the UNIT Blue.</p>
</dd>
</dl>
<dl class="function">
<dt>
<em><a href="##(UNIT.SmokeColor)">#UNIT.SmokeColor</a></em>
<a id="#(UNIT).SmokeColor" >
<strong>UNIT.SmokeColor</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(UNIT).SmokeGreen" >
<strong>UNIT:SmokeGreen()</strong>
</a>
</dt>
<dd>
<p>Smoke the UNIT Green.</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(UNIT).SmokeOrange" >
<strong>UNIT:SmokeOrange()</strong>
</a>
</dt>
<dd>
<p>Smoke the UNIT Orange.</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(UNIT).SmokeRed" >
<strong>UNIT:SmokeRed()</strong>
</a>
</dt>
<dd>
<p>Smoke the UNIT Red.</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(UNIT).SmokeWhite" >
<strong>UNIT:SmokeWhite()</strong>
</a>
</dt>
<dd>
<p>Smoke the UNIT White.</p>
</dd>
</dl>
<h2><a id="#(UNIT.FlareColor)" >Type <code>UNIT.FlareColor</code></a></h2>
<p>FlareColor</p>
<h3>Field(s)</h3>
<dl class="function">
<dt>
<a id="#(UNIT.FlareColor).Green" >
<strong>UNIT.FlareColor.Green</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(UNIT.FlareColor).Red" >
<strong>UNIT.FlareColor.Red</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(UNIT.FlareColor).White" >
<strong>UNIT.FlareColor.White</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(UNIT.FlareColor).Yellow" >
<strong>UNIT.FlareColor.Yellow</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<h2><a id="#(UNIT.SmokeColor)" >Type <code>UNIT.SmokeColor</code></a></h2>
<p>SmokeColor</p>
<h3>Field(s)</h3>
<dl class="function">
<dt>
<a id="#(UNIT.SmokeColor).Blue" >
<strong>UNIT.SmokeColor.Blue</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(UNIT.SmokeColor).Green" >
<strong>UNIT.SmokeColor.Green</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(UNIT.SmokeColor).Orange" >
<strong>UNIT.SmokeColor.Orange</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(UNIT.SmokeColor).Red" >
<strong>UNIT.SmokeColor.Red</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(UNIT.SmokeColor).White" >
<strong>UNIT.SmokeColor.White</strong>
</a>
</dt>
<dd>
</dd> </dd>
</dl> </dl>

View File

@ -23,6 +23,7 @@
<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="DCSAirbase.html">DCSAirbase</a></li>
<li><a href="DCSCoalitionObject.html">DCSCoalitionObject</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="DCSController.html">DCSController</a></li>
<li><a href="DCSGroup.html">DCSGroup</a></li> <li><a href="DCSGroup.html">DCSGroup</a></li>
<li><a href="DCSObject.html">DCSObject</a></li> <li><a href="DCSObject.html">DCSObject</a></li>
@ -93,7 +94,7 @@
</td> </td>
</tr> </tr>
<tr> <tr>
<td class="name" nowrap="nowrap"><a href="##(ZONE).GetRandomPoint">ZONE:GetRandomPoint()</a></td> <td class="name" nowrap="nowrap"><a href="##(ZONE).GetRandomPointVec2">ZONE:GetRandomPointVec2()</a></td>
<td class="summary"> <td class="summary">
</td> </td>
@ -171,8 +172,8 @@
<dl class="function"> <dl class="function">
<dt> <dt>
<a id="#(ZONE).GetRandomPoint" > <a id="#(ZONE).GetRandomPointVec2" >
<strong>ZONE:GetRandomPoint()</strong> <strong>ZONE:GetRandomPointVec2()</strong>
</a> </a>
</dt> </dt>
<dd> <dd>

View File

@ -23,6 +23,7 @@
<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="DCSAirbase.html">DCSAirbase</a></li>
<li><a href="DCSCoalitionObject.html">DCSCoalitionObject</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="DCSController.html">DCSController</a></li>
<li><a href="DCSGroup.html">DCSGroup</a></li> <li><a href="DCSGroup.html">DCSGroup</a></li>
<li><a href="DCSObject.html">DCSObject</a></li> <li><a href="DCSObject.html">DCSObject</a></li>

View File

@ -23,6 +23,7 @@
<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="DCSAirbase.html">DCSAirbase</a></li>
<li><a href="DCSCoalitionObject.html">DCSCoalitionObject</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="DCSController.html">DCSController</a></li>
<li><a href="DCSGroup.html">DCSGroup</a></li> <li><a href="DCSGroup.html">DCSGroup</a></li>
<li><a href="DCSObject.html">DCSObject</a></li> <li><a href="DCSObject.html">DCSObject</a></li>
@ -95,6 +96,12 @@
<td class="name" nowrap="nowrap"><a href="DCSCoalitionObject.html">DCSCoalitionObject</a></td> <td class="name" nowrap="nowrap"><a href="DCSCoalitionObject.html">DCSCoalitionObject</a></td>
<td class="summary"> <td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="DCSCommand.html">DCSCommand</a></td>
<td class="summary">
</td> </td>
</tr> </tr>
<tr> <tr>

View File

@ -23,6 +23,7 @@
<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="DCSAirbase.html">DCSAirbase</a></li>
<li><a href="DCSCoalitionObject.html">DCSCoalitionObject</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="DCSController.html">DCSController</a></li>
<li><a href="DCSGroup.html">DCSGroup</a></li> <li><a href="DCSGroup.html">DCSGroup</a></li>
<li><a href="DCSObject.html">DCSObject</a></li> <li><a href="DCSObject.html">DCSObject</a></li>

View File

@ -23,6 +23,7 @@
<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="DCSAirbase.html">DCSAirbase</a></li>
<li><a href="DCSCoalitionObject.html">DCSCoalitionObject</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="DCSController.html">DCSController</a></li>
<li><a href="DCSGroup.html">DCSGroup</a></li> <li><a href="DCSGroup.html">DCSGroup</a></li>
<li><a href="DCSObject.html">DCSObject</a></li> <li><a href="DCSObject.html">DCSObject</a></li>
@ -1193,6 +1194,8 @@
</dl> </dl>
<h2><a id="#(routines)" >Type <code>routines</code></a></h2> <h2><a id="#(routines)" >Type <code>routines</code></a></h2>
<h2><a id="#(Time)" >Type <code>Time</code></a></h2>
</div> </div>
</div> </div>

File diff suppressed because it is too large Load Diff

View File

@ -331,7 +331,7 @@ function BASE:F( Arguments )
if DebugInfoFrom then if DebugInfoFrom then
LineFrom = DebugInfoFrom.currentline LineFrom = DebugInfoFrom.currentline
end end
env.info( string.format( "%6d\(%6d\)/%1s:%20s%05d.%s\(%s\)" , LineCurrent, LineFrom, "F", self.ClassName, self.ClassID, Function, routines.utils.oneLineSerialize( Arguments ) ) ) env.info( string.format( "%6d(%6d)/%1s:%20s%05d.%s(%s)" , LineCurrent, LineFrom, "F", self.ClassName, self.ClassID, Function, routines.utils.oneLineSerialize( Arguments ) ) )
end end
end end
end end
@ -379,7 +379,7 @@ function BASE:T( Arguments )
if DebugInfoFrom then if DebugInfoFrom then
LineFrom = DebugInfoFrom.currentline LineFrom = DebugInfoFrom.currentline
end end
env.info( string.format( "%6d\(%6d\)/%1s:%20s%05d.%s" , LineCurrent, LineFrom, "T", self.ClassName, self.ClassID, routines.utils.oneLineSerialize( Arguments ) ) ) env.info( string.format( "%6d(%6d)/%1s:%20s%05d.%s" , LineCurrent, LineFrom, "T", self.ClassName, self.ClassID, routines.utils.oneLineSerialize( Arguments ) ) )
end end
end end
end end
@ -422,7 +422,7 @@ function BASE:E( Arguments )
local LineCurrent = DebugInfoCurrent.currentline local LineCurrent = DebugInfoCurrent.currentline
local LineFrom = DebugInfoFrom.currentline local LineFrom = DebugInfoFrom.currentline
env.info( string.format( "%6d\(%6d\)/%1s:%20s%05d.%s\(%s\)" , LineCurrent, LineFrom, "E", self.ClassName, self.ClassID, Function, routines.utils.oneLineSerialize( Arguments ) ) ) env.info( string.format( "%6d(%6d)/%1s:%20s%05d.%s(%s)" , LineCurrent, LineFrom, "E", self.ClassName, self.ClassID, Function, routines.utils.oneLineSerialize( Arguments ) ) )
end end

View File

@ -863,7 +863,7 @@ function DATABASE:ScoreOpen()
if not self.StatFile then if not self.StatFile then
error( "Error: Cannot open 'Player Scores.csv' file in " .. lfs.writedir() ) error( "Error: Cannot open 'Player Scores.csv' file in " .. lfs.writedir() )
end end
self.StatFile:write( '"RunID";"Time";"PlayerName";"ScoreType";"PlayerUnitCoaltion";"PlayerUnitCategory";"PlayerUnitType";"PlayerUnitName";"TargetUnitCoalition";"TargetUnitCategory";"TargetUnitType";"TargetUnitName";"Times";"Score"\n' ) self.StatFile:write( '"RunID","Time","PlayerName","ScoreType","PlayerUnitCoaltion","PlayerUnitCategory","PlayerUnitType","PlayerUnitName","TargetUnitCoalition","TargetUnitCategory","TargetUnitType","TargetUnitName","Times","Score"\n' )
self.RunID = os.date("%y-%m-%d_%H-%M-%S") self.RunID = os.date("%y-%m-%d_%H-%M-%S")
end end
@ -921,10 +921,23 @@ function DATABASE:ScoreAdd( PlayerName, ScoreType, ScoreTimes, ScoreAmount, Play
end end
if lfs then if lfs then
self.StatFile:write( '"' .. self.RunID .. '";' .. ScoreTime .. ';"' .. PlayerName .. '";"' .. ScoreType .. '";"' .. self.StatFile:write(
PlayerUnitCoalition .. '";"' .. PlayerUnitCategory .. '";"' .. PlayerUnitType .. '";"' .. PlayerUnitName .. '";"' .. '"' .. self.RunID .. '"' .. ',' ..
TargetUnitCoalition .. '";"' .. TargetUnitCategory .. '";"' .. TargetUnitType .. '";"' .. TargetUnitName .. '";' .. '' .. ScoreTime .. '' .. ',' ..
ScoreTimes .. ';' .. ScoreAmount ) '"' .. PlayerName .. '"' .. ',' ..
'"' .. ScoreType .. '"' .. ',' ..
'"' .. PlayerUnitCoalition .. '"' .. ',' ..
'"' .. PlayerUnitCategory .. '"' .. ',' ..
'"' .. PlayerUnitType .. '"' .. ',' ..
'"' .. PlayerUnitName .. '"' .. ',' ..
'"' .. TargetUnitCoalition .. '"' .. ',' ..
'"' .. TargetUnitCategory .. '"' .. ',' ..
'"' .. TargetUnitType .. '"' .. ',' ..
'"' .. TargetUnitName .. '"' .. ',' ..
'' .. ScoreTimes .. '' .. ',' ..
'' .. ScoreAmount
)
self.StatFile:write( "\n" ) self.StatFile:write( "\n" )
end end
end end

View File

@ -96,7 +96,8 @@ ESCORT = {
FollowScheduler = nil, FollowScheduler = nil,
ReportTargets = true, ReportTargets = true,
OptionROE = AI.Option.Air.val.ROE.OPEN_FIRE, OptionROE = AI.Option.Air.val.ROE.OPEN_FIRE,
OptionReactionOnThreat = AI.Option.Air.val.REACTION_ON_THREAT.ALLOW_ABORT_MISSION OptionReactionOnThreat = AI.Option.Air.val.REACTION_ON_THREAT.ALLOW_ABORT_MISSION,
TaskPoints = {}
} }
--- MENUPARAM type --- MENUPARAM type
@ -222,10 +223,11 @@ function ESCORT:New( EscortClient, EscortGroup, EscortName, EscortBriefing )
-- Initialize the EscortGroup -- Initialize the EscortGroup
EscortGroup:OptionROTVertical() self.EscortGroup:WayPointInitialize(1)
EscortGroup:OptionROEOpenFire()
self.EscortGroup:OptionROTVertical()
self.EscortGroup:OptionROEOpenFire()
EscortGroup:SetTask( EscortGroup:TaskRoute( TaskPoints ) )
self.ReportTargetsScheduler = routines.scheduleFunction( self._ReportTargetsScheduler, { self }, timer.getTime() + 1, 30 ) self.ReportTargetsScheduler = routines.scheduleFunction( self._ReportTargetsScheduler, { self }, timer.getTime() + 1, 30 )
@ -312,7 +314,7 @@ function ESCORT:JoinUpAndFollow( EscortGroup, EscortClient, Distance )
end end
EscortGroup:OptionROEHoldFire() EscortGroup:OptionROEHoldFire()
EscortGroup:OptionROTVertical() EscortGroup:OptionROTPassiveDefense()
self.CT1 = 0 self.CT1 = 0
self.GT1 = 0 self.GT1 = 0
@ -568,21 +570,13 @@ end
--- Registers the waypoints --- Registers the waypoints
-- @param #ESCORT self -- @param #ESCORT self
-- @return #table
function ESCORT:RegisterRoute() function ESCORT:RegisterRoute()
self:F() self:F()
local EscortGroup = self.EscortGroup -- Group#GROUP local EscortGroup = self.EscortGroup -- Group#GROUP
local TaskPoints = EscortGroup:GetTaskRoute() local TaskPoints = EscortGroup:GetTaskRoute()
self:T( TaskPoints )
for TaskPointID, TaskPoint in pairs( TaskPoints ) do
self:T( { "TaskPoint:", TaskPointID, #TaskPoint.task.params.tasks+1, TaskPoint } )
if TaskPointID > 1 then
TaskPoint.task.params.tasks[#TaskPoint.task.params.tasks+1] = EscortGroup:TaskRegisterWayPoint( TaskPointID )
end
self:T( TaskPoint )
end
self:T( TaskPoints ) self:T( TaskPoints )

View File

@ -20,6 +20,7 @@ GROUP = {
GroupID = 0, GroupID = 0,
Controller = nil, Controller = nil,
DCSGroup = nil, DCSGroup = nil,
WayPointFunctions = {},
} }
--- A DCSGroup --- A DCSGroup
@ -91,6 +92,85 @@ function GROUP:NewFromDCSUnit( DCSUnit )
return self return self
end end
--- Retrieve the group mission and allow to place function hooks within the mission waypoint plan.
-- Use the method @{Group#GROUP:WayPointFunction} to define the hook functions for specific waypoints.
-- Use the method @{Group@GROUP:WayPointExecute) to start the execution of the new mission plan.
-- Note that when WayPointInitialize is called, the Mission of the group is RESTARTED!
-- @param #GROUP self
-- @param #number WayPoint
-- @return #GROUP
function GROUP:WayPointInitialize()
self.WayPoints = self:GetTaskRoute()
return self
end
--- Registers a waypoint function that will be executed when the group moves over the WayPoint.
-- @param #GROUP self
-- @param #number WayPoint The waypoint number. Note that the start waypoint on the route is WayPoint 1!
-- @param #number WayPointIndex When defining multiple WayPoint functions for one WayPoint, use WayPointIndex to set the sequence of actions.
-- @param #function WayPointFunction The waypoint function to be called when the group moves over the waypoint. The waypoint function takes variable parameters.
-- @return #GROUP
function GROUP:WayPointFunction( WayPoint, WayPointIndex, WayPointFunction, ... )
self:F( { WayPoint, WayPointIndex, WayPointFunction } )
table.insert( self.WayPoints[WayPoint].task.params.tasks, WayPointIndex )
self.WayPoints[WayPoint].task.params.tasks[WayPointIndex] = self:TaskFunction( WayPoint, WayPointIndex, WayPointFunction, arg )
return self
end
function GROUP:TaskFunction( WayPoint, WayPointIndex, FunctionString, FunctionArguments )
local DCSTask
local DCSScript = {}
DCSScript[#DCSScript+1] = "local MissionGroup = GROUP.FindGroup( ... ) "
DCSScript[#DCSScript+1] = FunctionString .. "( MissionGroup, " .. table.concat( FunctionArguments, "," ) .. ")"
DCSTask = self:TaskWrappedAction(
self:CommandDoScript(
table.concat( DCSScript )
), WayPointIndex
)
self:T( DCSTask )
return DCSTask
end
--- Executes the WayPoint plan.
-- The function gets a WayPoint parameter, that you can use to restart the mission at a specific WayPoint.
-- Note that when the WayPoint parameter is used, the new start mission waypoint of the group will be 1!
-- @param #GROUP self
-- @param #number WayPoint The WayPoint from where to execute the mission.
-- @param #WaitTime The amount seconds to wait before initiating the mission.
-- @return #GROUP
function GROUP:WayPointExecute( WayPoint, WaitTime )
if not WayPoint then
WayPoint = 1
end
-- When starting the mission from a certain point, the TaskPoints need to be deleted before the given WayPoint.
for TaskPointID = 1, WayPoint - 1 do
table.remove( self.WayPoints, 1 )
end
self:T( self.WayPoints )
self:SetTask( self:TaskRoute( self.WayPoints ), WaitTime )
return self
end
--- Gets the DCSGroup of the GROUP. --- Gets the DCSGroup of the GROUP.
-- @param #GROUP self -- @param #GROUP self
-- @return DCSGroup#Group The DCSGroup. -- @return DCSGroup#Group The DCSGroup.
@ -201,7 +281,7 @@ function GROUP:Destroy()
self:F( self.GroupName ) self:F( self.GroupName )
for Index, UnitData in pairs( self.DCSGroup:getUnits() ) do for Index, UnitData in pairs( self.DCSGroup:getUnits() ) do
self:CreateEventDead( timer.getTime(), UnitData ) self:CreateEventCrash( timer.getTime(), UnitData )
end end
self.DCSGroup:destroy() self.DCSGroup:destroy()
@ -386,12 +466,20 @@ end
--- Pushing Task on the queue from the group. --- Pushing Task on the queue from the group.
-- @param #GROUP self -- @param #GROUP self
-- @return Group#GROUP self -- @return Group#GROUP self
function GROUP:PushTask( DCSTask ) function GROUP:PushTask( DCSTask, WaitTime )
self:F() self:F()
local Controller = self:_GetController() local Controller = self:_GetController()
Controller:pushTask( DCSTask ) -- When a group SPAWNs, it takes about a second to get the group in the simulator. Setting tasks to unspawned groups provides unexpected results.
-- Therefore we schedule the functions to set the mission and options for the Group.
-- Controller:pushTask( DCSTask )
if not WaitTime then
Controller:pushTask( DCSTask )
else
routines.scheduleFunction( Controller.pushTask, { Controller, DCSTask }, timer.getTime() + WaitTime )
end
return self return self
end end
@ -399,12 +487,19 @@ end
--- Clearing the Task Queue and Setting the Task on the queue from the group. --- Clearing the Task Queue and Setting the Task on the queue from the group.
-- @param #GROUP self -- @param #GROUP self
-- @return Group#GROUP self -- @return Group#GROUP self
function GROUP:SetTask( DCSTask ) function GROUP:SetTask( DCSTask, WaitTime )
self:F( { DCSTask } ) self:F( { DCSTask } )
local Controller = self:_GetController() local Controller = self:_GetController()
Controller:setTask( DCSTask ) -- When a group SPAWNs, it takes about a second to get the group in the simulator. Setting tasks to unspawned groups provides unexpected results.
-- Therefore we schedule the functions to set the mission and options for the Group.
-- Controller.setTask( Controller, DCSTask )
if not WaitTime then
WaitTime = 1
end
routines.scheduleFunction( Controller.setTask, { Controller, DCSTask }, timer.getTime() + WaitTime )
return self return self
end end
@ -480,7 +575,7 @@ end
-- @param #GROUP self -- @param #GROUP self
-- @param DCSCommand#Command DCSCommand -- @param DCSCommand#Command DCSCommand
-- @return DCSTask#Task -- @return DCSTask#Task
function GROUP:TaskWrappedAction( DCSCommand ) function GROUP:TaskWrappedAction( DCSCommand, Index )
self:F( { DCSCommand } ) self:F( { DCSCommand } )
local DCSTaskWrappedAction local DCSTaskWrappedAction
@ -488,9 +583,11 @@ function GROUP:TaskWrappedAction( DCSCommand )
DCSTaskWrappedAction = { DCSTaskWrappedAction = {
id = "WrappedAction", id = "WrappedAction",
enabled = true, enabled = true,
number = Index,
auto = false,
params = { params = {
action = DCSCommand action = DCSCommand,
} },
} }
self:T( { DCSTaskWrappedAction } ) self:T( { DCSTaskWrappedAction } )
@ -593,10 +690,15 @@ end
-- @param Zone#ZONE Zone The zone where to land. -- @param Zone#ZONE Zone The zone where to land.
-- @param #number Duration The duration in seconds to stay on the ground. -- @param #number Duration The duration in seconds to stay on the ground.
-- @return #GROUP self -- @return #GROUP self
function GROUP:TaskLandAtZone( Zone, Duration ) function GROUP:TaskLandAtZone( Zone, Duration, RandomPoint )
self:F( { self.GroupName, Zone, Duration } ) self:F( { self.GroupName, Zone, Duration, RandomPoint } )
local Point = Zone:GetPointVec2() local Point
if RandomPoint then
Point = Zone:GetRandomPointVec2()
else
Point = Zone:GetPointVec2()
end
local DCSTask = self:TaskLandAtVec2( Point, Duration ) local DCSTask = self:TaskLandAtVec2( Point, Duration )
@ -813,26 +915,7 @@ function GROUP:Route( GoPoints )
return self return self
end end
--- Registers a Task to be executed at a waypoint.
-- @param #GROUP self
-- @param #number WayPoint The waypoint where to execute the task.
-- @return #string The task.
function GROUP:TaskRegisterWayPoint( WayPoint )
local DCSTask
DCSTask = self:TaskWrappedAction(
self:CommandDoScript(
"local MissionGroup = GROUP:New( ... ) " ..
"env.info( MissionGroup:GetName() ) " ..
"MissionGroup:RegisterWayPoint ( " .. WayPoint .. " )"
)
)
self:T( DCSTask )
return DCSTask
end
--- Route the group to a given zone. --- Route the group to a given zone.
-- The group final destination point can be randomized. -- The group final destination point can be randomized.
@ -860,7 +943,7 @@ function GROUP:TaskRouteToZone( Zone, Randomize, Speed, Formation )
local ZonePoint local ZonePoint
if Randomize then if Randomize then
ZonePoint = Zone:GetRandomPoint() ZonePoint = Zone:GetRandomPointVec2()
else else
ZonePoint = Zone:GetPointVec2() ZonePoint = Zone:GetPointVec2()
end end
@ -901,8 +984,8 @@ function GROUP:CommandDoScript( DoScript )
local DCSDoScript = { local DCSDoScript = {
id = "Script", id = "Script",
params = { params = {
command = DoScript command = DoScript,
} },
} }
self:T( DCSDoScript ) self:T( DCSDoScript )
@ -1260,7 +1343,7 @@ end
function GROUP:Message( Message, Duration ) function GROUP:Message( Message, Duration )
self:F( { Message, Duration } ) self:F( { Message, Duration } )
return MESSAGE:New( Message, self:GetCallsign() .. "(" .. self:GetTypeName() .. ")", Duration, self:GetClassNameAndID() ) return MESSAGE:New( Message, self:GetCallsign() .. " (" .. self:GetTypeName() .. ")", Duration, self:GetClassNameAndID() )
end end
--- Send a message to all coalitions. --- Send a message to all coalitions.
@ -1308,12 +1391,6 @@ function GROUP:MessageToClient( Message, Duration, Client )
self:Message( Message, Duration ):ToClient( Client ) self:Message( Message, Duration ):ToClient( Client )
end end
function GROUP:RegisterWayPoint( WayPoint )
self:Message( "Moving over wayPoint " .. WayPoint, 20 ):ToAll()
self.WayPoint = WayPoint
end

View File

@ -444,6 +444,12 @@ function SPAWN:SpawnWithIndex( SpawnIndex )
else else
self:T( self.SpawnGroups[self.SpawnIndex].SpawnTemplate ) self:T( self.SpawnGroups[self.SpawnIndex].SpawnTemplate )
self.SpawnGroups[self.SpawnIndex].Group = _Database:Spawn( self.SpawnGroups[self.SpawnIndex].SpawnTemplate ) self.SpawnGroups[self.SpawnIndex].Group = _Database:Spawn( self.SpawnGroups[self.SpawnIndex].SpawnTemplate )
-- If there is a SpawnFunction hook defined, call it.
if self.SpawnFunctionHook then
self.SpawnFunctionHook( self.SpawnGroups[self.SpawnIndex].Group, unpack( self.SpawnFunctionArguments ) )
end
-- TODO: Need to fix this by putting an "R" in the name of the group when the group repeats.
--if self.SpawnRepeat then --if self.SpawnRepeat then
-- _Database:SetStatusGroup( SpawnTemplate.name, "ReSpawn" ) -- _Database:SetStatusGroup( SpawnTemplate.name, "ReSpawn" )
--end --end
@ -494,6 +500,25 @@ function SPAWN:SpawnScheduled( SpawnTime, SpawnTimeVariation )
return self return self
end end
--- Allows to place a CallFunction hook when a new group spawns.
-- The provided function will be called when a new group is spawned, including its given parameters.
-- The first parameter of the SpawnFunction is the @{Group#GROUP} that was spawned.
-- @param #SPAWN self
-- @param #function SpawnFunctionHook The function to be called when a group spawns.
-- @param SpawnFunctionArguments A random amount of arguments to be provided to the function when the group spawns.
-- @return #SPAWN
function SPAWN:SpawnFunction( SpawnFunctionHook, ... )
self:F( SpawnFunction )
self.SpawnFunctionHook = SpawnFunctionHook
self.SpawnFunctionArguments = {}
if arg then
self.SpawnFunctionArguments = arg
end
return self
end
--- Will start the spawning scheduler. --- Will start the spawning scheduler.
@ -637,7 +662,7 @@ function SPAWN:SpawnInZone( Zone, SpawnIndex )
self:T( 'SpawnTemplate.units['..UnitID..'].x = ' .. SpawnTemplate.units[UnitID].x .. ', SpawnTemplate.units['..UnitID..'].y = ' .. SpawnTemplate.units[UnitID].y ) self:T( 'SpawnTemplate.units['..UnitID..'].x = ' .. SpawnTemplate.units[UnitID].x .. ', SpawnTemplate.units['..UnitID..'].y = ' .. SpawnTemplate.units[UnitID].y )
end end
local SpawnPos = Zone:GetRandomPoint() local SpawnPos = Zone:GetRandomPointVec2()
local Point = {} local Point = {}
Point.type = "Turning Point" Point.type = "Turning Point"
Point.x = SpawnPos.x Point.x = SpawnPos.x
@ -1216,8 +1241,8 @@ function SPAWN:_SpawnCleanUpScheduler()
while SpawnGroup do while SpawnGroup do
if SpawnGroup:AllOnGround() and SpawnGroup:GetMaxVelocity() < 1 then if SpawnGroup:AllOnGround() and SpawnGroup:GetMaxVelocity() < 1 then
if not self.SpanUwnCleanUpTimeStamps[SpawnGroup:GetName()] then if not self.SpawnCleanUpTimeStamps[SpawnGroup:GetName()] then
self.SpawnCleapTimeStamps[SpawnGroup:GetName()] = timer.getTime() self.SpawnCleanUpTimeStamps[SpawnGroup:GetName()] = timer.getTime()
else else
if self.SpawnCleanUpTimeStamps[SpawnGroup:GetName()] + self.SpawnCleanUpInterval < timer.getTime() then if self.SpawnCleanUpTimeStamps[SpawnGroup:GetName()] + self.SpawnCleanUpInterval < timer.getTime() then
self:T( { "CleanUp Scheduler:", "Cleaning:", SpawnGroup } ) self:T( { "CleanUp Scheduler:", "Cleaning:", SpawnGroup } )

View File

@ -40,7 +40,7 @@ function ZONE:GetPointVec2()
return Point return Point
end end
function ZONE:GetRandomPoint() function ZONE:GetRandomPointVec2()
self:F( self.ZoneName ) self:F( self.ZoneName )
local Point = {} local Point = {}

View File

@ -4,26 +4,22 @@ Include.File( "Spawn" )
Include.File( "Escort" ) Include.File( "Escort" )
do
do
local function EventAliveHelicopter( Client ) local function EventAliveHelicopter( Client )
local EscortGroupHeli1 = SpawnEscortHeli:ReSpawn(1) local EscortGroupHeli1 = SpawnEscortHeli:ReSpawn(1)
local EscortHeli1 = ESCORT:New( Client, EscortGroupHeli1, "Escort Alpha" ) local EscortHeli1 = ESCORT:New( Client, EscortGroupHeli1, "Escort Alpha" )
local EscortGroupPlane = SpawnEscortPlane:ReSpawn(1)
local EscortPlane = ESCORT:New( Client, EscortGroupPlane, "Escort Test Plane" )
local EscortGroupGround = SpawnEscortGround:ReSpawn(1)
local EscortGround = ESCORT:New( Client, EscortGroupGround, "Test Ground" )
end end
local function EventAlivePlane( Client ) local function EventAlivePlane( Client )
local EscortGroupPlane = SpawnEscortPlane:ReSpawn(1) local EscortGroupPlane2 = SpawnEscortPlane:ReSpawn(1)
local EscortPlane = ESCORT:New( Client, EscortGroupPlane, "Escort Test Plane" ) local EscortPlane2 = ESCORT:New( Client, EscortGroupPlane2, "Escort Test Plane" )
local EscortGroupGround = SpawnEscortGround:ReSpawn(1) local EscortGroupGround2 = SpawnEscortGround:ReSpawn(1)
local EscortGround = ESCORT:New( Client, EscortGroupGround, "Test Ground" ) local EscortGround2 = ESCORT:New( Client, EscortGroupGround2, "Test Ground" )
local EscortGroupShip = SpawnEscortShip:ReSpawn(1) local EscortGroupShip2 = SpawnEscortShip:ReSpawn(1)
local EscortShip = ESCORT:New( Client, EscortGroupShip, "Test Ship" ) local EscortShip2 = ESCORT:New( Client, EscortGroupShip2, "Test Ship" )
end end
SpawnEscortHeli = SPAWN:New( "Escort Helicopter" ) SpawnEscortHeli = SPAWN:New( "Escort Helicopter" )