mirror of
https://github.com/FlightControl-Master/MOOSE.git
synced 2025-10-29 16:58:06 +00:00
Fixed some glitches in Detection (when set is empty) + documentation
This commit is contained in:
parent
4d33abb0eb
commit
b769ad143d
@ -2217,21 +2217,92 @@ do
|
|||||||
-- This prevents airbases to get cluttered with airplanes taking off, it also reduces the risk of human players colliding with taxiiing airplanes,
|
-- This prevents airbases to get cluttered with airplanes taking off, it also reduces the risk of human players colliding with taxiiing airplanes,
|
||||||
-- resulting in the airbase to halt operations.
|
-- resulting in the airbase to halt operations.
|
||||||
--
|
--
|
||||||
|
-- You can change the way how planes take off by using the inherited methods from AI\_A2A\_DISPATCHER:
|
||||||
|
--
|
||||||
|
-- * @{#AI_A2A_DISPATCHER.SetSquadronTakeoff}() is the generic configuration method to control takeoff from the air, hot, cold or from the runway. See the method for further details.
|
||||||
|
-- * @{#AI_A2A_DISPATCHER.SetSquadronTakeoffInAir}() will spawn new aircraft from the squadron directly in the air.
|
||||||
|
-- * @{#AI_A2A_DISPATCHER.SetSquadronTakeoffFromParkingCold}() will spawn new aircraft in without running engines at a parking spot at the airfield.
|
||||||
|
-- * @{#AI_A2A_DISPATCHER.SetSquadronTakeoffFromParkingHot}() will spawn new aircraft in with running engines at a parking spot at the airfield.
|
||||||
|
-- * @{#AI_A2A_DISPATCHER.SetSquadronTakeoffFromRunway}() will spawn new aircraft at the runway at the airfield.
|
||||||
|
--
|
||||||
|
-- Use these methods to fine-tune for specific airfields that are known to create bottlenecks, or have reduced airbase efficiency.
|
||||||
|
-- The more and the longer aircraft need to taxi at an airfield, the more risk there is that:
|
||||||
|
--
|
||||||
|
-- * aircraft will stop waiting for each other or for a landing aircraft before takeoff.
|
||||||
|
-- * aircraft may get into a "dead-lock" situation, where two aircraft are blocking each other.
|
||||||
|
-- * aircraft may collide at the airbase.
|
||||||
|
-- * aircraft may be awaiting the landing of a plane currently in the air, but never lands ...
|
||||||
|
--
|
||||||
|
-- Currently within the DCS engine, the airfield traffic coordination is erroneous and contains a lot of bugs.
|
||||||
|
-- If you experience while testing problems with aircraft take-off or landing, please use one of the above methods as a solution to workaround these issues!
|
||||||
|
--
|
||||||
-- ### 2.2) Planes return near the airbase or will land if damaged.
|
-- ### 2.2) Planes return near the airbase or will land if damaged.
|
||||||
--
|
--
|
||||||
-- When damaged airplanes return to the airbase, they will be routed and will dissapear in the air when they are near the airbase.
|
-- When damaged airplanes return to the airbase, they will be routed and will dissapear in the air when they are near the airbase.
|
||||||
-- There are exceptions to this rule, airplanes that aren't "listening" anymore due to damage or out of fuel, will return to the airbase and land.
|
-- There are exceptions to this rule, airplanes that aren't "listening" anymore due to damage or out of fuel, will return to the airbase and land.
|
||||||
--
|
--
|
||||||
|
-- You can change the way how planes land by using the inherited methods from AI\_A2A\_DISPATCHER:
|
||||||
|
--
|
||||||
|
-- * @{#AI_A2A_DISPATCHER.SetSquadronLanding}() is the generic configuration method to control landing, namely despawn the aircraft near the airfield in the air, right after landing, or at engine shutdown.
|
||||||
|
-- * @{#AI_A2A_DISPATCHER.SetSquadronLandingNearAirbase}() will despawn the returning aircraft in the air when near the airfield.
|
||||||
|
-- * @{#AI_A2A_DISPATCHER.SetSquadronLandingAtRunway}() will despawn the returning aircraft directly after landing at the runway.
|
||||||
|
-- * @{#AI_A2A_DISPATCHER.SetSquadronLandingAtEngineShutdown}() will despawn the returning aircraft when the aircraft has returned to its parking spot and has turned off its engines.
|
||||||
|
--
|
||||||
|
-- You can use these methods to minimize the airbase coodination overhead and to increase the airbase efficiency.
|
||||||
|
-- When there are lots of aircraft returning for landing, at the same airbase, the takeoff process will be halted, which can cause a complete failure of the
|
||||||
|
-- A2A defense system, as no new CAP or GCI planes can takeoff.
|
||||||
|
-- Note that the method @{#AI_A2A_DISPATCHER.SetSquadronLandingNearAirbase}() will only work for returning aircraft, not for damaged or out of fuel aircraft.
|
||||||
|
-- Damaged or out-of-fuel aircraft are returning to the nearest friendly airbase and will land, and are out of control from ground control.
|
||||||
|
--
|
||||||
-- ### 2.3) CAP operations setup for specific airbases, will be executed with the following parameters:
|
-- ### 2.3) CAP operations setup for specific airbases, will be executed with the following parameters:
|
||||||
--
|
--
|
||||||
-- * The altitude will range between 6000 and 10000 meters.
|
-- * The altitude will range between 6000 and 10000 meters.
|
||||||
-- * The CAP speed will vary between 500 and 800 km/h.
|
-- * The CAP speed will vary between 500 and 800 km/h.
|
||||||
-- * The engage speed between 800 and 1200 km/h.
|
-- * The engage speed between 800 and 1200 km/h.
|
||||||
--
|
--
|
||||||
|
-- You can change or add a CAP zone by using the inherited methods from AI\_A2A\_DISPATCHER:
|
||||||
|
--
|
||||||
|
-- The method @{#AI_A2A_DISPATCHER.SetSquadronCap}() defines a CAP execution for a squadron.
|
||||||
|
--
|
||||||
|
-- Setting-up a CAP zone also requires specific parameters:
|
||||||
|
--
|
||||||
|
-- * The minimum and maximum altitude
|
||||||
|
-- * The minimum speed and maximum patrol speed
|
||||||
|
-- * The minimum and maximum engage speed
|
||||||
|
-- * The type of altitude measurement
|
||||||
|
--
|
||||||
|
-- These define how the squadron will perform the CAP while partrolling. Different terrain types requires different types of CAP.
|
||||||
|
--
|
||||||
|
-- The @{#AI_A2A_DISPATCHER.SetSquadronCapInterval}() method specifies **how much** and **when** CAP flights will takeoff.
|
||||||
|
--
|
||||||
|
-- It is recommended not to overload the air defense with CAP flights, as these will decrease the performance of the overall system.
|
||||||
|
--
|
||||||
|
-- For example, the following setup will create a CAP for squadron "Sochi":
|
||||||
|
--
|
||||||
|
-- A2ADispatcher:SetSquadronCap( "Sochi", CAPZoneWest, 4000, 8000, 600, 800, 800, 1200, "BARO" )
|
||||||
|
-- A2ADispatcher:SetSquadronCapInterval( "Sochi", 2, 30, 120, 1 )
|
||||||
|
--
|
||||||
-- ### 2.4) Each airbase will perform GCI when required, with the following parameters:
|
-- ### 2.4) Each airbase will perform GCI when required, with the following parameters:
|
||||||
--
|
--
|
||||||
-- * The engage speed is between 800 and 1200 km/h.
|
-- * The engage speed is between 800 and 1200 km/h.
|
||||||
--
|
--
|
||||||
|
-- You can change or add a GCI parameters by using the inherited methods from AI\_A2A\_DISPATCHER:
|
||||||
|
--
|
||||||
|
-- The method @{#AI_A2A_DISPATCHER.SetSquadronGci}() defines a GCI execution for a squadron.
|
||||||
|
--
|
||||||
|
-- Setting-up a GCI readiness also requires specific parameters:
|
||||||
|
--
|
||||||
|
-- * The minimum speed and maximum patrol speed
|
||||||
|
--
|
||||||
|
-- Essentially this controls how many flights of GCI aircraft can be active at any time.
|
||||||
|
-- Note allowing large numbers of active GCI flights can adversely impact mission performance on low or medium specification hosts/servers.
|
||||||
|
-- GCI needs to be setup at strategic airbases. Too far will mean that the aircraft need to fly a long way to reach the intruders,
|
||||||
|
-- too short will mean that the intruders may have alraedy passed the ideal interception point!
|
||||||
|
--
|
||||||
|
-- For example, the following setup will create a GCI for squadron "Sochi":
|
||||||
|
--
|
||||||
|
-- A2ADispatcher:SetSquadronGci( "Mozdok", 900, 1200 )
|
||||||
|
--
|
||||||
-- ### 2.5) Grouping or detected targets.
|
-- ### 2.5) Grouping or detected targets.
|
||||||
--
|
--
|
||||||
-- Detected targets are constantly re-grouped, that is, when certain detected aircraft are moving further than the group radius, then these aircraft will become a separate
|
-- Detected targets are constantly re-grouped, that is, when certain detected aircraft are moving further than the group radius, then these aircraft will become a separate
|
||||||
@ -2251,9 +2322,6 @@ do
|
|||||||
--
|
--
|
||||||
-- This is a good implementation, because maybe in the future, more coalitions may become available in DCS world.
|
-- This is a good implementation, because maybe in the future, more coalitions may become available in DCS world.
|
||||||
--
|
--
|
||||||
--
|
|
||||||
--
|
|
||||||
--
|
|
||||||
-- ## 4) Coding example how to use the AI\_A2A\_GCICAP class:
|
-- ## 4) Coding example how to use the AI\_A2A\_GCICAP class:
|
||||||
--
|
--
|
||||||
-- -- Setup the AI_A2A_GCICAP dispatcher for one coalition, and initialize it.
|
-- -- Setup the AI_A2A_GCICAP dispatcher for one coalition, and initialize it.
|
||||||
|
|||||||
@ -344,7 +344,6 @@ do -- DETECTION_BASE
|
|||||||
-- Create FSM transitions.
|
-- Create FSM transitions.
|
||||||
|
|
||||||
self:SetStartState( "Stopped" )
|
self:SetStartState( "Stopped" )
|
||||||
self.CountryID = DetectionSetGroup:GetFirst():GetCountry()
|
|
||||||
|
|
||||||
self:AddTransition( "Stopped", "Start", "Detecting")
|
self:AddTransition( "Stopped", "Start", "Detecting")
|
||||||
|
|
||||||
@ -2626,6 +2625,7 @@ do -- DETECTION_AREAS
|
|||||||
end
|
end
|
||||||
|
|
||||||
if DETECTION_AREAS._BoundDetectedZones or self._BoundDetectedZones then
|
if DETECTION_AREAS._BoundDetectedZones or self._BoundDetectedZones then
|
||||||
|
self.CountryID = DetectionSetGroup:GetFirst():GetCountry()
|
||||||
DetectedZone:BoundZone( 12, self.CountryID )
|
DetectedZone:BoundZone( 12, self.CountryID )
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@ -1304,11 +1304,49 @@ The route points define the form of the CAP zone polygon. </p>
|
|||||||
<p>This prevents airbases to get cluttered with airplanes taking off, it also reduces the risk of human players colliding with taxiiing airplanes,
|
<p>This prevents airbases to get cluttered with airplanes taking off, it also reduces the risk of human players colliding with taxiiing airplanes,
|
||||||
resulting in the airbase to halt operations.</p>
|
resulting in the airbase to halt operations.</p>
|
||||||
|
|
||||||
|
<p>You can change the way how planes take off by using the inherited methods from AI_A2A_DISPATCHER:</p>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li><a href="##(AI_A2A_DISPATCHER).SetSquadronTakeoff">AI<em>A2A</em>DISPATCHER.SetSquadronTakeoff</a>() is the generic configuration method to control takeoff from the air, hot, cold or from the runway. See the method for further details.</li>
|
||||||
|
<li><a href="##(AI_A2A_DISPATCHER).SetSquadronTakeoffInAir">AI<em>A2A</em>DISPATCHER.SetSquadronTakeoffInAir</a>() will spawn new aircraft from the squadron directly in the air.</li>
|
||||||
|
<li><a href="##(AI_A2A_DISPATCHER).SetSquadronTakeoffFromParkingCold">AI<em>A2A</em>DISPATCHER.SetSquadronTakeoffFromParkingCold</a>() will spawn new aircraft in without running engines at a parking spot at the airfield.</li>
|
||||||
|
<li><a href="##(AI_A2A_DISPATCHER).SetSquadronTakeoffFromParkingHot">AI<em>A2A</em>DISPATCHER.SetSquadronTakeoffFromParkingHot</a>() will spawn new aircraft in with running engines at a parking spot at the airfield.</li>
|
||||||
|
<li><a href="##(AI_A2A_DISPATCHER).SetSquadronTakeoffFromRunway">AI<em>A2A</em>DISPATCHER.SetSquadronTakeoffFromRunway</a>() will spawn new aircraft at the runway at the airfield.</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<p>Use these methods to fine-tune for specific airfields that are known to create bottlenecks, or have reduced airbase efficiency.
|
||||||
|
The more and the longer aircraft need to taxi at an airfield, the more risk there is that:</p>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>aircraft will stop waiting for each other or for a landing aircraft before takeoff.</li>
|
||||||
|
<li>aircraft may get into a "dead-lock" situation, where two aircraft are blocking each other.</li>
|
||||||
|
<li>aircraft may collide at the airbase.</li>
|
||||||
|
<li>aircraft may be awaiting the landing of a plane currently in the air, but never lands ...</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<p>Currently within the DCS engine, the airfield traffic coordination is erroneous and contains a lot of bugs.
|
||||||
|
If you experience while testing problems with aircraft take-off or landing, please use one of the above methods as a solution to workaround these issues!</p>
|
||||||
|
|
||||||
<h3>2.2) Planes return near the airbase or will land if damaged.</h3>
|
<h3>2.2) Planes return near the airbase or will land if damaged.</h3>
|
||||||
|
|
||||||
<p>When damaged airplanes return to the airbase, they will be routed and will dissapear in the air when they are near the airbase.
|
<p>When damaged airplanes return to the airbase, they will be routed and will dissapear in the air when they are near the airbase.
|
||||||
There are exceptions to this rule, airplanes that aren't "listening" anymore due to damage or out of fuel, will return to the airbase and land.</p>
|
There are exceptions to this rule, airplanes that aren't "listening" anymore due to damage or out of fuel, will return to the airbase and land.</p>
|
||||||
|
|
||||||
|
<p>You can change the way how planes land by using the inherited methods from AI_A2A_DISPATCHER:</p>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li><a href="##(AI_A2A_DISPATCHER).SetSquadronLanding">AI<em>A2A</em>DISPATCHER.SetSquadronLanding</a>() is the generic configuration method to control landing, namely despawn the aircraft near the airfield in the air, right after landing, or at engine shutdown.</li>
|
||||||
|
<li><a href="##(AI_A2A_DISPATCHER).SetSquadronLandingNearAirbase">AI<em>A2A</em>DISPATCHER.SetSquadronLandingNearAirbase</a>() will despawn the returning aircraft in the air when near the airfield.</li>
|
||||||
|
<li><a href="##(AI_A2A_DISPATCHER).SetSquadronLandingAtRunway">AI<em>A2A</em>DISPATCHER.SetSquadronLandingAtRunway</a>() will despawn the returning aircraft directly after landing at the runway.</li>
|
||||||
|
<li><a href="##(AI_A2A_DISPATCHER).SetSquadronLandingAtEngineShutdown">AI<em>A2A</em>DISPATCHER.SetSquadronLandingAtEngineShutdown</a>() will despawn the returning aircraft when the aircraft has returned to its parking spot and has turned off its engines.</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<p>You can use these methods to minimize the airbase coodination overhead and to increase the airbase efficiency.
|
||||||
|
When there are lots of aircraft returning for landing, at the same airbase, the takeoff process will be halted, which can cause a complete failure of the
|
||||||
|
A2A defense system, as no new CAP or GCI planes can takeoff.
|
||||||
|
Note that the method <a href="##(AI_A2A_DISPATCHER).SetSquadronLandingNearAirbase">AI<em>A2A</em>DISPATCHER.SetSquadronLandingNearAirbase</a>() will only work for returning aircraft, not for damaged or out of fuel aircraft.
|
||||||
|
Damaged or out-of-fuel aircraft are returning to the nearest friendly airbase and will land, and are out of control from ground control.</p>
|
||||||
|
|
||||||
<h3>2.3) CAP operations setup for specific airbases, will be executed with the following parameters:</h3>
|
<h3>2.3) CAP operations setup for specific airbases, will be executed with the following parameters:</h3>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
@ -1317,12 +1355,55 @@ There are exceptions to this rule, airplanes that aren't "listening" anymore due
|
|||||||
<li>The engage speed between 800 and 1200 km/h.</li>
|
<li>The engage speed between 800 and 1200 km/h.</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
|
<p>You can change or add a CAP zone by using the inherited methods from AI_A2A_DISPATCHER:</p>
|
||||||
|
|
||||||
|
<p>The method <a href="##(AI_A2A_DISPATCHER).SetSquadronCap">AI<em>A2A</em>DISPATCHER.SetSquadronCap</a>() defines a CAP execution for a squadron.</p>
|
||||||
|
|
||||||
|
<p>Setting-up a CAP zone also requires specific parameters:</p>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>The minimum and maximum altitude</li>
|
||||||
|
<li>The minimum speed and maximum patrol speed</li>
|
||||||
|
<li>The minimum and maximum engage speed</li>
|
||||||
|
<li>The type of altitude measurement</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<p>These define how the squadron will perform the CAP while partrolling. Different terrain types requires different types of CAP. </p>
|
||||||
|
|
||||||
|
<p>The <a href="##(AI_A2A_DISPATCHER).SetSquadronCapInterval">AI<em>A2A</em>DISPATCHER.SetSquadronCapInterval</a>() method specifies <strong>how much</strong> and <strong>when</strong> CAP flights will takeoff.</p>
|
||||||
|
|
||||||
|
<p>It is recommended not to overload the air defense with CAP flights, as these will decrease the performance of the overall system. </p>
|
||||||
|
|
||||||
|
<p>For example, the following setup will create a CAP for squadron "Sochi":</p>
|
||||||
|
|
||||||
|
<p> A2ADispatcher:SetSquadronCap( "Sochi", CAPZoneWest, 4000, 8000, 600, 800, 800, 1200, "BARO" )
|
||||||
|
A2ADispatcher:SetSquadronCapInterval( "Sochi", 2, 30, 120, 1 )</p>
|
||||||
|
|
||||||
<h3>2.4) Each airbase will perform GCI when required, with the following parameters:</h3>
|
<h3>2.4) Each airbase will perform GCI when required, with the following parameters:</h3>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li>The engage speed is between 800 and 1200 km/h.</li>
|
<li>The engage speed is between 800 and 1200 km/h.</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
|
<p>You can change or add a GCI parameters by using the inherited methods from AI_A2A_DISPATCHER:</p>
|
||||||
|
|
||||||
|
<p>The method <a href="##(AI_A2A_DISPATCHER).SetSquadronGci">AI<em>A2A</em>DISPATCHER.SetSquadronGci</a>() defines a GCI execution for a squadron.</p>
|
||||||
|
|
||||||
|
<p>Setting-up a GCI readiness also requires specific parameters:</p>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>The minimum speed and maximum patrol speed</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<p>Essentially this controls how many flights of GCI aircraft can be active at any time.
|
||||||
|
Note allowing large numbers of active GCI flights can adversely impact mission performance on low or medium specification hosts/servers.
|
||||||
|
GCI needs to be setup at strategic airbases. Too far will mean that the aircraft need to fly a long way to reach the intruders,
|
||||||
|
too short will mean that the intruders may have alraedy passed the ideal interception point!</p>
|
||||||
|
|
||||||
|
<p>For example, the following setup will create a GCI for squadron "Sochi":</p>
|
||||||
|
|
||||||
|
<p> A2ADispatcher:SetSquadronGci( "Mozdok", 900, 1200 )</p>
|
||||||
|
|
||||||
<h3>2.5) Grouping or detected targets.</h3>
|
<h3>2.5) Grouping or detected targets.</h3>
|
||||||
|
|
||||||
<p>Detected targets are constantly re-grouped, that is, when certain detected aircraft are moving further than the group radius, then these aircraft will become a separate
|
<p>Detected targets are constantly re-grouped, that is, when certain detected aircraft are moving further than the group radius, then these aircraft will become a separate
|
||||||
@ -1342,9 +1423,6 @@ Each defense system needs its own EWR network setup, airplane templates and CAP
|
|||||||
|
|
||||||
<p>This is a good implementation, because maybe in the future, more coalitions may become available in DCS world.</p>
|
<p>This is a good implementation, because maybe in the future, more coalitions may become available in DCS world.</p>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<h2>4) Coding example how to use the AI_A2A_GCICAP class:</h2>
|
<h2>4) Coding example how to use the AI_A2A_GCICAP class:</h2>
|
||||||
|
|
||||||
<pre><code> -- Setup the AI_A2A_GCICAP dispatcher for one coalition, and initialize it.
|
<pre><code> -- Setup the AI_A2A_GCICAP dispatcher for one coalition, and initialize it.
|
||||||
|
|||||||
@ -926,6 +926,9 @@ Use the method <a href="##(AI_PATROL_ZONE).ManageDamage">AI<em>PATROL</em>ZONE.M
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<p> This table contains the targets detected during patrol.</p>
|
||||||
|
|
||||||
</dd>
|
</dd>
|
||||||
</dl>
|
</dl>
|
||||||
<dl class="function">
|
<dl class="function">
|
||||||
|
|||||||
@ -917,7 +917,6 @@ function below will use the range 1-7 just in case</p>
|
|||||||
<dl class="function">
|
<dl class="function">
|
||||||
<dt>
|
<dt>
|
||||||
|
|
||||||
<em></em>
|
|
||||||
<a id="#(DESIGNATE).LaserCodes" >
|
<a id="#(DESIGNATE).LaserCodes" >
|
||||||
<strong>DESIGNATE.LaserCodes</strong>
|
<strong>DESIGNATE.LaserCodes</strong>
|
||||||
</a>
|
</a>
|
||||||
|
|||||||
@ -196,6 +196,12 @@ DETECTION uses the in-built detection capabilities of DCS World, but adds new fu
|
|||||||
<td class="name" nowrap="nowrap"><a href="##(DETECTION_AREAS).ClassName">DETECTION_AREAS.ClassName</a></td>
|
<td class="name" nowrap="nowrap"><a href="##(DETECTION_AREAS).ClassName">DETECTION_AREAS.ClassName</a></td>
|
||||||
<td class="summary">
|
<td class="summary">
|
||||||
|
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="name" nowrap="nowrap"><a href="##(DETECTION_AREAS).CountryID">DETECTION_AREAS.CountryID</a></td>
|
||||||
|
<td class="summary">
|
||||||
|
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
@ -368,12 +374,6 @@ DETECTION uses the in-built detection capabilities of DCS World, but adds new fu
|
|||||||
<td class="name" nowrap="nowrap"><a href="##(DETECTION_BASE).CleanDetectionItem">DETECTION_BASE:CleanDetectionItem(DetectedItem, DetectedItemID)</a></td>
|
<td class="name" nowrap="nowrap"><a href="##(DETECTION_BASE).CleanDetectionItem">DETECTION_BASE:CleanDetectionItem(DetectedItem, DetectedItemID)</a></td>
|
||||||
<td class="summary">
|
<td class="summary">
|
||||||
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td class="name" nowrap="nowrap"><a href="##(DETECTION_BASE).CountryID">DETECTION_BASE.CountryID</a></td>
|
|
||||||
<td class="summary">
|
|
||||||
|
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
@ -1596,6 +1596,20 @@ self</p>
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
<dl class="function">
|
||||||
|
<dt>
|
||||||
|
|
||||||
|
<em></em>
|
||||||
|
<a id="#(DETECTION_AREAS).CountryID" >
|
||||||
|
<strong>DETECTION_AREAS.CountryID</strong>
|
||||||
|
</a>
|
||||||
|
</dt>
|
||||||
|
<dd>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</dd>
|
</dd>
|
||||||
</dl>
|
</dl>
|
||||||
<dl class="function">
|
<dl class="function">
|
||||||
@ -2243,20 +2257,6 @@ The index of the DetectedItem.</p>
|
|||||||
|
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
<dl class="function">
|
|
||||||
<dt>
|
|
||||||
|
|
||||||
<em></em>
|
|
||||||
<a id="#(DETECTION_BASE).CountryID" >
|
|
||||||
<strong>DETECTION_BASE.CountryID</strong>
|
|
||||||
</a>
|
|
||||||
</dt>
|
|
||||||
<dd>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</dd>
|
</dd>
|
||||||
</dl>
|
</dl>
|
||||||
<dl class="function">
|
<dl class="function">
|
||||||
@ -2393,7 +2393,6 @@ The index of the DetectedItem.</p>
|
|||||||
<dl class="function">
|
<dl class="function">
|
||||||
<dt>
|
<dt>
|
||||||
|
|
||||||
<em>#number</em>
|
|
||||||
<a id="#(DETECTION_BASE).DetectedItemCount" >
|
<a id="#(DETECTION_BASE).DetectedItemCount" >
|
||||||
<strong>DETECTION_BASE.DetectedItemCount</strong>
|
<strong>DETECTION_BASE.DetectedItemCount</strong>
|
||||||
</a>
|
</a>
|
||||||
@ -2407,7 +2406,6 @@ The index of the DetectedItem.</p>
|
|||||||
<dl class="function">
|
<dl class="function">
|
||||||
<dt>
|
<dt>
|
||||||
|
|
||||||
<em>#number</em>
|
|
||||||
<a id="#(DETECTION_BASE).DetectedItemMax" >
|
<a id="#(DETECTION_BASE).DetectedItemMax" >
|
||||||
<strong>DETECTION_BASE.DetectedItemMax</strong>
|
<strong>DETECTION_BASE.DetectedItemMax</strong>
|
||||||
</a>
|
</a>
|
||||||
@ -2565,7 +2563,7 @@ The index of the DetectedItem.</p>
|
|||||||
<dl class="function">
|
<dl class="function">
|
||||||
<dt>
|
<dt>
|
||||||
|
|
||||||
<em>#number</em>
|
<em></em>
|
||||||
<a id="#(DETECTION_BASE).DetectionInterval" >
|
<a id="#(DETECTION_BASE).DetectionInterval" >
|
||||||
<strong>DETECTION_BASE.DetectionInterval</strong>
|
<strong>DETECTION_BASE.DetectionInterval</strong>
|
||||||
</a>
|
</a>
|
||||||
|
|||||||
@ -1598,7 +1598,7 @@ A string defining the start state.</p>
|
|||||||
<dl class="function">
|
<dl class="function">
|
||||||
<dt>
|
<dt>
|
||||||
|
|
||||||
<em></em>
|
<em>#string</em>
|
||||||
<a id="#(FSM)._StartState" >
|
<a id="#(FSM)._StartState" >
|
||||||
<strong>FSM._StartState</strong>
|
<strong>FSM._StartState</strong>
|
||||||
</a>
|
</a>
|
||||||
@ -1897,7 +1897,6 @@ A string defining the start state.</p>
|
|||||||
<dl class="function">
|
<dl class="function">
|
||||||
<dt>
|
<dt>
|
||||||
|
|
||||||
<em></em>
|
|
||||||
<a id="#(FSM).current" >
|
<a id="#(FSM).current" >
|
||||||
<strong>FSM.current</strong>
|
<strong>FSM.current</strong>
|
||||||
</a>
|
</a>
|
||||||
|
|||||||
@ -227,7 +227,6 @@ on defined intervals (currently every minute).</p>
|
|||||||
<dl class="function">
|
<dl class="function">
|
||||||
<dt>
|
<dt>
|
||||||
|
|
||||||
<em>#number</em>
|
|
||||||
<a id="#(MOVEMENT).AliveUnits" >
|
<a id="#(MOVEMENT).AliveUnits" >
|
||||||
<strong>MOVEMENT.AliveUnits</strong>
|
<strong>MOVEMENT.AliveUnits</strong>
|
||||||
</a>
|
</a>
|
||||||
@ -236,9 +235,6 @@ on defined intervals (currently every minute).</p>
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<p> Contains the counter how many units are currently alive</p>
|
|
||||||
|
|
||||||
</dd>
|
</dd>
|
||||||
</dl>
|
</dl>
|
||||||
<dl class="function">
|
<dl class="function">
|
||||||
|
|||||||
@ -2194,6 +2194,9 @@ The group that was spawned. You can use this group for further actions.</p>
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<p> Don't repeat the group from Take-Off till Landing and back Take-Off by ReSpawning.</p>
|
||||||
|
|
||||||
</dd>
|
</dd>
|
||||||
</dl>
|
</dl>
|
||||||
<dl class="function">
|
<dl class="function">
|
||||||
@ -2726,6 +2729,9 @@ when nothing was spawned.</p>
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<p> Overwrite unit names by default with group name.</p>
|
||||||
|
|
||||||
</dd>
|
</dd>
|
||||||
</dl>
|
</dl>
|
||||||
<dl class="function">
|
<dl class="function">
|
||||||
@ -2740,6 +2746,9 @@ when nothing was spawned.</p>
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<p> By default, no InitLimit</p>
|
||||||
|
|
||||||
</dd>
|
</dd>
|
||||||
</dl>
|
</dl>
|
||||||
<dl class="function">
|
<dl class="function">
|
||||||
@ -2775,7 +2784,7 @@ when nothing was spawned.</p>
|
|||||||
<dl class="function">
|
<dl class="function">
|
||||||
<dt>
|
<dt>
|
||||||
|
|
||||||
<em></em>
|
<em>#number</em>
|
||||||
<a id="#(SPAWN).SpawnMaxGroups" >
|
<a id="#(SPAWN).SpawnMaxGroups" >
|
||||||
<strong>SPAWN.SpawnMaxGroups</strong>
|
<strong>SPAWN.SpawnMaxGroups</strong>
|
||||||
</a>
|
</a>
|
||||||
@ -2792,7 +2801,7 @@ when nothing was spawned.</p>
|
|||||||
<dl class="function">
|
<dl class="function">
|
||||||
<dt>
|
<dt>
|
||||||
|
|
||||||
<em></em>
|
<em>#number</em>
|
||||||
<a id="#(SPAWN).SpawnMaxUnitsAlive" >
|
<a id="#(SPAWN).SpawnMaxUnitsAlive" >
|
||||||
<strong>SPAWN.SpawnMaxUnitsAlive</strong>
|
<strong>SPAWN.SpawnMaxUnitsAlive</strong>
|
||||||
</a>
|
</a>
|
||||||
@ -3120,7 +3129,7 @@ Spawn_BE_KA50 = SPAWN:New( 'BE KA-50@RAMP-Ground Defense' ):Schedule( 600, 0.5 )
|
|||||||
<dl class="function">
|
<dl class="function">
|
||||||
<dt>
|
<dt>
|
||||||
|
|
||||||
<em></em>
|
<em>#boolean</em>
|
||||||
<a id="#(SPAWN).SpawnUnControlled" >
|
<a id="#(SPAWN).SpawnUnControlled" >
|
||||||
<strong>SPAWN.SpawnUnControlled</strong>
|
<strong>SPAWN.SpawnUnControlled</strong>
|
||||||
</a>
|
</a>
|
||||||
@ -3144,7 +3153,7 @@ Spawn_BE_KA50 = SPAWN:New( 'BE KA-50@RAMP-Ground Defense' ):Schedule( 600, 0.5 )
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
<p> When the first Spawn executes, all the Groups need to be made visible before start.</p>
|
<p> Flag that indicates if all the Groups of the SpawnGroup need to be visible when Spawned.</p>
|
||||||
|
|
||||||
</dd>
|
</dd>
|
||||||
</dl>
|
</dl>
|
||||||
|
|||||||
@ -436,6 +436,7 @@ ptional) The name of the new static.</p>
|
|||||||
<dl class="function">
|
<dl class="function">
|
||||||
<dt>
|
<dt>
|
||||||
|
|
||||||
|
<em>#number</em>
|
||||||
<a id="#(SPAWNSTATIC).SpawnIndex" >
|
<a id="#(SPAWNSTATIC).SpawnIndex" >
|
||||||
<strong>SPAWNSTATIC.SpawnIndex</strong>
|
<strong>SPAWNSTATIC.SpawnIndex</strong>
|
||||||
</a>
|
</a>
|
||||||
|
|||||||
@ -630,7 +630,7 @@ based on the tasking capabilities defined in <a href="Task.html##(TASK)">Task#TA
|
|||||||
<dl class="function">
|
<dl class="function">
|
||||||
<dt>
|
<dt>
|
||||||
|
|
||||||
<em>#number</em>
|
<em></em>
|
||||||
<a id="#(TASK_CARGO).CargoLimit" >
|
<a id="#(TASK_CARGO).CargoLimit" >
|
||||||
<strong>TASK_CARGO.CargoLimit</strong>
|
<strong>TASK_CARGO.CargoLimit</strong>
|
||||||
</a>
|
</a>
|
||||||
|
|||||||
@ -81,9 +81,9 @@ Each TASK has a TASK ACTION flow, which is the flow that a player (hosted by a U
|
|||||||
MOOSE AI Controlling Classes provide mechanisms to control AI over long lasting processes.
|
MOOSE AI Controlling Classes provide mechanisms to control AI over long lasting processes.
|
||||||
These AI Controlling Classes are based on FSM (Finite State Machine) Classes, and provided an encapsulated way to make AI behave or execute an activity.
|
These AI Controlling Classes are based on FSM (Finite State Machine) Classes, and provided an encapsulated way to make AI behave or execute an activity.
|
||||||
|
|
||||||
* [AI_A2A_GCICAP](Documentation/AI_A2A_Dispatcher.html): Create an automatic and dynamic A2A defense system, executed by AI units, as a result of detected A2A airborne targets executing CAP and GCI. Using an easy process you can define an air defense strategy using the Mission Editor.
|
* [AI_A2A_GCICAP](Documentation/AI_A2A_Dispatcher.html#AI_A2A_GCICAP): Create an automatic and dynamic A2A defense system, executed by AI units, as a result of detected A2A airborne targets executing CAP and GCI. Using an easy process you can define an air defense strategy using the Mission Editor.
|
||||||
|
|
||||||
* [AI_A2A_DISPATCHER](Documentation/AI_A2A_Dispatcher.html): Same as AI\_A2A\_GCICAP, but is for more advanced or developer type mission designers. This class provides more options.
|
* [AI_A2A_DISPATCHER](Documentation/AI_A2A_Dispatcher.html#AI_A2A_DISPATCHER): Same as AI\_A2A\_GCICAP, but is for more advanced or developer type mission designers. This class provides more options.
|
||||||
|
|
||||||
* [AI_BALANCER](Documentation/AI_Balancer.html): Compensate in a multi player mission the abscence of players with dynamically spawned AI air units. When players join CLIENTS, the AI will either be destroyed, or will fly back to the home or nearest friendly airbase.
|
* [AI_BALANCER](Documentation/AI_Balancer.html): Compensate in a multi player mission the abscence of players with dynamically spawned AI air units. When players join CLIENTS, the AI will either be destroyed, or will fly back to the home or nearest friendly airbase.
|
||||||
|
|
||||||
@ -155,24 +155,42 @@ These classes define the base building blocks of the MOOSE framework. These clas
|
|||||||
|
|
||||||
* [SCHEDULER](Documentation/Scheduler.html): This class implements a timer scheduler that will call at optional specified intervals repeatedly or just one time a scheduled function.
|
* [SCHEDULER](Documentation/Scheduler.html): This class implements a timer scheduler that will call at optional specified intervals repeatedly or just one time a scheduled function.
|
||||||
|
|
||||||
* [FSM](Documentation/Fsm.html): The main FSM class can be used to build a Finite State Machine. The derived FSM_ classes provide Finite State Machine building capability for CONTROLLABLEs, ACT_ (Task Actions) classes, TASKs and SETs.
|
* [Finite State Machines](Documentation/Fsm.html): Finite State Machine provides a process management or state machine capability for various scenarios.
|
||||||
|
* [FSM](Documentation/Fsm.html#FSM): The main FSM class can be used to build a generic Finite State Machine.
|
||||||
|
* [FSM_CONTROLLABLE](Documentation/Fsm.html#FSM_CONTROLLABLE): An FSM class to control a Controllable. A controllable is a group or unit that can be controlled.
|
||||||
|
|
||||||
* [MENU](Documentation/Menu.html): Set Menu options (F10) for All Players, Coalitions, Groups, Clients. MENU also manages the recursive removal of menus, which is a big asset!
|
* [MENU](Documentation/Menu.html): Set Menu options under the radio menu (F10). MENU classes also manage the recursive removal of menus, and the intelligent refresh of menu options (only the changes are applied).
|
||||||
|
* [MENU_MISSION](Documentation/Menu.html#MENU_MISSION): Set a main menu structure for the complete mission, for all players.
|
||||||
|
* [MENU_MISSION_COMMAND](Documentation/Menu.html#MENU_MISSION_COMMAND): Set a main menu command for the complete mission, for all players.
|
||||||
|
* [MENU_COALITION](Documentation/Menu.html#MENU_COALITION): Set a menu structure for a coalition, for all players of that coalition.
|
||||||
|
* [MENU_COALITION_COMMAND](Documentation/Menu.html#MENU_COALITION_COMMAND): Set a menu command for a coalition, for all players of that coalition.
|
||||||
|
* [MENU_GROUP](Documentation/Menu.html#MENU_GROUP): Set a menu structure for a group, for all players of that group.
|
||||||
|
* [MENU_GROUP_COMMAND](Documentation/Menu.html#MENU_GROUP_COMMAND): Set a menu command for a group, for all players of that group.
|
||||||
|
|
||||||
* [SET](Documentation/Set.html): Create SETs of MOOSE objects. SETs can be created for GROUPs, UNITs, AIRBASEs, ...
|
* [SET](Documentation/Set.html): Create SETs of MOOSE objects. The SET can be filtered with defined filter criteria. Iterators are available that iterate through the SET, calling a function for each object within the SET.
|
||||||
The SET can be filtered with defined filter criteria.
|
* [SET_GROUP](Documentation/Set.html#SET_GROUP): Create a SET of GROUP objects.
|
||||||
Iterators are available that iterate through the GROUPSET, calling a function for each object within the SET.
|
* [SET_UNIT](Documentation/Set.html#SET_UNIT): Create a SET of UNIT objects.
|
||||||
|
* [SET_CLIENT](Documentation/Set.html#SET_CLIENT): Create a SET of CLIENT objects.
|
||||||
|
* [SET_AIRBASE](Documentation/Set.html#SET_AIRBASE): Create a SET of AIRBASE objects.
|
||||||
|
* [SET_CARGO](Documentation/Set.html#SET_CARGO): Create a SET of CARGO objects.
|
||||||
|
|
||||||
* [MESSAGE](Documentation/Message.html): A message publishing system, displaying messages to Clients, Coalitions or All players.
|
* [MESSAGE](Documentation/Message.html): A message publishing system, displaying messages to Clients, Coalitions or All players.
|
||||||
|
|
||||||
* [POINTS](Documentation/Point.html): A set of point classes to manage the 2D or 3D simulation space, through an extensive method library.
|
* [COORDINATE](Documentation/Point.html#COORDINATE): Manage 2D and 3D points in the simulation space, and use its methods for various actions on the coordinate.
|
||||||
The POINT_VEC3 class manages the 3D simulation space, while the POINT_VEC2 class manages the 2D simulation space.
|
* [POINT_VEC2](Documentation/Point.html#POINT_VEC2): Manage 2D points in the simulation space.
|
||||||
|
* [POINT_VEC3](Documentation/Point.html#POINT_VEC3): Manage 3D points in the simulation space.
|
||||||
|
|
||||||
* [ZONES](Documentation/Zone.html): A set of zone classes that provide the functionality to validate the presence of GROUPS, UNITS, CLIENTS, STATICS within a certain ZONE. The zones can take various forms and can be movable.
|
* [ZONES](Documentation/Zone.html#ZONE): Create a zone object from a trigger zone as defined in the Mission Editor.
|
||||||
|
* [ZONE_POLYGON](Documentation/Zone.html#ZONE_POLYGON): Create a zone object from a group object, which is late activated, and its route points define the zone.
|
||||||
|
* [ZONE_RADIUS](Documentation/Zone.html#ZONE_RADIUS): Create a zone object from a 2D vector on the battlefield, with a defined radius.
|
||||||
|
* [ZONE_UNIT](Documentation/Zone.html#ZONE_UNIT): Create a zone object around a unit on the battlefield, with a defined radius. This, this zone is a moving zone!
|
||||||
|
* [ZONE_GROUP](Documentation/Zone.html#ZONE_GROUP): Create a zone object around a group on the battlefield, with a defined radius. The first object in the group has the zone, and is thus a moving zone!
|
||||||
|
|
||||||
* [CARGO](Documentation/Cargo.html): Manage Cargo in the simulation.
|
* [CARGO](Documentation/Cargo.html): Manage Cargo in the simulation.
|
||||||
|
* [CARGO_GROUP](Documentation/Cargo.html#CARGO_GROUP): Manage Cargo that is defined as a GROUP object within the simulation.
|
||||||
|
|
||||||
* [SPAWNSTATIC](Documentation/SpawnStatic.html): Spawn dynamically static objects.
|
* [SPAWNSTATIC](Documentation/SpawnStatic.html): Spawn dynamically static objects.
|
||||||
|
* [SPAWNSTATIC](Documentation/SpawnStatic.html#SPAWNSTATIC): Spawn Static objects using a predefined "template".
|
||||||
|
|
||||||
* [BEACON](Documentation/Radio.html): Create beacons.
|
* [BEACON](Documentation/Radio.html): Create beacons.
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user