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.
This commit is contained in:
Sven Van de Velde 2016-08-14 21:37:11 +02:00
parent 58124c0709
commit c000675471
152 changed files with 6358 additions and 60766 deletions

View File

@ -1023,7 +1023,7 @@ function CARGO_ZONE:Spawn()
end
else
self:T( "Initialize CargoHostSpawn" )
self.CargoHostSpawn = SPAWN:New( self.CargoHostName ):Limit( 1, 1 )
self.CargoHostSpawn = SPAWN:New( self.CargoHostName ):InitLimit( 1, 1 )
self.CargoHostSpawn:ReSpawn( 1 )
end
end

View File

@ -73,8 +73,6 @@ POINT_VEC3 = {
-- @field DCSTypes#Distance y the y coordinate in meters.
POINT_VEC2 = {
ClassName = "POINT_VEC2",
x = 0,
y = 0,
}
@ -131,6 +129,7 @@ function POINT_VEC3:New( x, y, z )
self.x = x
self.y = y
self.z = z
return self
end
@ -140,7 +139,9 @@ end
-- @return Point#POINT_VEC3 self
function POINT_VEC3:NewFromVec3( Vec3 )
return self:New( Vec3.x, Vec3.y, Vec3.z )
self = self:New( Vec3.x, Vec3.y, Vec3.z )
self:F2( self )
return self
end
@ -589,7 +590,8 @@ function POINT_VEC2:New( x, y, LandHeightAdd )
LandHeightAdd = LandHeightAdd or 0
LandHeight = LandHeight + LandHeightAdd
local self = BASE:Inherit( self, POINT_VEC3:New( x, LandHeight, y ) )
self = BASE:Inherit( self, POINT_VEC3:New( x, LandHeight, y ) )
self:F2( self )
return self
end
@ -605,8 +607,8 @@ function POINT_VEC2:NewFromVec2( Vec2, LandHeightAdd )
LandHeightAdd = LandHeightAdd or 0
LandHeight = LandHeight + LandHeightAdd
local self = BASE:Inherit( self, POINT_VEC3:New( Vec2.x, LandHeight, Vec2.y ) )
self:F2( { Vec2.x, Vec2.y, LandHeightAdd } )
self = BASE:Inherit( self, POINT_VEC3:New( Vec2.x, LandHeight, Vec2.y ) )
self:F2( self )
return self
end
@ -622,8 +624,8 @@ function POINT_VEC2:NewFromVec3( Vec3 )
local LandHeight = land.getHeight( Vec2 )
local self = BASE:Inherit( self, POINT_VEC3:New( Vec2.x, LandHeight, Vec2.y ) )
self:F2( { Vec2.x, LandHeight, Vec2.y } )
self = BASE:Inherit( self, POINT_VEC3:New( Vec2.x, LandHeight, Vec2.y ) )
self:F2( self )
return self
end

View File

@ -36,14 +36,15 @@
--
-- 1.2) SPAWN initialization methods
-- ---------------------------------
-- A spawn object will behave differently based on the usage of initialization methods:
-- A spawn object will behave differently based on the usage of **initialization** methods, which all start with the **Init** prefix:
--
-- * @{#SPAWN.Limit}: Limits the amount of groups that can be alive at the same time and that can be dynamically spawned.
-- * @{#SPAWN.RandomizeRoute}: Randomize the routes of spawned groups, and for air groups also optionally the height.
-- * @{#SPAWN.RandomizeTemplate}: Randomize the group templates so that when a new group is spawned, a random group template is selected from one of the templates defined.
-- * @{#SPAWN.Uncontrolled}: Spawn plane groups uncontrolled.
-- * @{#SPAWN.Array}: Make groups visible before they are actually activated, and order these groups like a batallion in an array.
-- * @{#SPAWN.InitLimit}: Limits the amount of groups that can be alive at the same time and that can be dynamically spawned.
-- * @{#SPAWN.InitRandomizeRoute}: Randomize the routes of spawned groups, and for air groups also optionally the height.
-- * @{#SPAWN.InitRandomizeTemplate}: Randomize the group templates so that when a new group is spawned, a random group template is selected from one of the templates defined.
-- * @{#SPAWN.InitUncontrolled}: Spawn plane groups uncontrolled.
-- * @{#SPAWN.InitArray}: Make groups visible before they are actually activated, and order these groups like a batallion in an array.
-- * @{#SPAWN.InitRepeat}: Re-spawn groups when they land at the home base. Similar methods are @{#SPAWN.InitRepeatOnLanding} and @{#SPAWN.InitRepeatOnEngineShutDown}.
-- * @{#SPAWN.InitRandomizeUnits}: Randomizes the @{Unit}s in the @{Group} that is spawned within a **radius band**, given an Outer and Inner radius.
--
-- 1.3) SPAWN spawning methods
-- ---------------------------
@ -86,6 +87,13 @@
-- This models AI that has succesfully returned to their airbase, to restart their combat activities.
-- Check the @{#SPAWN.CleanUp} for further info.
--
-- 1.6) Call a function new GROUP is spawned.
-- ------------------------------------------
-- When using the SpawnScheduled class, new GROUPs are created following the schedule timing parameters.
-- However, when a new GROUP is spawned, you maybe want to execute actions with that group spawned.
-- To achieve this functionality, utilize the @{#SPAWN.OnSpawn}( **function( SpawnedGroup ) end ** ) method, which takes a function as a parameter that you can define locally at the
-- OnSpawn() method utilization. Whenever a new GROUP is spawned, the function that is given as a parameter to OnSpawn() will be called.
-- This function requires one parameter to be declared, containing the just spawned GROUP object. For an example, consult to function.
--
-- @module Spawn
-- @author FlightControl
@ -195,8 +203,8 @@ end
-- -- NATO helicopters engaging in the battle field.
-- -- This helicopter group consists of one Unit. So, this group will SPAWN maximum 2 groups simultaneously within the DCSRTE.
-- -- There will be maximum 24 groups spawned during the whole mission lifetime.
-- Spawn_BE_KA50 = SPAWN:New( 'BE KA-50@RAMP-Ground Defense' ):Limit( 2, 24 )
function SPAWN:Limit( SpawnMaxUnitsAlive, SpawnMaxGroups )
-- Spawn_BE_KA50 = SPAWN:New( 'BE KA-50@RAMP-Ground Defense' ):InitLimit( 2, 24 )
function SPAWN:InitLimit( SpawnMaxUnitsAlive, SpawnMaxGroups )
self:F( { self.SpawnTemplatePrefix, SpawnMaxUnitsAlive, SpawnMaxGroups } )
self.SpawnMaxUnitsAlive = SpawnMaxUnitsAlive -- The maximum amount of groups that can be alive of SpawnTemplatePrefix at the same time.
@ -224,8 +232,8 @@ end
-- -- The KA-50 has waypoints Start point ( =0 or SP ), 1, 2, 3, 4, End point (= 5 or DP).
-- -- Waypoints 2 and 3 will only be randomized. The others will remain on their original position with each new spawn of the helicopter.
-- -- The randomization of waypoint 2 and 3 will take place within a radius of 2000 meters.
-- Spawn_BE_KA50 = SPAWN:New( 'BE KA-50@RAMP-Ground Defense' ):RandomizeRoute( 2, 2, 2000 )
function SPAWN:RandomizeRoute( SpawnStartPoint, SpawnEndPoint, SpawnRadius, SpawnHeight )
-- Spawn_BE_KA50 = SPAWN:New( 'BE KA-50@RAMP-Ground Defense' ):InitRandomizeRoute( 2, 2, 2000 )
function SPAWN:InitRandomizeRoute( SpawnStartPoint, SpawnEndPoint, SpawnRadius, SpawnHeight )
self:F( { self.SpawnTemplatePrefix, SpawnStartPoint, SpawnEndPoint, SpawnRadius, SpawnHeight } )
self.SpawnRandomizeRoute = true
@ -241,6 +249,31 @@ function SPAWN:RandomizeRoute( SpawnStartPoint, SpawnEndPoint, SpawnRadius, Spaw
return self
end
--- Randomizes the UNITs that are spawned within a radius band given an Outer and Inner radius.
-- @param #SPAWN self
-- @param #boolean RandomizeUnits If true, SPAWN will perform the randomization of the @{UNIT}s position within the group between a given outer and inner radius.
-- @param DCSTypes#Distance OuterRadius (optional) The outer radius in meters where the new group will be spawned.
-- @param DCSTypes#Distance InnerRadius (optional) The inner radius in meters where the new group will NOT be spawned.
-- @return #SPAWN
-- @usage
-- -- NATO helicopters engaging in the battle field.
-- -- The KA-50 has waypoints Start point ( =0 or SP ), 1, 2, 3, 4, End point (= 5 or DP).
-- -- Waypoints 2 and 3 will only be randomized. The others will remain on their original position with each new spawn of the helicopter.
-- -- The randomization of waypoint 2 and 3 will take place within a radius of 2000 meters.
-- Spawn_BE_KA50 = SPAWN:New( 'BE KA-50@RAMP-Ground Defense' ):InitRandomizeRoute( 2, 2, 2000 )
function SPAWN:InitRandomizeUnits( RandomizeUnits, OuterRadius, InnerRadius )
self:F( { self.SpawnTemplatePrefix, RandomizeUnits, OuterRadius, InnerRadius } )
self.SpawnRandomizeUnits = RandomizeUnits or false
self.SpawnOuterRadius = OuterRadius or 0
self.SpawnInnerRadius = InnerRadius or 0
for GroupID = 1, self.SpawnMaxGroups do
self:_RandomizeRoute( GroupID )
end
return self
end
--- This function is rather complicated to understand. But I'll try to explain.
-- This function becomes useful when you need to spawn groups with random templates of groups defined within the mission editor,
@ -258,10 +291,10 @@ end
-- Spawn_US_Platoon = { 'US Tank Platoon 1', 'US Tank Platoon 2', 'US Tank Platoon 3', 'US Tank Platoon 4', 'US Tank Platoon 5',
-- 'US Tank Platoon 6', 'US Tank Platoon 7', 'US Tank Platoon 8', 'US Tank Platoon 9', 'US Tank Platoon 10',
-- 'US Tank Platoon 11', 'US Tank Platoon 12', 'US Tank Platoon 13' }
-- Spawn_US_Platoon_Left = SPAWN:New( 'US Tank Platoon Left' ):Limit( 12, 150 ):Schedule( 200, 0.4 ):RandomizeTemplate( Spawn_US_Platoon ):RandomizeRoute( 3, 3, 2000 )
-- Spawn_US_Platoon_Middle = SPAWN:New( 'US Tank Platoon Middle' ):Limit( 12, 150 ):Schedule( 200, 0.4 ):RandomizeTemplate( Spawn_US_Platoon ):RandomizeRoute( 3, 3, 2000 )
-- Spawn_US_Platoon_Right = SPAWN:New( 'US Tank Platoon Right' ):Limit( 12, 150 ):Schedule( 200, 0.4 ):RandomizeTemplate( Spawn_US_Platoon ):RandomizeRoute( 3, 3, 2000 )
function SPAWN:RandomizeTemplate( SpawnTemplatePrefixTable )
-- Spawn_US_Platoon_Left = SPAWN:New( 'US Tank Platoon Left' ):InitLimit( 12, 150 ):Schedule( 200, 0.4 ):InitRandomizeTemplate( Spawn_US_Platoon ):InitRandomizeRoute( 3, 3, 2000 )
-- Spawn_US_Platoon_Middle = SPAWN:New( 'US Tank Platoon Middle' ):InitLimit( 12, 150 ):Schedule( 200, 0.4 ):InitRandomizeTemplate( Spawn_US_Platoon ):InitRandomizeRoute( 3, 3, 2000 )
-- Spawn_US_Platoon_Right = SPAWN:New( 'US Tank Platoon Right' ):InitLimit( 12, 150 ):Schedule( 200, 0.4 ):InitRandomizeTemplate( Spawn_US_Platoon ):InitRandomizeRoute( 3, 3, 2000 )
function SPAWN:InitRandomizeTemplate( SpawnTemplatePrefixTable )
self:F( { self.SpawnTemplatePrefix, SpawnTemplatePrefixTable } )
self.SpawnTemplatePrefixTable = SpawnTemplatePrefixTable
@ -288,7 +321,7 @@ end
-- @usage
-- -- RU Su-34 - AI Ship Attack
-- -- Re-SPAWN the Group(s) after each landing and Engine Shut-Down automatically.
-- SpawnRU_SU34 = SPAWN:New( 'TF1 RU Su-34 Krymsk@AI - Attack Ships' ):Schedule( 2, 3, 1800, 0.4 ):SpawnUncontrolled():RandomizeRoute( 1, 1, 3000 ):RepeatOnEngineShutDown()
-- SpawnRU_SU34 = SPAWN:New( 'TF1 RU Su-34 Krymsk@AI - Attack Ships' ):Schedule( 2, 3, 1800, 0.4 ):SpawnUncontrolled():InitRandomizeRoute( 1, 1, 3000 ):RepeatOnEngineShutDown()
function SPAWN:InitRepeat()
self:F( { self.SpawnTemplatePrefix, self.SpawnIndex } )
@ -355,8 +388,8 @@ end
-- @return #SPAWN self
-- @usage
-- -- Define an array of Groups.
-- Spawn_BE_Ground = SPAWN:New( 'BE Ground' ):Limit( 2, 24 ):Visible( 90, "Diamond", 10, 100, 50 )
function SPAWN:Array( SpawnAngle, SpawnWidth, SpawnDeltaX, SpawnDeltaY )
-- Spawn_BE_Ground = SPAWN:New( 'BE Ground' ):InitLimit( 2, 24 ):InitArray( 90, "Diamond", 10, 100, 50 )
function SPAWN:InitArray( SpawnAngle, SpawnWidth, SpawnDeltaX, SpawnDeltaY )
self:F( { self.SpawnTemplatePrefix, SpawnAngle, SpawnWidth, SpawnDeltaX, SpawnDeltaY } )
self.SpawnVisible = true -- When the first Spawn executes, all the Groups need to be made visible before start.
@ -450,6 +483,7 @@ end
--- Will spawn a group with a specified index number.
-- Uses @{DATABASE} global object defined in MOOSE.
-- @param #SPAWN self
-- @param #string SpawnIndex The index of the group to be spawned.
-- @return Group#GROUP The group that was spawned. You can use this group for further actions.
function SPAWN:SpawnWithIndex( SpawnIndex )
self:F2( { SpawnTemplatePrefix = self.SpawnTemplatePrefix, SpawnIndex = SpawnIndex, AliveUnits = self.AliveUnits, SpawnMaxGroups = self.SpawnMaxGroups } )
@ -459,20 +493,39 @@ function SPAWN:SpawnWithIndex( SpawnIndex )
if self.SpawnGroups[self.SpawnIndex].Visible then
self.SpawnGroups[self.SpawnIndex].Group:Activate()
else
_EVENTDISPATCHER:OnBirthForTemplate( self.SpawnGroups[self.SpawnIndex].SpawnTemplate, self._OnBirth, self )
_EVENTDISPATCHER:OnCrashForTemplate( self.SpawnGroups[self.SpawnIndex].SpawnTemplate, self._OnDeadOrCrash, self )
_EVENTDISPATCHER:OnDeadForTemplate( self.SpawnGroups[self.SpawnIndex].SpawnTemplate, self._OnDeadOrCrash, self )
local SpawnTemplate = self.SpawnGroups[self.SpawnIndex].SpawnTemplate
if SpawnTemplate then
local PointVec3 = POINT_VEC3:New( SpawnTemplate.route.points[1].x, SpawnTemplate.route.points[1].alt, SpawnTemplate.route.points[1].y )
self:T( { "Current point of ", self.SpawnTemplatePrefix, PointVec3 } )
-- If RandomizeUnits, then Randomize the formation at the start point.
if self.SpawnRandomizeUnits then
for UnitID = 1, #SpawnTemplate.units do
local RandomVec2 = PointVec3:GetRandomVec2InRadius( self.SpawnOuterRadius, self.SpawnInnerRadius )
SpawnTemplate.units[UnitID].x = RandomVec2.x
SpawnTemplate.units[UnitID].y = RandomVec2.y
self:T( 'SpawnTemplate.units['..UnitID..'].x = ' .. SpawnTemplate.units[UnitID].x .. ', SpawnTemplate.units['..UnitID..'].y = ' .. SpawnTemplate.units[UnitID].y )
end
end
end
_EVENTDISPATCHER:OnBirthForTemplate( SpawnTemplate, self._OnBirth, self )
_EVENTDISPATCHER:OnCrashForTemplate( SpawnTemplate, self._OnDeadOrCrash, self )
_EVENTDISPATCHER:OnDeadForTemplate( SpawnTemplate, self._OnDeadOrCrash, self )
if self.Repeat then
_EVENTDISPATCHER:OnTakeOffForTemplate( self.SpawnGroups[self.SpawnIndex].SpawnTemplate, self._OnTakeOff, self )
_EVENTDISPATCHER:OnLandForTemplate( self.SpawnGroups[self.SpawnIndex].SpawnTemplate, self._OnLand, self )
_EVENTDISPATCHER:OnTakeOffForTemplate( SpawnTemplate, self._OnTakeOff, self )
_EVENTDISPATCHER:OnLandForTemplate( SpawnTemplate, self._OnLand, self )
end
if self.RepeatOnEngineShutDown then
_EVENTDISPATCHER:OnEngineShutDownForTemplate( self.SpawnGroups[self.SpawnIndex].SpawnTemplate, self._OnEngineShutDown, self )
_EVENTDISPATCHER:OnEngineShutDownForTemplate( SpawnTemplate, self._OnEngineShutDown, self )
end
self:T3( self.SpawnGroups[self.SpawnIndex].SpawnTemplate )
self:T3( SpawnTemplate )
self.SpawnGroups[self.SpawnIndex].Group = _DATABASE:Spawn( self.SpawnGroups[self.SpawnIndex].SpawnTemplate )
self.SpawnGroups[self.SpawnIndex].Group = _DATABASE:Spawn( SpawnTemplate )
-- If there is a SpawnFunction hook defined, call it.
if self.SpawnFunctionHook then
@ -539,13 +592,24 @@ end
-- 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 #function SpawnCallBackFunction 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 )
-- @usage
-- -- Declare SpawnObject and call a function when a new Group is spawned.
-- local SpawnObject = SPAWN
-- :New( "SpawnObject" )
-- :InitLimit( 2, 10 )
-- :OnSpawnGroup(
-- function( SpawnGroup )
-- SpawnGroup:E( "I am spawned" )
-- end
-- )
-- :SpawnScheduled( 300, 0.3 )
function SPAWN:OnSpawnGroup( SpawnCallBackFunction, ... )
self:F( "OnSpawnGroup" )
self.SpawnFunctionHook = SpawnFunctionHook
self.SpawnFunctionHook = SpawnCallBackFunction
self.SpawnFunctionArguments = {}
if arg then
self.SpawnFunctionArguments = arg
@ -561,14 +625,11 @@ end
-- You can use the returned group to further define the route to be followed.
-- @param #SPAWN self
-- @param DCSTypes#Vec3 Vec3 The Vec3 coordinates where to spawn the group.
-- @param #boolean RandomizeUnits (optional) Randomization of the @{UNIT}s position within the group between a given outer and inner radius.
-- @param #number OuterRadius (Optional) The outer radius in meters where the new group will be spawned.
-- @param #number InnerRadius (Optional) The inner radius in meters where the new group will NOT be spawned.
-- @param #number SpawnIndex (Optional) The index which group to spawn within the given zone.
-- @param #number SpawnIndex (optional) The index which group to spawn within the given zone.
-- @return Group#GROUP that was spawned.
-- @return #nil Nothing was spawned.
function SPAWN:SpawnFromVec3( Vec3, RandomizeUnits, OuterRadius, InnerRadius, SpawnIndex )
self:F( { self.SpawnTemplatePrefix, Vec3, RandomizeUnits, OuterRadius, InnerRadius, SpawnIndex } )
function SPAWN:SpawnFromVec3( Vec3, SpawnIndex )
self:F( { self.SpawnTemplatePrefix, Vec3, SpawnIndex } )
local PointVec3 = POINT_VEC3:NewFromVec3( Vec3 )
self:T2(PointVec3)
@ -585,53 +646,30 @@ function SPAWN:SpawnFromVec3( Vec3, RandomizeUnits, OuterRadius, InnerRadius, Sp
if SpawnTemplate then
self:T( { "Current point of ", self.SpawnTemplatePrefix, Vec3 } )
RandomizeUnits = RandomizeUnits or false
InnerRadius = InnerRadius or 0
OuterRadius = OuterRadius or 0
-- If RandomizeUnits, then randomize the formation, otherwise translate the existing Group template.
if RandomizeUnits then
for UnitID = 1, #SpawnTemplate.units do
local RandomVec2 = PointVec3:GetRandomVec2InRadius( OuterRadius, InnerRadius )
SpawnTemplate.units[UnitID].x = RandomVec2.x
SpawnTemplate.units[UnitID].y = RandomVec2.y
SpawnTemplate.units[UnitID].alt = Vec3.y
self:T( 'SpawnTemplate.units['..UnitID..'].x = ' .. SpawnTemplate.units[UnitID].x .. ', SpawnTemplate.units['..UnitID..'].y = ' .. SpawnTemplate.units[UnitID].y )
end
else
for UnitID = 1, #SpawnTemplate.units do
self:T( 'Before Translation SpawnTemplate.units['..UnitID..'].x = ' .. SpawnTemplate.units[UnitID].x .. ', SpawnTemplate.units['..UnitID..'].y = ' .. SpawnTemplate.units[UnitID].y )
local UnitTemplate = SpawnTemplate.units[UnitID]
local SX = UnitTemplate.x
local SY = UnitTemplate.y
local BX = SpawnTemplate.route.points[1].x
local BY = SpawnTemplate.route.points[1].y
local TX = Vec3.x + ( SX - BX )
local TY = Vec3.z + ( SY - BY )
SpawnTemplate.units[UnitID].x = TX
SpawnTemplate.units[UnitID].y = TY
SpawnTemplate.units[UnitID].alt = Vec3.y
self:T( 'After Translation SpawnTemplate.units['..UnitID..'].x = ' .. SpawnTemplate.units[UnitID].x .. ', SpawnTemplate.units['..UnitID..'].y = ' .. SpawnTemplate.units[UnitID].y )
end
end
-- Translate the position of the Group Template to the Vec3.
for UnitID = 1, #SpawnTemplate.units do
self:T( 'Before Translation SpawnTemplate.units['..UnitID..'].x = ' .. SpawnTemplate.units[UnitID].x .. ', SpawnTemplate.units['..UnitID..'].y = ' .. SpawnTemplate.units[UnitID].y )
local UnitTemplate = SpawnTemplate.units[UnitID]
local SX = UnitTemplate.x
local SY = UnitTemplate.y
local BX = SpawnTemplate.route.points[1].x
local BY = SpawnTemplate.route.points[1].y
local TX = Vec3.x + ( SX - BX )
local TY = Vec3.z + ( SY - BY )
SpawnTemplate.units[UnitID].x = TX
SpawnTemplate.units[UnitID].y = TY
SpawnTemplate.units[UnitID].alt = Vec3.y
self:T( 'After Translation SpawnTemplate.units['..UnitID..'].x = ' .. SpawnTemplate.units[UnitID].x .. ', SpawnTemplate.units['..UnitID..'].y = ' .. SpawnTemplate.units[UnitID].y )
end
SpawnTemplate.route.points[1].x = Vec3.x
SpawnTemplate.route.points[1].y = Vec3.z
SpawnTemplate.route.points[1].alt = Vec3.y
SpawnTemplate.route.points[1].action = "Custom"
-- TODO: Need to rework this. A spawn action should always be at the random point to start from. This move is not correct to be here.
-- local RandomVec2 = PointVec3:GetRandomVec2InRadius( OuterRadius, InnerRadius )
-- local Point = {}
-- Point.type = "Turning Point"
-- Point.x = RandomVec2.x
-- Point.y = RandomVec2.y
-- Point.action = "Cone"
-- Point.speed = 5
-- table.insert( SpawnTemplate.route.points, 2, Point )
SpawnTemplate.x = Vec3.x
SpawnTemplate.y = Vec3.z
return self:SpawnWithIndex( self.SpawnIndex )
end
end
@ -645,17 +683,14 @@ end
-- You can use the returned group to further define the route to be followed.
-- @param #SPAWN self
-- @param DCSTypes#Vec2 Vec2 The Vec2 coordinates where to spawn the group.
-- @param #boolean RandomizeUnits (optional) Randomization of the @{UNIT}s position within the group between a given outer and inner radius.
-- @param #number OuterRadius (optional) The outer radius in meters where the new group will be spawned.
-- @param #number InnerRadius (optional) The inner radius in meters where the new group will NOT be spawned.
-- @param #number SpawnIndex (optional) The index which group to spawn within the given zone.
-- @return Group#GROUP that was spawned.
-- @return #nil Nothing was spawned.
function SPAWN:SpawnFromVec2( Vec2, RandomizeUnits, OuterRadius, InnerRadius, SpawnIndex )
self:F( { self.SpawnTemplatePrefix, Vec2, RandomizeUnits, OuterRadius, InnerRadius, SpawnIndex } )
function SPAWN:SpawnFromVec2( Vec2, SpawnIndex )
self:F( { self.SpawnTemplatePrefix, Vec2, SpawnIndex } )
local PointVec2 = POINT_VEC2:NewFromVec2( Vec2 )
return self:SpawnFromVec3( PointVec2:GetVec3(), RandomizeUnits, OuterRadius, InnerRadius, SpawnIndex )
return self:SpawnFromVec3( PointVec2:GetVec3(), SpawnIndex )
end
@ -664,16 +699,14 @@ end
-- You can use the returned group to further define the route to be followed.
-- @param #SPAWN self
-- @param Unit#UNIT HostUnit The air or ground unit dropping or unloading the group.
-- @param #number OuterRadius (Optional) The outer radius in meters where the new group will be spawned.
-- @param #number InnerRadius (Optional) The inner radius in meters where the new group will NOT be spawned.
-- @param #number SpawnIndex (Optional) The index which group to spawn within the given zone.
-- @param #number SpawnIndex (optional) The index which group to spawn within the given zone.
-- @return Group#GROUP that was spawned.
-- @return #nil Nothing was spawned.
function SPAWN:SpawnFromUnit( HostUnit, OuterRadius, InnerRadius, SpawnIndex )
self:F( { self.SpawnTemplatePrefix, HostUnit, OuterRadius, InnerRadius, SpawnIndex } )
function SPAWN:SpawnFromUnit( HostUnit, SpawnIndex )
self:F( { self.SpawnTemplatePrefix, HostUnit, SpawnIndex } )
if HostUnit and HostUnit:IsAlive() then -- and HostUnit:getUnit(1):inAir() == false then
return self:SpawnFromVec3( HostUnit:GetVec3(), OuterRadius, InnerRadius, SpawnIndex )
return self:SpawnFromVec3( HostUnit:GetVec3(), SpawnIndex )
end
return nil
@ -683,16 +716,14 @@ end
-- You can use the returned group to further define the route to be followed.
-- @param #SPAWN self
-- @param Static#STATIC HostStatic The static dropping or unloading the group.
-- @param #number OuterRadius (Optional) The outer radius in meters where the new group will be spawned.
-- @param #number InnerRadius (Optional) The inner radius in meters where the new group will NOT be spawned.
-- @param #number SpawnIndex (Optional) The index which group to spawn within the given zone.
-- @param #number SpawnIndex (optional) The index which group to spawn within the given zone.
-- @return Group#GROUP that was spawned.
-- @return #nil Nothing was spawned.
function SPAWN:SpawnFromStatic( HostStatic, OuterRadius, InnerRadius, SpawnIndex )
self:F( { self.SpawnTemplatePrefix, HostStatic, OuterRadius, InnerRadius, SpawnIndex } )
function SPAWN:SpawnFromStatic( HostStatic, SpawnIndex )
self:F( { self.SpawnTemplatePrefix, HostStatic, SpawnIndex } )
if HostStatic and HostStatic:IsAlive() then
return self:SpawnFromVec3( HostStatic:GetVec3(), OuterRadius, InnerRadius, SpawnIndex )
return self:SpawnFromVec3( HostStatic:GetVec3(), SpawnIndex )
end
return nil
@ -705,20 +736,17 @@ end
-- @param #SPAWN self
-- @param Zone#ZONE Zone The zone where the group is to be spawned.
-- @param #boolean RandomizeGroup (optional) Randomization of the @{GROUP} position in the zone.
-- @param #boolean RandomizeUnits (optional) Randomization of the @{UNIT}s position within the group between a given outer and inner radius.
-- @param DCSTypes#Distance OuterRadius (optional) The outer radius of the radius band, till where @{Unit} randomization is done.
-- @param DCSTypes#Distance InnerRadius (optional) The inner radius of the radius band, from where @{Unit} randomization is done.
-- @param #number SpawnIndex (Optional) The index which group to spawn within the given zone.
-- @param #number SpawnIndex (optional) The index which group to spawn within the given zone.
-- @return Group#GROUP that was spawned.
-- @return #nil when nothing was spawned.
function SPAWN:SpawnInZone( Zone, RandomizeGroup, RandomizeUnits, OuterRadius, InnerRadius, SpawnIndex )
self:F( { self.SpawnTemplatePrefix, Zone, RandomizeGroup, RandomizeUnits, OuterRadius, InnerRadius, SpawnIndex } )
function SPAWN:SpawnInZone( Zone, RandomizeGroup, SpawnIndex )
self:F( { self.SpawnTemplatePrefix, Zone, RandomizeGroup, SpawnIndex } )
if Zone then
if RandomizeGroup then
return self:SpawnFromVec2( Zone:GetRandomVec2(), RandomizeUnits, OuterRadius, InnerRadius, SpawnIndex )
return self:SpawnFromVec2( Zone:GetRandomVec2(), SpawnIndex )
else
return self:SpawnFromVec2( Zone:GetVec2(), RandomizeUnits, OuterRadius, InnerRadius, SpawnIndex )
return self:SpawnFromVec2( Zone:GetVec2(), SpawnIndex )
end
end

View File

@ -1,28 +1,56 @@
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-12
- Temporary release of the new cargo handling.
-- Released available functionality to handle one CARGO_UNIT loading, boarding, unloading.
-- Created CARGO_UNIT test missions.
- Added Translate() method in POINT_VEC3, translating a 3D point over the horizontal plane with a Distance and Angle coordinate.
- Changed Spawn APIs, adding RandomizeGroup and RandomizeUnits parameters, to express Group position and Unit position randomization.
-- Changed SpawnInZone() method.
--- RandomizeGroup is used to randomize the start position of the Group in a zone.
--- RandomizeUnits is used to randomize the start position of the Units in a defined radius band, through OuterRadius and InnerRadius parameters.
-- Changed SpawnFromVec3() method.
--- RandomizeUnits is used to randomize the start position of the Units in a defined radius band, through OuterRadius and InnerRadius parameters.
-- Changed SpawnFromVec2() method.
--- RandomizeUnits is used to randomize the start position of the Units in a defined radius band, through OuterRadius and InnerRadius parameters.
2016-08-08
- Added briefing to method ESCORT:New()
-- If no EscortBriefing is given, the New() method will show the default briefing.
2016-08-06
- Made PointVec3 and Vec3, PointVec2 and Vec2 terminology used in the code consistent.
-- Replaced method PointVec3() to Vec3() where the code manages a Vec3. Replaced all references to the method.
-- Replaced method PointVec2() to Vec2() where the code manages a Vec2. Replaced all references to the method.
-- Replaced method RandomPointVec3() to RandomVec3() where the code manages a Vec3. Replaced all references to the method.
2016-08-03
- Fixed error at SPAWN:RandomizeTemplate()
-- Units started in wrong x, y position (at the template, instead of at the master template of the SPAWN).
-- Adjusted x, y and alt to the start position of the first unit of the master template.
@ -30,9 +58,11 @@
-- Regenerated MOOSE.lua
2016-07-31
- Added a SpawnHeight parameter to the SPAWN method RandomizeRoute(), based upon a bug report of David. Air units will now also have optionally the route height randomized.
2016-07-29
- Documentation of methods GetFirstAliveGroup, GetNextAliveGroup, GetLastAliveGroup + code snippets.
2016-07-23

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,56 @@
7-Zip
~~~~~
License for use and distribution
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
7-Zip Copyright (C) 1999-2016 Igor Pavlov.
Licenses for files are:
1) 7z.dll: GNU LGPL + unRAR restriction
2) All other files: GNU LGPL
The GNU LGPL + unRAR restriction means that you must follow both
GNU LGPL rules and unRAR restriction rules.
Note:
You can use 7-Zip on any computer, including a computer in a commercial
organization. You don't need to register or pay for 7-Zip.
GNU LGPL information
--------------------
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You can receive a copy of the GNU Lesser General Public License from
http://www.gnu.org/
unRAR restriction
-----------------
The decompression engine for RAR archives was developed using source
code of unRAR program.
All copyrights to original unRAR code are owned by Alexander Roshal.
The license for original unRAR code has the following restriction:
The unRAR sources cannot be used to re-create the RAR compression algorithm,
which is proprietary. Distribution of modified unRAR sources in separate form
or as a part of other software is permitted, provided that it is clearly
stated in the documentation and source comments that the code may
not be used to develop a RAR (WinRAR) compatible archiver.
--
Igor Pavlov

View File

@ -1,7 +1,7 @@
echo off
rem Update Missions with a new version of Moose.lua
rem Run this batch file with the following command arguments in Eclipse: "${resource_loc:/Moose/Moose Development/Moose}" "${current_date}"
rem Provide as the only parameter the path to the .miz files, which can be embedded in directories.
echo Path to Mission Files: %1

Binary file not shown.

View File

@ -0,0 +1,14 @@
7-zip.chm 7-Zip Help
7-Zip.dll 7-Zip Plugin
7-Zip32.dll 7-Zip Plugin 32-bit
7z.dll 7-Zip Engine
7z.exe 7-Zip Console
7z.sfx 7-Zip GUI SFX
7zCon.sfx 7-Zip Console SFX
7zFM.exe 7-Zip File Manager
7zg.exe 7-Zip GUI
descript.ion 7-Zip File Descriptions
history.txt 7-Zip History
Lang 7-Zip Translations
license.txt 7-Zip License
readme.txt 7-Zip Overview

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,51 @@
7-Zip 16.02
-----------
7-Zip is a file archiver for Windows NT / 2000 / 2003 / 2008 / 2012 / XP / Vista / 7 / 8 / 10.
7-Zip Copyright (C) 1999-2016 Igor Pavlov.
The main features of 7-Zip:
- High compression ratio in the new 7z format
- Supported formats:
- Packing / unpacking: 7z, XZ, BZIP2, GZIP, TAR, ZIP and WIM.
- Unpacking only: AR, ARJ, CAB, CHM, CPIO, CramFS, DMG, EXT, FAT, GPT, HFS,
IHEX, ISO, LZH, LZMA, MBR, MSI, NSIS, NTFS, QCOW2, RAR,
RPM, SquashFS, UDF, UEFI, VDI, VHD, VMDK, WIM, XAR and Z.
- Fast compression and decompression
- Self-extracting capability for 7z format
- Strong AES-256 encryption in 7z and ZIP formats
- Integration with Windows Shell
- Powerful File Manager
- Powerful command line version
- Localizations for 85 languages
7-Zip is free software distributed under the GNU LGPL (except for unRar code).
Read License.txt for more information about license.
This distribution package contains the following files:
7zFM.exe - 7-Zip File Manager
7-zip.dll - Plugin for Windows Shell
7-zip32.dll - Plugin for Windows Shell (32-bit plugin for 64-bit system)
7zg.exe - GUI module
7z.exe - Command line version
7z.dll - 7-Zip engine module
7z.sfx - SFX module (Windows version)
7zCon.sfx - SFX module (Console version)
License.txt - License information
readme.txt - This file
History.txt - History of 7-Zip
7-zip.chm - User's Manual in HTML Help format
descript.ion - Description for files
Lang\en.ttt - English (base) localization file
Lang\*.txt - Localization files
---
End of document

File diff suppressed because it is too large Load Diff

View File

@ -4,7 +4,7 @@
Clean = CLEANUP:New( 'CLEAN_BATUMI', 180 )
SpawnRU = SPAWN:New( 'RU Attack Heli Batumi'):Limit( 2, 20 ):SpawnScheduled( 2, 0.2 )
SpawnRU = SPAWN:New( 'RU Attack Heli Batumi'):InitLimit( 2, 20 ):SpawnScheduled( 2, 0.2 )
SpawnUS = SPAWN:New( 'US Attack Heli Batumi'):Limit( 2, 20 ):SpawnScheduled( 2, 0.2 )
SpawnUS = SPAWN:New( 'US Attack Heli Batumi'):InitLimit( 2, 20 ):SpawnScheduled( 2, 0.2 )

View File

@ -47,12 +47,12 @@ GroupRU_Vehicle = SpawnRU_Vehicle:Spawn()
SpawnRU_Ship = SPAWN:New( 'Spawn Test RUSSIA Ship')
GroupRU_Ship = SpawnRU_Ship:Spawn()
SpawnM2A2_AttackVehicle = SPAWN:New( 'Spawn Test M2A2 Attack Vehicle' )
SpawnSAM_AttackVehicle = SPAWN:New( 'Spawn Test SAM Attack Vehicle' )
SpawnM2A2_AttackVehicle = SPAWN:New( 'Spawn Test M2A2 Attack Vehicle' ):InitRandomizeUnits( true, 10, 4 )
SpawnSAM_AttackVehicle = SPAWN:New( 'Spawn Test SAM Attack Vehicle' ):InitRandomizeUnits( true, 10, 4 )
for i = 1, 30 do
GroupM2A2_AttackVehicle = SpawnM2A2_AttackVehicle:SpawnInZone( ZONE:New("Spawn Zone"), true)
GroupSAM_AttackVehicle = SpawnSAM_AttackVehicle:SpawnInZone( ZONE:New("Spawn Zone"), true)
GroupM2A2_AttackVehicle = SpawnM2A2_AttackVehicle:SpawnInZone( ZONE:New("Spawn Zone") )
GroupSAM_AttackVehicle = SpawnSAM_AttackVehicle:SpawnInZone( ZONE:New("Spawn Zone") )
end
SetVehicleCompletely = SET_GROUP:New()
@ -67,13 +67,13 @@ SetVehicleNot = SET_GROUP:New()
:FilterPrefixes( "Spawn Vehicle Zone Not" )
:FilterStart()
Spawn_Vehicle_Zone_Completely = SPAWN:New( 'Spawn Vehicle Zone Completely' )
Spawn_Vehicle_Zone_Partly = SPAWN:New( 'Spawn Vehicle Zone Partly' )
Spawn_Vehicle_Zone_Not = SPAWN:New( 'Spawn Vehicle Zone Not' )
Spawn_Vehicle_Zone_Completely = SPAWN:New( 'Spawn Vehicle Zone Completely' ):InitRandomizeUnits( true, 10, 4)
Spawn_Vehicle_Zone_Partly = SPAWN:New( 'Spawn Vehicle Zone Partly' ):InitRandomizeUnits( true, 10, 4 )
Spawn_Vehicle_Zone_Not = SPAWN:New( 'Spawn Vehicle Zone Not' ):InitRandomizeUnits( true, 10, 4 )
for i = 1, 30 do
Spawn_Vehicle_Zone_Completely:SpawnInZone( ZONE:New("Spawn Zone Completely"), true)
Spawn_Vehicle_Zone_Partly:SpawnInZone( ZONE:New("Spawn Zone Partly"), true)
Spawn_Vehicle_Zone_Not:SpawnInZone( ZONE:New("Spawn Zone Not"), true)
Spawn_Vehicle_Zone_Completely:SpawnInZone( ZONE:New("Spawn Zone Completely") )
Spawn_Vehicle_Zone_Partly:SpawnInZone( ZONE:New("Spawn Zone Partly") )
Spawn_Vehicle_Zone_Not:SpawnInZone( ZONE:New("Spawn Zone Not") )
end
--DBBlue:TraceDatabase()

View File

@ -7,15 +7,15 @@
Spawn_Plane = SPAWN:New( "Spawn Plane" )
Group_Plane = Spawn_Plane:Spawn()
Spawn_Helicopter = SPAWN:New( "Spawn Helicopter" ):RandomizeRoute( 1, 1, 1000 )
Spawn_Helicopter = SPAWN:New( "Spawn Helicopter" ):InitRandomizeRoute( 1, 1, 1000 )
Group_Helicopter = Spawn_Helicopter:Spawn()
Group_Helicopter2 = Spawn_Helicopter:Spawn()
Spawn_Ship = SPAWN:New( "Spawn Ship" ):RandomizeRoute( 0, 0, 2000 )
Spawn_Ship = SPAWN:New( "Spawn Ship" ):InitRandomizeRoute( 0, 0, 2000 )
Group_Ship1 = Spawn_Ship:Spawn()
Group_Ship2 = Spawn_Ship:Spawn()
Spawn_Vehicle = SPAWN:New( "Spawn Vehicle" ):RandomizeRoute( 1, 0, 50 )
Spawn_Vehicle = SPAWN:New( "Spawn Vehicle" ):InitRandomizeRoute( 1, 0, 50 )
Group_Vehicle1 = Spawn_Vehicle:Spawn()
Group_Vehicle2 = Spawn_Vehicle:Spawn()
Group_Vehicle3 = Spawn_Vehicle:Spawn()
@ -49,27 +49,27 @@ Spawn_Vehicle_Scheduled = SPAWN:New( "Spawn Vehicle Scheduled" ):SpawnScheduled(
-- Tests Tbilisi: Limited Spawning and repeat
-- ------------------------------------------
-- Spawing one group, and respawning the same group when it lands ...
Spawn_Plane_Limited_Repeat = SPAWN:New( "Spawn Plane Limited Repeat" ):Limit( 1, 1 ):InitRepeat():Spawn()
Spawn_Plane_Limited_RepeatOnLanding = SPAWN:New( "Spawn Plane Limited RepeatOnLanding" ):Limit( 1, 1 ):InitRepeatOnLanding():Spawn()
Spawn_Plane_Limited_RepeatOnEngineShutDown = SPAWN:New( "Spawn Plane Limited RepeatOnEngineShutDown" ):Limit( 1, 1 ):InitRepeatOnEngineShutDown():Spawn()
Spawn_Helicopter_Limited_Repeat = SPAWN:New( "Spawn Helicopter Limited Repeat" ):Limit( 1, 1 ):InitRepeat():Spawn()
Spawn_Helicopter_Limited_RepeatOnLanding = SPAWN:New( "Spawn Helicopter Limited RepeatOnLanding" ):Limit( 1, 1 ):InitRepeatOnLanding():Spawn()
Spawn_Helicopter_Limited_RepeatOnEngineShutDown = SPAWN:New( "Spawn Helicopter Limited RepeatOnEngineShutDown" ):Limit( 1, 1 ):InitRepeatOnEngineShutDown():Spawn()
Spawn_Plane_Limited_Repeat = SPAWN:New( "Spawn Plane Limited Repeat" ):InitLimit( 1, 1 ):InitRepeat():Spawn()
Spawn_Plane_Limited_RepeatOnLanding = SPAWN:New( "Spawn Plane Limited RepeatOnLanding" ):InitLimit( 1, 1 ):InitRepeatOnLanding():Spawn()
Spawn_Plane_Limited_RepeatOnEngineShutDown = SPAWN:New( "Spawn Plane Limited RepeatOnEngineShutDown" ):InitLimit( 1, 1 ):InitRepeatOnEngineShutDown():Spawn()
Spawn_Helicopter_Limited_Repeat = SPAWN:New( "Spawn Helicopter Limited Repeat" ):InitLimit( 1, 1 ):InitRepeat():Spawn()
Spawn_Helicopter_Limited_RepeatOnLanding = SPAWN:New( "Spawn Helicopter Limited RepeatOnLanding" ):InitLimit( 1, 1 ):InitRepeatOnLanding():Spawn()
Spawn_Helicopter_Limited_RepeatOnEngineShutDown = SPAWN:New( "Spawn Helicopter Limited RepeatOnEngineShutDown" ):InitLimit( 1, 1 ):InitRepeatOnEngineShutDown():Spawn()
-- Tests Soganlug
-- --------------
-- Limited spawning of groups, scheduled every 30 seconds ...
Spawn_Plane_Limited_Scheduled = SPAWN:New( "Spawn Plane Limited Scheduled" ):Limit( 2, 10 ):SpawnScheduled( 30, 0 )
Spawn_Helicopter_Limited_Scheduled = SPAWN:New( "Spawn Helicopter Limited Scheduled" ):Limit( 2, 10 ):SpawnScheduled( 30, 0 )
Spawn_Ground_Limited_Scheduled = SPAWN:New( "Spawn Vehicle Limited Scheduled" ):Limit( 1, 20 ):SpawnScheduled( 90, 0 )
Spawn_Plane_Limited_Scheduled = SPAWN:New( "Spawn Plane Limited Scheduled" ):InitLimit( 2, 10 ):SpawnScheduled( 30, 0 )
Spawn_Helicopter_Limited_Scheduled = SPAWN:New( "Spawn Helicopter Limited Scheduled" ):InitLimit( 2, 10 ):SpawnScheduled( 30, 0 )
Spawn_Ground_Limited_Scheduled = SPAWN:New( "Spawn Vehicle Limited Scheduled" ):InitLimit( 1, 20 ):SpawnScheduled( 90, 0 )
-- Tests Sukhumi
-- -------------
-- Limited spawning of groups, scheduled every seconds with route randomization.
Spawn_Plane_Limited_Scheduled_RandomizeRoute = SPAWN:New( "Spawn Plane Limited Scheduled RandomizeRoute" ):Limit( 5, 10 ):RandomizeRoute( 1, 1, 4000 ):SpawnScheduled( 2, 0 )
Spawn_Helicopter_Limited_Scheduled_RandomizeRoute = SPAWN:New( "Spawn Helicopter Limited Scheduled RandomizeRoute" ):Limit( 5, 10 ):RandomizeRoute( 1, 1, 4000 ):SpawnScheduled( 2, 0 )
Spawn_Vehicle_Limited_Scheduled_RandomizeRoute = SPAWN:New( "Spawn Vehicle Limited Scheduled RandomizeRoute" ):Limit( 10, 10 ):RandomizeRoute( 1, 1, 1000 ):SpawnScheduled( 1, 0 )
Spawn_Plane_Limited_Scheduled_RandomizeRoute = SPAWN:New( "Spawn Plane Limited Scheduled RandomizeRoute" ):InitLimit( 5, 10 ):InitRandomizeRoute( 1, 1, 4000 ):SpawnScheduled( 2, 0 )
Spawn_Helicopter_Limited_Scheduled_RandomizeRoute = SPAWN:New( "Spawn Helicopter Limited Scheduled RandomizeRoute" ):InitLimit( 5, 10 ):InitRandomizeRoute( 1, 1, 4000 ):SpawnScheduled( 2, 0 )
Spawn_Vehicle_Limited_Scheduled_RandomizeRoute = SPAWN:New( "Spawn Vehicle Limited Scheduled RandomizeRoute" ):InitLimit( 10, 10 ):InitRandomizeRoute( 1, 1, 1000 ):SpawnScheduled( 1, 0 )
-- Tests Kutaisi
@ -77,15 +77,15 @@ Spawn_Vehicle_Limited_Scheduled_RandomizeRoute = SPAWN:New( "Spawn Vehicle Limit
-- Tests the CleanUp functionality.
-- Limited spawning of groups, scheduled every 10 seconds, who are engaging into combat. Some helicopters may crash land on the ground.
-- Observe when helicopters land but are not dead and are out of the danger zone, that they get removed after a while (+/- 180 seconds) and ReSpawn.
Spawn_Helicopter_Scheduled_CleanUp = SPAWN:New( "Spawn Helicopter Scheduled CleanUp" ):Limit( 3, 100 ):RandomizeRoute( 1, 1, 1000 ):CleanUp( 60 ):SpawnScheduled( 10, 0 )
Spawn_Vehicle_Scheduled_CleanUp = SPAWN:New( "Spawn Vehicle Scheduled CleanUp" ):Limit( 3, 100 ):RandomizeRoute( 1, 1, 1000 ):SpawnScheduled( 10, 0 )
Spawn_Helicopter_Scheduled_CleanUp = SPAWN:New( "Spawn Helicopter Scheduled CleanUp" ):InitLimit( 3, 100 ):InitRandomizeRoute( 1, 1, 1000 ):CleanUp( 60 ):SpawnScheduled( 10, 0 )
Spawn_Vehicle_Scheduled_CleanUp = SPAWN:New( "Spawn Vehicle Scheduled CleanUp" ):InitLimit( 3, 100 ):InitRandomizeRoute( 1, 1, 1000 ):SpawnScheduled( 10, 0 )
-- Maykop
-- ------
-- Creates arrays of groups ready to be spawned and dynamic spawning of groups from another group.
-- SpawnTestVisible creates an array of 200 groups, every 20 groups with 20 meters space in between, and will activate a group of the array every 10 seconds with a 0.2 time randomization.
SpawnTestVisible = SPAWN:New( "Spawn Vehicle Visible Scheduled" ):Limit( 200, 200 ):Array( 59, 20, 30, 30 ):SpawnScheduled( 10, 0.2 )
SpawnTestVisible = SPAWN:New( "Spawn Vehicle Visible Scheduled" ):InitLimit( 200, 200 ):InitArray( 59, 20, 30, 30 ):SpawnScheduled( 10, 0.2 )
-- Spawn_Templates_Visible contains different templates...
Spawn_Templates_Visible = { "Spawn Vehicle Visible Template A",
@ -104,20 +104,20 @@ Spawn_Templates_Visible = { "Spawn Vehicle Visible Template A",
-- and chooses for each group from the templates specified in Spawn_Templates_Visible.
Spawn_Vehicle_Visible_RandomizeTemplate_Scheduled = SPAWN:New( "Spawn Vehicle Visible RandomizeTemplate Scheduled" )
:Limit( 80, 80 )
:RandomizeTemplate( Spawn_Templates_Visible )
:RandomizeRoute( 1, 1, 300 )
:Array( 49, 20, 8, 8 )
:InitLimit( 80, 80 )
:InitRandomizeTemplate( Spawn_Templates_Visible )
:InitRandomizeRoute( 1, 1, 300 )
:InitArray( 49, 20, 8, 8 )
:SpawnScheduled( 1, 0.2 )
-- Spawn_Infantry allows to spawn 10 Infantry groups.
Spawn_Infantry = SPAWN:New( "Spawn Infantry" )
:Limit( 10, 10 )
:InitLimit( 10, 10 )
-- Spawn_Vehicle_Host reserves 10 vehicle groups, shown within an array arranged by 5 vehicles in a row with a distance of 8 meters, and schedules a vehicle each 10 seconds with a 20% variation.
Spawn_Vehicle_Host = SPAWN:New( "Spawn Vehicle Host" )
:Limit( 10, 10 )
:Array( 0, 5, 8, 8 )
:InitLimit( 10, 10 )
:InitArray( 0, 5, 8, 8 )
:SpawnScheduled( 10, 0.2 )
-- Spawn_Vehicle_SpawnToZone allows to spawn 10 vehicle groups.
@ -128,7 +128,7 @@ Spawn_Vehicle_Host = SPAWN:New( "Spawn Vehicle Host" )
-- InfantryGroup:Route( InfantryRoute )
-- ---------------------------------------------------------------------------------------------
Spawn_Vehicle_SpawnToZone = SPAWN:New( "Spawn Vehicle SpawnToZone" )
:Limit( 10, 10 )
:InitLimit( 10, 10 )
-- Spawn_Helicopter_SpawnToZone will fly to a location, hover, and spawn one vehicle on the ground, the helicopter will land
-- and the vehicle will drive to a random location within the defined zone.
@ -139,7 +139,7 @@ Spawn_Vehicle_SpawnToZone = SPAWN:New( "Spawn Vehicle SpawnToZone" )
-- InfantryDropGroup:TaskRouteToZone( ZONE:New( "Target Zone" ), true, 80 )
-- ------------------------------------------------------------------------------------------------------
Spawn_Helicopter_SpawnToZone = SPAWN:New( "Spawn Helicopter SpawnToZone" )
:Limit( 10, 10 )
:InitLimit( 10, 10 )
:SpawnScheduled( 60, 0.2 )

View File

@ -3,6 +3,6 @@
-- Tests the CleanUp functionality.
-- Limited spawning of groups, scheduled every 10 seconds, who are engaging into combat. Some helicopters may crash land on the ground.
-- Observe when helicopters land but are not dead and are out of the danger zone, that they get removed after a while (+/- 180 seconds) and ReSpawn.
Spawn_Helicopter_Scheduled_CleanUp = SPAWN:New( "Spawn Helicopter Scheduled CleanUp" ):Limit( 3, 100 ):RandomizeRoute( 1, 1, 1000 ):CleanUp( 60 ):SpawnScheduled( 10, 0 )
Spawn_Vehicle_Scheduled_CleanUp = SPAWN:New( "Spawn Vehicle Scheduled CleanUp" ):Limit( 3, 100 ):RandomizeRoute( 1, 1, 1000 ):SpawnScheduled( 10, 0 )
Spawn_Helicopter_Scheduled_CleanUp = SPAWN:New( "Spawn Helicopter Scheduled CleanUp" ):InitLimit( 3, 100 ):InitRandomizeRoute( 1, 1, 1000 ):CleanUp( 60 ):SpawnScheduled( 10, 0 )
Spawn_Vehicle_Scheduled_CleanUp = SPAWN:New( "Spawn Vehicle Scheduled CleanUp" ):InitLimit( 3, 100 ):InitRandomizeRoute( 1, 1, 1000 ):SpawnScheduled( 10, 0 )

View File

@ -1,15 +1,15 @@
-- Tests Gudauta
-- --------------
-- Limited spawning of groups, scheduled every 30 seconds ...
Spawn_Plane_Limited_Scheduled = SPAWN:New( "Spawn Plane Limited Scheduled" ):Limit( 4, 20 ):SpawnScheduled( 30, 0 )
Spawn_Helicopter_Limited_Scheduled = SPAWN:New( "Spawn Helicopter Limited Scheduled" ):Limit( 4, 20 ):SpawnScheduled( 30, 0 )
Spawn_Ground_Limited_Scheduled = SPAWN:New( "Spawn Vehicle Limited Scheduled" ):Limit( 4, 20 ):SpawnScheduled( 90, 0 )
Spawn_Plane_Limited_Scheduled = SPAWN:New( "Spawn Plane Limited Scheduled" ):InitLimit( 4, 20 ):SpawnScheduled( 30, 0 )
Spawn_Helicopter_Limited_Scheduled = SPAWN:New( "Spawn Helicopter Limited Scheduled" ):InitLimit( 4, 20 ):SpawnScheduled( 30, 0 )
Spawn_Ground_Limited_Scheduled = SPAWN:New( "Spawn Vehicle Limited Scheduled" ):InitLimit( 4, 20 ):SpawnScheduled( 90, 0 )
-- Tests Sukhumi
-- -------------
-- Limited spawning of groups, scheduled every seconds with destruction.
Spawn_Plane_Limited_Scheduled_RandomizeRoute = SPAWN:New( "Spawn Plane Limited Scheduled Destroy" ):Limit( 4, 20 ):SpawnScheduled( 10, 0 )
Spawn_Helicopter_Limited_Scheduled_RandomizeRoute = SPAWN:New( "Spawn Helicopter Limited Scheduled Destroy" ):Limit( 4, 20 ):SpawnScheduled( 10, 0 )
Spawn_Vehicle_Limited_Scheduled_RandomizeRoute = SPAWN:New( "Spawn Vehicle Limited Scheduled Destroy" ):Limit( 4, 20 ):SpawnScheduled( 10, 0 )
Spawn_Plane_Limited_Scheduled_RandomizeRoute = SPAWN:New( "Spawn Plane Limited Scheduled Destroy" ):InitLimit( 4, 20 ):SpawnScheduled( 10, 0 )
Spawn_Helicopter_Limited_Scheduled_RandomizeRoute = SPAWN:New( "Spawn Helicopter Limited Scheduled Destroy" ):InitLimit( 4, 20 ):SpawnScheduled( 10, 0 )
Spawn_Vehicle_Limited_Scheduled_RandomizeRoute = SPAWN:New( "Spawn Vehicle Limited Scheduled Destroy" ):InitLimit( 4, 20 ):SpawnScheduled( 10, 0 )

View File

@ -4,7 +4,7 @@
Templates = { "Template1", "Template2", "Template3", "Template4" }
Spawn_Ground1 = SPAWN:New( "Spawn Vehicle1" ):Limit( 4, 20 ):RandomizeTemplate(Templates):SpawnScheduled( 15, 0 )
Spawn_Ground2 = SPAWN:New( "Spawn Vehicle2" ):Limit( 4, 20 ):RandomizeTemplate(Templates):SpawnScheduled( 15, 0 )
Spawn_Ground1 = SPAWN:New( "Spawn Vehicle1" ):InitLimit( 4, 20 ):InitRandomizeTemplate(Templates):SpawnScheduled( 15, 0 )
Spawn_Ground2 = SPAWN:New( "Spawn Vehicle2" ):InitLimit( 4, 20 ):InitRandomizeTemplate(Templates):SpawnScheduled( 15, 0 )

View File

@ -9,10 +9,10 @@ ShipStatics = { "ShipStatic1", "ShipStatic2", "ShipStatic3" }
HeightLimit = 500
SpawnGrounds = SPAWN:New("Ground"):Limit( 20, 10 )
SpawnAirplanes = SPAWN:New("Airplane"):Limit( 20, 10 )
SpawnHelicopters = SPAWN:New("Helicopter"):Limit( 20, 10 )
SpawnShips = SPAWN:New("Ship"):Limit( 20, 10 )
SpawnGrounds = SPAWN:New("Ground"):InitLimit( 20, 10 ):InitRandomizeUnits( true, 500, 100 )
SpawnAirplanes = SPAWN:New("Airplane"):InitLimit( 20, 10 ):InitRandomizeUnits( true, 500, 100 )
SpawnHelicopters = SPAWN:New("Helicopter"):InitLimit( 20, 10 ):InitRandomizeUnits( true, 500, 100 )
SpawnShips = SPAWN:New("Ship"):InitLimit( 20, 10 ):InitRandomizeUnits( true, 500, 100 )
--- Spawns these groups slowly.
SCHEDULER:New( nil,
@ -22,28 +22,28 @@ SCHEDULER:New( nil,
-- Spawn Ground
local StaticName = GroundStatics[ math.random( 1, 3 ) ]
local SpawnStatic = STATIC:FindByName( StaticName )
SpawnGrounds:SpawnFromUnit( SpawnStatic, 500, 100 )
SpawnGrounds:SpawnFromUnit( SpawnStatic )
end
do
-- Spawn Airplanes
local StaticName = AirplaneStatics[ math.random( 1, 3 ) ]
local SpawnStatic = STATIC:FindByName( StaticName )
SpawnAirplanes:SpawnFromUnit( SpawnStatic, 500, 100 )
SpawnAirplanes:SpawnFromUnit( SpawnStatic )
end
do
-- Spawn Helicopters
local StaticName = HelicopterStatics[ math.random( 1, 3 ) ]
local SpawnStatic = STATIC:FindByName( StaticName )
SpawnHelicopters:SpawnFromUnit( SpawnStatic, 500, 100 )
SpawnHelicopters:SpawnFromUnit( SpawnStatic )
end
do
-- Spawn Ships
local StaticName = ShipStatics[ math.random( 1, 3 ) ]
local SpawnStatic = STATIC:FindByName( StaticName )
SpawnShips:SpawnFromUnit( SpawnStatic, 500, 100 )
SpawnShips:SpawnFromUnit( SpawnStatic )
end
end, {}, 0, 15, 0.5

View File

@ -9,10 +9,10 @@ ShipUnits = { "ShipUnit1", "ShipUnit2", "ShipUnit3" }
HeightLimit = 500
SpawnGrounds = SPAWN:New("Ground"):Limit( 20, 10 )
SpawnAirplanes = SPAWN:New("Airplane"):Limit( 20, 10 )
SpawnHelicopters = SPAWN:New("Helicopter"):Limit( 20, 10 )
SpawnShips = SPAWN:New("Ship"):Limit( 20, 10 )
SpawnGrounds = SPAWN:New("Ground"):InitLimit( 20, 10 ):InitRandomizeUnits( true, 10, 3 )
SpawnAirplanes = SPAWN:New("Airplane"):InitLimit( 20, 10 )
SpawnHelicopters = SPAWN:New("Helicopter"):InitLimit( 20, 10 )
SpawnShips = SPAWN:New("Ship"):InitLimit( 20, 10 )
--- Spawns these groups slowly.
SCHEDULER:New( nil,
@ -22,7 +22,7 @@ SCHEDULER:New( nil,
-- Spawn Ground
local UnitName = GroundUnits[ math.random( 1, 3 ) ]
local SpawnUnit = UNIT:FindByName( UnitName )
SpawnGrounds:SpawnFromUnit( SpawnUnit, 10, 3 )
SpawnGrounds:SpawnFromUnit( SpawnUnit )
end
do

View File

@ -3,16 +3,18 @@ local Iterations = 10
local Iteration = 1
GroundZones = { "GroundZone1", "GroundZone2", "GroundZone3" }
GroundRandomizeZones = { "GroundRandomizeZone1", "GroundRandomizeZone2", "GroundRandomizeZone3" }
AirplaneZones = { "AirplaneZone1", "AirplaneZone2", "AirplaneZone3" }
HelicopterZones = { "HelicopterZone1", "HelicopterZone2", "HelicopterZone3" }
ShipZones = { "ShipZone1", "ShipZone2", "ShipZone3" }
HeightLimit = 500
SpawnGrounds = SPAWN:New("Ground"):Limit( 20, 10 )
SpawnAirplanes = SPAWN:New("Airplane"):Limit( 20, 10 )
SpawnHelicopters = SPAWN:New("Helicopter"):Limit( 20, 10 )
SpawnShips = SPAWN:New("Ship"):Limit( 20, 10 )
SpawnGrounds = SPAWN:New("Ground"):InitLimit( 20, 10 )
SpawnRandomizeGrounds = SPAWN:New("GroundRandomize"):InitLimit( 20, 10 ):InitRandomizeUnits( true, 500, 100 )
SpawnAirplanes = SPAWN:New("Airplane"):InitLimit( 20, 10 )
SpawnHelicopters = SPAWN:New("Helicopter"):InitLimit( 20, 10 )
SpawnShips = SPAWN:New("Ship"):InitLimit( 20, 10 )
--- Spawns these groups slowly.
SCHEDULER:New( nil,
@ -21,29 +23,36 @@ SCHEDULER:New( nil,
do
-- Spawn Ground
local ZoneName = GroundZones[ math.random( 1, 3 ) ]
local SpawnVec3 = POINT_VEC3:NewFromVec3( ZONE:New( ZoneName ):GetPointVec3() )
SpawnGrounds:SpawnFromVec2( SpawnVec3:GetVec2(), 500, 100 )
local SpawnVec3 = POINT_VEC3:NewFromVec3( ZONE:New( ZoneName ):GetVec3() )
SpawnGrounds:SpawnFromVec2( SpawnVec3:GetVec2() )
end
do
-- Spawn Ground Randomize
local ZoneName = GroundRandomizeZones[ math.random( 1, 3 ) ]
local SpawnVec3 = POINT_VEC3:NewFromVec3( ZONE:New( ZoneName ):GetVec3() )
SpawnRandomizeGrounds:SpawnFromVec2( SpawnVec3:GetVec2() )
end
do
-- Spawn Airplanes
local ZoneName = AirplaneZones[ math.random( 1, 3 ) ]
local SpawnVec3 = POINT_VEC3:NewFromVec3( ZONE:New( ZoneName ):GetPointVec3() )
SpawnAirplanes:SpawnFromVec2( SpawnVec3:GetVec2(), 500, 100 )
local SpawnVec3 = POINT_VEC3:NewFromVec3( ZONE:New( ZoneName ):GetVec3() )
SpawnAirplanes:SpawnFromVec2( SpawnVec3:GetVec2() )
end
do
-- Spawn Helicopters
local ZoneName = HelicopterZones[ math.random( 1, 3 ) ]
local SpawnVec3 = POINT_VEC3:NewFromVec3( ZONE:New( ZoneName ):GetPointVec3() )
SpawnHelicopters:SpawnFromVec2( SpawnVec3:GetVec2(), 500, 100 )
local SpawnVec3 = POINT_VEC3:NewFromVec3( ZONE:New( ZoneName ):GetVec3() )
SpawnHelicopters:SpawnFromVec2( SpawnVec3:GetVec2() )
end
do
-- Spawn Ships
local ZoneName = ShipZones[ math.random( 1, 3 ) ]
local SpawnVec3 = POINT_VEC3:NewFromVec3( ZONE:New( ZoneName ):GetPointVec3() )
SpawnShips:SpawnFromVec2( SpawnVec3:GetVec2(), 500, 100 )
local SpawnVec3 = POINT_VEC3:NewFromVec3( ZONE:New( ZoneName ):GetVec3() )
SpawnShips:SpawnFromVec2( SpawnVec3:GetVec2() )
end
end, {}, 0, 15, 0.5

View File

@ -10,11 +10,11 @@ ShipZones = { "ShipZone1", "ShipZone2", "ShipZone3" }
HeightLimit = 500
SpawnGrounds = SPAWN:New("Ground"):Limit( 20, 10 )
SpawnRandomizeGrounds = SPAWN:New("GroundRandomize"):Limit( 20, 10 )
SpawnAirplanes = SPAWN:New("Airplane"):Limit( 20, 10 )
SpawnHelicopters = SPAWN:New("Helicopter"):Limit( 20, 10 )
SpawnShips = SPAWN:New("Ship"):Limit( 20, 10 )
SpawnGrounds = SPAWN:New("Ground"):InitLimit( 20, 10 )
SpawnRandomizeGrounds = SPAWN:New("GroundRandomize"):InitLimit( 20, 10 ):InitRandomizeUnits( true, 500, 100 )
SpawnAirplanes = SPAWN:New("Airplane"):InitLimit( 20, 10 )
SpawnHelicopters = SPAWN:New("Helicopter"):InitLimit( 20, 10 )
SpawnShips = SPAWN:New("Ship"):InitLimit( 20, 10 )
--- Spawns these groups slowly.
SCHEDULER:New( nil,
@ -24,35 +24,35 @@ SCHEDULER:New( nil,
-- Spawn Ground
local ZoneName = GroundZones[ math.random( 1, 3 ) ]
local SpawnVec3 = POINT_VEC3:NewFromVec3( ZONE:New( ZoneName ):GetVec3() )
SpawnGrounds:SpawnFromVec3( SpawnVec3:GetVec3(), false, 500, 100 )
SpawnGrounds:SpawnFromVec3( SpawnVec3:GetVec3() )
end
do
-- Spawn Ground Randomize
local ZoneName = GroundRandomizeZones[ math.random( 1, 3 ) ]
local SpawnVec3 = POINT_VEC3:NewFromVec3( ZONE:New( ZoneName ):GetVec3() )
SpawnRandomizeGrounds:SpawnFromVec3( SpawnVec3:GetVec3(), true, 500, 100 )
SpawnRandomizeGrounds:SpawnFromVec3( SpawnVec3:GetVec3() )
end
do
-- Spawn Airplanes
local ZoneName = AirplaneZones[ math.random( 1, 3 ) ]
local SpawnVec3 = POINT_VEC3:NewFromVec3( ZONE:New( ZoneName ):GetVec3() )
SpawnAirplanes:SpawnFromVec3( SpawnVec3:GetVec3(), false, 500, 100 )
SpawnAirplanes:SpawnFromVec3( SpawnVec3:GetVec3() )
end
do
-- Spawn Helicopters
local ZoneName = HelicopterZones[ math.random( 1, 3 ) ]
local SpawnVec3 = POINT_VEC3:NewFromVec3( ZONE:New( ZoneName ):GetVec3() )
SpawnHelicopters:SpawnFromVec3( SpawnVec3:GetVec3(), false, 500, 100 )
SpawnHelicopters:SpawnFromVec3( SpawnVec3:GetVec3() )
end
do
-- Spawn Ships
local ZoneName = ShipZones[ math.random( 1, 3 ) ]
local SpawnVec3 = POINT_VEC3:NewFromVec3( ZONE:New( ZoneName ):GetVec3() )
SpawnShips:SpawnFromVec3( SpawnVec3:GetVec3(), false, 500, 100 )
SpawnShips:SpawnFromVec3( SpawnVec3:GetVec3() )
end
end, {}, 0, 15, 0.5

View File

@ -21,7 +21,7 @@
<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="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>
@ -65,6 +65,7 @@
<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>
@ -80,6 +81,7 @@
<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>

View File

@ -21,7 +21,7 @@
<li>Airbase</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="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>
@ -65,6 +65,7 @@
<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>
@ -80,6 +81,7 @@
<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>

View File

@ -21,7 +21,7 @@
<li><a href="Airbase.html">Airbase</a></li>
<li>AirbasePolice</li>
<li><a href="Base.html">Base</a></li>
<li><a href="CARGO.html">CARGO</a></li>
<li><a href="Cargo.html">Cargo</a></li>
<li><a href="CleanUp.html">CleanUp</a></li>
<li><a href="Client.html">Client</a></li>
<li><a href="Controllable.html">Controllable</a></li>
@ -65,6 +65,7 @@
<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>
@ -80,6 +81,7 @@
<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>

View File

@ -21,7 +21,7 @@
<li><a href="Airbase.html">Airbase</a></li>
<li><a href="AirbasePolice.html">AirbasePolice</a></li>
<li>Base</li>
<li><a href="CARGO.html">CARGO</a></li>
<li><a href="Cargo.html">Cargo</a></li>
<li><a href="CleanUp.html">CleanUp</a></li>
<li><a href="Client.html">Client</a></li>
<li><a href="Controllable.html">Controllable</a></li>
@ -65,6 +65,7 @@
<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>
@ -80,6 +81,7 @@
<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>

File diff suppressed because it is too large Load Diff

View File

@ -21,7 +21,7 @@
<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="Cargo.html">Cargo</a></li>
<li>CleanUp</li>
<li><a href="Client.html">Client</a></li>
<li><a href="Controllable.html">Controllable</a></li>
@ -65,6 +65,7 @@
<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>
@ -80,6 +81,7 @@
<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>

View File

@ -21,7 +21,7 @@
<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="Cargo.html">Cargo</a></li>
<li><a href="CleanUp.html">CleanUp</a></li>
<li>Client</li>
<li><a href="Controllable.html">Controllable</a></li>
@ -65,6 +65,7 @@
<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>
@ -80,6 +81,7 @@
<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>

View File

@ -21,7 +21,7 @@
<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="Cargo.html">Cargo</a></li>
<li><a href="CleanUp.html">CleanUp</a></li>
<li><a href="Client.html">Client</a></li>
<li>Controllable</li>
@ -65,6 +65,7 @@
<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>
@ -80,6 +81,7 @@
<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>
@ -548,7 +550,7 @@ A speed can be given in km/h.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(CONTROLLABLE).TaskAttackMapObject">CONTROLLABLE:TaskAttackMapObject(PointVec2, WeaponType, WeaponExpend, AttackQty, Direction, ControllableAttack)</a></td>
<td class="name" nowrap="nowrap"><a href="##(CONTROLLABLE).TaskAttackMapObject">CONTROLLABLE:TaskAttackMapObject(Vec2, WeaponType, WeaponExpend, AttackQty, Direction, ControllableAttack)</a></td>
<td class="summary">
<p>(AIR) Attacking the map object (building, structure, e.t.c).</p>
</td>
@ -560,7 +562,7 @@ A speed can be given in km/h.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(CONTROLLABLE).TaskBombing">CONTROLLABLE:TaskBombing(PointVec2, WeaponType, WeaponExpend, AttackQty, Direction, ControllableAttack)</a></td>
<td class="name" nowrap="nowrap"><a href="##(CONTROLLABLE).TaskBombing">CONTROLLABLE:TaskBombing(Vec2, WeaponType, WeaponExpend, AttackQty, Direction, ControllableAttack)</a></td>
<td class="summary">
<p>(AIR) Delivering weapon at the point on the ground. </p>
</td>
@ -602,7 +604,7 @@ A speed can be given in km/h.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(CONTROLLABLE).TaskEscort">CONTROLLABLE:TaskEscort(EscortControllable, PointVec3, LastWaypointIndex, EngagementDistanceMax, TargetTypes, FollowControllable, EngagementDistance)</a></td>
<td class="name" nowrap="nowrap"><a href="##(CONTROLLABLE).TaskEscort">CONTROLLABLE:TaskEscort(EscortControllable, Vec3, LastWaypointIndex, EngagementDistanceMax, TargetTypes, FollowControllable, EngagementDistance)</a></td>
<td class="summary">
<p>(AIR) Escort another airborne controllable.</p>
</td>
@ -614,13 +616,13 @@ A speed can be given in km/h.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(CONTROLLABLE).TaskFireAtPoint">CONTROLLABLE:TaskFireAtPoint(PointVec2, Radius)</a></td>
<td class="name" nowrap="nowrap"><a href="##(CONTROLLABLE).TaskFireAtPoint">CONTROLLABLE:TaskFireAtPoint(Vec2, Radius)</a></td>
<td class="summary">
<p>(GROUND) Fire at a VEC2 point until ammunition is finished.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(CONTROLLABLE).TaskFollow">CONTROLLABLE:TaskFollow(FollowControllable, PointVec3, LastWaypointIndex)</a></td>
<td class="name" nowrap="nowrap"><a href="##(CONTROLLABLE).TaskFollow">CONTROLLABLE:TaskFollow(FollowControllable, Vec3, LastWaypointIndex)</a></td>
<td class="summary">
<p>(AIR) Following another airborne controllable.</p>
</td>
@ -2189,7 +2191,7 @@ The DCS task structure.</p>
<dt>
<a id="#(CONTROLLABLE).TaskAttackMapObject" >
<strong>CONTROLLABLE:TaskAttackMapObject(PointVec2, WeaponType, WeaponExpend, AttackQty, Direction, ControllableAttack)</strong>
<strong>CONTROLLABLE:TaskAttackMapObject(Vec2, WeaponType, WeaponExpend, AttackQty, Direction, ControllableAttack)</strong>
</a>
</dt>
<dd>
@ -2200,7 +2202,7 @@ The DCS task structure.</p>
<ul>
<li>
<p><code><em><a href="DCSTypes.html##(Vec2)">DCSTypes#Vec2</a> PointVec2 </em></code>:
<p><code><em><a href="DCSTypes.html##(Vec2)">DCSTypes#Vec2</a> Vec2 </em></code>:
2D-coordinates of the point the map object is closest to. The distance between the point and the map object must not be greater than 2000 meters. Object id is not used here because Mission Editor doesn't support map object identificators.</p>
</li>
@ -2309,7 +2311,7 @@ The DCS task structure.</p>
<dt>
<a id="#(CONTROLLABLE).TaskBombing" >
<strong>CONTROLLABLE:TaskBombing(PointVec2, WeaponType, WeaponExpend, AttackQty, Direction, ControllableAttack)</strong>
<strong>CONTROLLABLE:TaskBombing(Vec2, WeaponType, WeaponExpend, AttackQty, Direction, ControllableAttack)</strong>
</a>
</dt>
<dd>
@ -2320,7 +2322,7 @@ The DCS task structure.</p>
<ul>
<li>
<p><code><em><a href="DCSTypes.html##(Vec2)">DCSTypes#Vec2</a> PointVec2 </em></code>:
<p><code><em><a href="DCSTypes.html##(Vec2)">DCSTypes#Vec2</a> Vec2 </em></code>:
2D-coordinates of the point to deliver weapon at.</p>
</li>
@ -2600,7 +2602,7 @@ The DCS task structure</p>
<dt>
<a id="#(CONTROLLABLE).TaskEscort" >
<strong>CONTROLLABLE:TaskEscort(EscortControllable, PointVec3, LastWaypointIndex, EngagementDistanceMax, TargetTypes, FollowControllable, EngagementDistance)</strong>
<strong>CONTROLLABLE:TaskEscort(EscortControllable, Vec3, LastWaypointIndex, EngagementDistanceMax, TargetTypes, FollowControllable, EngagementDistance)</strong>
</a>
</dt>
<dd>
@ -2621,7 +2623,7 @@ The controllable to be escorted.</p>
</li>
<li>
<p><code><em><a href="DCSTypes.html##(Vec3)">DCSTypes#Vec3</a> PointVec3 </em></code>:
<p><code><em><a href="DCSTypes.html##(Vec3)">DCSTypes#Vec3</a> Vec3 </em></code>:
Position of the unit / lead unit of the controllable relative lead unit of another controllable in frame reference oriented by course of lead unit of another controllable. If another controllable is on land the unit / controllable will orbit around.</p>
</li>
@ -2714,7 +2716,7 @@ The DCS task structure.</p>
<dt>
<a id="#(CONTROLLABLE).TaskFireAtPoint" >
<strong>CONTROLLABLE:TaskFireAtPoint(PointVec2, Radius)</strong>
<strong>CONTROLLABLE:TaskFireAtPoint(Vec2, Radius)</strong>
</a>
</dt>
<dd>
@ -2725,7 +2727,7 @@ The DCS task structure.</p>
<ul>
<li>
<p><code><em><a href="DCSTypes.html##(Vec2)">DCSTypes#Vec2</a> PointVec2 </em></code>:
<p><code><em><a href="DCSTypes.html##(Vec2)">DCSTypes#Vec2</a> Vec2 </em></code>:
The point to fire at.</p>
</li>
@ -2747,7 +2749,7 @@ The DCS task structure.</p>
<dt>
<a id="#(CONTROLLABLE).TaskFollow" >
<strong>CONTROLLABLE:TaskFollow(FollowControllable, PointVec3, LastWaypointIndex)</strong>
<strong>CONTROLLABLE:TaskFollow(FollowControllable, Vec3, LastWaypointIndex)</strong>
</a>
</dt>
<dd>
@ -2768,7 +2770,7 @@ The controllable to be followed.</p>
</li>
<li>
<p><code><em><a href="DCSTypes.html##(Vec3)">DCSTypes#Vec3</a> PointVec3 </em></code>:
<p><code><em><a href="DCSTypes.html##(Vec3)">DCSTypes#Vec3</a> Vec3 </em></code>:
Position of the unit / lead unit of the controllable relative lead unit of another controllable in frame reference oriented by course of lead unit of another controllable. If another controllable is on land the unit / controllable will orbit around.</p>
</li>

View File

@ -21,7 +21,7 @@
<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="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>
@ -65,6 +65,7 @@
<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>
@ -80,6 +81,7 @@
<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>

View File

@ -21,7 +21,7 @@
<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="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>
@ -65,6 +65,7 @@
<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>
@ -80,6 +81,7 @@
<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>

View File

@ -21,7 +21,7 @@
<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="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>
@ -65,6 +65,7 @@
<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>
@ -80,6 +81,7 @@
<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>

View File

@ -21,7 +21,7 @@
<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="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>
@ -65,6 +65,7 @@
<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>
@ -80,6 +81,7 @@
<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>

View File

@ -21,7 +21,7 @@
<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="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>
@ -65,6 +65,7 @@
<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>
@ -80,6 +81,7 @@
<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>

View File

@ -21,7 +21,7 @@
<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="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>
@ -65,6 +65,7 @@
<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>
@ -80,6 +81,7 @@
<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>

View File

@ -21,7 +21,7 @@
<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="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>
@ -65,6 +65,7 @@
<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>
@ -80,6 +81,7 @@
<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>

View File

@ -21,7 +21,7 @@
<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="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>
@ -65,6 +65,7 @@
<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>
@ -80,6 +81,7 @@
<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>

View File

@ -21,7 +21,7 @@
<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="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>
@ -65,6 +65,7 @@
<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>
@ -80,6 +81,7 @@
<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>

View File

@ -21,7 +21,7 @@
<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="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>
@ -65,6 +65,7 @@
<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>
@ -80,6 +81,7 @@
<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>

View File

@ -21,7 +21,7 @@
<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="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>
@ -65,6 +65,7 @@
<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>
@ -80,6 +81,7 @@
<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>

View File

@ -21,7 +21,7 @@
<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="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>
@ -65,6 +65,7 @@
<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>
@ -80,6 +81,7 @@
<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>

View File

@ -21,7 +21,7 @@
<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="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>
@ -65,6 +65,7 @@
<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>
@ -80,6 +81,7 @@
<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>

Some files were not shown because too many files have changed in this diff Show More