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

# Conflicts:
#	Moose Mission Setup/Moose Mission Update/l10n/DEFAULT/Moose.lua
#	Moose Mission Setup/Moose.lua
#	Moose Test Missions/Moose_Test_AIBALANCER/Moose_Test_AIBALANCER.miz
#	Moose Test
Missions/Moose_Test_AIRBASEPOLICE/Moose_Test_AIRBASEPOLICE.miz
#	Moose Test
Missions/Moose_Test_BASE/Moose_Test_AIRBLANCER_with_Moose.miz
#	Moose Test
Missions/Moose_Test_BASE/Moose_Test_AIRBLANCER_without_Moose.miz
#	Moose Test Missions/Moose_Test_BASE/Moose_Test_BASE.miz
#	Moose Test Missions/Moose_Test_CLEANUP/Moose_Test_CLEANUP.miz
#	Moose Test Missions/Moose_Test_DESTROY/MOOSE_Test_DESTROY.miz
#	Moose Test Missions/Moose_Test_DETECTION/Moose_Test_DETECTION.miz
#	Moose Test
Missions/Moose_Test_DETECTION/Moose_Test_DETECTION_Laser.miz
#	Moose Test Missions/Moose_Test_ESCORT/MOOSE_Test_ESCORT.miz
#	Moose Test Missions/Moose_Test_FAC/Moose_Test_FAC.miz
#	Moose Test
Missions/Moose_Test_MISSILETRAINER/Moose_Test_MISSILETRAINER.miz
#	Moose Test Missions/Moose_Test_PATROLZONE/MOOSE_Test_PATROLZONE.miz
#	Moose Test Missions/Moose_Test_SEAD/MOOSE_Test_SEAD.miz
#	Moose Test Missions/Moose_Test_SET_AIRBASE/Moose_Test_SET_AIRBASE.miz
#	Moose Test Missions/Moose_Test_SET_CLIENT/Moose_Test_SET_CLIENT.miz
#	Moose Test Missions/Moose_Test_SET_GROUP/Moose_Test_SET_GROUP.miz
#	Moose Test Missions/Moose_Test_SPAWN/MOOSE_Test_SPAWN.miz
#	Moose Test
Missions/Moose_Test_SPAWN_Repeat/MOOSE_Test_SPAWN_Repeat.miz
#	Moose Test
Missions/Moose_Test_TASK_Pickup_and_Deploy/MOOSE_Test_TASK_Pickup_and_Deploy.miz
#	Moose Test Missions/Moose_Test_WRAPPER/Moose_Test_WRAPPER.miz
#	Moose Test Missions/Moose_Test_ZONE/Moose_Test_ZONE.miz
#	Moose Test
Missions/Moose_Test_ZONE_POLYGON/Moose_Test_ZONE_POLYGON.miz
#	Moose Test Missions/Moose_Test_ZONE_RADIUS/Moose_Test_ZONE_RADIUS.miz
#	Moose Test Missions/Moose_Test_ZONE_UNIT/Moose_Test_ZONE_UNIT.miz
This commit is contained in:
FlightControl 2016-07-06 08:31:28 +02:00
commit 6f14927544
72 changed files with 1354 additions and 785 deletions

View File

@ -3,6 +3,7 @@
--- @type country
-- @field #country.id id
country = country -- #country
--- @type country.id
-- @field RUSSIA
@ -23,4 +24,4 @@
-- @field INSURGENTS
-- @field ABKHAZIA
-- @field SOUTH_OSETIA
-- @field ITALY
-- @field ITALY

View File

@ -353,8 +353,20 @@ end
-- @param #number FromWayPoint
-- @param #number ToWayPoint
-- @return DCSTask#Task
function CONTROLLABLE:CommandSwitchWayPoint( FromWayPoint, ToWayPoint, Index )
self:F2( { FromWayPoint, ToWayPoint, Index } )
-- @usage
-- --- This test demonstrates the use(s) of the SwitchWayPoint method of the GROUP class.
-- HeliGroup = GROUP:FindByName( "Helicopter" )
--
-- --- Route the helicopter back to the FARP after 60 seconds.
-- -- We use the SCHEDULER class to do this.
-- SCHEDULER:New( nil,
-- function( HeliGroup )
-- local CommandRTB = HeliGroup:CommandSwitchWayPoint( 2, 8 )
-- HeliGroup:SetCommand( CommandRTB )
-- end, { HeliGroup }, 90
-- )
function CONTROLLABLE:CommandSwitchWayPoint( FromWayPoint, ToWayPoint )
self:F2( { FromWayPoint, ToWayPoint } )
local CommandSwitchWayPoint = {
id = 'SwitchWaypoint',
@ -392,7 +404,7 @@ end
--- (AIR) Attack a Controllable.
-- @param #CONTROLLABLE self
-- @param Controllable#CONTROLLABLE AttackControllable The Controllable to be attacked.
-- @param Controllable#CONTROLLABLE AttackGroup The Controllable to be attacked.
-- @param #number WeaponType (optional) Bitmask of weapon types those allowed to use. If parameter is not defined that means no limits on weapon usage.
-- @param DCSTypes#AI.Task.WeaponExpend WeaponExpend (optional) Determines how much weapon will be released at each attack. If parameter is not defined the unit / controllable will choose expend on its own discretion.
-- @param #number AttackQty (optional) This parameter limits maximal quantity of attack. The aicraft/controllable will not make more attack than allowed even if the target controllable not destroyed and the aicraft/controllable still have ammo. If not defined the aircraft/controllable will attack target until it will be destroyed or until the aircraft/controllable will run out of ammo.
@ -400,8 +412,8 @@ end
-- @param DCSTypes#Distance Altitude (optional) Desired attack start altitude. Controllable/aircraft will make its attacks from the altitude. If the altitude is too low or too high to use weapon aircraft/controllable will choose closest altitude to the desired attack start altitude. If the desired altitude is defined controllable/aircraft will not attack from safe altitude.
-- @param #boolean AttackQtyLimit (optional) The flag determines how to interpret attackQty parameter. If the flag is true then attackQty is a limit on maximal attack quantity for "AttackControllable" and "AttackUnit" tasks. If the flag is false then attackQty is a desired attack quantity for "Bombing" and "BombingRunway" tasks.
-- @return DCSTask#Task The DCS task structure.
function CONTROLLABLE:TaskAttackControllable( AttackControllable, WeaponType, WeaponExpend, AttackQty, Direction, Altitude, AttackQtyLimit )
self:F2( { self.ControllableName, AttackControllable, WeaponType, WeaponExpend, AttackQty, Direction, Altitude, AttackQtyLimit } )
function CONTROLLABLE:TaskAttackGroup( AttackGroup, WeaponType, WeaponExpend, AttackQty, Direction, Altitude, AttackQtyLimit )
self:F2( { self.ControllableName, AttackGroup, WeaponType, WeaponExpend, AttackQty, Direction, Altitude, AttackQtyLimit } )
-- AttackControllable = {
-- id = 'AttackControllable',
@ -431,7 +443,7 @@ function CONTROLLABLE:TaskAttackControllable( AttackControllable, WeaponType, We
local DCSTask
DCSTask = { id = 'AttackControllable',
params = {
controllableId = AttackControllable:GetID(),
controllableId = AttackGroup:GetID(),
weaponType = WeaponType,
expend = WeaponExpend,
attackQty = AttackQty,
@ -923,13 +935,13 @@ end
-- The killer is player-controlled allied CAS-aircraft that is in contact with the FAC.
-- If the task is assigned to the controllable lead unit will be a FAC.
-- @param #CONTROLLABLE self
-- @param Controllable#CONTROLLABLE AttackControllable Target CONTROLLABLE.
-- @param Controllable#CONTROLLABLE AttackGroup Target CONTROLLABLE.
-- @param #number WeaponType Bitmask of weapon types those allowed to use. If parameter is not defined that means no limits on weapon usage.
-- @param DCSTypes#AI.Task.Designation Designation (optional) Designation type.
-- @param #boolean Datalink (optional) Allows to use datalink to send the target information to attack aircraft. Enabled by default.
-- @return DCSTask#Task The DCS task structure.
function CONTROLLABLE:TaskFAC_AttackControllable( AttackControllable, WeaponType, Designation, Datalink )
self:F2( { self.ControllableName, AttackControllable, WeaponType, Designation, Datalink } )
function CONTROLLABLE:TaskFAC_AttackGroup( AttackGroup, WeaponType, Designation, Datalink )
self:F2( { self.ControllableName, AttackGroup, WeaponType, Designation, Datalink } )
-- FAC_AttackControllable = {
-- id = 'FAC_AttackControllable',
@ -944,7 +956,7 @@ function CONTROLLABLE:TaskFAC_AttackControllable( AttackControllable, WeaponType
local DCSTask
DCSTask = { id = 'FAC_AttackControllable',
params = {
controllableId = AttackControllable:GetID(),
controllableId = AttackGroup:GetID(),
weaponType = WeaponType,
designation = Designation,
datalink = Datalink,
@ -1027,7 +1039,7 @@ end
--- (AIR) Engaging a controllable. The task does not assign the target controllable to the unit/controllable to attack now; it just allows the unit/controllable to engage the target controllable as well as other assigned targets.
-- @param #CONTROLLABLE self
-- @param Controllable#CONTROLLABLE AttackControllable The Controllable to be attacked.
-- @param Controllable#CONTROLLABLE AttackGroup The Controllable to be attacked.
-- @param #number Priority All en-route tasks have the priority parameter. This is a number (less value - higher priority) that determines actions related to what task will be performed first.
-- @param #number WeaponType (optional) Bitmask of weapon types those allowed to use. If parameter is not defined that means no limits on weapon usage.
-- @param DCSTypes#AI.Task.WeaponExpend WeaponExpend (optional) Determines how much weapon will be released at each attack. If parameter is not defined the unit / controllable will choose expend on its own discretion.
@ -1036,8 +1048,8 @@ end
-- @param DCSTypes#Distance Altitude (optional) Desired attack start altitude. Controllable/aircraft will make its attacks from the altitude. If the altitude is too low or too high to use weapon aircraft/controllable will choose closest altitude to the desired attack start altitude. If the desired altitude is defined controllable/aircraft will not attack from safe altitude.
-- @param #boolean AttackQtyLimit (optional) The flag determines how to interpret attackQty parameter. If the flag is true then attackQty is a limit on maximal attack quantity for "AttackControllable" and "AttackUnit" tasks. If the flag is false then attackQty is a desired attack quantity for "Bombing" and "BombingRunway" tasks.
-- @return DCSTask#Task The DCS task structure.
function CONTROLLABLE:EnRouteTaskEngageControllable( AttackControllable, Priority, WeaponType, WeaponExpend, AttackQty, Direction, Altitude, AttackQtyLimit )
self:F2( { self.ControllableName, AttackControllable, Priority, WeaponType, WeaponExpend, AttackQty, Direction, Altitude, AttackQtyLimit } )
function CONTROLLABLE:EnRouteTaskEngageGroup( AttackGroup, Priority, WeaponType, WeaponExpend, AttackQty, Direction, Altitude, AttackQtyLimit )
self:F2( { self.ControllableName, AttackGroup, Priority, WeaponType, WeaponExpend, AttackQty, Direction, Altitude, AttackQtyLimit } )
-- EngageControllable = {
-- id = 'EngageControllable ',
@ -1068,7 +1080,7 @@ function CONTROLLABLE:EnRouteTaskEngageControllable( AttackControllable, Priorit
local DCSTask
DCSTask = { id = 'EngageControllable',
params = {
controllableId = AttackControllable:GetID(),
controllableId = AttackGroup:GetID(),
weaponType = WeaponType,
expend = WeaponExpend,
attackQty = AttackQty,
@ -1211,14 +1223,14 @@ end
-- The killer is player-controlled allied CAS-aircraft that is in contact with the FAC.
-- If the task is assigned to the controllable lead unit will be a FAC.
-- @param #CONTROLLABLE self
-- @param Controllable#CONTROLLABLE AttackControllable Target CONTROLLABLE.
-- @param Controllable#CONTROLLABLE AttackGroup Target CONTROLLABLE.
-- @param #number Priority All en-route tasks have the priority parameter. This is a number (less value - higher priority) that determines actions related to what task will be performed first.
-- @param #number WeaponType Bitmask of weapon types those allowed to use. If parameter is not defined that means no limits on weapon usage.
-- @param DCSTypes#AI.Task.Designation Designation (optional) Designation type.
-- @param #boolean Datalink (optional) Allows to use datalink to send the target information to attack aircraft. Enabled by default.
-- @return DCSTask#Task The DCS task structure.
function CONTROLLABLE:EnRouteTaskFAC_EngageControllable( AttackControllable, Priority, WeaponType, Designation, Datalink )
self:F2( { self.ControllableName, AttackControllable, WeaponType, Priority, Designation, Datalink } )
function CONTROLLABLE:EnRouteTaskFAC_EngageGroup( AttackGroup, Priority, WeaponType, Designation, Datalink )
self:F2( { self.ControllableName, AttackGroup, WeaponType, Priority, Designation, Datalink } )
-- FAC_EngageControllable = {
-- id = 'FAC_EngageControllable',
@ -1234,7 +1246,7 @@ function CONTROLLABLE:EnRouteTaskFAC_EngageControllable( AttackControllable, Pri
local DCSTask
DCSTask = { id = 'FAC_EngageControllable',
params = {
controllableId = AttackControllable:GetID(),
controllableId = AttackGroup:GetID(),
weaponType = WeaponType,
designation = Designation,
datalink = Datalink,

View File

@ -380,6 +380,14 @@ function DATABASE:_RegisterTemplate( GroupTemplate, CoalitionID, CategoryID, Cou
self:E( TraceTable )
end
function DATABASE:GetGroupTemplate( GroupName )
local GroupTemplate = self.Templates.Groups[GroupName].Template
GroupTemplate.SpawnCoalitionID = self.Templates.Groups[GroupName].CoalitionID
GroupTemplate.SpawnCategoryID = self.Templates.Groups[GroupName].CategoryID
GroupTemplate.SpawnCountryID = self.Templates.Groups[GroupName].CountryID
return GroupTemplate
end
function DATABASE:GetCoalitionFromClientTemplate( ClientName )
return self.Templates.ClientsByName[ClientName].CoalitionID
end

View File

@ -31,7 +31,8 @@
-- 1.2) GROUP task methods
-- -----------------------
-- Several group task methods are available that help you to prepare tasks.
-- These methods return a string consisting of the task description, which can then be given to either a @{Group#GROUP.PushTask} or @{Group#SetTask} method to assign the task to the GROUP.
-- These methods return a string consisting of the task description, which can then be given to either a
-- @{Controllable#CONTROLLABLE.PushTask} or @{Controllable#CONTROLLABLE.SetTask} method to assign the task to the GROUP.
-- Tasks are specific for the category of the GROUP, more specific, for AIR, GROUND or AIR and GROUND.
-- Each task description where applicable indicates for which group category the task is valid.
-- There are 2 main subdivisions of tasks: Assigned tasks and EnRoute tasks.
@ -43,63 +44,63 @@
--
-- Find below a list of the **assigned task** methods:
--
-- * @{#GROUP.TaskAttackGroup}: (AIR) Attack a Group.
-- * @{#GROUP.TaskAttackMapObject}: (AIR) Attacking the map object (building, structure, e.t.c).
-- * @{#GROUP.TaskAttackUnit}: (AIR) Attack the Unit.
-- * @{#GROUP.TaskBombing}: (AIR) Delivering weapon at the point on the ground.
-- * @{#GROUP.TaskBombingRunway}: (AIR) Delivering weapon on the runway.
-- * @{#GROUP.TaskEmbarking}: (AIR) Move the group to a Vec2 Point, wait for a defined duration and embark a group.
-- * @{#GROUP.TaskEmbarkToTransport}: (GROUND) Embark to a Transport landed at a location.
-- * @{#GROUP.TaskEscort}: (AIR) Escort another airborne group.
-- * @{#GROUP.TaskFAC_AttackGroup}: (AIR + GROUND) The task makes the group/unit a FAC and orders the FAC to control the target (enemy ground group) destruction.
-- * @{#GROUP.TaskFireAtPoint}: (GROUND) Fire at a VEC2 point until ammunition is finished.
-- * @{#GROUP.TaskFollow}: (AIR) Following another airborne group.
-- * @{#GROUP.TaskHold}: (GROUND) Hold ground group from moving.
-- * @{#GROUP.TaskHoldPosition}: (AIR) Hold position at the current position of the first unit of the group.
-- * @{#GROUP.TaskLand}: (AIR HELICOPTER) Landing at the ground. For helicopters only.
-- * @{#GROUP.TaskLandAtZone}: (AIR) Land the group at a @{Zone#ZONE_RADIUS).
-- * @{#GROUP.TaskOrbitCircle}: (AIR) Orbit at the current position of the first unit of the group at a specified alititude.
-- * @{#GROUP.TaskOrbitCircleAtVec2}: (AIR) Orbit at a specified position at a specified alititude during a specified duration with a specified speed.
-- * @{#GROUP.TaskRefueling}: (AIR) Refueling from the nearest tanker. No parameters.
-- * @{#GROUP.TaskRoute}: (AIR + GROUND) Return a Misson task to follow a given route defined by Points.
-- * @{#GROUP.TaskRouteToVec2}: (AIR + GROUND) Make the Group move to a given point.
-- * @{#GROUP.TaskRouteToVec3}: (AIR + GROUND) Make the Group move to a given point.
-- * @{#GROUP.TaskRouteToZone}: (AIR + GROUND) Route the group to a given zone.
-- * @{#GROUP.TaskReturnToBase}: (AIR) Route the group to an airbase.
-- * @{Controllable#CONTROLLABLE.TaskAttackGroup}: (AIR) Attack a Group.
-- * @{Controllable#CONTROLLABLE.TaskAttackMapObject}: (AIR) Attacking the map object (building, structure, e.t.c).
-- * @{Controllable#CONTROLLABLE.TaskAttackUnit}: (AIR) Attack the Unit.
-- * @{Controllable#CONTROLLABLE.TaskBombing}: (Controllable#CONTROLLABLEDelivering weapon at the point on the ground.
-- * @{Controllable#CONTROLLABLE.TaskBombingRunway}: (AIR) Delivering weapon on the runway.
-- * @{Controllable#CONTROLLABLE.TaskEmbarking}: (AIR) Move the group to a Vec2 Point, wait for a defined duration and embark a group.
-- * @{Controllable#CONTROLLABLE.TaskEmbarkToTransport}: (GROUND) Embark to a Transport landed at a location.
-- * @{Controllable#CONTROLLABLE.TaskEscort}: (AIR) Escort another airborne group.
-- * @{Controllable#CONTROLLABLE.TaskFAC_AttackGroup}: (AIR + GROUND) The task makes the group/unit a FAC and orders the FAC to control the target (enemy ground group) destruction.
-- * @{Controllable#CONTROLLABLE.TaskFireAtPoint}: (GROUND) Fire at a VEC2 point until ammunition is finished.
-- * @{Controllable#CONTROLLABLE.TaskFollow}: (AIR) Following another airborne group.
-- * @{Controllable#CONTROLLABLE.TaskHold}: (GROUND) Hold ground group from moving.
-- * @{Controllable#CONTROLLABLE.TaskHoldPosition}: (AIR) Hold position at the current position of the first unit of the group.
-- * @{Controllable#CONTROLLABLE.TaskLand}: (AIR HELICOPTER) Landing at the ground. For helicopters only.
-- * @{Controllable#CONTROLLABLE.TaskLandAtZone}: (AIR) Land the group at a @{Zone#ZONE_RADIUS).
-- * @{Controllable#CONTROLLABLE.TaskOrbitCircle}: (AIR) Orbit at the current position of the first unit of the group at a specified alititude.
-- * @{Controllable#CONTROLLABLE.TaskOrbitCircleAtVec2}: (AIR) Orbit at a specified position at a specified alititude during a specified duration with a specified speed.
-- * @{Controllable#CONTROLLABLE.TaskRefueling}: (AIR) Refueling from the nearest tanker. No parameters.
-- * @{Controllable#CONTROLLABLE.TaskRoute}: (AIR + GROUND) Return a Misson task to follow a given route defined by Points.
-- * @{Controllable#CONTROLLABLE.TaskRouteToVec2}: (AIR + GROUND) Make the Group move to a given point.
-- * @{Controllable#CONTROLLABLE.TaskRouteToVec3}: (AIR + GROUND) Make the Group move to a given point.
-- * @{Controllable#CONTROLLABLE.TaskRouteToZone}: (AIR + GROUND) Route the group to a given zone.
-- * @{Controllable#CONTROLLABLE.TaskReturnToBase}: (AIR) Route the group to an airbase.
--
-- ### 1.2.2) EnRoute task methods
--
-- EnRoute tasks require the targets of the task need to be detected by the group (using its sensors) before the task can be executed:
--
-- * @{#GROUP.EnRouteTaskAWACS}: (AIR) Aircraft will act as an AWACS for friendly units (will provide them with information about contacts). No parameters.
-- * @{#GROUP.EnRouteTaskEngageGroup}: (AIR) Engaging a group. The task does not assign the target group to the unit/group to attack now; it just allows the unit/group to engage the target group as well as other assigned targets.
-- * @{#GROUP.EnRouteTaskEngageTargets}: (AIR) Engaging targets of defined types.
-- * @{#GROUP.EnRouteTaskEWR}: (AIR) Attack the Unit.
-- * @{#GROUP.EnRouteTaskFAC}: (AIR + GROUND) The task makes the group/unit a FAC and lets the FAC to choose a targets (enemy ground group) around as well as other assigned targets.
-- * @{#GROUP.EnRouteTaskFAC_EngageGroup}: (AIR + GROUND) The task makes the group/unit a FAC and lets the FAC to choose the target (enemy ground group) as well as other assigned targets.
-- * @{#GROUP.EnRouteTaskTanker}: (AIR) Aircraft will act as a tanker for friendly units. No parameters.
-- * @{Controllable#CONTROLLABLE.EnRouteTaskAWACS}: (AIR) Aircraft will act as an AWACS for friendly units (will provide them with information about contacts). No parameters.
-- * @{Controllable#CONTROLLABLE.EnRouteTaskEngageGroup}: (AIR) Engaging a group. The task does not assign the target group to the unit/group to attack now; it just allows the unit/group to engage the target group as well as other assigned targets.
-- * @{Controllable#CONTROLLABLE.EnRouteTaskEngageTargets}: (AIR) Engaging targets of defined types.
-- * @{Controllable#CONTROLLABLE.EnRouteTaskEWR}: (AIR) Attack the Unit.
-- * @{Controllable#CONTROLLABLE.EnRouteTaskFAC}: (AIR + GROUND) The task makes the group/unit a FAC and lets the FAC to choose a targets (enemy ground group) around as well as other assigned targets.
-- * @{Controllable#CONTROLLABLE.EnRouteTaskFAC_EngageGroup}: (AIR + GROUND) The task makes the group/unit a FAC and lets the FAC to choose the target (enemy ground group) as well as other assigned targets.
-- * @{Controllable#CONTROLLABLE.EnRouteTaskTanker}: (AIR) Aircraft will act as a tanker for friendly units. No parameters.
--
-- ### 1.2.3) Preparation task methods
--
-- There are certain task methods that allow to tailor the task behaviour:
--
-- * @{#GROUP.TaskWrappedAction}: Return a WrappedAction Task taking a Command.
-- * @{#GROUP.TaskCombo}: Return a Combo Task taking an array of Tasks.
-- * @{#GROUP.TaskCondition}: Return a condition section for a controlled task.
-- * @{#GROUP.TaskControlled}: Return a Controlled Task taking a Task and a TaskCondition.
-- * @{Controllable#CONTROLLABLE.TaskWrappedAction}: Return a WrappedAction Task taking a Command.
-- * @{Controllable#CONTROLLABLE.TaskCombo}: Return a Combo Task taking an array of Tasks.
-- * @{Controllable#CONTROLLABLE.TaskCondition}: Return a condition section for a controlled task.
-- * @{Controllable#CONTROLLABLE.TaskControlled}: Return a Controlled Task taking a Task and a TaskCondition.
--
-- ### 1.2.4) Obtain the mission from group templates
--
-- Group templates contain complete mission descriptions. Sometimes you want to copy a complete mission from a group and assign it to another:
--
-- * @{#GROUP.TaskMission}: (AIR + GROUND) Return a mission task from a mission template.
-- * @{Controllable#CONTROLLABLE.TaskMission}: (AIR + GROUND) Return a mission task from a mission template.
--
-- 1.3) GROUP Command methods
-- --------------------------
-- Group **command methods** prepare the execution of commands using the @{#GROUP.SetCommand} method:
-- Group **command methods** prepare the execution of commands using the @{Controllable#CONTROLLABLE.SetCommand} method:
--
-- * @{#GROUP.CommandDoScript}: Do Script command.
-- * @{#GROUP.CommandSwitchWayPoint}: Perform a switch waypoint command.
-- * @{Controllable#CONTROLLABLE.CommandDoScript}: Do Script command.
-- * @{Controllable#CONTROLLABLE.CommandSwitchWayPoint}: Perform a switch waypoint command.
--
-- 1.4) GROUP Option methods
-- -------------------------
@ -107,31 +108,31 @@
--
-- ### 1.4.1) Rule of Engagement:
--
-- * @{#GROUP.OptionROEWeaponFree}
-- * @{#GROUP.OptionROEOpenFire}
-- * @{#GROUP.OptionROEReturnFire}
-- * @{#GROUP.OptionROEEvadeFire}
-- * @{Controllable#CONTROLLABLE.OptionROEWeaponFree}
-- * @{Controllable#CONTROLLABLE.OptionROEOpenFire}
-- * @{Controllable#CONTROLLABLE.OptionROEReturnFire}
-- * @{Controllable#CONTROLLABLE.OptionROEEvadeFire}
--
-- To check whether an ROE option is valid for a specific group, use:
--
-- * @{#GROUP.OptionROEWeaponFreePossible}
-- * @{#GROUP.OptionROEOpenFirePossible}
-- * @{#GROUP.OptionROEReturnFirePossible}
-- * @{#GROUP.OptionROEEvadeFirePossible}
-- * @{Controllable#CONTROLLABLE.OptionROEWeaponFreePossible}
-- * @{Controllable#CONTROLLABLE.OptionROEOpenFirePossible}
-- * @{Controllable#CONTROLLABLE.OptionROEReturnFirePossible}
-- * @{Controllable#CONTROLLABLE.OptionROEEvadeFirePossible}
--
-- ### 1.4.2) Rule on thread:
--
-- * @{#GROUP.OptionROTNoReaction}
-- * @{#GROUP.OptionROTPassiveDefense}
-- * @{#GROUP.OptionROTEvadeFire}
-- * @{#GROUP.OptionROTVertical}
-- * @{Controllable#CONTROLLABLE.OptionROTNoReaction}
-- * @{Controllable#CONTROLLABLE.OptionROTPassiveDefense}
-- * @{Controllable#CONTROLLABLE.OptionROTEvadeFire}
-- * @{Controllable#CONTROLLABLE.OptionROTVertical}
--
-- To test whether an ROT option is valid for a specific group, use:
--
-- * @{#GROUP.OptionROTNoReactionPossible}
-- * @{#GROUP.OptionROTPassiveDefensePossible}
-- * @{#GROUP.OptionROTEvadeFirePossible}
-- * @{#GROUP.OptionROTVerticalPossible}
-- * @{Controllable#CONTROLLABLE.OptionROTNoReactionPossible}
-- * @{Controllable#CONTROLLABLE.OptionROTPassiveDefensePossible}
-- * @{Controllable#CONTROLLABLE.OptionROTEvadeFirePossible}
-- * @{Controllable#CONTROLLABLE.OptionROTVerticalPossible}
--
-- 1.5) GROUP Zone validation methods
-- ----------------------------------
@ -708,14 +709,34 @@ function GROUP:GetMaxHeight()
end
--- @param Group#GROUP self
-- SPAWNING
--- Respawn the @{GROUP} using a (tweaked) template of the Group.
-- The template must be retrieved with the @{Group#GROUP.GetTemplate}() function.
-- The template contains all the definitions as declared within the mission file.
-- To understand templates, do the following:
--
-- * unpack your .miz file into a directory using 7-zip.
-- * browse in the directory created to the file **mission**.
-- * open the file and search for the country group definitions.
--
-- Your group template will contain the fields as described within the mission file.
--
-- This function will:
--
-- * Get the current position and heading of the group.
-- * When the group is alive, it will tweak the template x, y and heading coordinates of the group and the embedded units to the current units positions.
-- * Then it will destroy the current alive group.
-- * And it will respawn the group using your new template definition.
-- @param Group#GROUP self
-- @param #table Template The template of the Group retrieved with GROUP:GetTemplate()
function GROUP:Respawn( Template )
local Vec3 = self:GetPointVec3()
--Template.x = Vec3.x
--Template.y = Vec3.z
Template.x = nil
Template.y = nil
Template.x = Vec3.x
Template.y = Vec3.z
--Template.x = nil
--Template.y = nil
self:E( #Template.units )
for UnitID, UnitData in pairs( self:GetUnits() ) do
@ -732,16 +753,49 @@ function GROUP:Respawn( Template )
end
end
self:Destroy()
_DATABASE:Spawn( Template )
end
--- Returns the group template from the @{DATABASE} (_DATABASE object).
-- @param #GROUP self
-- @return #table
function GROUP:GetTemplate()
return _DATABASE.Templates.Groups[self:GetName()].Template
local GroupName = self:GetName()
self:E( GroupName )
return _DATABASE:GetGroupTemplate( GroupName )
end
--- Sets the controlled status in a Template.
-- @param #GROUP self
-- @param #boolean Controlled true is controlled, false is uncontrolled.
-- @return #table
function GROUP:SetTemplateControlled( Template, Controlled )
Template.uncontrolled = not Controlled
return Template
end
--- Sets the CountryID of the group in a Template.
-- @param #GROUP self
-- @param DCScountry#country.id CountryID The country ID.
-- @return #table
function GROUP:SetTemplateCountry( Template, CountryID )
Template.CountryID = CountryID
return Template
end
--- Sets the CoalitionID of the group in a Template.
-- @param #GROUP self
-- @param DCSCoalitionObject#coalition.side CoalitionID The coalition ID.
-- @return #table
function GROUP:SetTemplateCoalition( Template, CoalitionID )
Template.CoalitionID = CoalitionID
return Template
end
--- Return the mission template of the group.
-- @param #GROUP self
-- @return #table The MissionTemplate

View File

@ -18,8 +18,9 @@
-- * @{Zone#ZONE_BASE}: The ZONE_BASE class defining the base for all other zone classes.
-- * @{Zone#ZONE_RADIUS}: The ZONE_RADIUS class defined by a zone name, a location and a radius.
-- * @{Zone#ZONE}: The ZONE class, defined by the zone name as defined within the Mission Editor.
-- * @{Zone#ZONE_UNIT}: The ZONE_UNIT class defined by a zone around a @{Unit#UNIT} with a radius.
-- * @{Zone#ZONE_POLYGON}: The ZONE_POLYGON class defined by a sequence of @{Group#GROUP} waypoints within the Mission Editor, forming a polygon.
-- * @{Zone#ZONE_UNIT}: The ZONE_UNIT class defines by a zone around a @{Unit#UNIT} with a radius.
-- * @{Zone#ZONE_GROUP}: The ZONE_GROUP class defines by a zone around a @{Group#GROUP} with a radius.
-- * @{Zone#ZONE_POLYGON}: The ZONE_POLYGON class defines by a sequence of @{Group#GROUP} waypoints within the Mission Editor, forming a polygon.
--
-- Each zone implements two polymorphic functions defined in @{Zone#ZONE_BASE}:
--
@ -52,7 +53,13 @@
--
-- ===
--
-- 5) @{Zone#ZONE_POLYGON} class, extends @{Zone#ZONE_BASE}
-- 5) @{Zone#ZONE_GROUP} class, extends @{Zone#ZONE_RADIUS}
-- =======================================================
-- The ZONE_GROUP class defines by a zone around a @{Group#GROUP} with a radius. The current leader of the group defines the center of the zone.
--
-- ===
--
-- 6) @{Zone#ZONE_POLYGON} class, extends @{Zone#ZONE_BASE}
-- ========================================================
-- The ZONE_POLYGON class defined by a sequence of @{Group#GROUP} waypoints within the Mission Editor, forming a polygon.
--
@ -62,13 +69,6 @@
-- @author FlightControl
--- The ZONE_BASE class
-- @type ZONE_BASE
-- @field #string ZoneName Name of the zone.
@ -431,6 +431,64 @@ function ZONE_UNIT:GetRandomVec2()
return Point
end
--- The ZONE_GROUP class defined by a zone around a @{Group}, taking the average center point of all the units within the Group, with a radius.
-- @type ZONE_GROUP
-- @field Group#GROUP ZoneGROUP
-- @extends Zone#ZONE_RADIUS
ZONE_GROUP = {
ClassName="ZONE_GROUP",
}
--- Constructor to create a ZONE_GROUP instance, taking the zone name, a zone @{Group#GROUP} and a radius.
-- @param #ZONE_GROUP self
-- @param #string ZoneName Name of the zone.
-- @param Group#GROUP ZoneGROUP The @{Group} as the center of the zone.
-- @param DCSTypes#Distance Radius The radius of the zone.
-- @return #ZONE_GROUP self
function ZONE_GROUP:New( ZoneName, ZoneGROUP, Radius )
local self = BASE:Inherit( self, ZONE_RADIUS:New( ZoneName, ZoneGROUP:GetPointVec2(), Radius ) )
self:F( { ZoneName, ZoneGROUP:GetPointVec2(), Radius } )
self.ZoneGROUP = ZoneGROUP
return self
end
--- Returns the current location of the @{Group}.
-- @param #ZONE_GROUP self
-- @return DCSTypes#Vec2 The location of the zone based on the @{Group} location.
function ZONE_GROUP:GetPointVec2()
self:F( self.ZoneName )
local ZonePointVec2 = self.ZoneGROUP:GetPointVec2()
self:T( { ZonePointVec2 } )
return ZonePointVec2
end
--- Returns a random location within the zone of the @{Group}.
-- @param #ZONE_GROUP self
-- @return DCSTypes#Vec2 The random location of the zone based on the @{Group} location.
function ZONE_GROUP:GetRandomVec2()
self:F( self.ZoneName )
local Point = {}
local PointVec2 = self.ZoneGROUP:GetPointVec2()
local angle = math.random() * math.pi*2;
Point.x = PointVec2.x + math.cos( angle ) * math.random() * self:GetRadius();
Point.y = PointVec2.y + math.sin( angle ) * math.random() * self:GetRadius();
self:T( { Point } )
return Point
end
-- Polygons
--- The ZONE_POLYGON_BASE class defined by an array of @{DCSTypes#Vec2}, forming a polygon.

Binary file not shown.

View File

@ -0,0 +1,12 @@
--- This test demonstrates the use(s) of the SwitchWayPoint method of the GROUP class.
HeliGroup = GROUP:FindByName( "Helicopter" )
--- Route the helicopter back to the FARP after 60 seconds.
-- We use the SCHEDULER class to do this.
SCHEDULER:New( nil,
function( HeliGroup )
local CommandRTB = HeliGroup:CommandSwitchWayPoint( 2, 8 )
HeliGroup:SetCommand( CommandRTB )
end, { HeliGroup }, 90
)

View File

@ -0,0 +1,8 @@
-- Tests Kutaisi
-- -------------
-- 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 )

View File

@ -0,0 +1,15 @@
-- Tests Gudauta
-- --------------
-- Limited spawning of groups, scheduled every 30 seconds ...
Spawn_Plane_Limited_Scheduled = SPAWN:New( "Spawn Plane Limited Scheduled" ):Limit( 2, 20 ):SpawnScheduled( 30, 0 )
Spawn_Helicopter_Limited_Scheduled = SPAWN:New( "Spawn Helicopter Limited Scheduled" ):Limit( 2, 20 ):SpawnScheduled( 30, 0 )
Spawn_Ground_Limited_Scheduled = SPAWN:New( "Spawn Vehicle Limited Scheduled" ):Limit( 2, 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( 5, 20 ):SpawnScheduled( 10, 0 )
Spawn_Helicopter_Limited_Scheduled_RandomizeRoute = SPAWN:New( "Spawn Helicopter Limited Scheduled Destroy" ):Limit( 5, 20 ):SpawnScheduled( 10, 0 )
Spawn_Vehicle_Limited_Scheduled_RandomizeRoute = SPAWN:New( "Spawn Vehicle Limited Scheduled Destroy" ):Limit( 5, 20 ):SpawnScheduled( 10, 0 )

View File

@ -35,6 +35,7 @@
<li><a href="DCSTypes.html">DCSTypes</a></li>
<li><a href="DCSUnit.html">DCSUnit</a></li>
<li><a href="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCScountry.html">DCScountry</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li>
<li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li>

View File

@ -35,6 +35,7 @@
<li><a href="DCSTypes.html">DCSTypes</a></li>
<li><a href="DCSUnit.html">DCSUnit</a></li>
<li><a href="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCScountry.html">DCScountry</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li>
<li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li>
@ -161,75 +162,9 @@ is implemented in the AIRBASE class as <a href="##(AIRBASE).GetName">AIRBASE.Get
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AIRBASE).GetCallSign">AIRBASE:GetCallSign()</a></td>
<td class="summary">
<p>Returns the Airbase's callsign - the localized string.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AIRBASE).GetCategory">AIRBASE:GetCategory()</a></td>
<td class="summary">
<p>Returns the DCS Airbase category as defined within the DCS Airbase Descriptor.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AIRBASE).GetCategoryName">AIRBASE:GetCategoryName()</a></td>
<td class="summary">
<p>Returns the DCS Airbase category name as defined within the DCS Airbase Descriptor.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AIRBASE).GetCoalition">AIRBASE:GetCoalition()</a></td>
<td class="summary">
<p>Returns coalition of the Airbase.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AIRBASE).GetCountry">AIRBASE:GetCountry()</a></td>
<td class="summary">
<p>Returns country of the Airbase.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AIRBASE).GetDCSAirbase">AIRBASE:GetDCSAirbase()</a></td>
<td class="name" nowrap="nowrap"><a href="##(AIRBASE).GetDCSObject">AIRBASE:GetDCSObject()</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AIRBASE).GetDesc">AIRBASE:GetDesc()</a></td>
<td class="summary">
<p>Returns unit descriptor.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AIRBASE).GetID">AIRBASE:GetID()</a></td>
<td class="summary">
<p>Returns the unit's unique identifier.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AIRBASE).GetName">AIRBASE:GetName()</a></td>
<td class="summary">
<p>Returns DCS Airbase object name.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AIRBASE).GetPointVec2">AIRBASE:GetPointVec2()</a></td>
<td class="summary">
<p>Returns the <a href="DCSTypes.html##(Vec2)">DCSTypes#Vec2</a> vector indicating the point in 2D of the DCS Airbase within the mission.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AIRBASE).GetTypeName">AIRBASE:GetTypeName()</a></td>
<td class="summary">
<p>Returns the type name of the DCS Airbase.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AIRBASE).IsAlive">AIRBASE:IsAlive()</a></td>
<td class="summary">
<p>Returns if the airbase is alive.</p>
</td>
</tr>
<tr>
@ -347,308 +282,14 @@ self</p>
<dl class="function">
<dt>
<a id="#(AIRBASE).GetCallSign" >
<strong>AIRBASE:GetCallSign()</strong>
</a>
</dt>
<dd>
<p>Returns the Airbase's callsign - the localized string.</p>
<h3>Return values</h3>
<ol>
<li>
<p><em>#string:</em>
The Callsign of the Airbase.</p>
</li>
<li>
<p><em>#nil:</em>
The DCS Airbase is not existing or alive. </p>
</li>
</ol>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(AIRBASE).GetCategory" >
<strong>AIRBASE:GetCategory()</strong>
</a>
</dt>
<dd>
<p>Returns the DCS Airbase category as defined within the DCS Airbase Descriptor.</p>
<h3>Return value</h3>
<p><em><a href="DCSAirbase.html##(Airbase.Category)">DCSAirbase#Airbase.Category</a>:</em>
The DCS Airbase Category</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(AIRBASE).GetCategoryName" >
<strong>AIRBASE:GetCategoryName()</strong>
</a>
</dt>
<dd>
<p>Returns the DCS Airbase category name as defined within the DCS Airbase Descriptor.</p>
<h3>Return value</h3>
<p><em>#string:</em>
The DCS Airbase Category Name</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(AIRBASE).GetCoalition" >
<strong>AIRBASE:GetCoalition()</strong>
</a>
</dt>
<dd>
<p>Returns coalition of the Airbase.</p>
<h3>Return values</h3>
<ol>
<li>
<p><em><a href="DCSCoalitionObject.html##(coalition.side)">DCSCoalitionObject#coalition.side</a>:</em>
The side of the coalition.</p>
</li>
<li>
<p><em>#nil:</em>
The DCS Airbase is not existing or alive. </p>
</li>
</ol>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(AIRBASE).GetCountry" >
<strong>AIRBASE:GetCountry()</strong>
</a>
</dt>
<dd>
<p>Returns country of the Airbase.</p>
<h3>Return values</h3>
<ol>
<li>
<p><em><a href="DCScountry.html##(country.id)">DCScountry#country.id</a>:</em>
The country identifier.</p>
</li>
<li>
<p><em>#nil:</em>
The DCS Airbase is not existing or alive. </p>
</li>
</ol>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(AIRBASE).GetDCSAirbase" >
<strong>AIRBASE:GetDCSAirbase()</strong>
<a id="#(AIRBASE).GetDCSObject" >
<strong>AIRBASE:GetDCSObject()</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(AIRBASE).GetDesc" >
<strong>AIRBASE:GetDesc()</strong>
</a>
</dt>
<dd>
<p>Returns unit descriptor.</p>
<p>Descriptor type depends on unit category.</p>
<h3>Return values</h3>
<ol>
<li>
<p><em><a href="DCSAirbase.html##(Airbase.Desc)">DCSAirbase#Airbase.Desc</a>:</em>
The Airbase descriptor.</p>
</li>
<li>
<p><em>#nil:</em>
The DCS Airbase is not existing or alive. </p>
</li>
</ol>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(AIRBASE).GetID" >
<strong>AIRBASE:GetID()</strong>
</a>
</dt>
<dd>
<p>Returns the unit's unique identifier.</p>
<h3>Return values</h3>
<ol>
<li>
<p><em><a href="DCSAirbase.html##(Airbase.ID)">DCSAirbase#Airbase.ID</a>:</em>
Airbase ID</p>
</li>
<li>
<p><em>#nil:</em>
The DCS Airbase is not existing or alive. </p>
</li>
</ol>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(AIRBASE).GetName" >
<strong>AIRBASE:GetName()</strong>
</a>
</dt>
<dd>
<p>Returns DCS Airbase object name.</p>
<p>The function provides access to non-activated units too.</p>
<h3>Return values</h3>
<ol>
<li>
<p><em>#string:</em>
The name of the DCS Airbase.</p>
</li>
<li>
<p><em>#nil:</em>
The DCS Airbase is not existing or alive. </p>
</li>
</ol>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(AIRBASE).GetPointVec2" >
<strong>AIRBASE:GetPointVec2()</strong>
</a>
</dt>
<dd>
<p>Returns the <a href="DCSTypes.html##(Vec2)">DCSTypes#Vec2</a> vector indicating the point in 2D of the DCS Airbase within the mission.</p>
<h3>Return values</h3>
<ol>
<li>
<p><em><a href="DCSTypes.html##(Vec2)">DCSTypes#Vec2</a>:</em>
The 2D point vector of the DCS Airbase.</p>
</li>
<li>
<p><em>#nil:</em>
The DCS Airbase is not existing or alive. </p>
</li>
</ol>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(AIRBASE).GetTypeName" >
<strong>AIRBASE:GetTypeName()</strong>
</a>
</dt>
<dd>
<p>Returns the type name of the DCS Airbase.</p>
<h3>Return values</h3>
<ol>
<li>
<p><em>#string:</em>
The type name of the DCS Airbase.</p>
</li>
<li>
<p><em>#nil:</em>
The DCS Airbase is not existing or alive. </p>
</li>
</ol>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(AIRBASE).IsAlive" >
<strong>AIRBASE:IsAlive()</strong>
</a>
</dt>
<dd>
<p>Returns if the airbase is alive.</p>
<h3>Return values</h3>
<ol>
<li>
<p><em>#boolean:</em>
true if Airbase is alive.</p>
</li>
<li>
<p><em>#nil:</em>
The DCS Airbase is not existing or alive. </p>
</li>
</ol>
</dd>
</dl>
<dl class="function">

View File

@ -35,6 +35,7 @@
<li><a href="DCSTypes.html">DCSTypes</a></li>
<li><a href="DCSUnit.html">DCSUnit</a></li>
<li><a href="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCScountry.html">DCScountry</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li>
<li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li>

View File

@ -35,6 +35,7 @@
<li><a href="DCSTypes.html">DCSTypes</a></li>
<li><a href="DCSUnit.html">DCSUnit</a></li>
<li><a href="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCScountry.html">DCScountry</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li>
<li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li>

View File

@ -35,6 +35,7 @@
<li><a href="DCSTypes.html">DCSTypes</a></li>
<li><a href="DCSUnit.html">DCSUnit</a></li>
<li><a href="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCScountry.html">DCScountry</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li>
<li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li>

View File

@ -35,6 +35,7 @@
<li><a href="DCSTypes.html">DCSTypes</a></li>
<li><a href="DCSUnit.html">DCSUnit</a></li>
<li><a href="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCScountry.html">DCScountry</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li>
<li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li>

View File

@ -35,6 +35,7 @@
<li><a href="DCSTypes.html">DCSTypes</a></li>
<li><a href="DCSUnit.html">DCSUnit</a></li>
<li><a href="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCScountry.html">DCScountry</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li>
<li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li>

View File

@ -35,6 +35,7 @@
<li><a href="DCSTypes.html">DCSTypes</a></li>
<li><a href="DCSUnit.html">DCSUnit</a></li>
<li><a href="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCScountry.html">DCScountry</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li>
<li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li>
@ -253,7 +254,7 @@ This is different from the EnRoute tasks, where the targets of the task need to
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(CONTROLLABLE).CommandSwitchWayPoint">CONTROLLABLE:CommandSwitchWayPoint(FromWayPoint, ToWayPoint, Index)</a></td>
<td class="name" nowrap="nowrap"><a href="##(CONTROLLABLE).CommandSwitchWayPoint">CONTROLLABLE:CommandSwitchWayPoint(FromWayPoint, ToWayPoint)</a></td>
<td class="summary">
<p>Perform a switch waypoint command</p>
</td>
@ -289,7 +290,7 @@ This is different from the EnRoute tasks, where the targets of the task need to
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(CONTROLLABLE).EnRouteTaskEngageControllable">CONTROLLABLE:EnRouteTaskEngageControllable(AttackControllable, Priority, WeaponType, WeaponExpend, AttackQty, Direction, Altitude, AttackQtyLimit)</a></td>
<td class="name" nowrap="nowrap"><a href="##(CONTROLLABLE).EnRouteTaskEngageGroup">CONTROLLABLE:EnRouteTaskEngageGroup(AttackGroup, Priority, WeaponType, WeaponExpend, AttackQty, Direction, Altitude, AttackQtyLimit)</a></td>
<td class="summary">
<p>(AIR) Engaging a controllable.</p>
</td>
@ -313,7 +314,7 @@ This is different from the EnRoute tasks, where the targets of the task need to
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(CONTROLLABLE).EnRouteTaskFAC_EngageControllable">CONTROLLABLE:EnRouteTaskFAC_EngageControllable(AttackControllable, Priority, WeaponType, Designation, Datalink)</a></td>
<td class="name" nowrap="nowrap"><a href="##(CONTROLLABLE).EnRouteTaskFAC_EngageGroup">CONTROLLABLE:EnRouteTaskFAC_EngageGroup(AttackGroup, Priority, WeaponType, Designation, Datalink)</a></td>
<td class="summary">
<p>(AIR + GROUND) The task makes the controllable/unit a FAC and lets the FAC to choose the target (enemy ground controllable) as well as other assigned targets.</p>
</td>
@ -488,7 +489,7 @@ A speed can be given in km/h.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(CONTROLLABLE).TaskAttackControllable">CONTROLLABLE:TaskAttackControllable(AttackControllable, WeaponType, WeaponExpend, AttackQty, Direction, Altitude, AttackQtyLimit)</a></td>
<td class="name" nowrap="nowrap"><a href="##(CONTROLLABLE).TaskAttackGroup">CONTROLLABLE:TaskAttackGroup(AttackGroup, WeaponType, WeaponExpend, AttackQty, Direction, Altitude, AttackQtyLimit)</a></td>
<td class="summary">
<p>(AIR) Attack a Controllable.</p>
</td>
@ -554,7 +555,7 @@ A speed can be given in km/h.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(CONTROLLABLE).TaskFAC_AttackControllable">CONTROLLABLE:TaskFAC_AttackControllable(AttackControllable, WeaponType, Designation, Datalink)</a></td>
<td class="name" nowrap="nowrap"><a href="##(CONTROLLABLE).TaskFAC_AttackGroup">CONTROLLABLE:TaskFAC_AttackGroup(AttackGroup, WeaponType, Designation, Datalink)</a></td>
<td class="summary">
<p>(AIR + GROUND) The task makes the controllable/unit a FAC and orders the FAC to control the target (enemy ground controllable) destruction.</p>
</td>
@ -790,7 +791,7 @@ A speed can be given in km/h.</p>
<dt>
<a id="#(CONTROLLABLE).CommandSwitchWayPoint" >
<strong>CONTROLLABLE:CommandSwitchWayPoint(FromWayPoint, ToWayPoint, Index)</strong>
<strong>CONTROLLABLE:CommandSwitchWayPoint(FromWayPoint, ToWayPoint)</strong>
</a>
</dt>
<dd>
@ -808,11 +809,6 @@ A speed can be given in km/h.</p>
<p><code><em>#number ToWayPoint </em></code>: </p>
</li>
<li>
<p><code><em> Index </em></code>: </p>
</li>
</ul>
<h3>Return value</h3>
@ -820,6 +816,19 @@ A speed can be given in km/h.</p>
<p><em><a href="DCSTask.html##(Task)">DCSTask#Task</a>:</em></p>
<h3>Usage:</h3>
<pre class="example"><code>--- This test demonstrates the use(s) of the SwitchWayPoint method of the GROUP class.
HeliGroup = GROUP:FindByName( "Helicopter" )
--- Route the helicopter back to the FARP after 60 seconds.
-- We use the SCHEDULER class to do this.
SCHEDULER:New( nil,
function( HeliGroup )
local CommandRTB = HeliGroup:CommandSwitchWayPoint( 2, 8 )
HeliGroup:SetCommand( CommandRTB )
end, { HeliGroup }, 90
)</code></pre>
</dd>
</dl>
<dl class="function">
@ -935,8 +944,8 @@ The DCS task structure.</p>
<dl class="function">
<dt>
<a id="#(CONTROLLABLE).EnRouteTaskEngageControllable" >
<strong>CONTROLLABLE:EnRouteTaskEngageControllable(AttackControllable, Priority, WeaponType, WeaponExpend, AttackQty, Direction, Altitude, AttackQtyLimit)</strong>
<a id="#(CONTROLLABLE).EnRouteTaskEngageGroup" >
<strong>CONTROLLABLE:EnRouteTaskEngageGroup(AttackGroup, Priority, WeaponType, WeaponExpend, AttackQty, Direction, Altitude, AttackQtyLimit)</strong>
</a>
</dt>
<dd>
@ -950,7 +959,7 @@ The DCS task structure.</p>
<ul>
<li>
<p><code><em><a href="Controllable.html##(CONTROLLABLE)">Controllable#CONTROLLABLE</a> AttackControllable </em></code>:
<p><code><em><a href="Controllable.html##(CONTROLLABLE)">Controllable#CONTROLLABLE</a> AttackGroup </em></code>:
The Controllable to be attacked.</p>
</li>
@ -1152,8 +1161,8 @@ The DCS task structure.</p>
<dl class="function">
<dt>
<a id="#(CONTROLLABLE).EnRouteTaskFAC_EngageControllable" >
<strong>CONTROLLABLE:EnRouteTaskFAC_EngageControllable(AttackControllable, Priority, WeaponType, Designation, Datalink)</strong>
<a id="#(CONTROLLABLE).EnRouteTaskFAC_EngageGroup" >
<strong>CONTROLLABLE:EnRouteTaskFAC_EngageGroup(AttackGroup, Priority, WeaponType, Designation, Datalink)</strong>
</a>
</dt>
<dd>
@ -1168,7 +1177,7 @@ If the task is assigned to the controllable lead unit will be a FAC. </p>
<ul>
<li>
<p><code><em><a href="Controllable.html##(CONTROLLABLE)">Controllable#CONTROLLABLE</a> AttackControllable </em></code>:
<p><code><em><a href="Controllable.html##(CONTROLLABLE)">Controllable#CONTROLLABLE</a> AttackGroup </em></code>:
Target CONTROLLABLE.</p>
</li>
@ -1832,8 +1841,8 @@ self</p>
<dl class="function">
<dt>
<a id="#(CONTROLLABLE).TaskAttackControllable" >
<strong>CONTROLLABLE:TaskAttackControllable(AttackControllable, WeaponType, WeaponExpend, AttackQty, Direction, Altitude, AttackQtyLimit)</strong>
<a id="#(CONTROLLABLE).TaskAttackGroup" >
<strong>CONTROLLABLE:TaskAttackGroup(AttackGroup, WeaponType, WeaponExpend, AttackQty, Direction, Altitude, AttackQtyLimit)</strong>
</a>
</dt>
<dd>
@ -1844,7 +1853,7 @@ self</p>
<ul>
<li>
<p><code><em><a href="Controllable.html##(CONTROLLABLE)">Controllable#CONTROLLABLE</a> AttackControllable </em></code>:
<p><code><em><a href="Controllable.html##(CONTROLLABLE)">Controllable#CONTROLLABLE</a> AttackGroup </em></code>:
The Controllable to be attacked.</p>
</li>
@ -2371,8 +2380,8 @@ The DCS task structure.</p>
<dl class="function">
<dt>
<a id="#(CONTROLLABLE).TaskFAC_AttackControllable" >
<strong>CONTROLLABLE:TaskFAC_AttackControllable(AttackControllable, WeaponType, Designation, Datalink)</strong>
<a id="#(CONTROLLABLE).TaskFAC_AttackGroup" >
<strong>CONTROLLABLE:TaskFAC_AttackGroup(AttackGroup, WeaponType, Designation, Datalink)</strong>
</a>
</dt>
<dd>
@ -2387,7 +2396,7 @@ If the task is assigned to the controllable lead unit will be a FAC. </p>
<ul>
<li>
<p><code><em><a href="Controllable.html##(CONTROLLABLE)">Controllable#CONTROLLABLE</a> AttackControllable </em></code>:
<p><code><em><a href="Controllable.html##(CONTROLLABLE)">Controllable#CONTROLLABLE</a> AttackGroup </em></code>:
Target CONTROLLABLE.</p>
</li>

View File

@ -35,6 +35,7 @@
<li><a href="DCSTypes.html">DCSTypes</a></li>
<li><a href="DCSUnit.html">DCSUnit</a></li>
<li><a href="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCScountry.html">DCScountry</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li>
<li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li>

View File

@ -35,6 +35,7 @@
<li><a href="DCSTypes.html">DCSTypes</a></li>
<li><a href="DCSUnit.html">DCSUnit</a></li>
<li><a href="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCScountry.html">DCScountry</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li>
<li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li>

View File

@ -35,6 +35,7 @@
<li><a href="DCSTypes.html">DCSTypes</a></li>
<li><a href="DCSUnit.html">DCSUnit</a></li>
<li><a href="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCScountry.html">DCScountry</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li>
<li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li>

View File

@ -35,6 +35,7 @@
<li><a href="DCSTypes.html">DCSTypes</a></li>
<li><a href="DCSUnit.html">DCSUnit</a></li>
<li><a href="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCScountry.html">DCScountry</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li>
<li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li>

View File

@ -35,6 +35,7 @@
<li><a href="DCSTypes.html">DCSTypes</a></li>
<li><a href="DCSUnit.html">DCSUnit</a></li>
<li><a href="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCScountry.html">DCScountry</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li>
<li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li>

View File

@ -35,6 +35,7 @@
<li><a href="DCSTypes.html">DCSTypes</a></li>
<li><a href="DCSUnit.html">DCSUnit</a></li>
<li><a href="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCScountry.html">DCScountry</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li>
<li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li>

View File

@ -35,6 +35,7 @@
<li><a href="DCSTypes.html">DCSTypes</a></li>
<li><a href="DCSUnit.html">DCSUnit</a></li>
<li><a href="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCScountry.html">DCScountry</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li>
<li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li>

View File

@ -35,6 +35,7 @@
<li>DCSTypes</li>
<li><a href="DCSUnit.html">DCSUnit</a></li>
<li><a href="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCScountry.html">DCScountry</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li>
<li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li>

View File

@ -35,6 +35,7 @@
<li><a href="DCSTypes.html">DCSTypes</a></li>
<li>DCSUnit</li>
<li><a href="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCScountry.html">DCScountry</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li>
<li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li>

View File

@ -35,6 +35,7 @@
<li><a href="DCSTypes.html">DCSTypes</a></li>
<li><a href="DCSUnit.html">DCSUnit</a></li>
<li>DCSWorld</li>
<li><a href="DCScountry.html">DCScountry</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li>
<li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li>

View File

@ -0,0 +1,511 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<link rel="stylesheet" href="stylesheet.css" type="text/css"/>
</head>
<body>
<div id="container">
<div id="product">
<div id="product_logo"></div>
<div id="product_name"><big><b></b></big></div>
<div id="product_description"></div>
</div>
<div id="main">
<div id="navigation">
<h2>Modules</h2>
<ul><li>
<a href="index.html">index</a>
</li></ul>
<ul>
<li><a href="AIBalancer.html">AIBalancer</a></li>
<li><a href="Airbase.html">Airbase</a></li>
<li><a href="AirbasePolice.html">AirbasePolice</a></li>
<li><a href="Base.html">Base</a></li>
<li><a href="CARGO.html">CARGO</a></li>
<li><a href="CleanUp.html">CleanUp</a></li>
<li><a href="Client.html">Client</a></li>
<li><a href="Controllable.html">Controllable</a></li>
<li><a href="DCSAirbase.html">DCSAirbase</a></li>
<li><a href="DCSCoalitionObject.html">DCSCoalitionObject</a></li>
<li><a href="DCSCommand.html">DCSCommand</a></li>
<li><a href="DCSController.html">DCSController</a></li>
<li><a href="DCSGroup.html">DCSGroup</a></li>
<li><a href="DCSObject.html">DCSObject</a></li>
<li><a href="DCSTask.html">DCSTask</a></li>
<li><a href="DCSTypes.html">DCSTypes</a></li>
<li><a href="DCSUnit.html">DCSUnit</a></li>
<li><a href="DCSWorld.html">DCSWorld</a></li>
<li>DCScountry</li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li>
<li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li>
<li><a href="DESTROYGROUPSTASK.html">DESTROYGROUPSTASK</a></li>
<li><a href="DESTROYRADARSTASK.html">DESTROYRADARSTASK</a></li>
<li><a href="DESTROYUNITTYPESTASK.html">DESTROYUNITTYPESTASK</a></li>
<li><a href="Database.html">Database</a></li>
<li><a href="Detection.html">Detection</a></li>
<li><a href="Escort.html">Escort</a></li>
<li><a href="Event.html">Event</a></li>
<li><a href="Fac.html">Fac</a></li>
<li><a href="GOHOMETASK.html">GOHOMETASK</a></li>
<li><a href="Group.html">Group</a></li>
<li><a href="Identifiable.html">Identifiable</a></li>
<li><a href="MOVEMENT.html">MOVEMENT</a></li>
<li><a href="Menu.html">Menu</a></li>
<li><a href="Message.html">Message</a></li>
<li><a href="MissileTrainer.html">MissileTrainer</a></li>
<li><a href="Mission.html">Mission</a></li>
<li><a href="NOTASK.html">NOTASK</a></li>
<li><a href="Object.html">Object</a></li>
<li><a href="PICKUPTASK.html">PICKUPTASK</a></li>
<li><a href="PatrolZone.html">PatrolZone</a></li>
<li><a href="Point.html">Point</a></li>
<li><a href="Positionable.html">Positionable</a></li>
<li><a href="ROUTETASK.html">ROUTETASK</a></li>
<li><a href="STAGE.html">STAGE</a></li>
<li><a href="Scheduler.html">Scheduler</a></li>
<li><a href="Scoring.html">Scoring</a></li>
<li><a href="Sead.html">Sead</a></li>
<li><a href="Set.html">Set</a></li>
<li><a href="Spawn.html">Spawn</a></li>
<li><a href="Static.html">Static</a></li>
<li><a href="StaticObject.html">StaticObject</a></li>
<li><a href="TASK.html">TASK</a></li>
<li><a href="Unit.html">Unit</a></li>
<li><a href="Zone.html">Zone</a></li>
<li><a href="env.html">env</a></li>
<li><a href="land.html">land</a></li>
<li><a href="routines.html">routines</a></li>
</ul>
</div>
<div id="content">
<h1>Module <code>DCScountry</code></h1>
<h2>Global(s)</h2>
<table class="function_list">
<tr>
<td class="name" nowrap="nowrap"><a href="#country">country</a></td>
<td class="summary">
</td>
</tr>
</table>
<h2><a id="#(country)">Type <code>country</code></a></h2>
<table class="function_list">
<tr>
<td class="name" nowrap="nowrap"><a href="##(country).id">country.id</a></td>
<td class="summary">
</td>
</tr>
</table>
<h2><a id="#(country.id)">Type <code>country.id</code></a></h2>
<table class="function_list">
<tr>
<td class="name" nowrap="nowrap"><a href="##(country.id).ABKHAZIA">country.id.ABKHAZIA</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(country.id).BELGIUM">country.id.BELGIUM</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(country.id).CANADA">country.id.CANADA</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(country.id).DENMARK">country.id.DENMARK</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(country.id).FRANCE">country.id.FRANCE</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(country.id).GEORGIA">country.id.GEORGIA</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(country.id).GERMANY">country.id.GERMANY</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(country.id).INSURGENTS">country.id.INSURGENTS</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(country.id).ISRAEL">country.id.ISRAEL</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(country.id).ITALY">country.id.ITALY</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(country.id).NORWAY">country.id.NORWAY</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(country.id).RUSSIA">country.id.RUSSIA</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(country.id).SOUTH_OSETIA">country.id.SOUTH_OSETIA</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(country.id).SPAIN">country.id.SPAIN</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(country.id).THE_NETHERLANDS">country.id.THE_NETHERLANDS</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(country.id).TURKEY">country.id.TURKEY</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(country.id).UK">country.id.UK</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(country.id).UKRAINE">country.id.UKRAINE</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(country.id).USA">country.id.USA</a></td>
<td class="summary">
</td>
</tr>
</table>
<h2>Global(s)</h2>
<dl class="function">
<dt>
<em><a href="##(country)">#country</a></em>
<a id="country" >
<strong>country</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<h2><a id="#(DCScountry)" >Type <code>DCScountry</code></a></h2>
<h2><a id="#(country)" >Type <code>country</code></a></h2>
<h3>Field(s)</h3>
<dl class="function">
<dt>
<em><a href="##(country.id)">#country.id</a></em>
<a id="#(country).id" >
<strong>country.id</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<h2><a id="#(country.id)" >Type <code>country.id</code></a></h2>
<h3>Field(s)</h3>
<dl class="function">
<dt>
<a id="#(country.id).ABKHAZIA" >
<strong>country.id.ABKHAZIA</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(country.id).BELGIUM" >
<strong>country.id.BELGIUM</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(country.id).CANADA" >
<strong>country.id.CANADA</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(country.id).DENMARK" >
<strong>country.id.DENMARK</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(country.id).FRANCE" >
<strong>country.id.FRANCE</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(country.id).GEORGIA" >
<strong>country.id.GEORGIA</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(country.id).GERMANY" >
<strong>country.id.GERMANY</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(country.id).INSURGENTS" >
<strong>country.id.INSURGENTS</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(country.id).ISRAEL" >
<strong>country.id.ISRAEL</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(country.id).ITALY" >
<strong>country.id.ITALY</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(country.id).NORWAY" >
<strong>country.id.NORWAY</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(country.id).RUSSIA" >
<strong>country.id.RUSSIA</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(country.id).SOUTH_OSETIA" >
<strong>country.id.SOUTH_OSETIA</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(country.id).SPAIN" >
<strong>country.id.SPAIN</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(country.id).THE_NETHERLANDS" >
<strong>country.id.THE_NETHERLANDS</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(country.id).TURKEY" >
<strong>country.id.TURKEY</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(country.id).UK" >
<strong>country.id.UK</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(country.id).UKRAINE" >
<strong>country.id.UKRAINE</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(country.id).USA" >
<strong>country.id.USA</strong>
</a>
</dt>
<dd>
</dd>
</dl>
</div>
</div>
</body>
</html>

View File

@ -35,6 +35,7 @@
<li><a href="DCSTypes.html">DCSTypes</a></li>
<li><a href="DCSUnit.html">DCSUnit</a></li>
<li><a href="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCScountry.html">DCScountry</a></li>
<li>DCStimer</li>
<li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li>
<li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li>

View File

@ -35,6 +35,7 @@
<li><a href="DCSTypes.html">DCSTypes</a></li>
<li><a href="DCSUnit.html">DCSUnit</a></li>
<li><a href="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCScountry.html">DCScountry</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li>DEPLOYTASK</li>
<li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li>

View File

@ -35,6 +35,7 @@
<li><a href="DCSTypes.html">DCSTypes</a></li>
<li><a href="DCSUnit.html">DCSUnit</a></li>
<li><a href="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCScountry.html">DCScountry</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li>
<li>DESTROYBASETASK</li>

View File

@ -35,6 +35,7 @@
<li><a href="DCSTypes.html">DCSTypes</a></li>
<li><a href="DCSUnit.html">DCSUnit</a></li>
<li><a href="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCScountry.html">DCScountry</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li>
<li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li>

View File

@ -35,6 +35,7 @@
<li><a href="DCSTypes.html">DCSTypes</a></li>
<li><a href="DCSUnit.html">DCSUnit</a></li>
<li><a href="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCScountry.html">DCScountry</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li>
<li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li>

View File

@ -35,6 +35,7 @@
<li><a href="DCSTypes.html">DCSTypes</a></li>
<li><a href="DCSUnit.html">DCSUnit</a></li>
<li><a href="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCScountry.html">DCScountry</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li>
<li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li>

View File

@ -35,6 +35,7 @@
<li><a href="DCSTypes.html">DCSTypes</a></li>
<li><a href="DCSUnit.html">DCSUnit</a></li>
<li><a href="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCScountry.html">DCScountry</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li>
<li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li>
@ -309,6 +310,12 @@ The following iterator methods are currently available within the DATABASE:</p>
<td class="name" nowrap="nowrap"><a href="##(DATABASE).GetCountryFromClientTemplate">DATABASE:GetCountryFromClientTemplate(ClientName)</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(DATABASE).GetGroupTemplate">DATABASE:GetGroupTemplate(GroupName)</a></td>
<td class="summary">
</td>
</tr>
<tr>
@ -1177,6 +1184,27 @@ self</p>
<dl class="function">
<dt>
<a id="#(DATABASE).GetGroupTemplate" >
<strong>DATABASE:GetGroupTemplate(GroupName)</strong>
</a>
</dt>
<dd>
<h3>Parameter</h3>
<ul>
<li>
<p><code><em> GroupName </em></code>: </p>
</li>
</ul>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(DATABASE).GetStatusGroup" >
<strong>DATABASE:GetStatusGroup(GroupName)</strong>
</a>

View File

@ -35,6 +35,7 @@
<li><a href="DCSTypes.html">DCSTypes</a></li>
<li><a href="DCSUnit.html">DCSUnit</a></li>
<li><a href="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCScountry.html">DCScountry</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li>
<li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li>
@ -89,7 +90,7 @@
<p> The <a href="Detection.html##(DETECTION_BASE)">Detection#DETECTION_BASE</a> class defines the core functions to administer detected objects.</p>
<h2> 1.1) DETECTION_BASE constructor</h2>
<p> Construct a new DETECTION_BASE instance using the <a href="Detection.html##(DETECTION).New">Detection#DETECTION.New</a>() method.</p>
<p> Construct a new DETECTION_BASE instance using the <a href="Detection.html##(DETECTION_BASE).New">Detection#DETECTION_BASE.New</a>() method.</p>
<h2> 1.2) DETECTION_BASE initialization</h2>
<p> By default, detection will return detected objects with all the detection sensors available.
@ -357,6 +358,12 @@
<td class="name" nowrap="nowrap"><a href="##(DETECTION_UNITGROUPS).DetectedZones">DETECTION_UNITGROUPS.DetectedZones</a></td>
<td class="summary">
<p>A list of <a href="Zone.html##(ZONE_UNIT)">Zone#ZONE_UNIT</a>s containing the zones of the reference detected units.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(DETECTION_UNITGROUPS).FlareDetectedUnits">DETECTION_UNITGROUPS:FlareDetectedUnits()</a></td>
<td class="summary">
<p>Flare the detected units</p>
</td>
</tr>
<tr>
@ -1093,6 +1100,24 @@ self</p>
<dl class="function">
<dt>
<a id="#(DETECTION_UNITGROUPS).FlareDetectedUnits" >
<strong>DETECTION_UNITGROUPS:FlareDetectedUnits()</strong>
</a>
</dt>
<dd>
<p>Flare the detected units</p>
<h3>Return value</h3>
<p><em><a href="##(DETECTION_UNITGROUPS)">#DETECTION_UNITGROUPS</a>:</em>
self</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(DETECTION_UNITGROUPS).FlareDetectedZones" >
<strong>DETECTION_UNITGROUPS:FlareDetectedZones()</strong>
</a>

View File

@ -35,6 +35,7 @@
<li><a href="DCSTypes.html">DCSTypes</a></li>
<li><a href="DCSUnit.html">DCSUnit</a></li>
<li><a href="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCScountry.html">DCScountry</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li>
<li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li>
@ -1930,9 +1931,6 @@ EscortPlanes = ESCORT:New( EscortClient, EscortGroup, "Desert", "Welcome to the
<p>self.ReportTargetsScheduler = routines.scheduleFunction( self._ReportTargetsScheduler, { self }, timer.getTime() + 1, Seconds )</p>
</dd>
</dl>
<dl class="function">

View File

@ -35,6 +35,7 @@
<li><a href="DCSTypes.html">DCSTypes</a></li>
<li><a href="DCSUnit.html">DCSUnit</a></li>
<li><a href="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCScountry.html">DCScountry</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li>
<li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li>
@ -1540,7 +1541,7 @@ The self instance of the class for which the event is.</p>
<ul>
<li>
<p><code><em> Event </em></code>: </p>
<p><code><em><a href="##(EVENTDATA)">#EVENTDATA</a> Event </em></code>: </p>
</li>
</ul>

View File

@ -35,6 +35,7 @@
<li><a href="DCSTypes.html">DCSTypes</a></li>
<li><a href="DCSUnit.html">DCSUnit</a></li>
<li><a href="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCScountry.html">DCScountry</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li>
<li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li>

View File

@ -35,6 +35,7 @@
<li><a href="DCSTypes.html">DCSTypes</a></li>
<li><a href="DCSUnit.html">DCSUnit</a></li>
<li><a href="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCScountry.html">DCScountry</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li>
<li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li>

View File

@ -35,6 +35,7 @@
<li><a href="DCSTypes.html">DCSTypes</a></li>
<li><a href="DCSUnit.html">DCSUnit</a></li>
<li><a href="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCScountry.html">DCScountry</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li>
<li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li>
@ -116,7 +117,8 @@ If the DCS Group object does not exist or is nil, the GROUP methods will return
<h2>1.2) GROUP task methods</h2>
<p>Several group task methods are available that help you to prepare tasks.
These methods return a string consisting of the task description, which can then be given to either a <a href="Group.html##(GROUP).PushTask">Group#GROUP.PushTask</a> or <a href="Group.html##(SetTask)">Group#SetTask</a> method to assign the task to the GROUP.
These methods return a string consisting of the task description, which can then be given to either a <br/>
<a href="Controllable.html##(CONTROLLABLE).PushTask">Controllable#CONTROLLABLE.PushTask</a> or <a href="Controllable.html##(CONTROLLABLE).SetTask">Controllable#CONTROLLABLE.SetTask</a> method to assign the task to the GROUP.
Tasks are specific for the category of the GROUP, more specific, for AIR, GROUND or AIR and GROUND.
Each task description where applicable indicates for which group category the task is valid.
There are 2 main subdivisions of tasks: Assigned tasks and EnRoute tasks.</p>
@ -129,28 +131,28 @@ This is different from the EnRoute tasks, where the targets of the task need to
<p>Find below a list of the <strong>assigned task</strong> methods:</p>
<ul>
<li><a href="##(GROUP).TaskAttackGroup">GROUP.TaskAttackGroup</a>: (AIR) Attack a Group.</li>
<li><a href="##(GROUP).TaskAttackMapObject">GROUP.TaskAttackMapObject</a>: (AIR) Attacking the map object (building, structure, e.t.c).</li>
<li><a href="##(GROUP).TaskAttackUnit">GROUP.TaskAttackUnit</a>: (AIR) Attack the Unit.</li>
<li><a href="##(GROUP).TaskBombing">GROUP.TaskBombing</a>: (AIR) Delivering weapon at the point on the ground.</li>
<li><a href="##(GROUP).TaskBombingRunway">GROUP.TaskBombingRunway</a>: (AIR) Delivering weapon on the runway.</li>
<li><a href="##(GROUP).TaskEmbarking">GROUP.TaskEmbarking</a>: (AIR) Move the group to a Vec2 Point, wait for a defined duration and embark a group.</li>
<li><a href="##(GROUP).TaskEmbarkToTransport">GROUP.TaskEmbarkToTransport</a>: (GROUND) Embark to a Transport landed at a location.</li>
<li><a href="##(GROUP).TaskEscort">GROUP.TaskEscort</a>: (AIR) Escort another airborne group. </li>
<li><a href="##(GROUP).TaskFAC_AttackGroup">GROUP.TaskFAC_AttackGroup</a>: (AIR + GROUND) The task makes the group/unit a FAC and orders the FAC to control the target (enemy ground group) destruction.</li>
<li><a href="##(GROUP).TaskFireAtPoint">GROUP.TaskFireAtPoint</a>: (GROUND) Fire at a VEC2 point until ammunition is finished.</li>
<li><a href="##(GROUP).TaskFollow">GROUP.TaskFollow</a>: (AIR) Following another airborne group.</li>
<li><a href="##(GROUP).TaskHold">GROUP.TaskHold</a>: (GROUND) Hold ground group from moving.</li>
<li><a href="##(GROUP).TaskHoldPosition">GROUP.TaskHoldPosition</a>: (AIR) Hold position at the current position of the first unit of the group.</li>
<li><a href="##(GROUP).TaskLand">GROUP.TaskLand</a>: (AIR HELICOPTER) Landing at the ground. For helicopters only.</li>
<li><a href="##(GROUP).TaskLandAtZone">GROUP.TaskLandAtZone</a>: (AIR) Land the group at a <a href="##(GROUP).TaskOrbitCircle">GROUP.TaskOrbitCircle</a>: (AIR) Orbit at the current position of the first unit of the group at a specified alititude.</li>
<li><a href="##(GROUP).TaskOrbitCircleAtVec2">GROUP.TaskOrbitCircleAtVec2</a>: (AIR) Orbit at a specified position at a specified alititude during a specified duration with a specified speed.</li>
<li><a href="##(GROUP).TaskRefueling">GROUP.TaskRefueling</a>: (AIR) Refueling from the nearest tanker. No parameters.</li>
<li><a href="##(GROUP).TaskRoute">GROUP.TaskRoute</a>: (AIR + GROUND) Return a Misson task to follow a given route defined by Points.</li>
<li><a href="##(GROUP).TaskRouteToVec2">GROUP.TaskRouteToVec2</a>: (AIR + GROUND) Make the Group move to a given point.</li>
<li><a href="##(GROUP).TaskRouteToVec3">GROUP.TaskRouteToVec3</a>: (AIR + GROUND) Make the Group move to a given point.</li>
<li><a href="##(GROUP).TaskRouteToZone">GROUP.TaskRouteToZone</a>: (AIR + GROUND) Route the group to a given zone.</li>
<li><a href="##(GROUP).TaskReturnToBase">GROUP.TaskReturnToBase</a>: (AIR) Route the group to an airbase.</li>
<li><a href="Controllable.html##(CONTROLLABLE).TaskAttackGroup">Controllable#CONTROLLABLE.TaskAttackGroup</a>: (AIR) Attack a Group.</li>
<li><a href="Controllable.html##(CONTROLLABLE).TaskAttackMapObject">Controllable#CONTROLLABLE.TaskAttackMapObject</a>: (AIR) Attacking the map object (building, structure, e.t.c).</li>
<li><a href="Controllable.html##(CONTROLLABLE).TaskAttackUnit">Controllable#CONTROLLABLE.TaskAttackUnit</a>: (AIR) Attack the Unit.</li>
<li><a href="Controllable.html##(CONTROLLABLE).TaskBombing">Controllable#CONTROLLABLE.TaskBombing</a>: (Controllable#CONTROLLABLEDelivering weapon at the point on the ground.</li>
<li><a href="Controllable.html##(CONTROLLABLE).TaskBombingRunway">Controllable#CONTROLLABLE.TaskBombingRunway</a>: (AIR) Delivering weapon on the runway.</li>
<li><a href="Controllable.html##(CONTROLLABLE).TaskEmbarking">Controllable#CONTROLLABLE.TaskEmbarking</a>: (AIR) Move the group to a Vec2 Point, wait for a defined duration and embark a group.</li>
<li><a href="Controllable.html##(CONTROLLABLE).TaskEmbarkToTransport">Controllable#CONTROLLABLE.TaskEmbarkToTransport</a>: (GROUND) Embark to a Transport landed at a location.</li>
<li><a href="Controllable.html##(CONTROLLABLE).TaskEscort">Controllable#CONTROLLABLE.TaskEscort</a>: (AIR) Escort another airborne group. </li>
<li><a href="Controllable.html##(CONTROLLABLE).TaskFAC_AttackGroup">Controllable#CONTROLLABLE.TaskFAC_AttackGroup</a>: (AIR + GROUND) The task makes the group/unit a FAC and orders the FAC to control the target (enemy ground group) destruction.</li>
<li><a href="Controllable.html##(CONTROLLABLE).TaskFireAtPoint">Controllable#CONTROLLABLE.TaskFireAtPoint</a>: (GROUND) Fire at a VEC2 point until ammunition is finished.</li>
<li><a href="Controllable.html##(CONTROLLABLE).TaskFollow">Controllable#CONTROLLABLE.TaskFollow</a>: (AIR) Following another airborne group.</li>
<li><a href="Controllable.html##(CONTROLLABLE).TaskHold">Controllable#CONTROLLABLE.TaskHold</a>: (GROUND) Hold ground group from moving.</li>
<li><a href="Controllable.html##(CONTROLLABLE).TaskHoldPosition">Controllable#CONTROLLABLE.TaskHoldPosition</a>: (AIR) Hold position at the current position of the first unit of the group.</li>
<li><a href="Controllable.html##(CONTROLLABLE).TaskLand">Controllable#CONTROLLABLE.TaskLand</a>: (AIR HELICOPTER) Landing at the ground. For helicopters only.</li>
<li><a href="Controllable.html##(CONTROLLABLE).TaskLandAtZone">Controllable#CONTROLLABLE.TaskLandAtZone</a>: (AIR) Land the group at a <a href="Controllable.html##(CONTROLLABLE).TaskOrbitCircle">Controllable#CONTROLLABLE.TaskOrbitCircle</a>: (AIR) Orbit at the current position of the first unit of the group at a specified alititude.</li>
<li><a href="Controllable.html##(CONTROLLABLE).TaskOrbitCircleAtVec2">Controllable#CONTROLLABLE.TaskOrbitCircleAtVec2</a>: (AIR) Orbit at a specified position at a specified alititude during a specified duration with a specified speed.</li>
<li><a href="Controllable.html##(CONTROLLABLE).TaskRefueling">Controllable#CONTROLLABLE.TaskRefueling</a>: (AIR) Refueling from the nearest tanker. No parameters.</li>
<li><a href="Controllable.html##(CONTROLLABLE).TaskRoute">Controllable#CONTROLLABLE.TaskRoute</a>: (AIR + GROUND) Return a Misson task to follow a given route defined by Points.</li>
<li><a href="Controllable.html##(CONTROLLABLE).TaskRouteToVec2">Controllable#CONTROLLABLE.TaskRouteToVec2</a>: (AIR + GROUND) Make the Group move to a given point.</li>
<li><a href="Controllable.html##(CONTROLLABLE).TaskRouteToVec3">Controllable#CONTROLLABLE.TaskRouteToVec3</a>: (AIR + GROUND) Make the Group move to a given point.</li>
<li><a href="Controllable.html##(CONTROLLABLE).TaskRouteToZone">Controllable#CONTROLLABLE.TaskRouteToZone</a>: (AIR + GROUND) Route the group to a given zone.</li>
<li><a href="Controllable.html##(CONTROLLABLE).TaskReturnToBase">Controllable#CONTROLLABLE.TaskReturnToBase</a>: (AIR) Route the group to an airbase.</li>
</ul>
<h3>1.2.2) EnRoute task methods</h3>
@ -158,13 +160,13 @@ This is different from the EnRoute tasks, where the targets of the task need to
<p>EnRoute tasks require the targets of the task need to be detected by the group (using its sensors) before the task can be executed:</p>
<ul>
<li><a href="##(GROUP).EnRouteTaskAWACS">GROUP.EnRouteTaskAWACS</a>: (AIR) Aircraft will act as an AWACS for friendly units (will provide them with information about contacts). No parameters.</li>
<li><a href="##(GROUP).EnRouteTaskEngageGroup">GROUP.EnRouteTaskEngageGroup</a>: (AIR) Engaging a group. The task does not assign the target group to the unit/group to attack now; it just allows the unit/group to engage the target group as well as other assigned targets.</li>
<li><a href="##(GROUP).EnRouteTaskEngageTargets">GROUP.EnRouteTaskEngageTargets</a>: (AIR) Engaging targets of defined types.</li>
<li><a href="##(GROUP).EnRouteTaskEWR">GROUP.EnRouteTaskEWR</a>: (AIR) Attack the Unit.</li>
<li><a href="##(GROUP).EnRouteTaskFAC">GROUP.EnRouteTaskFAC</a>: (AIR + GROUND) The task makes the group/unit a FAC and lets the FAC to choose a targets (enemy ground group) around as well as other assigned targets.</li>
<li><a href="##(GROUP).EnRouteTaskFAC_EngageGroup">GROUP.EnRouteTaskFAC_EngageGroup</a>: (AIR + GROUND) The task makes the group/unit a FAC and lets the FAC to choose the target (enemy ground group) as well as other assigned targets.</li>
<li><a href="##(GROUP).EnRouteTaskTanker">GROUP.EnRouteTaskTanker</a>: (AIR) Aircraft will act as a tanker for friendly units. No parameters.</li>
<li><a href="Controllable.html##(CONTROLLABLE).EnRouteTaskAWACS">Controllable#CONTROLLABLE.EnRouteTaskAWACS</a>: (AIR) Aircraft will act as an AWACS for friendly units (will provide them with information about contacts). No parameters.</li>
<li><a href="Controllable.html##(CONTROLLABLE).EnRouteTaskEngageGroup">Controllable#CONTROLLABLE.EnRouteTaskEngageGroup</a>: (AIR) Engaging a group. The task does not assign the target group to the unit/group to attack now; it just allows the unit/group to engage the target group as well as other assigned targets.</li>
<li><a href="Controllable.html##(CONTROLLABLE).EnRouteTaskEngageTargets">Controllable#CONTROLLABLE.EnRouteTaskEngageTargets</a>: (AIR) Engaging targets of defined types.</li>
<li><a href="Controllable.html##(CONTROLLABLE).EnRouteTaskEWR">Controllable#CONTROLLABLE.EnRouteTaskEWR</a>: (AIR) Attack the Unit.</li>
<li><a href="Controllable.html##(CONTROLLABLE).EnRouteTaskFAC">Controllable#CONTROLLABLE.EnRouteTaskFAC</a>: (AIR + GROUND) The task makes the group/unit a FAC and lets the FAC to choose a targets (enemy ground group) around as well as other assigned targets.</li>
<li><a href="Controllable.html##(CONTROLLABLE).EnRouteTaskFAC_EngageGroup">Controllable#CONTROLLABLE.EnRouteTaskFAC_EngageGroup</a>: (AIR + GROUND) The task makes the group/unit a FAC and lets the FAC to choose the target (enemy ground group) as well as other assigned targets.</li>
<li><a href="Controllable.html##(CONTROLLABLE).EnRouteTaskTanker">Controllable#CONTROLLABLE.EnRouteTaskTanker</a>: (AIR) Aircraft will act as a tanker for friendly units. No parameters.</li>
</ul>
<h3>1.2.3) Preparation task methods</h3>
@ -172,10 +174,10 @@ This is different from the EnRoute tasks, where the targets of the task need to
<p>There are certain task methods that allow to tailor the task behaviour:</p>
<ul>
<li><a href="##(GROUP).TaskWrappedAction">GROUP.TaskWrappedAction</a>: Return a WrappedAction Task taking a Command.</li>
<li><a href="##(GROUP).TaskCombo">GROUP.TaskCombo</a>: Return a Combo Task taking an array of Tasks.</li>
<li><a href="##(GROUP).TaskCondition">GROUP.TaskCondition</a>: Return a condition section for a controlled task.</li>
<li><a href="##(GROUP).TaskControlled">GROUP.TaskControlled</a>: Return a Controlled Task taking a Task and a TaskCondition.</li>
<li><a href="Controllable.html##(CONTROLLABLE).TaskWrappedAction">Controllable#CONTROLLABLE.TaskWrappedAction</a>: Return a WrappedAction Task taking a Command.</li>
<li><a href="Controllable.html##(CONTROLLABLE).TaskCombo">Controllable#CONTROLLABLE.TaskCombo</a>: Return a Combo Task taking an array of Tasks.</li>
<li><a href="Controllable.html##(CONTROLLABLE).TaskCondition">Controllable#CONTROLLABLE.TaskCondition</a>: Return a condition section for a controlled task.</li>
<li><a href="Controllable.html##(CONTROLLABLE).TaskControlled">Controllable#CONTROLLABLE.TaskControlled</a>: Return a Controlled Task taking a Task and a TaskCondition.</li>
</ul>
<h3>1.2.4) Obtain the mission from group templates</h3>
@ -183,15 +185,15 @@ This is different from the EnRoute tasks, where the targets of the task need to
<p>Group templates contain complete mission descriptions. Sometimes you want to copy a complete mission from a group and assign it to another:</p>
<ul>
<li><a href="##(GROUP).TaskMission">GROUP.TaskMission</a>: (AIR + GROUND) Return a mission task from a mission template.</li>
<li><a href="Controllable.html##(CONTROLLABLE).TaskMission">Controllable#CONTROLLABLE.TaskMission</a>: (AIR + GROUND) Return a mission task from a mission template.</li>
</ul>
<h2>1.3) GROUP Command methods</h2>
<p>Group <strong>command methods</strong> prepare the execution of commands using the <a href="##(GROUP).SetCommand">GROUP.SetCommand</a> method:</p>
<p>Group <strong>command methods</strong> prepare the execution of commands using the <a href="Controllable.html##(CONTROLLABLE).SetCommand">Controllable#CONTROLLABLE.SetCommand</a> method:</p>
<ul>
<li><a href="##(GROUP).CommandDoScript">GROUP.CommandDoScript</a>: Do Script command.</li>
<li><a href="##(GROUP).CommandSwitchWayPoint">GROUP.CommandSwitchWayPoint</a>: Perform a switch waypoint command.</li>
<li><a href="Controllable.html##(CONTROLLABLE).CommandDoScript">Controllable#CONTROLLABLE.CommandDoScript</a>: Do Script command.</li>
<li><a href="Controllable.html##(CONTROLLABLE).CommandSwitchWayPoint">Controllable#CONTROLLABLE.CommandSwitchWayPoint</a>: Perform a switch waypoint command.</li>
</ul>
<h2>1.4) GROUP Option methods</h2>
@ -200,37 +202,37 @@ This is different from the EnRoute tasks, where the targets of the task need to
<h3>1.4.1) Rule of Engagement:</h3>
<ul>
<li><a href="##(GROUP).OptionROEWeaponFree">GROUP.OptionROEWeaponFree</a> </li>
<li><a href="##(GROUP).OptionROEOpenFire">GROUP.OptionROEOpenFire</a></li>
<li><a href="##(GROUP).OptionROEReturnFire">GROUP.OptionROEReturnFire</a></li>
<li><a href="##(GROUP).OptionROEEvadeFire">GROUP.OptionROEEvadeFire</a></li>
<li><a href="Controllable.html##(CONTROLLABLE).OptionROEWeaponFree">Controllable#CONTROLLABLE.OptionROEWeaponFree</a> </li>
<li><a href="Controllable.html##(CONTROLLABLE).OptionROEOpenFire">Controllable#CONTROLLABLE.OptionROEOpenFire</a></li>
<li><a href="Controllable.html##(CONTROLLABLE).OptionROEReturnFire">Controllable#CONTROLLABLE.OptionROEReturnFire</a></li>
<li><a href="Controllable.html##(CONTROLLABLE).OptionROEEvadeFire">Controllable#CONTROLLABLE.OptionROEEvadeFire</a></li>
</ul>
<p>To check whether an ROE option is valid for a specific group, use:</p>
<ul>
<li><a href="##(GROUP).OptionROEWeaponFreePossible">GROUP.OptionROEWeaponFreePossible</a> </li>
<li><a href="##(GROUP).OptionROEOpenFirePossible">GROUP.OptionROEOpenFirePossible</a></li>
<li><a href="##(GROUP).OptionROEReturnFirePossible">GROUP.OptionROEReturnFirePossible</a></li>
<li><a href="##(GROUP).OptionROEEvadeFirePossible">GROUP.OptionROEEvadeFirePossible</a></li>
<li><a href="Controllable.html##(CONTROLLABLE).OptionROEWeaponFreePossible">Controllable#CONTROLLABLE.OptionROEWeaponFreePossible</a> </li>
<li><a href="Controllable.html##(CONTROLLABLE).OptionROEOpenFirePossible">Controllable#CONTROLLABLE.OptionROEOpenFirePossible</a></li>
<li><a href="Controllable.html##(CONTROLLABLE).OptionROEReturnFirePossible">Controllable#CONTROLLABLE.OptionROEReturnFirePossible</a></li>
<li><a href="Controllable.html##(CONTROLLABLE).OptionROEEvadeFirePossible">Controllable#CONTROLLABLE.OptionROEEvadeFirePossible</a></li>
</ul>
<h3>1.4.2) Rule on thread:</h3>
<ul>
<li><a href="##(GROUP).OptionROTNoReaction">GROUP.OptionROTNoReaction</a></li>
<li><a href="##(GROUP).OptionROTPassiveDefense">GROUP.OptionROTPassiveDefense</a></li>
<li><a href="##(GROUP).OptionROTEvadeFire">GROUP.OptionROTEvadeFire</a></li>
<li><a href="##(GROUP).OptionROTVertical">GROUP.OptionROTVertical</a></li>
<li><a href="Controllable.html##(CONTROLLABLE).OptionROTNoReaction">Controllable#CONTROLLABLE.OptionROTNoReaction</a></li>
<li><a href="Controllable.html##(CONTROLLABLE).OptionROTPassiveDefense">Controllable#CONTROLLABLE.OptionROTPassiveDefense</a></li>
<li><a href="Controllable.html##(CONTROLLABLE).OptionROTEvadeFire">Controllable#CONTROLLABLE.OptionROTEvadeFire</a></li>
<li><a href="Controllable.html##(CONTROLLABLE).OptionROTVertical">Controllable#CONTROLLABLE.OptionROTVertical</a></li>
</ul>
<p>To test whether an ROT option is valid for a specific group, use:</p>
<ul>
<li><a href="##(GROUP).OptionROTNoReactionPossible">GROUP.OptionROTNoReactionPossible</a></li>
<li><a href="##(GROUP).OptionROTPassiveDefensePossible">GROUP.OptionROTPassiveDefensePossible</a></li>
<li><a href="##(GROUP).OptionROTEvadeFirePossible">GROUP.OptionROTEvadeFirePossible</a></li>
<li><a href="##(GROUP).OptionROTVerticalPossible">GROUP.OptionROTVerticalPossible</a></li>
<li><a href="Controllable.html##(CONTROLLABLE).OptionROTNoReactionPossible">Controllable#CONTROLLABLE.OptionROTNoReactionPossible</a></li>
<li><a href="Controllable.html##(CONTROLLABLE).OptionROTPassiveDefensePossible">Controllable#CONTROLLABLE.OptionROTPassiveDefensePossible</a></li>
<li><a href="Controllable.html##(CONTROLLABLE).OptionROTEvadeFirePossible">Controllable#CONTROLLABLE.OptionROTEvadeFirePossible</a></li>
<li><a href="Controllable.html##(CONTROLLABLE).OptionROTVerticalPossible">Controllable#CONTROLLABLE.OptionROTVerticalPossible</a></li>
</ul>
<h2>1.5) GROUP Zone validation methods</h2>
@ -406,7 +408,7 @@ Use the following Zone validation methods on the group:</p>
<tr>
<td class="name" nowrap="nowrap"><a href="##(GROUP).GetTemplate">GROUP:GetTemplate()</a></td>
<td class="summary">
<p>Returns the group template from the <a href="DATABASE.html">DATABASE</a> (_DATABASE object).</p>
</td>
</tr>
<tr>
@ -526,7 +528,25 @@ Use the following Zone validation methods on the group:</p>
<tr>
<td class="name" nowrap="nowrap"><a href="##(GROUP).Respawn">GROUP:Respawn(Template)</a></td>
<td class="summary">
<p>Respawn the <a href="GROUP.html">GROUP</a> using a (tweaked) template of the Group.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(GROUP).SetTemplateCoalition">GROUP:SetTemplateCoalition(CoalitionID, Template)</a></td>
<td class="summary">
<p>Sets the CoalitionID of the group in a Template.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(GROUP).SetTemplateControlled">GROUP:SetTemplateControlled(Controlled, Template)</a></td>
<td class="summary">
<p>Sets the controlled status in a Template.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(GROUP).SetTemplateCountry">GROUP:SetTemplateCountry(CountryID, Template)</a></td>
<td class="summary">
<p>Sets the CountryID of the group in a Template.</p>
</td>
</tr>
</table>
@ -1066,6 +1086,11 @@ The mission route defined by points.</p>
</dt>
<dd>
<p>Returns the group template from the <a href="DATABASE.html">DATABASE</a> (_DATABASE object).</p>
<h3>Return value</h3>
<p><em>#table:</em></p>
</dd>
@ -1544,16 +1569,135 @@ self</p>
</dt>
<dd>
<p>Respawn the <a href="GROUP.html">GROUP</a> using a (tweaked) template of the Group.</p>
<p>The template must be retrieved with the <a href="Group.html##(GROUP).GetTemplate">Group#GROUP.GetTemplate</a>() function.
The template contains all the definitions as declared within the mission file.
To understand templates, do the following: </p>
<ul>
<li>unpack your .miz file into a directory using 7-zip.</li>
<li>browse in the directory created to the file <strong>mission</strong>.</li>
<li>open the file and search for the country group definitions.</li>
</ul>
<p>Your group template will contain the fields as described within the mission file.</p>
<p>This function will:</p>
<ul>
<li>Get the current position and heading of the group.</li>
<li>When the group is alive, it will tweak the template x, y and heading coordinates of the group and the embedded units to the current units positions.</li>
<li>Then it will destroy the current alive group.</li>
<li>And it will respawn the group using your new template definition.</li>
</ul>
<h3>Parameter</h3>
<ul>
<li>
<p><code><em>#table Template </em></code>:
The template of the Group retrieved with GROUP:GetTemplate()</p>
</li>
</ul>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(GROUP).SetTemplateCoalition" >
<strong>GROUP:SetTemplateCoalition(CoalitionID, Template)</strong>
</a>
</dt>
<dd>
<p>Sets the CoalitionID of the group in a Template.</p>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em><a href="DCSCoalitionObject.html##(coalition.side)">DCSCoalitionObject#coalition.side</a> CoalitionID </em></code>:
The coalition ID.</p>
</li>
<li>
<p><code><em> Template </em></code>: </p>
</li>
</ul>
<h3>Return value</h3>
<p><em>#table:</em></p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(GROUP).SetTemplateControlled" >
<strong>GROUP:SetTemplateControlled(Controlled, Template)</strong>
</a>
</dt>
<dd>
<p>Sets the controlled status in a Template.</p>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em>#boolean Controlled </em></code>:
true is controlled, false is uncontrolled.</p>
</li>
<li>
<p><code><em> Template </em></code>: </p>
</li>
</ul>
<h3>Return value</h3>
<p><em>#table:</em></p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(GROUP).SetTemplateCountry" >
<strong>GROUP:SetTemplateCountry(CountryID, Template)</strong>
</a>
</dt>
<dd>
<p>Sets the CountryID of the group in a Template.</p>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em><a href="DCScountry.html##(country.id)">DCScountry#country.id</a> CountryID </em></code>:
The country ID.</p>
</li>
<li>
<p><code><em> Template </em></code>: </p>
</li>
</ul>
<h3>Return value</h3>
<p><em>#table:</em></p>
</dd>
</dl>

View File

@ -35,6 +35,7 @@
<li><a href="DCSTypes.html">DCSTypes</a></li>
<li><a href="DCSUnit.html">DCSUnit</a></li>
<li><a href="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCScountry.html">DCScountry</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li>
<li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li>
@ -131,6 +132,12 @@
<td class="name" nowrap="nowrap"><a href="##(IDENTIFIABLE).ClassName">IDENTIFIABLE.ClassName</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(IDENTIFIABLE).GetCategory">IDENTIFIABLE:GetCategory()</a></td>
<td class="summary">
<p>Returns category of the DCS Identifiable.</p>
</td>
</tr>
<tr>
@ -223,6 +230,24 @@
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(IDENTIFIABLE).GetCategory" >
<strong>IDENTIFIABLE:GetCategory()</strong>
</a>
</dt>
<dd>
<p>Returns category of the DCS Identifiable.</p>
<h3>Return value</h3>
<p><em><a href="DCSObject.html##(Object.Category)">DCSObject#Object.Category</a>:</em>
The category ID</p>
</dd>
</dl>
<dl class="function">

View File

@ -35,6 +35,7 @@
<li><a href="DCSTypes.html">DCSTypes</a></li>
<li><a href="DCSUnit.html">DCSUnit</a></li>
<li><a href="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCScountry.html">DCScountry</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li>
<li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li>

View File

@ -35,6 +35,7 @@
<li><a href="DCSTypes.html">DCSTypes</a></li>
<li><a href="DCSUnit.html">DCSUnit</a></li>
<li><a href="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCScountry.html">DCScountry</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li>
<li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li>

View File

@ -35,6 +35,7 @@
<li><a href="DCSTypes.html">DCSTypes</a></li>
<li><a href="DCSUnit.html">DCSUnit</a></li>
<li><a href="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCScountry.html">DCScountry</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li>
<li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li>

View File

@ -35,6 +35,7 @@
<li><a href="DCSTypes.html">DCSTypes</a></li>
<li><a href="DCSUnit.html">DCSUnit</a></li>
<li><a href="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCScountry.html">DCScountry</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li>
<li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li>

View File

@ -35,6 +35,7 @@
<li><a href="DCSTypes.html">DCSTypes</a></li>
<li><a href="DCSUnit.html">DCSUnit</a></li>
<li><a href="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCScountry.html">DCScountry</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li>
<li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li>

View File

@ -35,6 +35,7 @@
<li><a href="DCSTypes.html">DCSTypes</a></li>
<li><a href="DCSUnit.html">DCSUnit</a></li>
<li><a href="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCScountry.html">DCScountry</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li>
<li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li>

View File

@ -35,6 +35,7 @@
<li><a href="DCSTypes.html">DCSTypes</a></li>
<li><a href="DCSUnit.html">DCSUnit</a></li>
<li><a href="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCScountry.html">DCScountry</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li>
<li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li>
@ -138,51 +139,9 @@
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(OBJECT).GetCallSign">OBJECT:GetCallSign()</a></td>
<td class="name" nowrap="nowrap"><a href="##(OBJECT).GetID">OBJECT:GetID()</a></td>
<td class="summary">
<p>Returns the Object's callsign - the localized string.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(OBJECT).GetCategoryName">OBJECT:GetCategoryName()</a></td>
<td class="summary">
<p>Returns the DCS Object category name as defined within the DCS Object Descriptor.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(OBJECT).GetCoalition">OBJECT:GetCoalition()</a></td>
<td class="summary">
<p>Returns coalition of the Object.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(OBJECT).GetCountry">OBJECT:GetCountry()</a></td>
<td class="summary">
<p>Returns country of the Object.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(OBJECT).GetDesc">OBJECT:GetDesc()</a></td>
<td class="summary">
<p>Returns Object descriptor.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(OBJECT).GetName">OBJECT:GetName()</a></td>
<td class="summary">
<p>Returns DCS Object object name.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(OBJECT).GetTypeName">OBJECT:GetTypeName()</a></td>
<td class="summary">
<p>Returns the type name of the DCS Object.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(OBJECT).IsAlive">OBJECT:IsAlive()</a></td>
<td class="summary">
<p>Returns if the Object is alive.</p>
<p>Returns the unit's unique identifier.</p>
</td>
</tr>
<tr>
@ -257,212 +216,20 @@
<dl class="function">
<dt>
<a id="#(OBJECT).GetCallSign" >
<strong>OBJECT:GetCallSign()</strong>
<a id="#(OBJECT).GetID" >
<strong>OBJECT:GetID()</strong>
</a>
</dt>
<dd>
<p>Returns the Object's callsign - the localized string.</p>
<p>Returns the unit's unique identifier.</p>
<h3>Return values</h3>
<ol>
<li>
<p><em>#string:</em>
The Callsign of the Object.</p>
</li>
<li>
<p><em>#nil:</em>
The DCS Object is not existing or alive. </p>
</li>
</ol>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(OBJECT).GetCategoryName" >
<strong>OBJECT:GetCategoryName()</strong>
</a>
</dt>
<dd>
<p>Returns the DCS Object category name as defined within the DCS Object Descriptor.</p>
<h3>Return value</h3>
<p><em>#string:</em>
The DCS Object Category Name</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(OBJECT).GetCoalition" >
<strong>OBJECT:GetCoalition()</strong>
</a>
</dt>
<dd>
<p>Returns coalition of the Object.</p>
<h3>Return values</h3>
<ol>
<li>
<p><em><a href="DCSCoalitionObject.html##(coalition.side)">DCSCoalitionObject#coalition.side</a>:</em>
The side of the coalition.</p>
</li>
<li>
<p><em>#nil:</em>
The DCS Object is not existing or alive. </p>
</li>
</ol>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(OBJECT).GetCountry" >
<strong>OBJECT:GetCountry()</strong>
</a>
</dt>
<dd>
<p>Returns country of the Object.</p>
<h3>Return values</h3>
<ol>
<li>
<p><em><a href="DCScountry.html##(country.id)">DCScountry#country.id</a>:</em>
The country identifier.</p>
</li>
<li>
<p><em>#nil:</em>
The DCS Object is not existing or alive. </p>
</li>
</ol>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(OBJECT).GetDesc" >
<strong>OBJECT:GetDesc()</strong>
</a>
</dt>
<dd>
<p>Returns Object descriptor.</p>
<p>Descriptor type depends on Object category.</p>
<h3>Return values</h3>
<ol>
<li>
<p><em><a href="DCSObject.html##(Object.Desc)">DCSObject#Object.Desc</a>:</em>
The Object descriptor.</p>
</li>
<li>
<p><em>#nil:</em>
The DCS Object is not existing or alive. </p>
</li>
</ol>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(OBJECT).GetName" >
<strong>OBJECT:GetName()</strong>
</a>
</dt>
<dd>
<p>Returns DCS Object object name.</p>
<p>The function provides access to non-activated objects too.</p>
<h3>Return values</h3>
<ol>
<li>
<p><em>#string:</em>
The name of the DCS Object.</p>
</li>
<li>
<p><em>#nil:</em>
The DCS Object is not existing or alive. </p>
</li>
</ol>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(OBJECT).GetTypeName" >
<strong>OBJECT:GetTypeName()</strong>
</a>
</dt>
<dd>
<p>Returns the type name of the DCS Object.</p>
<h3>Return values</h3>
<ol>
<li>
<p><em>#string:</em>
The type name of the DCS Object.</p>
</li>
<li>
<p><em>#nil:</em>
The DCS Object is not existing or alive. </p>
</li>
</ol>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(OBJECT).IsAlive" >
<strong>OBJECT:IsAlive()</strong>
</a>
</dt>
<dd>
<p>Returns if the Object is alive.</p>
<h3>Return values</h3>
<ol>
<li>
<p><em>#boolean:</em>
true if Object is alive.</p>
<p><em><a href="DCSObject.html##(Object.ID)">DCSObject#Object.ID</a>:</em>
ObjectID</p>
</li>
<li>

View File

@ -35,6 +35,7 @@
<li><a href="DCSTypes.html">DCSTypes</a></li>
<li><a href="DCSUnit.html">DCSUnit</a></li>
<li><a href="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCScountry.html">DCScountry</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li>
<li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li>

View File

@ -35,6 +35,7 @@
<li><a href="DCSTypes.html">DCSTypes</a></li>
<li><a href="DCSUnit.html">DCSUnit</a></li>
<li><a href="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCScountry.html">DCScountry</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li>
<li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li>

View File

@ -35,6 +35,7 @@
<li><a href="DCSTypes.html">DCSTypes</a></li>
<li><a href="DCSUnit.html">DCSUnit</a></li>
<li><a href="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCScountry.html">DCScountry</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li>
<li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li>

View File

@ -35,6 +35,7 @@
<li><a href="DCSTypes.html">DCSTypes</a></li>
<li><a href="DCSUnit.html">DCSUnit</a></li>
<li><a href="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCScountry.html">DCScountry</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li>
<li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li>

View File

@ -35,6 +35,7 @@
<li><a href="DCSTypes.html">DCSTypes</a></li>
<li><a href="DCSUnit.html">DCSUnit</a></li>
<li><a href="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCScountry.html">DCScountry</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li>
<li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li>

View File

@ -35,6 +35,7 @@
<li><a href="DCSTypes.html">DCSTypes</a></li>
<li><a href="DCSUnit.html">DCSUnit</a></li>
<li><a href="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCScountry.html">DCScountry</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li>
<li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li>

View File

@ -35,6 +35,7 @@
<li><a href="DCSTypes.html">DCSTypes</a></li>
<li><a href="DCSUnit.html">DCSUnit</a></li>
<li><a href="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCScountry.html">DCScountry</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li>
<li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li>

View File

@ -35,6 +35,7 @@
<li><a href="DCSTypes.html">DCSTypes</a></li>
<li><a href="DCSUnit.html">DCSUnit</a></li>
<li><a href="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCScountry.html">DCScountry</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li>
<li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li>

View File

@ -35,6 +35,7 @@
<li><a href="DCSTypes.html">DCSTypes</a></li>
<li><a href="DCSUnit.html">DCSUnit</a></li>
<li><a href="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCScountry.html">DCScountry</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li>
<li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li>

View File

@ -35,6 +35,7 @@
<li><a href="DCSTypes.html">DCSTypes</a></li>
<li><a href="DCSUnit.html">DCSUnit</a></li>
<li><a href="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCScountry.html">DCScountry</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li>
<li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li>
@ -1506,7 +1507,7 @@ The closest object.</p>
<p>Flushes the current SET_BASE contents in the log ...</p>
<p>(for debug reasons).</p>
<p>(for debugging reasons).</p>
<h3>Return value</h3>

View File

@ -35,6 +35,7 @@
<li><a href="DCSTypes.html">DCSTypes</a></li>
<li><a href="DCSUnit.html">DCSUnit</a></li>
<li><a href="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCScountry.html">DCScountry</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li>
<li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li>

View File

@ -35,6 +35,7 @@
<li><a href="DCSTypes.html">DCSTypes</a></li>
<li><a href="DCSUnit.html">DCSUnit</a></li>
<li><a href="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCScountry.html">DCScountry</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li>
<li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li>

View File

@ -35,6 +35,7 @@
<li><a href="DCSTypes.html">DCSTypes</a></li>
<li><a href="DCSUnit.html">DCSUnit</a></li>
<li><a href="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCScountry.html">DCScountry</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li>
<li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li>

View File

@ -35,6 +35,7 @@
<li><a href="DCSTypes.html">DCSTypes</a></li>
<li><a href="DCSUnit.html">DCSUnit</a></li>
<li><a href="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCScountry.html">DCScountry</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li>
<li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li>

View File

@ -35,6 +35,7 @@
<li><a href="DCSTypes.html">DCSTypes</a></li>
<li><a href="DCSUnit.html">DCSUnit</a></li>
<li><a href="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCScountry.html">DCScountry</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li>
<li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li>

View File

@ -35,6 +35,7 @@
<li><a href="DCSTypes.html">DCSTypes</a></li>
<li><a href="DCSUnit.html">DCSUnit</a></li>
<li><a href="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCScountry.html">DCScountry</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li>
<li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li>
@ -107,8 +108,9 @@
<li><a href="Zone.html##(ZONE_BASE)">Zone#ZONE_BASE</a>: The ZONE_BASE class defining the base for all other zone classes.</li>
<li><a href="Zone.html##(ZONE_RADIUS)">Zone#ZONE_RADIUS</a>: The ZONE_RADIUS class defined by a zone name, a location and a radius.</li>
<li><a href="Zone.html##(ZONE)">Zone#ZONE</a>: The ZONE class, defined by the zone name as defined within the Mission Editor.</li>
<li><a href="Zone.html##(ZONE_UNIT)">Zone#ZONE_UNIT</a>: The ZONE_UNIT class defined by a zone around a <a href="Unit.html##(UNIT)">Unit#UNIT</a> with a radius.</li>
<li><a href="Zone.html##(ZONE_POLYGON)">Zone#ZONE_POLYGON</a>: The ZONE_POLYGON class defined by a sequence of <a href="Group.html##(GROUP)">Group#GROUP</a> waypoints within the Mission Editor, forming a polygon.</li>
<li><a href="Zone.html##(ZONE_UNIT)">Zone#ZONE_UNIT</a>: The ZONE_UNIT class defines by a zone around a <a href="Unit.html##(UNIT)">Unit#UNIT</a> with a radius.</li>
<li><a href="Zone.html##(ZONE_GROUP)">Zone#ZONE_GROUP</a>: The ZONE_GROUP class defines by a zone around a <a href="Group.html##(GROUP)">Group#GROUP</a> with a radius.</li>
<li><a href="Zone.html##(ZONE_POLYGON)">Zone#ZONE_POLYGON</a>: The ZONE_POLYGON class defines by a sequence of <a href="Group.html##(GROUP)">Group#GROUP</a> waypoints within the Mission Editor, forming a polygon.</li>
</ul>
<p>Each zone implements two polymorphic functions defined in <a href="Zone.html##(ZONE_BASE)">Zone#ZONE_BASE</a>:</p>
@ -140,7 +142,12 @@
<hr/>
<h1>5) <a href="Zone.html##(ZONE_POLYGON)">Zone#ZONE_POLYGON</a> class, extends <a href="Zone.html##(ZONE_BASE)">Zone#ZONE_BASE</a></h1>
<h1>5) <a href="Zone.html##(ZONE_GROUP)">Zone#ZONE_GROUP</a> class, extends <a href="Zone.html##(ZONE_RADIUS)">Zone#ZONE_RADIUS</a></h1>
<p>The ZONE_GROUP class defines by a zone around a <a href="Group.html##(GROUP)">Group#GROUP</a> with a radius. The current leader of the group defines the center of the zone.</p>
<hr/>
<h1>6) <a href="Zone.html##(ZONE_POLYGON)">Zone#ZONE_POLYGON</a> class, extends <a href="Zone.html##(ZONE_BASE)">Zone#ZONE_BASE</a></h1>
<p>The ZONE_POLYGON class defined by a sequence of <a href="Group.html##(GROUP)">Group#GROUP</a> waypoints within the Mission Editor, forming a polygon.</p>
<hr/>
@ -158,6 +165,12 @@
<td class="name" nowrap="nowrap"><a href="#ZONE_BASE">ZONE_BASE</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="#ZONE_GROUP">ZONE_GROUP</a></td>
<td class="summary">
</td>
</tr>
<tr>
@ -277,6 +290,40 @@
<td class="name" nowrap="nowrap"><a href="##(ZONE_BASE.BoundingSquare).y2">ZONE_BASE.BoundingSquare.y2</a></td>
<td class="summary">
<p>The higher y coordinate (right up)</p>
</td>
</tr>
</table>
<h2><a id="#(ZONE_GROUP)">Type <code>ZONE_GROUP</code></a></h2>
<table class="function_list">
<tr>
<td class="name" nowrap="nowrap"><a href="##(ZONE_GROUP).ClassName">ZONE_GROUP.ClassName</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(ZONE_GROUP).GetPointVec2">ZONE_GROUP:GetPointVec2()</a></td>
<td class="summary">
<p>Returns the current location of the <a href="Group.html">Group</a>.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(ZONE_GROUP).GetRandomVec2">ZONE_GROUP:GetRandomVec2()</a></td>
<td class="summary">
<p>Returns a random location within the zone of the <a href="Group.html">Group</a>.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(ZONE_GROUP).New">ZONE_GROUP:New(ZoneName, ZoneGROUP, Radius)</a></td>
<td class="summary">
<p>Constructor to create a ZONE_GROUP instance, taking the zone name, a zone <a href="Group.html##(GROUP)">Group#GROUP</a> and a radius.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(ZONE_GROUP).ZoneGROUP">ZONE_GROUP.ZoneGROUP</a></td>
<td class="summary">
</td>
</tr>
</table>
@ -449,6 +496,12 @@
<td class="name" nowrap="nowrap"><a href="##(ZONE_UNIT).GetPointVec2">ZONE_UNIT:GetPointVec2()</a></td>
<td class="summary">
<p>Returns the current location of the <a href="Unit.html##(UNIT)">Unit#UNIT</a>.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(ZONE_UNIT).GetRandomVec2">ZONE_UNIT:GetRandomVec2()</a></td>
<td class="summary">
<p>Returns a random location within the zone.</p>
</td>
</tr>
<tr>
@ -492,6 +545,20 @@
</dd>
</dl>
<dl class="function">
<dt>
<em><a href="##(ZONE_GROUP)">#ZONE_GROUP</a></em>
<a id="ZONE_GROUP" >
<strong>ZONE_GROUP</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
@ -838,6 +905,115 @@ The smoke color.</p>
<p>The higher y coordinate (right up)</p>
</dd>
</dl>
<h2><a id="#(ZONE_GROUP)" >Type <code>ZONE_GROUP</code></a></h2>
<p>The ZONE_GROUP class defined by a zone around a <a href="Group.html">Group</a>, taking the average center point of all the units within the Group, with a radius.</p>
<h3>Field(s)</h3>
<dl class="function">
<dt>
<em>#string</em>
<a id="#(ZONE_GROUP).ClassName" >
<strong>ZONE_GROUP.ClassName</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(ZONE_GROUP).GetPointVec2" >
<strong>ZONE_GROUP:GetPointVec2()</strong>
</a>
</dt>
<dd>
<p>Returns the current location of the <a href="Group.html">Group</a>.</p>
<h3>Return value</h3>
<p><em><a href="DCSTypes.html##(Vec2)">DCSTypes#Vec2</a>:</em>
The location of the zone based on the <a href="Group.html">Group</a> location.</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(ZONE_GROUP).GetRandomVec2" >
<strong>ZONE_GROUP:GetRandomVec2()</strong>
</a>
</dt>
<dd>
<p>Returns a random location within the zone of the <a href="Group.html">Group</a>.</p>
<h3>Return value</h3>
<p><em><a href="DCSTypes.html##(Vec2)">DCSTypes#Vec2</a>:</em>
The random location of the zone based on the <a href="Group.html">Group</a> location.</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(ZONE_GROUP).New" >
<strong>ZONE_GROUP:New(ZoneName, ZoneGROUP, Radius)</strong>
</a>
</dt>
<dd>
<p>Constructor to create a ZONE_GROUP instance, taking the zone name, a zone <a href="Group.html##(GROUP)">Group#GROUP</a> and a radius.</p>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em>#string ZoneName </em></code>:
Name of the zone.</p>
</li>
<li>
<p><code><em><a href="Group.html##(GROUP)">Group#GROUP</a> ZoneGROUP </em></code>:
The <a href="Group.html">Group</a> as the center of the zone.</p>
</li>
<li>
<p><code><em><a href="DCSTypes.html##(Distance)">DCSTypes#Distance</a> Radius </em></code>:
The radius of the zone.</p>
</li>
</ul>
<h3>Return value</h3>
<p><em><a href="##(ZONE_GROUP)">#ZONE_GROUP</a>:</em>
self</p>
</dd>
</dl>
<dl class="function">
<dt>
<em><a href="Group.html##(GROUP)">Group#GROUP</a></em>
<a id="#(ZONE_GROUP).ZoneGROUP" >
<strong>ZONE_GROUP.ZoneGROUP</strong>
</a>
</dt>
<dd>
</dd>
</dl>
@ -981,6 +1157,9 @@ The Vec2 coordinate.</p>
<p>Returns if a location is within the zone.</p>
<p>Source learned and taken from: https://www.ecse.rpi.edu/Homepages/wrf/Research/Short_Notes/pnpoly.html</p>
<h3>Parameter</h3>
<ul>
<li>
@ -1470,6 +1649,24 @@ The location of the zone based on the <a href="Unit.html##(UNIT)">Unit#UNIT</a>l
<dl class="function">
<dt>
<a id="#(ZONE_UNIT).GetRandomVec2" >
<strong>ZONE_UNIT:GetRandomVec2()</strong>
</a>
</dt>
<dd>
<p>Returns a random location within the zone.</p>
<h3>Return value</h3>
<p><em><a href="DCSTypes.html##(Vec2)">DCSTypes#Vec2</a>:</em>
The random location within the zone.</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(ZONE_UNIT).New" >
<strong>ZONE_UNIT:New(ZoneName, ZoneUNIT, Radius)</strong>
</a>

View File

@ -35,6 +35,7 @@
<li><a href="DCSTypes.html">DCSTypes</a></li>
<li><a href="DCSUnit.html">DCSUnit</a></li>
<li><a href="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCScountry.html">DCScountry</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li>
<li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li>

View File

@ -35,6 +35,7 @@
<li><a href="DCSTypes.html">DCSTypes</a></li>
<li><a href="DCSUnit.html">DCSUnit</a></li>
<li><a href="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCScountry.html">DCScountry</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li>
<li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li>
@ -186,6 +187,12 @@
<td class="name" nowrap="nowrap"><a href="DCSWorld.html">DCSWorld</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="DCScountry.html">DCScountry</a></td>
<td class="summary">
</td>
</tr>
<tr>

View File

@ -35,6 +35,7 @@
<li><a href="DCSTypes.html">DCSTypes</a></li>
<li><a href="DCSUnit.html">DCSUnit</a></li>
<li><a href="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCScountry.html">DCScountry</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li>
<li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li>

View File

@ -35,6 +35,7 @@
<li><a href="DCSTypes.html">DCSTypes</a></li>
<li><a href="DCSUnit.html">DCSUnit</a></li>
<li><a href="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCScountry.html">DCScountry</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li>
<li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li>