Sven Van de Velde c000675471 Progress, changed and reworked protocols
2016-08-14

- Changed Spawn APIs to express Group position and Unit position
randomization.

- Changed the API protocol of SpawnInZone() method.
-- Removed OuterRadius and InnerRadius parameters !!!

- Changed the API protocol of SpawnFromUnit() method.
-- Removed OuterRadius and InnerRadius parameters !!!

- Added InitRandomizeUnits() method, taking 3 parameters:
-- RandomizeUnits given the value true, will randomize the units upon
spawning, false (default) will not randomize the untis.
-- OuterRadius is the outer radius of the band where the units will be
spawned, if RandomizeUnits is true.
-- InnerRadius is the inner radius of the band where the units will not
be spawned, if RandomizeUnits is true.

- Removed SpawnFunction() method.

- Added OnSpawnGroup() method as the new official CallBack function
method to catch when a new function will be called.
-- Documented OnSpawnGroup() method.

- Renamed Limit() method to InitLimit() method.

- Renamed Array() method to InitArray() method.

- Renamed RandomizeRoute() method to InitRandomizeRoute() method.

- Renamed RandomizeTemplate() method to InitRandomizeTemplate() method.

- Reviewed all test missions for the changes executed and made adaptions
where necessary + re-tests.
2016-08-14 21:37:11 +02:00

331 lines
8.9 KiB
HTML

<!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="AIBalancer.html">AIBalancer</a></li>
<li><a href="Airbase.html">Airbase</a></li>
<li><a href="AirbasePolice.html">AirbasePolice</a></li>
<li><a href="Base.html">Base</a></li>
<li><a href="Cargo.html">Cargo</a></li>
<li><a href="CleanUp.html">CleanUp</a></li>
<li><a href="Client.html">Client</a></li>
<li><a href="Controllable.html">Controllable</a></li>
<li><a href="DCSAirbase.html">DCSAirbase</a></li>
<li><a href="DCSCoalitionObject.html">DCSCoalitionObject</a></li>
<li><a href="DCSCommand.html">DCSCommand</a></li>
<li><a href="DCSController.html">DCSController</a></li>
<li><a href="DCSGroup.html">DCSGroup</a></li>
<li><a href="DCSObject.html">DCSObject</a></li>
<li><a href="DCSTask.html">DCSTask</a></li>
<li><a href="DCSTypes.html">DCSTypes</a></li>
<li><a href="DCSUnit.html">DCSUnit</a></li>
<li><a href="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCScountry.html">DCScountry</a></li>
<li>DCStimer</li>
<li><a href="DCStrigger.html">DCStrigger</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="Detection.html">Detection</a></li>
<li><a href="DetectionManager.html">DetectionManager</a></li>
<li><a href="Escort.html">Escort</a></li>
<li><a href="Event.html">Event</a></li>
<li><a href="GOHOMETASK.html">GOHOMETASK</a></li>
<li><a href="Group.html">Group</a></li>
<li><a href="Identifiable.html">Identifiable</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="MissileTrainer.html">MissileTrainer</a></li>
<li><a href="Mission.html">Mission</a></li>
<li><a href="NOTASK.html">NOTASK</a></li>
<li><a href="Object.html">Object</a></li>
<li><a href="PICKUPTASK.html">PICKUPTASK</a></li>
<li><a href="PatrolZone.html">PatrolZone</a></li>
<li><a href="Point.html">Point</a></li>
<li><a href="Positionable.html">Positionable</a></li>
<li><a href="Process.html">Process</a></li>
<li><a href="Process_Destroy.html">Process_Destroy</a></li>
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
<li><a href="Process_Smoke.html">Process_Smoke</a></li>
<li><a href="ROUTETASK.html">ROUTETASK</a></li>
<li><a href="STAGE.html">STAGE</a></li>
<li><a href="Scheduler.html">Scheduler</a></li>
<li><a href="Scoring.html">Scoring</a></li>
<li><a href="Sead.html">Sead</a></li>
<li><a href="Set.html">Set</a></li>
<li><a href="Spawn.html">Spawn</a></li>
<li><a href="StateMachine.html">StateMachine</a></li>
<li><a href="Static.html">Static</a></li>
<li><a href="StaticObject.html">StaticObject</a></li>
<li><a href="Task.html">Task</a></li>
<li><a href="Task_A2G.html">Task_A2G</a></li>
<li><a href="Task_Assign.html">Task_Assign</a></li>
<li><a href="Task_Client_Menu.html">Task_Client_Menu</a></li>
<li><a href="Task_PICKUP.html">Task_PICKUP</a></li>
<li><a href="Task_Route.html">Task_Route</a></li>
<li><a href="Task_SEAD.html">Task_SEAD</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>DCStimer</code></h1>
<h2>Global(s)</h2>
<table class="function_list">
<tr>
<td class="name" nowrap="nowrap"><a href="#timer">timer</a></td>
<td class="summary">
</td>
</tr>
</table>
<h2><a id="#(timer)">Type <code>timer</code></a></h2>
<table class="function_list">
<tr>
<td class="name" nowrap="nowrap"><a href="##(timer).getAbsTime">timer.getAbsTime()</a></td>
<td class="summary">
<p>Returns mission time in seconds.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(timer).getTime">timer.getTime()</a></td>
<td class="summary">
<p>Returns model time in seconds.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(timer).getTime0">timer.getTime0()</a></td>
<td class="summary">
<p>Returns mission start time in seconds.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(timer).removeFunction">timer.removeFunction(functionId)</a></td>
<td class="summary">
<p>Removes the function from schedule.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(timer).scheduleFunction">timer.scheduleFunction(functionToCall, functionArgument, time)</a></td>
<td class="summary">
<p>Schedules function to call at desired model time.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(timer).setFunctionTime">timer.setFunctionTime(functionId, time)</a></td>
<td class="summary">
<p>Re-schedules function to call at another model time.</p>
</td>
</tr>
</table>
<h2>Global(s)</h2>
<dl class="function">
<dt>
<em><a href="##(timer)">#timer</a></em>
<a id="timer" >
<strong>timer</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<h2><a id="#(DCStimer)" >Type <code>DCStimer</code></a></h2>
<h2><a id="#(FunctionToCall)" >Type <code>FunctionToCall</code></a></h2>
<h2><a id="#(Time)" >Type <code>Time</code></a></h2>
<h2><a id="#(timer)" >Type <code>timer</code></a></h2>
<h3>Field(s)</h3>
<dl class="function">
<dt>
<a id="#(timer).getAbsTime" >
<strong>timer.getAbsTime()</strong>
</a>
</dt>
<dd>
<p>Returns mission time in seconds.</p>
<h3>Return value</h3>
<p><em><a href="##(Time)">#Time</a>:</em></p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(timer).getTime" >
<strong>timer.getTime()</strong>
</a>
</dt>
<dd>
<p>Returns model time in seconds.</p>
<h3>Return value</h3>
<p><em><a href="##(Time)">#Time</a>:</em>
</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(timer).getTime0" >
<strong>timer.getTime0()</strong>
</a>
</dt>
<dd>
<p>Returns mission start time in seconds.</p>
<h3>Return value</h3>
<p><em><a href="##(Time)">#Time</a>:</em></p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(timer).removeFunction" >
<strong>timer.removeFunction(functionId)</strong>
</a>
</dt>
<dd>
<p>Removes the function from schedule.</p>
<h3>Parameter</h3>
<ul>
<li>
<p><code><em> functionId </em></code>:
Function identifier to remove from schedule </p>
</li>
</ul>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(timer).scheduleFunction" >
<strong>timer.scheduleFunction(functionToCall, functionArgument, time)</strong>
</a>
</dt>
<dd>
<p>Schedules function to call at desired model time.</p>
<p> Time function FunctionToCall(any argument, Time time)</p>
<p> ...</p>
<p> return ...</p>
<p> end</p>
<p> Must return model time of next call or nil. Note that the DCS scheduler calls the function in protected mode and any Lua errors in the called function will be trapped and not reported. If the function triggers a Lua error then it will be terminated and not scheduled to run again. </p>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em><a href="##(FunctionToCall)">#FunctionToCall</a> functionToCall </em></code>:
Lua-function to call. Must have prototype of FunctionToCall. </p>
</li>
<li>
<p><code><em> functionArgument </em></code>:
Function argument of any type to pass to functionToCall.</p>
</li>
<li>
<p><code><em><a href="##(Time)">#Time</a> time </em></code>:
Model time of the function call.</p>
</li>
</ul>
<h3>Return value</h3>
<p>functionId</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(timer).setFunctionTime" >
<strong>timer.setFunctionTime(functionId, time)</strong>
</a>
</dt>
<dd>
<p>Re-schedules function to call at another model time.</p>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em> functionId </em></code>:
Lua-function to call. Must have prototype of FunctionToCall. </p>
</li>
<li>
<p><code><em><a href="##(Time)">#Time</a> time </em></code>:
Model time of the function call. </p>
</li>
</ul>
</dd>
</dl>
</div>
</div>
</body>
</html>