mirror of
https://github.com/FlightControl-Master/MOOSE.git
synced 2025-08-15 10:47:21 +00:00
379 lines
12 KiB
HTML
379 lines
12 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="AI_A2A.html">AI_A2A</a></li>
|
|
<li><a href="AI_A2A_Cap.html">AI_A2A_Cap</a></li>
|
|
<li><a href="AI_A2A_Dispatcher.html">AI_A2A_Dispatcher</a></li>
|
|
<li><a href="AI_A2A_GCI.html">AI_A2A_GCI</a></li>
|
|
<li><a href="AI_A2A_Patrol.html">AI_A2A_Patrol</a></li>
|
|
<li><a href="AI_Bai.html">AI_Bai</a></li>
|
|
<li><a href="AI_Balancer.html">AI_Balancer</a></li>
|
|
<li><a href="AI_Cap.html">AI_Cap</a></li>
|
|
<li><a href="AI_Cas.html">AI_Cas</a></li>
|
|
<li><a href="AI_Formation.html">AI_Formation</a></li>
|
|
<li><a href="AI_Patrol.html">AI_Patrol</a></li>
|
|
<li><a href="Account.html">Account</a></li>
|
|
<li><a href="Airbase.html">Airbase</a></li>
|
|
<li><a href="AirbasePolice.html">AirbasePolice</a></li>
|
|
<li><a href="Assign.html">Assign</a></li>
|
|
<li><a href="Base.html">Base</a></li>
|
|
<li><a href="Cargo.html">Cargo</a></li>
|
|
<li>CleanUp</li>
|
|
<li><a href="Client.html">Client</a></li>
|
|
<li><a href="CommandCenter.html">CommandCenter</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="DCSVec3.html">DCSVec3</a></li>
|
|
<li><a href="DCSWorld.html">DCSWorld</a></li>
|
|
<li><a href="DCSZone.html">DCSZone</a></li>
|
|
<li><a href="DCScountry.html">DCScountry</a></li>
|
|
<li><a href="DCStimer.html">DCStimer</a></li>
|
|
<li><a href="DCStrigger.html">DCStrigger</a></li>
|
|
<li><a href="Database.html">Database</a></li>
|
|
<li><a href="Designate.html">Designate</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="Fsm.html">Fsm</a></li>
|
|
<li><a href="Group.html">Group</a></li>
|
|
<li><a href="Identifiable.html">Identifiable</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="Movement.html">Movement</a></li>
|
|
<li><a href="Object.html">Object</a></li>
|
|
<li><a href="Point.html">Point</a></li>
|
|
<li><a href="Positionable.html">Positionable</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="Radio.html">Radio</a></li>
|
|
<li><a href="Route.html">Route</a></li>
|
|
<li><a href="Scenery.html">Scenery</a></li>
|
|
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</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="Settings.html">Settings</a></li>
|
|
<li><a href="Smoke.html">Smoke</a></li>
|
|
<li><a href="Spawn.html">Spawn</a></li>
|
|
<li><a href="SpawnStatic.html">SpawnStatic</a></li>
|
|
<li><a href="Spot.html">Spot</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_A2A.html">Task_A2A</a></li>
|
|
<li><a href="Task_A2A_Dispatcher.html">Task_A2A_Dispatcher</a></li>
|
|
<li><a href="Task_A2G.html">Task_A2G</a></li>
|
|
<li><a href="Task_A2G_Dispatcher.html">Task_A2G_Dispatcher</a></li>
|
|
<li><a href="Task_Cargo.html">Task_Cargo</a></li>
|
|
<li><a href="Task_PICKUP.html">Task_PICKUP</a></li>
|
|
<li><a href="Unit.html">Unit</a></li>
|
|
<li><a href="Utils.html">Utils</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>CleanUp</code></h1>
|
|
|
|
<p><strong>Functional</strong> -- The CLEANUP class keeps an area clean of crashing or colliding airplanes.</p>
|
|
|
|
|
|
<p>It also prevents airplanes from firing within this area.</p>
|
|
|
|
<hr/>
|
|
|
|
<h3>Author: <strong>Sven Van de Velde (FlightControl)</strong></h3>
|
|
<h3>Contributions:</h3>
|
|
|
|
<hr/>
|
|
|
|
|
|
<h2>Global(s)</h2>
|
|
<table class="function_list">
|
|
<tr>
|
|
<td class="name" nowrap="nowrap"><a href="#CLEANUP">CLEANUP</a></td>
|
|
<td class="summary">
|
|
<h1>CLEANUP, extends <a href="Base.html##(BASE)">Base#BASE</a></h1>
|
|
|
|
<p><img src="..\Presentations\CLEANUP\Dia1.JPG" alt="Banner Image"/></p>
|
|
|
|
<p>The CLEANUP class keeps airbases clean, and tries to guarantee continuous airbase operations, even under combat.</p>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<h2><a id="#(CLEANUP)">Type <code>CLEANUP</code></a></h2>
|
|
<table class="function_list">
|
|
<tr>
|
|
<td class="name" nowrap="nowrap"><a href="##(CLEANUP).AddAirbase">CLEANUP:AddAirbase(AirbaseName)</a></td>
|
|
<td class="summary">
|
|
<p>Adds an airbase to the airbase validation list.</p>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="name" nowrap="nowrap"><a href="##(CLEANUP).New">CLEANUP:New(<, AirbaseNames)</a></td>
|
|
<td class="summary">
|
|
<p>Creates the main object which is handling the cleaning of the debris within the given Zone Names.</p>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="name" nowrap="nowrap"><a href="##(CLEANUP).RemoveAirbase">CLEANUP:RemoveAirbase(AirbaseName)</a></td>
|
|
<td class="summary">
|
|
<p>Removes an airbase from the airbase validation list.</p>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="name" nowrap="nowrap"><a href="##(CLEANUP).__">CLEANUP.__</a></td>
|
|
<td class="summary">
|
|
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<h2><a id="#(CLEANUP.__)">Type <code>CLEANUP.__</code></a></h2>
|
|
<table class="function_list">
|
|
<tr>
|
|
<td class="name" nowrap="nowrap"><a href="##(CLEANUP.__).<">CLEANUP.__.<</a></td>
|
|
<td class="summary">
|
|
<p>string,Wrapper.Airbase#AIRBASE> Airbases Map of Airbases.</p>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<h2>Global(s)</h2>
|
|
<dl class="function">
|
|
<dt>
|
|
|
|
<em><a href="##(CLEANUP)">#CLEANUP</a></em>
|
|
<a id="CLEANUP" >
|
|
<strong>CLEANUP</strong>
|
|
</a>
|
|
</dt>
|
|
<dd>
|
|
|
|
<h1>CLEANUP, extends <a href="Base.html##(BASE)">Base#BASE</a></h1>
|
|
|
|
<p><img src="..\Presentations\CLEANUP\Dia1.JPG" alt="Banner Image"/></p>
|
|
|
|
<p>The CLEANUP class keeps airbases clean, and tries to guarantee continuous airbase operations, even under combat.</p>
|
|
|
|
|
|
<p>Specific airbases need to be provided that need to be guarded. Each airbase registered, will be guarded within a zone of 8 km around the airbase.
|
|
Any unit that fires a missile, or shoots within the zone of an airbase, will be monitored by CLEANUP.
|
|
Within the 8km zone, units cannot fire any missile, which prevents the airbase runway to receive missile or bomb hits.
|
|
Any airborne or ground unit that is on the runway below 30 meters (default value) will be automatically removed if it is damaged.</p>
|
|
|
|
<p>This is not a full 100% secure implementation. It is still possible that CLEANUP cannot prevent (in-time) to keep the airbase clean.
|
|
The following situations may happen that will still stop the runway of an airbase:</p>
|
|
|
|
<ul>
|
|
<li>A damaged unit is not removed on time when above the runway, and crashes on the runway.</li>
|
|
<li>A bomb or missile is still able to dropped on the runway.</li>
|
|
<li>Units collide on the airbase, and could not be removed on time.</li>
|
|
</ul>
|
|
|
|
<p>When a unit is within the airbase zone and needs to be monitored,
|
|
its status will be checked every 0.25 seconds! This is required to ensure that the airbase is kept clean.
|
|
But as a result, there is more CPU overload.</p>
|
|
|
|
<p>So as an advise, I suggest you use the CLEANUP class with care:</p>
|
|
|
|
<ul>
|
|
<li>Only monitor airbases that really need to be monitored!</li>
|
|
<li>Try not to monitor airbases that are likely to be invaded by enemy troops.
|
|
For these airbases, there is little use to keep them clean, as they will be invaded anyway...</li>
|
|
</ul>
|
|
|
|
<p>By following the above guidelines, you can add airbase cleanup with acceptable CPU overhead.</p>
|
|
|
|
<h2>1. CLEANUP Constructor</h2>
|
|
|
|
<p>Creates the main object which is preventing the airbase to get polluted with debris on the runway, which halts the airbase.</p>
|
|
|
|
<pre><code> -- Clean these Zones.
|
|
CleanUpAirports = CLEANUP:New( { AIRBASE.Caucasus.Tbilisi, AIRBASE.Caucasus.Kutaisi )
|
|
|
|
-- or
|
|
CleanUpTbilisi = CLEANUP:New( AIRBASE.Caucasus.Tbilisi )
|
|
CleanUpKutaisi = CLEANUP:New( AIRBASE.Caucasus.Kutaisi )
|
|
</code></pre>
|
|
|
|
<h2>2. Add or Remove airbases</h2>
|
|
|
|
<p>The method <a href="##(CLEANUP).AddAirbase">CLEANUP.AddAirbase</a> to add an airbase to the cleanup validation process.
|
|
The method <a href="##(CLEANUP).RemoveAirbase">CLEANUP.RemoveAirbase</a> removes an airbase from the cleanup validation process.</p>
|
|
|
|
|
|
</dd>
|
|
</dl>
|
|
<h2><a id="#(CleanUp)" >Type <code>CleanUp</code></a></h2>
|
|
|
|
<h2><a id="#(CLEANUP)" >Type <code>CLEANUP</code></a></h2>
|
|
<h3>Field(s)</h3>
|
|
<dl class="function">
|
|
<dt>
|
|
|
|
<a id="#(CLEANUP).AddAirbase" >
|
|
<strong>CLEANUP:AddAirbase(AirbaseName)</strong>
|
|
</a>
|
|
</dt>
|
|
<dd>
|
|
|
|
<p>Adds an airbase to the airbase validation list.</p>
|
|
|
|
<h3>Parameter</h3>
|
|
<ul>
|
|
<li>
|
|
|
|
<p><code><em>#string AirbaseName </em></code>: </p>
|
|
|
|
</li>
|
|
</ul>
|
|
<h3>Return value</h3>
|
|
|
|
<p><em><a href="##(CLEANUP)">#CLEANUP</a>:</em></p>
|
|
|
|
|
|
</dd>
|
|
</dl>
|
|
<dl class="function">
|
|
<dt>
|
|
|
|
<a id="#(CLEANUP).New" >
|
|
<strong>CLEANUP:New(<, AirbaseNames)</strong>
|
|
</a>
|
|
</dt>
|
|
<dd>
|
|
|
|
<p>Creates the main object which is handling the cleaning of the debris within the given Zone Names.</p>
|
|
|
|
<h3>Parameters</h3>
|
|
<ul>
|
|
<li>
|
|
|
|
<p><code><em><a href="##(list)">#list</a> < </em></code>:
|
|
string> AirbaseNames Is a table of airbase names where the debris should be cleaned. Also a single string can be passed with one airbase name.</p>
|
|
|
|
</li>
|
|
<li>
|
|
|
|
<p><code><em> AirbaseNames </em></code>: </p>
|
|
|
|
</li>
|
|
</ul>
|
|
<h3>Return value</h3>
|
|
|
|
<p><em><a href="##(CLEANUP)">#CLEANUP</a>:</em></p>
|
|
|
|
|
|
<h3>Usage:</h3>
|
|
<pre class="example"><code> -- Clean these Zones.
|
|
CleanUpAirports = CLEANUP:New( { AIRBASE.Caucasus.Tbilisi, AIRBASE.Caucasus.Kutaisi )
|
|
or
|
|
CleanUpTbilisi = CLEANUP:New( AIRBASE.Caucasus.Tbilisi )
|
|
CleanUpKutaisi = CLEANUP:New( AIRBASE.Caucasus.Kutaisi )</code></pre>
|
|
|
|
</dd>
|
|
</dl>
|
|
<dl class="function">
|
|
<dt>
|
|
|
|
<a id="#(CLEANUP).RemoveAirbase" >
|
|
<strong>CLEANUP:RemoveAirbase(AirbaseName)</strong>
|
|
</a>
|
|
</dt>
|
|
<dd>
|
|
|
|
<p>Removes an airbase from the airbase validation list.</p>
|
|
|
|
<h3>Parameter</h3>
|
|
<ul>
|
|
<li>
|
|
|
|
<p><code><em>#string AirbaseName </em></code>: </p>
|
|
|
|
</li>
|
|
</ul>
|
|
<h3>Return value</h3>
|
|
|
|
<p><em><a href="##(CLEANUP)">#CLEANUP</a>:</em></p>
|
|
|
|
|
|
</dd>
|
|
</dl>
|
|
<dl class="function">
|
|
<dt>
|
|
|
|
<em></em>
|
|
<a id="#(CLEANUP).__" >
|
|
<strong>CLEANUP.__</strong>
|
|
</a>
|
|
</dt>
|
|
<dd>
|
|
|
|
|
|
|
|
|
|
<p> @field #CLEANUP.__</p>
|
|
|
|
</dd>
|
|
</dl>
|
|
|
|
<h2><a id="#(CLEANUP.__)" >Type <code>CLEANUP.__</code></a></h2>
|
|
<h3>Field(s)</h3>
|
|
<dl class="function">
|
|
<dt>
|
|
|
|
<em><a href="##(map)">#map</a></em>
|
|
<a id="#(CLEANUP.__).<" >
|
|
<strong>CLEANUP.__.<</strong>
|
|
</a>
|
|
</dt>
|
|
<dd>
|
|
|
|
<p>string,Wrapper.Airbase#AIRBASE> Airbases Map of Airbases.</p>
|
|
|
|
</dd>
|
|
</dl>
|
|
|
|
<h2><a id="#(CLEANUP.__.Airbases)" >Type <code>CLEANUP.__.Airbases</code></a></h2>
|
|
|
|
<h2><a id="#(list)" >Type <code>list</code></a></h2>
|
|
|
|
<h2><a id="#(map)" >Type <code>map</code></a></h2>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
</body>
|
|
</html>
|