Merge remote-tracking branch 'refs/remotes/origin/master' into FlightControl
# Conflicts: # Moose Mission Setup/Moose Mission Update/l10n/DEFAULT/Moose.lua # Moose Mission Setup/Moose.lua # Moose Test Missions/SPA - Spawning/SPA-010 - Spawn Demo/SPA-010 - Spawn Demo.miz # Moose Test Missions/SPA - Spawning/SPA-011 - Ground Ops - Simple Spawning/SPA-011 - Ground Ops - Simple Spawning.miz # Moose Test Missions/SPA - Spawning/SPA-012 - Ground Ops - Multiple Spawns/SPA-012 - Ground Ops - Multiple Spawns.miz # Moose Test Missions/SPA - Spawning/SPA-013 - Ground Ops - Scheduled Spawns/SPA-013 - Ground Ops - Scheduled Spawns.miz # Moose Test Missions/SPA - Spawning/SPA-014 - Ground Ops - Scheduled Spawns Limited/SPA-014 - Ground Ops - Scheduled Spawns Limited.miz # Moose Test Missions/SPA - Spawning/SPA-015 - Ground Ops - Randomize Route/SPA-015 - Ground Ops - Randomize Route.miz # Moose Test Missions/SPA - Spawning/SPA-016 - Ground Ops - Randomize Zones/SPA-016 - Ground Ops - Randomize Zones.miz # Moose Test Missions/SPA - Spawning/SPA-017 - Ground Ops - Set AI inactive while spawning/SPA-017 - Ground Ops - Set AI inactive while spawning.miz # Moose Test Missions/SPA - Spawning/SPA-018 - Ground Ops - Randomize Templates/SPA-018 - Ground Ops - Randomize Templates.miz # Moose Test Missions/SPA - Spawning/SPA-100 - CleanUp Inactive Units/SPA-100 - CleanUp Inactive Units.miz # Moose Test Missions/SPA - Spawning/SPA-110 - Limit Spawning/SPA-110 - Limit Spawning.miz # Moose Test Missions/SPA - Spawning/SPA-121 - Air Ops - Scheduled Spawns with Repeat on Landing with Limit/SPA-121 - Air Ops - Scheduled Spawns with Repeat on Landing with Limit.miz # Moose Test Missions/SPA - Spawning/SPA-130 - Uncontrolled Spawning/SPA-130 - Uncontrolled Spawning.miz # Moose Test Missions/SPA - Spawning/SPA-200 - Randomize Unit Types/SPA-200 - Randomize Unit Types.miz # Moose Test Missions/SPA - Spawning/SPA-220 - Randomize Zones/SPA-220 - Randomize Zones.miz # Moose Test Missions/SPA - Spawning/SPA-310 - Spawn at Static position/SPA-310 - Spawn at Static position.miz # Moose Test Missions/SPA - Spawning/SPA-320 - Spawn at Unit position/SPA-320 - Spawn at Unit position.miz # Moose Test Missions/SPA - Spawning/SPA-330 - Spawn at Vec2 position/SPA-330 - Spawn at Vec2 position.miz # Moose Test Missions/SPA - Spawning/SPA-340 - Spawn at Vec3 position/SPA-340 - Spawn at Vec3 position.miz # Moose Test Missions/ZON - Zones/ZON-100 - Normal Zone/ZON-100 - Normal Zone.miz # docs/Documentation/Zone.html
@@ -1,4 +1,4 @@
|
|||||||
--- Single-Player:**No** / Mulit-Player:**Yes** / AI:**Yes** / Human:**No** / Types:**All** -- **AI Balancing will replace in multi player missions
|
--- Single-Player:**No** / Multi-Player:**Yes** / AI:**Yes** / Human:**No** / Types:**All** -- **AI Balancing will replace in multi player missions
|
||||||
-- non-occupied human slots with AI groups, in order to provide an engaging simulation environment,
|
-- non-occupied human slots with AI groups, in order to provide an engaging simulation environment,
|
||||||
-- even when there are hardly any players in the mission.**
|
-- even when there are hardly any players in the mission.**
|
||||||
--
|
--
|
||||||
@@ -116,6 +116,7 @@ function AI_BALANCER:New( SetClient, SpawnAI )
|
|||||||
-- Inherits from BASE
|
-- Inherits from BASE
|
||||||
local self = BASE:Inherit( self, FSM_SET:New( SET_GROUP:New() ) ) -- AI.AI_Balancer#AI_BALANCER
|
local self = BASE:Inherit( self, FSM_SET:New( SET_GROUP:New() ) ) -- AI.AI_Balancer#AI_BALANCER
|
||||||
|
|
||||||
|
-- TODO: Define the OnAfterSpawned event
|
||||||
self:SetStartState( "None" )
|
self:SetStartState( "None" )
|
||||||
self:AddTransition( "*", "Monitor", "Monitoring" )
|
self:AddTransition( "*", "Monitor", "Monitoring" )
|
||||||
self:AddTransition( "*", "Spawn", "Spawning" )
|
self:AddTransition( "*", "Spawn", "Spawning" )
|
||||||
@@ -179,15 +180,17 @@ function AI_BALANCER:onenterSpawning( SetGroup, From, Event, To, ClientName )
|
|||||||
|
|
||||||
-- OK, Spawn a new group from the default SpawnAI object provided.
|
-- OK, Spawn a new group from the default SpawnAI object provided.
|
||||||
local AIGroup = self.SpawnAI:Spawn() -- Wrapper.Group#GROUP
|
local AIGroup = self.SpawnAI:Spawn() -- Wrapper.Group#GROUP
|
||||||
AIGroup:E( "Spawning new AIGroup" )
|
if AIGroup then
|
||||||
--TODO: need to rework UnitName thing ...
|
AIGroup:E( "Spawning new AIGroup" )
|
||||||
|
--TODO: need to rework UnitName thing ...
|
||||||
SetGroup:Add( ClientName, AIGroup )
|
|
||||||
self.SpawnQueue[ClientName] = nil
|
SetGroup:Add( ClientName, AIGroup )
|
||||||
|
self.SpawnQueue[ClientName] = nil
|
||||||
-- Fire the Spawned event. The first parameter is the AIGroup just Spawned.
|
|
||||||
-- Mission designers can catch this event to bind further actions to the AIGroup.
|
-- Fire the Spawned event. The first parameter is the AIGroup just Spawned.
|
||||||
self:Spawned( AIGroup )
|
-- Mission designers can catch this event to bind further actions to the AIGroup.
|
||||||
|
self:Spawned( AIGroup )
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
--- @param #AI_BALANCER self
|
--- @param #AI_BALANCER self
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
--- Single-Player:**Yes** / Mulit-Player:**Yes** / AI:**Yes** / Human:**No** / Types:**Air** -- **Execute Combat Air Patrol (CAP).**
|
--- Single-Player:**Yes** / Multi-Player:**Yes** / AI:**Yes** / Human:**No** / Types:**Air** -- **Execute Combat Air Patrol (CAP).**
|
||||||
--
|
--
|
||||||
-- 
|
-- 
|
||||||
--
|
--
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
--- Single-Player:**Yes** / Mulit-Player:**Yes** / AI:**Yes** / Human:**No** / Types:**Air** --
|
--- Single-Player:**Yes** / Multi-Player:**Yes** / AI:**Yes** / Human:**No** / Types:**Air** --
|
||||||
-- **Provide Close Air Support to friendly ground troops.**
|
-- **Provide Close Air Support to friendly ground troops.**
|
||||||
--
|
--
|
||||||
-- 
|
-- 
|
||||||
@@ -136,8 +136,8 @@ AI_CAS_ZONE = {
|
|||||||
-- @param Dcs.DCSTypes#Altitude PatrolCeilingAltitude The highest altitude in meters where to execute the patrol.
|
-- @param Dcs.DCSTypes#Altitude PatrolCeilingAltitude The highest altitude in meters where to execute the patrol.
|
||||||
-- @param Dcs.DCSTypes#Speed PatrolMinSpeed The minimum speed of the @{Controllable} in km/h.
|
-- @param Dcs.DCSTypes#Speed PatrolMinSpeed The minimum speed of the @{Controllable} in km/h.
|
||||||
-- @param Dcs.DCSTypes#Speed PatrolMaxSpeed The maximum speed of the @{Controllable} in km/h.
|
-- @param Dcs.DCSTypes#Speed PatrolMaxSpeed The maximum speed of the @{Controllable} in km/h.
|
||||||
|
-- @param Core.Zone#ZONE_BASE EngageZone The zone where the engage will happen.
|
||||||
-- @param Dcs.DCSTypes#AltitudeType PatrolAltType The altitude type ("RADIO"=="AGL", "BARO"=="ASL"). Defaults to RADIO
|
-- @param Dcs.DCSTypes#AltitudeType PatrolAltType The altitude type ("RADIO"=="AGL", "BARO"=="ASL"). Defaults to RADIO
|
||||||
-- @param Core.Zone#ZONE EngageZone
|
|
||||||
-- @return #AI_CAS_ZONE self
|
-- @return #AI_CAS_ZONE self
|
||||||
function AI_CAS_ZONE:New( PatrolZone, PatrolFloorAltitude, PatrolCeilingAltitude, PatrolMinSpeed, PatrolMaxSpeed, EngageZone, PatrolAltType )
|
function AI_CAS_ZONE:New( PatrolZone, PatrolFloorAltitude, PatrolCeilingAltitude, PatrolMinSpeed, PatrolMaxSpeed, EngageZone, PatrolAltType )
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
---Single-Player:**Yes** / Mulit-Player:**Yes** / AI:**Yes** / Human:**No** / Types:**Ground** --
|
---Single-Player:**Yes** / Multi-Player:**Yes** / AI:**Yes** / Human:**No** / Types:**Ground** --
|
||||||
-- **Management of logical cargo objects, that can be transported from and to transportation carriers.**
|
-- **Management of logical cargo objects, that can be transported from and to transportation carriers.**
|
||||||
--
|
--
|
||||||
-- 
|
-- 
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
--- Single-Player:**Yes** / Mulit-Player:**Yes** / AI:**Yes** / Human:**No** / Types:**Air** --
|
--- Single-Player:**Yes** / Multi-Player:**Yes** / AI:**Yes** / Human:**No** / Types:**Air** --
|
||||||
-- **Air Patrolling or Staging.**
|
-- **Air Patrolling or Staging.**
|
||||||
--
|
--
|
||||||
-- 
|
-- 
|
||||||
|
|||||||
@@ -38,7 +38,7 @@
|
|||||||
--
|
--
|
||||||
-- 
|
-- 
|
||||||
--
|
--
|
||||||
-- For most DCS events, the above order of updating will be followed.1
|
-- For most DCS events, the above order of updating will be followed.
|
||||||
--
|
--
|
||||||
-- 
|
-- 
|
||||||
--
|
--
|
||||||
@@ -124,6 +124,22 @@
|
|||||||
--
|
--
|
||||||
-- 
|
-- 
|
||||||
--
|
--
|
||||||
|
-- **IMPORTANT NOTE:** Some events can involve not just UNIT objects, but also STATIC objects!!!
|
||||||
|
-- In that case the initiator or target unit fields will refer to a STATIC object!
|
||||||
|
-- In case a STATIC object is involved, the documentation indicates which fields will and won't not be populated.
|
||||||
|
-- The fields **IniObjectCategory** and **TgtObjectCategory** contain the indicator which **kind of object is involved** in the event.
|
||||||
|
-- You can use the enumerator **Object.Category.UNIT** and **Object.Category.STATIC** to check on IniObjectCategory and TgtObjectCategory.
|
||||||
|
-- Example code snippet:
|
||||||
|
--
|
||||||
|
-- if Event.IniObjectCategory == Object.Category.UNIT then
|
||||||
|
-- ...
|
||||||
|
-- end
|
||||||
|
-- if Event.IniObjectCategory == Object.Category.STATIC then
|
||||||
|
-- ...
|
||||||
|
-- end
|
||||||
|
--
|
||||||
|
-- When a static object is involved in the event, the Group and Player fields won't be populated.
|
||||||
|
--
|
||||||
-- ====
|
-- ====
|
||||||
--
|
--
|
||||||
-- # **API CHANGE HISTORY**
|
-- # **API CHANGE HISTORY**
|
||||||
@@ -152,7 +168,8 @@
|
|||||||
--
|
--
|
||||||
-- @module Event
|
-- @module Event
|
||||||
|
|
||||||
|
-- TODO: Need to update the EVENTDATA documentation with IniPlayerName and TgtPlayerName
|
||||||
|
-- TODO: Need to update the EVENTDATA documentation with IniObjectCategory and TgtObjectCategory
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -195,23 +212,45 @@ EVENTS = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
--- The Event structure
|
--- The Event structure
|
||||||
|
-- Note that at the beginning of each field description, there is an indication which field will be populated depending on the object type involved in the Event:
|
||||||
|
--
|
||||||
|
-- * A (Object.Category.)UNIT : A UNIT object type is involved in the Event.
|
||||||
|
-- * A (Object.Category.)STATIC : A STATIC object type is involved in the Event.µ
|
||||||
|
--
|
||||||
-- @type EVENTDATA
|
-- @type EVENTDATA
|
||||||
-- @field id
|
-- @field #number id The identifier of the event.
|
||||||
-- @field initiator
|
--
|
||||||
-- @field target
|
-- @field Dcs.DCSUnit#Unit initiator (UNIT/STATIC/SCENERY) The initiating @{Dcs.DCSUnit#Unit} or @{Dcs.DCSStaticObject#StaticObject}.
|
||||||
-- @field weapon
|
-- @field Dcs.DCSObject#Object.Category IniObjectCategory (UNIT/STATIC/SCENERY) The initiator object category ( Object.Category.UNIT or Object.Category.STATIC ).
|
||||||
-- @field IniDCSUnit
|
-- @field Dcs.DCSUnit#Unit IniDCSUnit (UNIT/STATIC) The initiating @{Dcs.DCSUnit#Unit} or @{Dcs.DCSStaticObject#StaticObject}.
|
||||||
-- @field IniDCSUnitName
|
-- @field #string IniDCSUnitName (UNIT/STATIC) The initiating Unit name.
|
||||||
-- @field Wrapper.Unit#UNIT IniUnit
|
-- @field Wrapper.Unit#UNIT IniUnit (UNIT/STATIC) The initiating MOOSE wrapper @{Wrapper.Unit#UNIT} of the initiator Unit object.
|
||||||
-- @field #string IniUnitName
|
-- @field #string IniUnitName (UNIT/STATIC) The initiating UNIT name (same as IniDCSUnitName).
|
||||||
-- @field IniDCSGroup
|
-- @field Dcs.DCSGroup#Group IniDCSGroup (UNIT) The initiating {Dcs.DCSGroup#Group}.
|
||||||
-- @field IniDCSGroupName
|
-- @field #string IniDCSGroupName (UNIT) The initiating Group name.
|
||||||
-- @field TgtDCSUnit
|
-- @field Wrapper.Group#GROUP IniGroup (UNIT) The initiating MOOSE wrapper @{Wrapper.Group#GROUP} of the initiator Group object.
|
||||||
-- @field TgtDCSUnitName
|
-- @field #string IniGroupName (UNIT) The initiating GROUP name (same as IniDCSGroupName).
|
||||||
-- @field Wrapper.Unit#UNIT TgtUnit
|
-- @field #string IniPlayerName (UNIT) The name of the initiating player in case the Unit is a client or player slot.
|
||||||
-- @field #string TgtUnitName
|
-- @field Dcs.DCScoalition#coalition.side IniCoalition (UNIT) The coalition of the initiator.
|
||||||
-- @field TgtDCSGroup
|
-- @field Dcs.DCSUnit#Unit.Category IniCategory (UNIT) The category of the initiator.
|
||||||
-- @field TgtDCSGroupName
|
-- @field #string IniTypeName (UNIT) The type name of the initiator.
|
||||||
|
--
|
||||||
|
-- @field Dcs.DCSUnit#Unit target (UNIT/STATIC) The target @{Dcs.DCSUnit#Unit} or @{Dcs.DCSStaticObject#StaticObject}.
|
||||||
|
-- @field Dcs.DCSObject#Object.Category TgtObjectCategory (UNIT/STATIC) The target object category ( Object.Category.UNIT or Object.Category.STATIC ).
|
||||||
|
-- @field Dcs.DCSUnit#Unit TgtDCSUnit (UNIT/STATIC) The target @{Dcs.DCSUnit#Unit} or @{Dcs.DCSStaticObject#StaticObject}.
|
||||||
|
-- @field #string TgtDCSUnitName (UNIT/STATIC) The target Unit name.
|
||||||
|
-- @field Wrapper.Unit#UNIT TgtUnit (UNIT/STATIC) The target MOOSE wrapper @{Wrapper.Unit#UNIT} of the target Unit object.
|
||||||
|
-- @field #string TgtUnitName (UNIT/STATIC) The target UNIT name (same as TgtDCSUnitName).
|
||||||
|
-- @field Dcs.DCSGroup#Group TgtDCSGroup (UNIT) The target {Dcs.DCSGroup#Group}.
|
||||||
|
-- @field #string TgtDCSGroupName (UNIT) The target Group name.
|
||||||
|
-- @field Wrapper.Group#GROUP TgtGroup (UNIT) The target MOOSE wrapper @{Wrapper.Group#GROUP} of the target Group object.
|
||||||
|
-- @field #string TgtGroupName (UNIT) The target GROUP name (same as TgtDCSGroupName).
|
||||||
|
-- @field #string TgtPlayerName (UNIT) The name of the target player in case the Unit is a client or player slot.
|
||||||
|
-- @field Dcs.DCScoalition#coalition.side TgtCoalition (UNIT) The coalition of the target.
|
||||||
|
-- @field Dcs.DCSUnit#Unit.Category TgtCategory (UNIT) The category of the target.
|
||||||
|
-- @field #string TgtTypeName (UNIT) The type name of the target.
|
||||||
|
--
|
||||||
|
-- @field weapon The weapon used during the event.
|
||||||
-- @field Weapon
|
-- @field Weapon
|
||||||
-- @field WeaponName
|
-- @field WeaponName
|
||||||
-- @field WeaponTgtDCSUnit
|
-- @field WeaponTgtDCSUnit
|
||||||
@@ -598,25 +637,59 @@ function EVENT:onEvent( Event )
|
|||||||
end
|
end
|
||||||
|
|
||||||
if self and self.Events and self.Events[Event.id] then
|
if self and self.Events and self.Events[Event.id] then
|
||||||
if Event.initiator and Event.initiator:getCategory() == Object.Category.UNIT then
|
|
||||||
Event.IniDCSUnit = Event.initiator
|
|
||||||
Event.IniDCSGroup = Event.IniDCSUnit:getGroup()
|
if Event.initiator then
|
||||||
Event.IniDCSUnitName = Event.IniDCSUnit:getName()
|
|
||||||
Event.IniUnitName = Event.IniDCSUnitName
|
Event.IniObjectCategory = Event.initiator:getCategory()
|
||||||
Event.IniUnit = UNIT:FindByName( Event.IniDCSUnitName )
|
|
||||||
if not Event.IniUnit then
|
if Event.IniObjectCategory == Object.Category.UNIT then
|
||||||
-- Unit can be a CLIENT. Most likely this will be the case ...
|
Event.IniDCSUnit = Event.initiator
|
||||||
Event.IniUnit = CLIENT:FindByName( Event.IniDCSUnitName, '', true )
|
Event.IniDCSUnitName = Event.IniDCSUnit:getName()
|
||||||
|
Event.IniUnitName = Event.IniDCSUnitName
|
||||||
|
Event.IniDCSGroup = Event.IniDCSUnit:getGroup()
|
||||||
|
Event.IniUnit = UNIT:FindByName( Event.IniDCSUnitName )
|
||||||
|
if not Event.IniUnit then
|
||||||
|
-- Unit can be a CLIENT. Most likely this will be the case ...
|
||||||
|
Event.IniUnit = CLIENT:FindByName( Event.IniDCSUnitName, '', true )
|
||||||
|
end
|
||||||
|
Event.IniDCSGroupName = ""
|
||||||
|
if Event.IniDCSGroup and Event.IniDCSGroup:isExist() then
|
||||||
|
Event.IniDCSGroupName = Event.IniDCSGroup:getName()
|
||||||
|
Event.IniGroup = GROUP:FindByName( Event.IniDCSGroupName )
|
||||||
|
self:E( { IniGroup = Event.IniGroup } )
|
||||||
|
end
|
||||||
|
Event.IniPlayerName = Event.IniDCSUnit:getPlayerName()
|
||||||
|
Event.IniCoalition = Event.IniDCSUnit:getCoalition()
|
||||||
|
Event.IniTypeName = Event.IniDCSUnit:getTypeName()
|
||||||
|
Event.IniCategory = Event.IniDCSUnit:getDesc().category
|
||||||
end
|
end
|
||||||
Event.IniDCSGroupName = ""
|
|
||||||
if Event.IniDCSGroup and Event.IniDCSGroup:isExist() then
|
if Event.IniObjectCategory == Object.Category.STATIC then
|
||||||
Event.IniDCSGroupName = Event.IniDCSGroup:getName()
|
Event.IniDCSUnit = Event.initiator
|
||||||
Event.IniGroup = GROUP:FindByName( Event.IniDCSGroupName )
|
Event.IniDCSUnitName = Event.IniDCSUnit:getName()
|
||||||
self:E( { IniGroup = Event.IniGroup } )
|
Event.IniUnitName = Event.IniDCSUnitName
|
||||||
|
Event.IniUnit = STATIC:FindByName( Event.IniDCSUnitName )
|
||||||
|
Event.IniCoalition = Event.IniDCSUnit:getCoalition()
|
||||||
|
Event.IniCategory = Event.IniDCSUnit:getDesc().category
|
||||||
|
Event.IniTypeName = Event.IniDCSUnit:getTypeName()
|
||||||
|
end
|
||||||
|
|
||||||
|
if Event.IniObjectCategory == Object.Category.SCENERY then
|
||||||
|
Event.IniDCSUnit = Event.initiator
|
||||||
|
Event.IniDCSUnitName = Event.IniDCSUnit:getName()
|
||||||
|
Event.IniUnitName = Event.IniDCSUnitName
|
||||||
|
Event.IniUnit = SCENERY:Register( Event.IniDCSUnitName, Event.initiator )
|
||||||
|
Event.IniCategory = Event.IniDCSUnit:getDesc().category
|
||||||
|
Event.IniTypeName = Event.IniDCSUnit:getTypeName()
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
if Event.target then
|
if Event.target then
|
||||||
if Event.target and Event.target:getCategory() == Object.Category.UNIT then
|
|
||||||
|
Event.TgtObjectCategory = Event.target:getCategory()
|
||||||
|
|
||||||
|
if Event.TgtObjectCategory == Object.Category.UNIT then
|
||||||
Event.TgtDCSUnit = Event.target
|
Event.TgtDCSUnit = Event.target
|
||||||
Event.TgtDCSGroup = Event.TgtDCSUnit:getGroup()
|
Event.TgtDCSGroup = Event.TgtDCSUnit:getGroup()
|
||||||
Event.TgtDCSUnitName = Event.TgtDCSUnit:getName()
|
Event.TgtDCSUnitName = Event.TgtDCSUnit:getName()
|
||||||
@@ -626,8 +699,32 @@ function EVENT:onEvent( Event )
|
|||||||
if Event.TgtDCSGroup and Event.TgtDCSGroup:isExist() then
|
if Event.TgtDCSGroup and Event.TgtDCSGroup:isExist() then
|
||||||
Event.TgtDCSGroupName = Event.TgtDCSGroup:getName()
|
Event.TgtDCSGroupName = Event.TgtDCSGroup:getName()
|
||||||
end
|
end
|
||||||
|
Event.TgtPlayerName = Event.TgtDCSUnit:getPlayerName()
|
||||||
|
Event.TgtCoalition = Event.TgtDCSUnit:getCoalition()
|
||||||
|
Event.TgtCategory = Event.TgtDCSUnit:getDesc().category
|
||||||
|
Event.TgtTypeName = Event.TgtDCSUnit:getTypeName()
|
||||||
|
end
|
||||||
|
|
||||||
|
if Event.TgtObjectCategory == Object.Category.STATIC then
|
||||||
|
Event.TgtDCSUnit = Event.target
|
||||||
|
Event.TgtDCSUnitName = Event.TgtDCSUnit:getName()
|
||||||
|
Event.TgtUnitName = Event.TgtDCSUnitName
|
||||||
|
Event.TgtUnit = STATIC:FindByName( Event.TgtDCSUnitName )
|
||||||
|
Event.TgtCoalition = Event.TgtDCSUnit:getCoalition()
|
||||||
|
Event.TgtCategory = Event.TgtDCSUnit:getDesc().category
|
||||||
|
Event.TgtTypeName = Event.TgtDCSUnit:getTypeName()
|
||||||
|
end
|
||||||
|
|
||||||
|
if Event.TgtObjectCategory == Object.Category.SCENERY then
|
||||||
|
Event.TgtDCSUnit = Event.target
|
||||||
|
Event.TgtDCSUnitName = Event.TgtDCSUnit:getName()
|
||||||
|
Event.TgtUnitName = Event.TgtDCSUnitName
|
||||||
|
Event.TgtUnit = SCENERY:Register( Event.TgtDCSUnitName, Event.target )
|
||||||
|
Event.TgtCategory = Event.TgtDCSUnit:getDesc().category
|
||||||
|
Event.TgtTypeName = Event.TgtDCSUnit:getTypeName()
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
if Event.weapon then
|
if Event.weapon then
|
||||||
Event.Weapon = Event.weapon
|
Event.Weapon = Event.weapon
|
||||||
Event.WeaponName = Event.Weapon:getTypeName()
|
Event.WeaponName = Event.Weapon:getTypeName()
|
||||||
|
|||||||
@@ -182,6 +182,20 @@ function MESSAGE:ToCoalition( CoalitionSide )
|
|||||||
return self
|
return self
|
||||||
end
|
end
|
||||||
|
|
||||||
|
--- Sends a MESSAGE to a Coalition if the given Condition is true.
|
||||||
|
-- @param #MESSAGE self
|
||||||
|
-- @param CoalitionSide needs to be filled out by the defined structure of the standard scripting engine @{coalition.side}.
|
||||||
|
-- @return #MESSAGE
|
||||||
|
function MESSAGE:ToCoalitionIf( CoalitionSide, Condition )
|
||||||
|
self:F( CoalitionSide )
|
||||||
|
|
||||||
|
if Condition and Condition == true then
|
||||||
|
self:ToCoalition( CoalitionSide )
|
||||||
|
end
|
||||||
|
|
||||||
|
return self
|
||||||
|
end
|
||||||
|
|
||||||
--- Sends a MESSAGE to all players.
|
--- Sends a MESSAGE to all players.
|
||||||
-- @param #MESSAGE self
|
-- @param #MESSAGE self
|
||||||
-- @return #MESSAGE
|
-- @return #MESSAGE
|
||||||
@@ -194,10 +208,24 @@ end
|
|||||||
-- MessageAll = MESSAGE:New( "To all Players: BLUE has won! Each player of BLUE wins 50 points!", "End of Mission", 25, "Win" )
|
-- MessageAll = MESSAGE:New( "To all Players: BLUE has won! Each player of BLUE wins 50 points!", "End of Mission", 25, "Win" )
|
||||||
-- MessageAll:ToAll()
|
-- MessageAll:ToAll()
|
||||||
function MESSAGE:ToAll()
|
function MESSAGE:ToAll()
|
||||||
self:F()
|
self:F()
|
||||||
|
|
||||||
self:ToCoalition( coalition.side.RED )
|
self:ToCoalition( coalition.side.RED )
|
||||||
self:ToCoalition( coalition.side.BLUE )
|
self:ToCoalition( coalition.side.BLUE )
|
||||||
|
|
||||||
|
return self
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
--- Sends a MESSAGE to all players if the given Condition is true.
|
||||||
|
-- @param #MESSAGE self
|
||||||
|
-- @return #MESSAGE
|
||||||
|
function MESSAGE:ToAllIf( Condition )
|
||||||
|
|
||||||
|
if Condition and Condition == true then
|
||||||
|
self:ToCoalition( coalition.side.RED )
|
||||||
|
self:ToCoalition( coalition.side.BLUE )
|
||||||
|
end
|
||||||
|
|
||||||
return self
|
return self
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -7,13 +7,42 @@
|
|||||||
-- **Important Note:** Most of the functions in this section were taken from MIST, and reworked to OO concepts.
|
-- **Important Note:** Most of the functions in this section were taken from MIST, and reworked to OO concepts.
|
||||||
-- In order to keep the credibility of the the author, I want to emphasize that the of the MIST framework was created by Grimes, who you can find on the Eagle Dynamics Forums.
|
-- In order to keep the credibility of the the author, I want to emphasize that the of the MIST framework was created by Grimes, who you can find on the Eagle Dynamics Forums.
|
||||||
--
|
--
|
||||||
-- 1.1) POINT_VEC3 constructor
|
-- ## 1.1) POINT_VEC3 constructor
|
||||||
-- ---------------------------
|
--
|
||||||
-- A new POINT_VEC3 instance can be created with:
|
-- A new POINT_VEC3 instance can be created with:
|
||||||
--
|
--
|
||||||
-- * @{Point#POINT_VEC3.New}(): a 3D point.
|
-- * @{Point#POINT_VEC3.New}(): a 3D point.
|
||||||
-- * @{Point#POINT_VEC3.NewFromVec3}(): a 3D point created from a @{DCSTypes#Vec3}.
|
-- * @{Point#POINT_VEC3.NewFromVec3}(): a 3D point created from a @{DCSTypes#Vec3}.
|
||||||
--
|
--
|
||||||
|
-- ## 1.2) Smoke, flare, explode, illuminate
|
||||||
|
--
|
||||||
|
-- At the point a smoke, flare, explosion and illumination bomb can be triggered. Use the following methods:
|
||||||
|
--
|
||||||
|
-- ### 1.2.1) Smoke
|
||||||
|
--
|
||||||
|
-- * @{#POINT_VEC3.Smoke}(): To smoke the point in a certain color.
|
||||||
|
-- * @{#POINT_VEC3.SmokeBlue}(): To smoke the point in blue.
|
||||||
|
-- * @{#POINT_VEC3.SmokeRed}(): To smoke the point in red.
|
||||||
|
-- * @{#POINT_VEC3.SmokeOrange}(): To smoke the point in orange.
|
||||||
|
-- * @{#POINT_VEC3.SmokeWhite}(): To smoke the point in white.
|
||||||
|
-- * @{#POINT_VEC3.SmokeGreen}(): To smoke the point in green.
|
||||||
|
--
|
||||||
|
-- ### 1.2.2) Flare
|
||||||
|
--
|
||||||
|
-- * @{#POINT_VEC3.Flare}(): To flare the point in a certain color.
|
||||||
|
-- * @{#POINT_VEC3.FlareRed}(): To flare the point in red.
|
||||||
|
-- * @{#POINT_VEC3.FlareYellow}(): To flare the point in yellow.
|
||||||
|
-- * @{#POINT_VEC3.FlareWhite}(): To flare the point in white.
|
||||||
|
-- * @{#POINT_VEC3.FlareGreen}(): To flare the point in green.
|
||||||
|
--
|
||||||
|
-- ### 1.2.3) Explode
|
||||||
|
--
|
||||||
|
-- * @{#POINT_VEC3.Explosion}(): To explode the point with a certain intensity.
|
||||||
|
--
|
||||||
|
-- ### 1.2.4) Illuminate
|
||||||
|
--
|
||||||
|
-- * @{#POINT_VEC3.IlluminationBomb}(): To illuminate the point.
|
||||||
|
--
|
||||||
--
|
--
|
||||||
-- 2) @{Point#POINT_VEC2} class, extends @{Point#POINT_VEC3}
|
-- 2) @{Point#POINT_VEC2} class, extends @{Point#POINT_VEC3}
|
||||||
-- =========================================================
|
-- =========================================================
|
||||||
@@ -38,9 +67,12 @@
|
|||||||
--
|
--
|
||||||
-- Hereby the change log:
|
-- Hereby the change log:
|
||||||
--
|
--
|
||||||
-- 2017-02-18: POINT_VEC3:**NewFromVec2( Vec2, LandHeightAdd )** added.
|
-- 2017-03-03: POINT\_VEC3:**Explosion( ExplosionIntensity )** added.
|
||||||
|
-- 2017-03-03: POINT\_VEC3:**IlluminationBomb()** added.
|
||||||
--
|
--
|
||||||
-- 2016-08-12: POINT_VEC3:**Translate( Distance, Angle )** added.
|
-- 2017-02-18: POINT\_VEC3:**NewFromVec2( Vec2, LandHeightAdd )** added.
|
||||||
|
--
|
||||||
|
-- 2016-08-12: POINT\_VEC3:**Translate( Distance, Angle )** added.
|
||||||
--
|
--
|
||||||
-- 2016-08-06: Made PointVec3 and Vec3, PointVec2 and Vec2 terminology used in the code consistent.
|
-- 2016-08-06: Made PointVec3 and Vec3, PointVec2 and Vec2 terminology used in the code consistent.
|
||||||
--
|
--
|
||||||
@@ -501,6 +533,21 @@ function POINT_VEC3:RoutePointGround( Speed, Formation )
|
|||||||
return RoutePoint
|
return RoutePoint
|
||||||
end
|
end
|
||||||
|
|
||||||
|
--- Creates an explosion at the point of a certain intensity.
|
||||||
|
-- @param #POINT_VEC3 self
|
||||||
|
-- @param #number ExplosionIntensity
|
||||||
|
function POINT_VEC3:Explosion( ExplosionIntensity )
|
||||||
|
self:F2( { ExplosionIntensity } )
|
||||||
|
trigger.action.explosion( self:GetVec3(), ExplosionIntensity )
|
||||||
|
end
|
||||||
|
|
||||||
|
--- Creates an illumination bomb at the point.
|
||||||
|
-- @param #POINT_VEC3 self
|
||||||
|
function POINT_VEC3:IlluminationBomb()
|
||||||
|
self:F2()
|
||||||
|
trigger.action.illuminationBomb( self:GetVec3() )
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
--- Smokes the point in a color.
|
--- Smokes the point in a color.
|
||||||
-- @param #POINT_VEC3 self
|
-- @param #POINT_VEC3 self
|
||||||
|
|||||||
@@ -64,7 +64,7 @@ function SCHEDULEDISPATCHER:AddSchedule( Scheduler, ScheduleFunction, ScheduleAr
|
|||||||
|
|
||||||
-- Initialize the ObjectSchedulers array, which is a weakly coupled table.
|
-- Initialize the ObjectSchedulers array, which is a weakly coupled table.
|
||||||
-- If the object used as the key is nil, then the garbage collector will remove the item from the Functions array.
|
-- If the object used as the key is nil, then the garbage collector will remove the item from the Functions array.
|
||||||
self.ObjectSchedulers = self.ObjectSchedulers or setmetatable( {}, { __mode = "v" } )
|
self.ObjectSchedulers = self.ObjectSchedulers or {} -- setmetatable( {}, { __mode = "v" } )
|
||||||
|
|
||||||
if Scheduler.MasterObject then
|
if Scheduler.MasterObject then
|
||||||
self.ObjectSchedulers[self.CallID] = Scheduler
|
self.ObjectSchedulers[self.CallID] = Scheduler
|
||||||
|
|||||||
@@ -35,8 +35,8 @@
|
|||||||
--
|
--
|
||||||
-- ## 1.2) Each zone implements two polymorphic functions defined in @{Zone#ZONE_BASE}:
|
-- ## 1.2) Each zone implements two polymorphic functions defined in @{Zone#ZONE_BASE}:
|
||||||
--
|
--
|
||||||
-- * @{#ZONE_BASE.IsPointVec2InZone}(): Returns if a @{Point#POINT_VEC2} is within the zone.
|
-- * @{#ZONE_BASE.IsVec2InZone}(): Returns if a Vec2 is within the zone.
|
||||||
-- * @{#ZONE_BASE.IsPointVec3InZone}(): Returns if a @{Point#POINT_VEC3} is within the zone.
|
-- * @{#ZONE_BASE.IsVec3InZone}(): Returns if a Vec3 is within the zone.
|
||||||
--
|
--
|
||||||
-- ## 1.3) A zone has a probability factor that can be set to randomize a selection between zones:
|
-- ## 1.3) A zone has a probability factor that can be set to randomize a selection between zones:
|
||||||
--
|
--
|
||||||
@@ -145,21 +145,28 @@
|
|||||||
--
|
--
|
||||||
-- Hereby the change log:
|
-- Hereby the change log:
|
||||||
--
|
--
|
||||||
-- 2017-02-18: ZONE_POLYGON_BASE:**GetRandomPointVec2()** added.
|
-- 2017-02-28: ZONE\_BASE:**IsVec2InZone()** replaces ZONE\_BASE:_IsPointVec2InZone()_.
|
||||||
|
-- 2017-02-28: ZONE\_BASE:**IsVec3InZone()** replaces ZONE\_BASE:_IsPointVec3InZone()_.
|
||||||
|
-- 2017-02-28: ZONE\_RADIUS:**IsVec2InZone()** replaces ZONE\_RADIUS:_IsPointVec2InZone()_.
|
||||||
|
-- 2017-02-28: ZONE\_RADIUS:**IsVec3InZone()** replaces ZONE\_RADIUS:_IsPointVec3InZone()_.
|
||||||
|
-- 2017-02-28: ZONE\_POLYGON:**IsVec2InZone()** replaces ZONE\_POLYGON:_IsPointVec2InZone()_.
|
||||||
|
-- 2017-02-28: ZONE\_POLYGON:**IsVec3InZone()** replaces ZONE\_POLYGON:_IsPointVec3InZone()_.
|
||||||
--
|
--
|
||||||
-- 2017-02-18: ZONE_POLYGON_BASE:**GetRandomPointVec3()** added.
|
-- 2017-02-18: ZONE\_POLYGON_BASE:**GetRandomPointVec2()** added.
|
||||||
--
|
--
|
||||||
-- 2017-02-18: ZONE_RADIUS:**GetRandomPointVec3( inner, outer )** added.
|
-- 2017-02-18: ZONE\_POLYGON_BASE:**GetRandomPointVec3()** added.
|
||||||
--
|
--
|
||||||
-- 2017-02-18: ZONE_RADIUS:**GetRandomPointVec2( inner, outer )** added.
|
-- 2017-02-18: ZONE\_RADIUS:**GetRandomPointVec3( inner, outer )** added.
|
||||||
--
|
--
|
||||||
-- 2016-08-15: ZONE_BASE:**GetName()** added.
|
-- 2017-02-18: ZONE\_RADIUS:**GetRandomPointVec2( inner, outer )** added.
|
||||||
--
|
--
|
||||||
-- 2016-08-15: ZONE_BASE:**SetZoneProbability( ZoneProbability )** added.
|
-- 2016-08-15: ZONE\_BASE:**GetName()** added.
|
||||||
--
|
--
|
||||||
-- 2016-08-15: ZONE_BASE:**GetZoneProbability()** added.
|
-- 2016-08-15: ZONE\_BASE:**SetZoneProbability( ZoneProbability )** added.
|
||||||
--
|
--
|
||||||
-- 2016-08-15: ZONE_BASE:**GetZoneMaybe()** added.
|
-- 2016-08-15: ZONE\_BASE:**GetZoneProbability()** added.
|
||||||
|
--
|
||||||
|
-- 2016-08-15: ZONE\_BASE:**GetZoneMaybe()** added.
|
||||||
--
|
--
|
||||||
-- ===
|
-- ===
|
||||||
--
|
--
|
||||||
@@ -212,7 +219,7 @@ end
|
|||||||
-- @param #ZONE_BASE self
|
-- @param #ZONE_BASE self
|
||||||
-- @param Dcs.DCSTypes#Vec2 Vec2 The location to test.
|
-- @param Dcs.DCSTypes#Vec2 Vec2 The location to test.
|
||||||
-- @return #boolean true if the location is within the zone.
|
-- @return #boolean true if the location is within the zone.
|
||||||
function ZONE_BASE:IsPointVec2InZone( Vec2 )
|
function ZONE_BASE:IsVec2InZone( Vec2 )
|
||||||
self:F2( Vec2 )
|
self:F2( Vec2 )
|
||||||
|
|
||||||
return false
|
return false
|
||||||
@@ -222,10 +229,10 @@ end
|
|||||||
-- @param #ZONE_BASE self
|
-- @param #ZONE_BASE self
|
||||||
-- @param Dcs.DCSTypes#Vec3 Vec3 The point to test.
|
-- @param Dcs.DCSTypes#Vec3 Vec3 The point to test.
|
||||||
-- @return #boolean true if the point is within the zone.
|
-- @return #boolean true if the point is within the zone.
|
||||||
function ZONE_BASE:IsPointVec3InZone( Vec3 )
|
function ZONE_BASE:IsVec3InZone( Vec3 )
|
||||||
self:F2( Vec3 )
|
self:F2( Vec3 )
|
||||||
|
|
||||||
local InZone = self:IsPointVec2InZone( { x = Vec3.x, y = Vec3.z } )
|
local InZone = self:IsVec2InZone( { x = Vec3.x, y = Vec3.z } )
|
||||||
|
|
||||||
return InZone
|
return InZone
|
||||||
end
|
end
|
||||||
@@ -514,7 +521,7 @@ end
|
|||||||
-- @param #ZONE_RADIUS self
|
-- @param #ZONE_RADIUS self
|
||||||
-- @param Dcs.DCSTypes#Vec2 Vec2 The location to test.
|
-- @param Dcs.DCSTypes#Vec2 Vec2 The location to test.
|
||||||
-- @return #boolean true if the location is within the zone.
|
-- @return #boolean true if the location is within the zone.
|
||||||
function ZONE_RADIUS:IsPointVec2InZone( Vec2 )
|
function ZONE_RADIUS:IsVec2InZone( Vec2 )
|
||||||
self:F2( Vec2 )
|
self:F2( Vec2 )
|
||||||
|
|
||||||
local ZoneVec2 = self:GetVec2()
|
local ZoneVec2 = self:GetVec2()
|
||||||
@@ -532,10 +539,10 @@ end
|
|||||||
-- @param #ZONE_RADIUS self
|
-- @param #ZONE_RADIUS self
|
||||||
-- @param Dcs.DCSTypes#Vec3 Vec3 The point to test.
|
-- @param Dcs.DCSTypes#Vec3 Vec3 The point to test.
|
||||||
-- @return #boolean true if the point is within the zone.
|
-- @return #boolean true if the point is within the zone.
|
||||||
function ZONE_RADIUS:IsPointVec3InZone( Vec3 )
|
function ZONE_RADIUS:IsVec3InZone( Vec3 )
|
||||||
self:F2( Vec3 )
|
self:F2( Vec3 )
|
||||||
|
|
||||||
local InZone = self:IsPointVec2InZone( { x = Vec3.x, y = Vec3.z } )
|
local InZone = self:IsVec2InZone( { x = Vec3.x, y = Vec3.z } )
|
||||||
|
|
||||||
return InZone
|
return InZone
|
||||||
end
|
end
|
||||||
@@ -854,7 +861,7 @@ end
|
|||||||
-- @param #ZONE_POLYGON_BASE self
|
-- @param #ZONE_POLYGON_BASE self
|
||||||
-- @param Dcs.DCSTypes#Vec2 Vec2 The location to test.
|
-- @param Dcs.DCSTypes#Vec2 Vec2 The location to test.
|
||||||
-- @return #boolean true if the location is within the zone.
|
-- @return #boolean true if the location is within the zone.
|
||||||
function ZONE_POLYGON_BASE:IsPointVec2InZone( Vec2 )
|
function ZONE_POLYGON_BASE:IsVec2InZone( Vec2 )
|
||||||
self:F2( Vec2 )
|
self:F2( Vec2 )
|
||||||
|
|
||||||
local Next
|
local Next
|
||||||
@@ -896,7 +903,7 @@ function ZONE_POLYGON_BASE:GetRandomVec2()
|
|||||||
while Vec2Found == false do
|
while Vec2Found == false do
|
||||||
Vec2 = { x = math.random( BS.x1, BS.x2 ), y = math.random( BS.y1, BS.y2 ) }
|
Vec2 = { x = math.random( BS.x1, BS.x2 ), y = math.random( BS.y1, BS.y2 ) }
|
||||||
self:T2( Vec2 )
|
self:T2( Vec2 )
|
||||||
if self:IsPointVec2InZone( Vec2 ) then
|
if self:IsVec2InZone( Vec2 ) then
|
||||||
Vec2Found = true
|
Vec2Found = true
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
--- Single-Player:**Yes** / Mulit-Player:**Yes** / AI:**Yes** / Human:**No** / Types:**All** --
|
--- Single-Player:**Yes** / Multi-Player:**Yes** / AI:**Yes** / Human:**No** / Types:**All** --
|
||||||
-- **Spawn groups of units dynamically in your missions.**
|
-- **Spawn groups of units dynamically in your missions.**
|
||||||
--
|
--
|
||||||
-- 
|
-- 
|
||||||
@@ -1304,10 +1304,12 @@ function SPAWN:_RandomizeTemplate( SpawnIndex )
|
|||||||
self.SpawnGroups[SpawnIndex].SpawnTemplate.x = self.SpawnTemplate.x
|
self.SpawnGroups[SpawnIndex].SpawnTemplate.x = self.SpawnTemplate.x
|
||||||
self.SpawnGroups[SpawnIndex].SpawnTemplate.y = self.SpawnTemplate.y
|
self.SpawnGroups[SpawnIndex].SpawnTemplate.y = self.SpawnTemplate.y
|
||||||
self.SpawnGroups[SpawnIndex].SpawnTemplate.start_time = self.SpawnTemplate.start_time
|
self.SpawnGroups[SpawnIndex].SpawnTemplate.start_time = self.SpawnTemplate.start_time
|
||||||
|
local OldX = self.SpawnGroups[SpawnIndex].SpawnTemplate.units[1].x
|
||||||
|
local OldY = self.SpawnGroups[SpawnIndex].SpawnTemplate.units[1].y
|
||||||
for UnitID = 1, #self.SpawnGroups[SpawnIndex].SpawnTemplate.units do
|
for UnitID = 1, #self.SpawnGroups[SpawnIndex].SpawnTemplate.units do
|
||||||
self.SpawnGroups[SpawnIndex].SpawnTemplate.units[UnitID].heading = self.SpawnTemplate.units[1].heading
|
self.SpawnGroups[SpawnIndex].SpawnTemplate.units[UnitID].heading = self.SpawnTemplate.units[1].heading
|
||||||
self.SpawnGroups[SpawnIndex].SpawnTemplate.units[UnitID].x = self.SpawnTemplate.units[1].x
|
self.SpawnGroups[SpawnIndex].SpawnTemplate.units[UnitID].x = self.SpawnTemplate.units[1].x + ( self.SpawnGroups[SpawnIndex].SpawnTemplate.units[UnitID].x - OldX )
|
||||||
self.SpawnGroups[SpawnIndex].SpawnTemplate.units[UnitID].y = self.SpawnTemplate.units[1].y
|
self.SpawnGroups[SpawnIndex].SpawnTemplate.units[UnitID].y = self.SpawnTemplate.units[1].y + ( self.SpawnGroups[SpawnIndex].SpawnTemplate.units[UnitID].y - OldY )
|
||||||
self.SpawnGroups[SpawnIndex].SpawnTemplate.units[UnitID].alt = self.SpawnTemplate.units[1].alt
|
self.SpawnGroups[SpawnIndex].SpawnTemplate.units[UnitID].alt = self.SpawnTemplate.units[1].alt
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -27,6 +27,7 @@ Include.File( "Wrapper/Unit" )
|
|||||||
Include.File( "Wrapper/Client" )
|
Include.File( "Wrapper/Client" )
|
||||||
Include.File( "Wrapper/Static" )
|
Include.File( "Wrapper/Static" )
|
||||||
Include.File( "Wrapper/Airbase" )
|
Include.File( "Wrapper/Airbase" )
|
||||||
|
Include.File( "Wrapper/Scenery" )
|
||||||
|
|
||||||
--- Functional Classes
|
--- Functional Classes
|
||||||
Include.File( "Functional/Scoring" )
|
Include.File( "Functional/Scoring" )
|
||||||
|
|||||||
@@ -14,6 +14,7 @@
|
|||||||
-- * @{#TASK.HasStateMachine}():Enquire if the task has a @{Fsm}
|
-- * @{#TASK.HasStateMachine}():Enquire if the task has a @{Fsm}
|
||||||
-- * @{#TASK.AssignToUnit}(): Assign a task to a unit. (Needs to be implemented in the derived classes from @{#TASK}.
|
-- * @{#TASK.AssignToUnit}(): Assign a task to a unit. (Needs to be implemented in the derived classes from @{#TASK}.
|
||||||
-- * @{#TASK.UnAssignFromUnit}(): Unassign the task from a unit.
|
-- * @{#TASK.UnAssignFromUnit}(): Unassign the task from a unit.
|
||||||
|
-- * @{#TASK.SetTimeOut}(): Set timer in seconds before task gets cancelled if not assigned.
|
||||||
--
|
--
|
||||||
-- 1.2) Set and enquire task status (beyond the task state machine processing).
|
-- 1.2) Set and enquire task status (beyond the task state machine processing).
|
||||||
-- ----------------------------------------------------------------------------
|
-- ----------------------------------------------------------------------------
|
||||||
@@ -70,6 +71,7 @@ TASK = {
|
|||||||
FsmTemplate = nil,
|
FsmTemplate = nil,
|
||||||
Mission = nil,
|
Mission = nil,
|
||||||
CommandCenter = nil,
|
CommandCenter = nil,
|
||||||
|
TimeOut = 0,
|
||||||
}
|
}
|
||||||
|
|
||||||
--- FSM PlayerAborted event handler prototype for TASK.
|
--- FSM PlayerAborted event handler prototype for TASK.
|
||||||
@@ -163,6 +165,7 @@ function TASK:New( Mission, SetGroupAssign, TaskName, TaskType )
|
|||||||
self:AddTransition( "*", "PlayerAborted", "*" )
|
self:AddTransition( "*", "PlayerAborted", "*" )
|
||||||
self:AddTransition( "*", "PlayerDead", "*" )
|
self:AddTransition( "*", "PlayerDead", "*" )
|
||||||
self:AddTransition( { "Failed", "Aborted", "Cancelled" }, "Replan", "Planned" )
|
self:AddTransition( { "Failed", "Aborted", "Cancelled" }, "Replan", "Planned" )
|
||||||
|
self:AddTransition( "*", "TimeOut", "Cancelled" )
|
||||||
|
|
||||||
self:E( "New TASK " .. TaskName )
|
self:E( "New TASK " .. TaskName )
|
||||||
|
|
||||||
@@ -403,6 +406,17 @@ function TASK:UnAssignFromUnit( TaskUnit )
|
|||||||
return self
|
return self
|
||||||
end
|
end
|
||||||
|
|
||||||
|
--- Sets the TimeOut for the @{Task}. If @{Task} stayed planned for longer than TimeOut, it gets into Cancelled status.
|
||||||
|
-- @param #TASK self
|
||||||
|
-- @param #integer Timer in seconds
|
||||||
|
-- @return #TASK self
|
||||||
|
function TASK:SetTimeOut ( Timer )
|
||||||
|
self:F( Timer )
|
||||||
|
self.TimeOut = Timer
|
||||||
|
self:__TimeOut( self.TimeOut )
|
||||||
|
return self
|
||||||
|
end
|
||||||
|
|
||||||
--- Send a message of the @{Task} to the assigned @{Group}s.
|
--- Send a message of the @{Task} to the assigned @{Group}s.
|
||||||
-- @param #TASK self
|
-- @param #TASK self
|
||||||
function TASK:MessageToGroups( Message )
|
function TASK:MessageToGroups( Message )
|
||||||
@@ -934,6 +948,30 @@ function TASK:onstatechange( From, Event, To )
|
|||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
--- FSM function for a TASK
|
||||||
|
-- @param #TASK self
|
||||||
|
-- @param #string Event
|
||||||
|
-- @param #string From
|
||||||
|
-- @param #string To
|
||||||
|
function TASK:onenterPlanned( From, Event, To)
|
||||||
|
if not self.TimeOut == 0 then
|
||||||
|
self.__TimeOut( self.TimeOut )
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
--- FSM function for a TASK
|
||||||
|
-- @param #TASK self
|
||||||
|
-- @param #string Event
|
||||||
|
-- @param #string From
|
||||||
|
-- @param #string To
|
||||||
|
function TASK:onbeforeTimeOut( From, Event, To )
|
||||||
|
if From == "Planned" then
|
||||||
|
self:RemoveMenu()
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
do -- Reporting
|
do -- Reporting
|
||||||
|
|
||||||
--- Create a summary report of the Task.
|
--- Create a summary report of the Task.
|
||||||
|
|||||||
@@ -455,8 +455,7 @@ function GROUP:IsCompletelyInZone( Zone )
|
|||||||
|
|
||||||
for UnitID, UnitData in pairs( self:GetUnits() ) do
|
for UnitID, UnitData in pairs( self:GetUnits() ) do
|
||||||
local Unit = UnitData -- Wrapper.Unit#UNIT
|
local Unit = UnitData -- Wrapper.Unit#UNIT
|
||||||
-- TODO: Rename IsPointVec3InZone to IsVec3InZone
|
if Zone:IsVec3InZone( Unit:GetVec3() ) then
|
||||||
if Zone:IsPointVec3InZone( Unit:GetVec3() ) then
|
|
||||||
else
|
else
|
||||||
return false
|
return false
|
||||||
end
|
end
|
||||||
@@ -474,7 +473,7 @@ function GROUP:IsPartlyInZone( Zone )
|
|||||||
|
|
||||||
for UnitID, UnitData in pairs( self:GetUnits() ) do
|
for UnitID, UnitData in pairs( self:GetUnits() ) do
|
||||||
local Unit = UnitData -- Wrapper.Unit#UNIT
|
local Unit = UnitData -- Wrapper.Unit#UNIT
|
||||||
if Zone:IsPointVec3InZone( Unit:GetVec3() ) then
|
if Zone:IsVec3InZone( Unit:GetVec3() ) then
|
||||||
return true
|
return true
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -491,7 +490,7 @@ function GROUP:IsNotInZone( Zone )
|
|||||||
|
|
||||||
for UnitID, UnitData in pairs( self:GetUnits() ) do
|
for UnitID, UnitData in pairs( self:GetUnits() ) do
|
||||||
local Unit = UnitData -- Wrapper.Unit#UNIT
|
local Unit = UnitData -- Wrapper.Unit#UNIT
|
||||||
if Zone:IsPointVec3InZone( Unit:GetVec3() ) then
|
if Zone:IsVec3InZone( Unit:GetVec3() ) then
|
||||||
return false
|
return false
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -217,10 +217,7 @@ function IDENTIFIABLE:GetCallsign()
|
|||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
function IDENTIFIABLE:GetThreatLevel()
|
||||||
|
|
||||||
|
return 0, "Scenery"
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,39 @@
|
|||||||
|
--- This module contains the SCENERY class.
|
||||||
|
--
|
||||||
|
-- 1) @{Scenery#SCENERY} class, extends @{Positionable#POSITIONABLE}
|
||||||
|
-- ===============================================================
|
||||||
|
-- Scenery objects are defined on the map.
|
||||||
|
-- The @{Scenery#SCENERY} class is a wrapper class to handle the DCS Scenery objects:
|
||||||
|
--
|
||||||
|
-- * Wraps the DCS Scenery objects.
|
||||||
|
-- * Support all DCS Scenery APIs.
|
||||||
|
-- * Enhance with Scenery specific APIs not in the DCS API set.
|
||||||
|
--
|
||||||
|
-- @module Scenery
|
||||||
|
-- @author FlightControl
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
--- The SCENERY class
|
||||||
|
-- @type SCENERY
|
||||||
|
-- @extends Wrapper.Positionable#POSITIONABLE
|
||||||
|
SCENERY = {
|
||||||
|
ClassName = "SCENERY",
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function SCENERY:Register( SceneryName, SceneryObject )
|
||||||
|
local self = BASE:Inherit( self, POSITIONABLE:New( SceneryName ) )
|
||||||
|
self.SceneryName = SceneryName
|
||||||
|
self.SceneryObject = SceneryObject
|
||||||
|
return self
|
||||||
|
end
|
||||||
|
|
||||||
|
function SCENERY:GetDCSObject()
|
||||||
|
return self.SceneryObject
|
||||||
|
end
|
||||||
|
|
||||||
|
function SCENERY:GetThreatLevel()
|
||||||
|
|
||||||
|
return 0, "Scenery"
|
||||||
|
end
|
||||||
@@ -79,3 +79,8 @@ function STATIC:GetDCSObject()
|
|||||||
|
|
||||||
return nil
|
return nil
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function STATIC:GetThreatLevel()
|
||||||
|
|
||||||
|
return 1, "Static"
|
||||||
|
end
|
||||||
@@ -536,45 +536,129 @@ end
|
|||||||
-- * Threat level 8: Unit is a Short Range SAM, radar guided.
|
-- * Threat level 8: Unit is a Short Range SAM, radar guided.
|
||||||
-- * Threat level 9: Unit is a Medium Range SAM, radar guided.
|
-- * Threat level 9: Unit is a Medium Range SAM, radar guided.
|
||||||
-- * Threat level 10: Unit is a Long Range SAM, radar guided.
|
-- * Threat level 10: Unit is a Long Range SAM, radar guided.
|
||||||
|
-- @param #UNIT self
|
||||||
function UNIT:GetThreatLevel()
|
function UNIT:GetThreatLevel()
|
||||||
|
|
||||||
local Attributes = self:GetDesc().attributes
|
local Attributes = self:GetDesc().attributes
|
||||||
|
self:E( Attributes )
|
||||||
|
|
||||||
local ThreatLevel = 0
|
local ThreatLevel = 0
|
||||||
|
local ThreatText = ""
|
||||||
|
|
||||||
|
if self:IsGround() then
|
||||||
|
|
||||||
local ThreatLevels = {
|
self:E( "Ground" )
|
||||||
"Unarmed",
|
|
||||||
"Infantry",
|
|
||||||
"Old Tanks & APCs",
|
|
||||||
"Tanks & IFVs without ATGM",
|
|
||||||
"Tanks & IFV with ATGM",
|
|
||||||
"Modern Tanks",
|
|
||||||
"AAA",
|
|
||||||
"IR Guided SAMs",
|
|
||||||
"SR SAMs",
|
|
||||||
"MR SAMs",
|
|
||||||
"LR SAMs"
|
|
||||||
}
|
|
||||||
|
|
||||||
self:T2( Attributes )
|
local ThreatLevels = {
|
||||||
|
"Unarmed",
|
||||||
|
"Infantry",
|
||||||
|
"Old Tanks & APCs",
|
||||||
|
"Tanks & IFVs without ATGM",
|
||||||
|
"Tanks & IFV with ATGM",
|
||||||
|
"Modern Tanks",
|
||||||
|
"AAA",
|
||||||
|
"IR Guided SAMs",
|
||||||
|
"SR SAMs",
|
||||||
|
"MR SAMs",
|
||||||
|
"LR SAMs"
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if Attributes["LR SAM"] then ThreatLevel = 10
|
||||||
|
elseif Attributes["MR SAM"] then ThreatLevel = 9
|
||||||
|
elseif Attributes["SR SAM"] and
|
||||||
|
not Attributes["IR Guided SAM"] then ThreatLevel = 8
|
||||||
|
elseif ( Attributes["SR SAM"] or Attributes["MANPADS"] ) and
|
||||||
|
Attributes["IR Guided SAM"] then ThreatLevel = 7
|
||||||
|
elseif Attributes["AAA"] then ThreatLevel = 6
|
||||||
|
elseif Attributes["Modern Tanks"] then ThreatLevel = 5
|
||||||
|
elseif ( Attributes["Tanks"] or Attributes["IFV"] ) and
|
||||||
|
Attributes["ATGM"] then ThreatLevel = 4
|
||||||
|
elseif ( Attributes["Tanks"] or Attributes["IFV"] ) and
|
||||||
|
not Attributes["ATGM"] then ThreatLevel = 3
|
||||||
|
elseif Attributes["Old Tanks"] or Attributes["APC"] or Attributes["Artillery"] then ThreatLevel = 2
|
||||||
|
elseif Attributes["Infantry"] then ThreatLevel = 1
|
||||||
|
end
|
||||||
|
|
||||||
|
ThreatText = ThreatLevels[ThreatLevel+1]
|
||||||
|
end
|
||||||
|
|
||||||
if Attributes["LR SAM"] then ThreatLevel = 10
|
if self:IsAir() then
|
||||||
elseif Attributes["MR SAM"] then ThreatLevel = 9
|
|
||||||
elseif Attributes["SR SAM"] and
|
self:E( "Air" )
|
||||||
not Attributes["IR Guided SAM"] then ThreatLevel = 8
|
|
||||||
elseif ( Attributes["SR SAM"] or Attributes["MANPADS"] ) and
|
local ThreatLevels = {
|
||||||
Attributes["IR Guided SAM"] then ThreatLevel = 7
|
"Unarmed",
|
||||||
elseif Attributes["AAA"] then ThreatLevel = 6
|
"Tanker",
|
||||||
elseif Attributes["Modern Tanks"] then ThreatLevel = 5
|
"AWACS",
|
||||||
elseif ( Attributes["Tanks"] or Attributes["IFV"] ) and
|
"Transport Helicpter",
|
||||||
Attributes["ATGM"] then ThreatLevel = 4
|
"UAV",
|
||||||
elseif ( Attributes["Tanks"] or Attributes["IFV"] ) and
|
"Bomber",
|
||||||
not Attributes["ATGM"] then ThreatLevel = 3
|
"Strategic Bomber",
|
||||||
elseif Attributes["Old Tanks"] or Attributes["APC"] then ThreatLevel = 2
|
"Attack Helicopter",
|
||||||
elseif Attributes["Infantry"] then ThreatLevel = 1
|
"Interceptor",
|
||||||
|
"Multirole Fighter",
|
||||||
|
"Fighter"
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if Attributes["Fighters"] then ThreatLevel = 10
|
||||||
|
elseif Attributes["Multirole fighters"] then ThreatLevel = 9
|
||||||
|
elseif Attributes["Battleplanes"] then ThreatLevel = 8
|
||||||
|
elseif Attributes["Attack helicopters"] then ThreatLevel = 7
|
||||||
|
elseif Attributes["Strategic bombers"] then ThreatLevel = 6
|
||||||
|
elseif Attributes["Bombers"] then ThreatLevel = 5
|
||||||
|
elseif Attributes["UAVs"] then ThreatLevel = 4
|
||||||
|
elseif Attributes["Transport helicopters"] then ThreatLevel = 3
|
||||||
|
elseif Attributes["AWACS"] then ThreatLevel = 2
|
||||||
|
elseif Attributes["Tankers"] then ThreatLevel = 1
|
||||||
|
end
|
||||||
|
|
||||||
|
ThreatText = ThreatLevels[ThreatLevel+1]
|
||||||
|
end
|
||||||
|
|
||||||
|
if self:IsShip() then
|
||||||
|
|
||||||
|
self:E( "Ship" )
|
||||||
|
|
||||||
|
--["Aircraft Carriers"] = {"Heavy armed ships",},
|
||||||
|
--["Cruisers"] = {"Heavy armed ships",},
|
||||||
|
--["Destroyers"] = {"Heavy armed ships",},
|
||||||
|
--["Frigates"] = {"Heavy armed ships",},
|
||||||
|
--["Corvettes"] = {"Heavy armed ships",},
|
||||||
|
--["Heavy armed ships"] = {"Armed ships", "Armed Air Defence", "HeavyArmoredUnits",},
|
||||||
|
--["Light armed ships"] = {"Armed ships","NonArmoredUnits"},
|
||||||
|
--["Armed ships"] = {"Ships"},
|
||||||
|
--["Unarmed ships"] = {"Ships","HeavyArmoredUnits",},
|
||||||
|
|
||||||
|
local ThreatLevels = {
|
||||||
|
"Unarmed ship",
|
||||||
|
"Light armed ships",
|
||||||
|
"Corvettes",
|
||||||
|
"",
|
||||||
|
"Frigates",
|
||||||
|
"",
|
||||||
|
"Cruiser",
|
||||||
|
"",
|
||||||
|
"Destroyer",
|
||||||
|
"",
|
||||||
|
"Aircraft Carrier"
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if Attributes["Aircraft Carriers"] then ThreatLevel = 10
|
||||||
|
elseif Attributes["Destroyers"] then ThreatLevel = 8
|
||||||
|
elseif Attributes["Cruisers"] then ThreatLevel = 6
|
||||||
|
elseif Attributes["Frigates"] then ThreatLevel = 4
|
||||||
|
elseif Attributes["Corvettes"] then ThreatLevel = 2
|
||||||
|
elseif Attributes["Light armed ships"] then ThreatLevel = 1
|
||||||
|
end
|
||||||
|
|
||||||
|
ThreatText = ThreatLevels[ThreatLevel+1]
|
||||||
end
|
end
|
||||||
|
|
||||||
self:T2( ThreatLevel )
|
self:T2( ThreatLevel )
|
||||||
return ThreatLevel, ThreatLevels[ThreatLevel+1]
|
return ThreatLevel, ThreatText
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -589,7 +673,7 @@ function UNIT:IsInZone( Zone )
|
|||||||
self:F2( { self.UnitName, Zone } )
|
self:F2( { self.UnitName, Zone } )
|
||||||
|
|
||||||
if self:IsAlive() then
|
if self:IsAlive() then
|
||||||
local IsInZone = Zone:IsPointVec3InZone( self:GetVec3() )
|
local IsInZone = Zone:IsVec3InZone( self:GetVec3() )
|
||||||
|
|
||||||
self:T( { IsInZone } )
|
self:T( { IsInZone } )
|
||||||
return IsInZone
|
return IsInZone
|
||||||
@@ -606,7 +690,7 @@ function UNIT:IsNotInZone( Zone )
|
|||||||
self:F2( { self.UnitName, Zone } )
|
self:F2( { self.UnitName, Zone } )
|
||||||
|
|
||||||
if self:IsAlive() then
|
if self:IsAlive() then
|
||||||
local IsInZone = not Zone:IsPointVec3InZone( self:GetVec3() )
|
local IsInZone = not Zone:IsVec3InZone( self:GetVec3() )
|
||||||
|
|
||||||
self:T( { IsInZone } )
|
self:T( { IsInZone } )
|
||||||
return IsInZone
|
return IsInZone
|
||||||
|
|||||||
@@ -65,6 +65,7 @@ COPY /b Moose.lua + %1\Wrapper\Unit.lua Moose.lua
|
|||||||
COPY /b Moose.lua + %1\Wrapper\Client.lua Moose.lua
|
COPY /b Moose.lua + %1\Wrapper\Client.lua Moose.lua
|
||||||
COPY /b Moose.lua + %1\Wrapper\Static.lua Moose.lua
|
COPY /b Moose.lua + %1\Wrapper\Static.lua Moose.lua
|
||||||
COPY /b Moose.lua + %1\Wrapper\Airbase.lua Moose.lua
|
COPY /b Moose.lua + %1\Wrapper\Airbase.lua Moose.lua
|
||||||
|
COPY /b Moose.lua + %1\Wrapper\Scenery.lua Moose.lua
|
||||||
|
|
||||||
rem Functional Classes
|
rem Functional Classes
|
||||||
COPY /b Moose.lua + %1\Functional\Scoring.lua Moose.lua
|
COPY /b Moose.lua + %1\Functional\Scoring.lua Moose.lua
|
||||||
|
|||||||
|
After Width: | Height: | Size: 120 KiB |
|
After Width: | Height: | Size: 254 KiB |
@@ -0,0 +1,38 @@
|
|||||||
|
---
|
||||||
|
-- Name: SCO-100 - Scoring of Statics
|
||||||
|
-- Author: FlightControl
|
||||||
|
-- Date Created: 21 Feb 2017
|
||||||
|
--
|
||||||
|
-- # Situation:
|
||||||
|
--
|
||||||
|
-- A shooting range has been setup. Fly the Ka-50 or the Su-25T to the statics located near the airport, and shoot them.
|
||||||
|
--
|
||||||
|
-- # Test cases:
|
||||||
|
--
|
||||||
|
-- 1. Observe the scoring granted to your flight when you hit and kill targets.
|
||||||
|
|
||||||
|
|
||||||
|
local HQ = GROUP:FindByName( "HQ", "Bravo HQ" )
|
||||||
|
|
||||||
|
local CommandCenter = COMMANDCENTER:New( HQ, "Bravo" )
|
||||||
|
|
||||||
|
local Scoring = SCORING:New( "Shooting Range 1" )
|
||||||
|
|
||||||
|
Scoring:SetMultiplierDestroyScore( 10 )
|
||||||
|
|
||||||
|
Scoring:SetMultiplierDestroyPenalty( 40 )
|
||||||
|
|
||||||
|
Scoring:AddUnitScore( UNIT:FindByName( "Unit #001" ), 200 )
|
||||||
|
|
||||||
|
-- Test for zone scores.
|
||||||
|
|
||||||
|
-- This one is to test scoring on normal units.
|
||||||
|
local ShootingRangeZone = ZONE:New( "ScoringZone1" )
|
||||||
|
Scoring:AddZoneScore( ShootingRangeZone, 200 )
|
||||||
|
|
||||||
|
-- This one is to test scoring on scenery.
|
||||||
|
-- Note that you can only destroy scenery with heavy weapons.
|
||||||
|
local SceneryZone = ZONE:New( "ScoringZone2" )
|
||||||
|
Scoring:AddZoneScore( SceneryZone, 200 )
|
||||||
|
|
||||||
|
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
---
|
||||||
|
-- Name: SCO-101 - Scoring Client to Client
|
||||||
|
-- Author: FlightControl
|
||||||
|
-- Date Created: 24 Feb 2017
|
||||||
|
--
|
||||||
|
-- # Situation:
|
||||||
|
--
|
||||||
|
-- A shooting range has been setup to test client to client scoring.
|
||||||
|
--
|
||||||
|
-- # Test cases:
|
||||||
|
--
|
||||||
|
-- 1. Observe the scoring granted to your flight when you hit and kill other clients.
|
||||||
|
|
||||||
|
|
||||||
|
local HQ = GROUP:FindByName( "HQ", "Bravo HQ" )
|
||||||
|
|
||||||
|
local CommandCenter = COMMANDCENTER:New( HQ, "Lima" )
|
||||||
|
|
||||||
|
local Scoring = SCORING:New( "Detect Demo" )
|
||||||
|
|
||||||
|
|
||||||
@@ -1,6 +1,7 @@
|
|||||||
|
---
|
||||||
-- Name: SPA-018 - Ground Ops - Randomize Templates
|
-- Name: SPA-018 - Ground Ops - Randomize Templates
|
||||||
-- Author: FlightControl
|
-- Author: FlightControl
|
||||||
-- Date Created: 10 January 2017
|
-- Date Created: 10 Jan 2017
|
||||||
--
|
--
|
||||||
-- # Situation:
|
-- # Situation:
|
||||||
--
|
--
|
||||||
|
|||||||
@@ -0,0 +1,27 @@
|
|||||||
|
---
|
||||||
|
-- Name: SPA-019 - Ground Ops - Randomize Templates with Waypoints
|
||||||
|
-- Author: FlightControl
|
||||||
|
-- Date Created: 24 Feb 2017
|
||||||
|
--
|
||||||
|
-- # Situation:
|
||||||
|
--
|
||||||
|
-- At Gudauta spawn multiple ground vehicles, in a scheduled fashion.
|
||||||
|
--
|
||||||
|
-- # Test cases:
|
||||||
|
--
|
||||||
|
-- 1. Observe that the ground vehicles are spawned with randomized templates.
|
||||||
|
-- 2. Observe that the ground vehicles are spread around the spawning area and are not stacked upon each other.
|
||||||
|
|
||||||
|
|
||||||
|
-- Tests Gudauta
|
||||||
|
-- -------------
|
||||||
|
-- Create a zone table of the 2 zones.
|
||||||
|
ZoneTable = { ZONE:New( "Zone1" ), ZONE:New( "Zone2" ) }
|
||||||
|
|
||||||
|
TemplateTable = { "A", "B", "C" }
|
||||||
|
|
||||||
|
Spawn_Vehicle_1 = SPAWN:New( "Spawn Vehicle 1" )
|
||||||
|
:InitLimit( 10, 10 )
|
||||||
|
:InitRandomizeTemplate( TemplateTable )
|
||||||
|
:SpawnScheduled( 5, .5 )
|
||||||
|
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
---
|
||||||
|
-- Name: SPA-020 - Ground Ops - Randomize Templates in Random Zones without Waypoints
|
||||||
|
-- Author: FlightControl
|
||||||
|
-- Date Created: 24 Feb 2017
|
||||||
|
--
|
||||||
|
-- # Situation:
|
||||||
|
--
|
||||||
|
-- At Gudauta spawn multiple ground vehicles, in a scheduled fashion.
|
||||||
|
--
|
||||||
|
-- # Test cases:
|
||||||
|
--
|
||||||
|
-- 1. Observe that the ground vehicles are spawned with randomized templates.
|
||||||
|
-- 2. Observe that the ground vehicles are spread around the spawning area and are not stacked upon each other.
|
||||||
|
-- 3. Observe that the ground vehicles are spread over the random zones, and that the initial templates formations are kept.
|
||||||
|
|
||||||
|
|
||||||
|
-- Tests Gudauta
|
||||||
|
-- -------------
|
||||||
|
-- Create a zone table of the 2 zones.
|
||||||
|
ZoneTable = { ZONE:New( "Zone1" ), ZONE:New( "Zone2" ) }
|
||||||
|
|
||||||
|
TemplateTable = { "A", "B", "C" }
|
||||||
|
|
||||||
|
Spawn_Vehicle_1 = SPAWN:New( "Spawn Vehicle 1" )
|
||||||
|
:InitLimit( 100, 10 )
|
||||||
|
:InitRandomizeTemplate( TemplateTable )
|
||||||
|
:InitRandomizeZones( ZoneTable )
|
||||||
|
:SpawnScheduled( 5, .5 )
|
||||||
|
|
||||||
@@ -8,7 +8,7 @@ MOOSE works with DCS world 1.5. and 2.0.
|
|||||||
|
|
||||||
The goal of MOOSE is to allow mission designers to enhance their scripting with mission orchestration objects, which can be instantiated from defined classes within the framework. This will allow to write mission scripts with minimal code embedded. Of course, the richness of the framework will determine the richness of the misson scenarios.
|
The goal of MOOSE is to allow mission designers to enhance their scripting with mission orchestration objects, which can be instantiated from defined classes within the framework. This will allow to write mission scripts with minimal code embedded. Of course, the richness of the framework will determine the richness of the misson scenarios.
|
||||||
The MOOSE is a service that is produced while being consumed ... , it will evolve further as more classes are developed for the framework, and as more users are using it.
|
The MOOSE is a service that is produced while being consumed ... , it will evolve further as more classes are developed for the framework, and as more users are using it.
|
||||||
MOOSE is meant to be a one-man show, it is meant to evolve within a growing community around the framework.
|
MOOSE is not a one-man show, it is a collaborative effort and meant to evolve within a growing community around the framework.
|
||||||
Within the community, key users will start supporting, documenting, explaining and even creating new classes for the framework.
|
Within the community, key users will start supporting, documenting, explaining and even creating new classes for the framework.
|
||||||
It is the ambition to grow this framework as a de-facto standard for mission designers to use.
|
It is the ambition to grow this framework as a de-facto standard for mission designers to use.
|
||||||
|
|
||||||
|
|||||||
@@ -50,6 +50,7 @@
|
|||||||
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
|
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
|
||||||
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
|
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
|
||||||
<li><a href="Route.html">Route</a></li>
|
<li><a href="Route.html">Route</a></li>
|
||||||
|
<li><a href="Scenery.html">Scenery</a></li>
|
||||||
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
|
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
|
||||||
<li><a href="Scheduler.html">Scheduler</a></li>
|
<li><a href="Scheduler.html">Scheduler</a></li>
|
||||||
<li><a href="Scoring.html">Scoring</a></li>
|
<li><a href="Scoring.html">Scoring</a></li>
|
||||||
@@ -71,7 +72,7 @@
|
|||||||
<div id="content">
|
<div id="content">
|
||||||
<h1>Module <code>AI_Balancer</code></h1>
|
<h1>Module <code>AI_Balancer</code></h1>
|
||||||
|
|
||||||
<p>Single-Player:<strong>No</strong> / Mulit-Player:<strong>Yes</strong> / AI:<strong>Yes</strong> / Human:<strong>No</strong> / Types:<strong>All</strong> -- <strong>AI Balancing will replace in multi player missions
|
<p>Single-Player:<strong>No</strong> / Multi-Player:<strong>Yes</strong> / AI:<strong>Yes</strong> / Human:<strong>No</strong> / Types:<strong>All</strong> -- <strong>AI Balancing will replace in multi player missions
|
||||||
non-occupied human slots with AI groups, in order to provide an engaging simulation environment,
|
non-occupied human slots with AI groups, in order to provide an engaging simulation environment,
|
||||||
even when there are hardly any players in the mission.</strong></p>
|
even when there are hardly any players in the mission.</strong></p>
|
||||||
|
|
||||||
|
|||||||
@@ -50,6 +50,7 @@
|
|||||||
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
|
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
|
||||||
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
|
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
|
||||||
<li><a href="Route.html">Route</a></li>
|
<li><a href="Route.html">Route</a></li>
|
||||||
|
<li><a href="Scenery.html">Scenery</a></li>
|
||||||
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
|
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
|
||||||
<li><a href="Scheduler.html">Scheduler</a></li>
|
<li><a href="Scheduler.html">Scheduler</a></li>
|
||||||
<li><a href="Scoring.html">Scoring</a></li>
|
<li><a href="Scoring.html">Scoring</a></li>
|
||||||
@@ -71,7 +72,7 @@
|
|||||||
<div id="content">
|
<div id="content">
|
||||||
<h1>Module <code>AI_Cap</code></h1>
|
<h1>Module <code>AI_Cap</code></h1>
|
||||||
|
|
||||||
<p>Single-Player:<strong>Yes</strong> / Mulit-Player:<strong>Yes</strong> / AI:<strong>Yes</strong> / Human:<strong>No</strong> / Types:<strong>Air</strong> -- <strong>Execute Combat Air Patrol (CAP).</strong></p>
|
<p>Single-Player:<strong>Yes</strong> / Multi-Player:<strong>Yes</strong> / AI:<strong>Yes</strong> / Human:<strong>No</strong> / Types:<strong>Air</strong> -- <strong>Execute Combat Air Patrol (CAP).</strong></p>
|
||||||
|
|
||||||
<p><img src="..\Presentations\AI_CAP\Dia1.JPG" alt="Banner Image"/></p>
|
<p><img src="..\Presentations\AI_CAP\Dia1.JPG" alt="Banner Image"/></p>
|
||||||
|
|
||||||
|
|||||||
@@ -50,6 +50,7 @@
|
|||||||
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
|
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
|
||||||
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
|
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
|
||||||
<li><a href="Route.html">Route</a></li>
|
<li><a href="Route.html">Route</a></li>
|
||||||
|
<li><a href="Scenery.html">Scenery</a></li>
|
||||||
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
|
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
|
||||||
<li><a href="Scheduler.html">Scheduler</a></li>
|
<li><a href="Scheduler.html">Scheduler</a></li>
|
||||||
<li><a href="Scoring.html">Scoring</a></li>
|
<li><a href="Scoring.html">Scoring</a></li>
|
||||||
@@ -71,7 +72,7 @@
|
|||||||
<div id="content">
|
<div id="content">
|
||||||
<h1>Module <code>AI_Cas</code></h1>
|
<h1>Module <code>AI_Cas</code></h1>
|
||||||
|
|
||||||
<p>Single-Player:<strong>Yes</strong> / Mulit-Player:<strong>Yes</strong> / AI:<strong>Yes</strong> / Human:<strong>No</strong> / Types:<strong>Air</strong> --
|
<p>Single-Player:<strong>Yes</strong> / Multi-Player:<strong>Yes</strong> / AI:<strong>Yes</strong> / Human:<strong>No</strong> / Types:<strong>Air</strong> --
|
||||||
<strong>Provide Close Air Support to friendly ground troops.</strong></p>
|
<strong>Provide Close Air Support to friendly ground troops.</strong></p>
|
||||||
|
|
||||||
<p><img src="..\Presentations\AI_CAS\Dia1.JPG" alt="Banner Image"/></p>
|
<p><img src="..\Presentations\AI_CAS\Dia1.JPG" alt="Banner Image"/></p>
|
||||||
@@ -307,7 +308,7 @@ It can be notified to go RTB through the <strong>RTB</strong> event.</p>
|
|||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td class="name" nowrap="nowrap"><a href="##(AI_CAS_ZONE).New">AI_CAS_ZONE:New(PatrolZone, PatrolFloorAltitude, PatrolCeilingAltitude, PatrolMinSpeed, PatrolMaxSpeed, PatrolAltType, EngageZone)</a></td>
|
<td class="name" nowrap="nowrap"><a href="##(AI_CAS_ZONE).New">AI_CAS_ZONE:New(PatrolZone, PatrolFloorAltitude, PatrolCeilingAltitude, PatrolMinSpeed, PatrolMaxSpeed, EngageZone, PatrolAltType)</a></td>
|
||||||
<td class="summary">
|
<td class="summary">
|
||||||
<p>Creates a new AI<em>CAS</em>ZONE object</p>
|
<p>Creates a new AI<em>CAS</em>ZONE object</p>
|
||||||
</td>
|
</td>
|
||||||
@@ -739,7 +740,7 @@ It can be notified to go RTB through the <strong>RTB</strong> event.</p>
|
|||||||
<dt>
|
<dt>
|
||||||
|
|
||||||
<a id="#(AI_CAS_ZONE).New" >
|
<a id="#(AI_CAS_ZONE).New" >
|
||||||
<strong>AI_CAS_ZONE:New(PatrolZone, PatrolFloorAltitude, PatrolCeilingAltitude, PatrolMinSpeed, PatrolMaxSpeed, PatrolAltType, EngageZone)</strong>
|
<strong>AI_CAS_ZONE:New(PatrolZone, PatrolFloorAltitude, PatrolCeilingAltitude, PatrolMinSpeed, PatrolMaxSpeed, EngageZone, PatrolAltType)</strong>
|
||||||
</a>
|
</a>
|
||||||
</dt>
|
</dt>
|
||||||
<dd>
|
<dd>
|
||||||
@@ -780,13 +781,14 @@ The maximum speed of the <a href="Controllable.html">Controllable</a> in km/h.</
|
|||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
|
|
||||||
<p><code><em><a href="Dcs.DCSTypes.html##(AltitudeType)">Dcs.DCSTypes#AltitudeType</a> PatrolAltType </em></code>:
|
<p><code><em><a href="Core.Zone.html##(ZONE_BASE)">Core.Zone#ZONE_BASE</a> EngageZone </em></code>:
|
||||||
The altitude type ("RADIO"=="AGL", "BARO"=="ASL"). Defaults to RADIO</p>
|
The zone where the engage will happen.</p>
|
||||||
|
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
|
|
||||||
<p><code><em><a href="Core.Zone.html##(ZONE)">Core.Zone#ZONE</a> EngageZone </em></code>: </p>
|
<p><code><em><a href="Dcs.DCSTypes.html##(AltitudeType)">Dcs.DCSTypes#AltitudeType</a> PatrolAltType </em></code>:
|
||||||
|
The altitude type ("RADIO"=="AGL", "BARO"=="ASL"). Defaults to RADIO</p>
|
||||||
|
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|||||||
@@ -50,6 +50,7 @@
|
|||||||
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
|
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
|
||||||
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
|
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
|
||||||
<li><a href="Route.html">Route</a></li>
|
<li><a href="Route.html">Route</a></li>
|
||||||
|
<li><a href="Scenery.html">Scenery</a></li>
|
||||||
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
|
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
|
||||||
<li><a href="Scheduler.html">Scheduler</a></li>
|
<li><a href="Scheduler.html">Scheduler</a></li>
|
||||||
<li><a href="Scoring.html">Scoring</a></li>
|
<li><a href="Scoring.html">Scoring</a></li>
|
||||||
@@ -71,7 +72,7 @@
|
|||||||
<div id="content">
|
<div id="content">
|
||||||
<h1>Module <code>AI_Patrol</code></h1>
|
<h1>Module <code>AI_Patrol</code></h1>
|
||||||
|
|
||||||
<p>Single-Player:<strong>Yes</strong> / Mulit-Player:<strong>Yes</strong> / AI:<strong>Yes</strong> / Human:<strong>No</strong> / Types:<strong>Air</strong> --
|
<p>Single-Player:<strong>Yes</strong> / Multi-Player:<strong>Yes</strong> / AI:<strong>Yes</strong> / Human:<strong>No</strong> / Types:<strong>Air</strong> --
|
||||||
<strong>Air Patrolling or Staging.</strong></p>
|
<strong>Air Patrolling or Staging.</strong></p>
|
||||||
|
|
||||||
<p><img src="..\Presentations\AI_PATROL\Dia1.JPG" alt="Banner Image"/></p>
|
<p><img src="..\Presentations\AI_PATROL\Dia1.JPG" alt="Banner Image"/></p>
|
||||||
|
|||||||
@@ -50,6 +50,7 @@
|
|||||||
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
|
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
|
||||||
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
|
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
|
||||||
<li><a href="Route.html">Route</a></li>
|
<li><a href="Route.html">Route</a></li>
|
||||||
|
<li><a href="Scenery.html">Scenery</a></li>
|
||||||
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
|
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
|
||||||
<li><a href="Scheduler.html">Scheduler</a></li>
|
<li><a href="Scheduler.html">Scheduler</a></li>
|
||||||
<li><a href="Scoring.html">Scoring</a></li>
|
<li><a href="Scoring.html">Scoring</a></li>
|
||||||
|
|||||||
@@ -50,6 +50,7 @@
|
|||||||
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
|
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
|
||||||
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
|
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
|
||||||
<li><a href="Route.html">Route</a></li>
|
<li><a href="Route.html">Route</a></li>
|
||||||
|
<li><a href="Scenery.html">Scenery</a></li>
|
||||||
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
|
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
|
||||||
<li><a href="Scheduler.html">Scheduler</a></li>
|
<li><a href="Scheduler.html">Scheduler</a></li>
|
||||||
<li><a href="Scoring.html">Scoring</a></li>
|
<li><a href="Scoring.html">Scoring</a></li>
|
||||||
|
|||||||
@@ -50,6 +50,7 @@
|
|||||||
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
|
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
|
||||||
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
|
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
|
||||||
<li><a href="Route.html">Route</a></li>
|
<li><a href="Route.html">Route</a></li>
|
||||||
|
<li><a href="Scenery.html">Scenery</a></li>
|
||||||
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
|
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
|
||||||
<li><a href="Scheduler.html">Scheduler</a></li>
|
<li><a href="Scheduler.html">Scheduler</a></li>
|
||||||
<li><a href="Scoring.html">Scoring</a></li>
|
<li><a href="Scoring.html">Scoring</a></li>
|
||||||
|
|||||||
@@ -50,6 +50,7 @@
|
|||||||
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
|
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
|
||||||
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
|
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
|
||||||
<li><a href="Route.html">Route</a></li>
|
<li><a href="Route.html">Route</a></li>
|
||||||
|
<li><a href="Scenery.html">Scenery</a></li>
|
||||||
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
|
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
|
||||||
<li><a href="Scheduler.html">Scheduler</a></li>
|
<li><a href="Scheduler.html">Scheduler</a></li>
|
||||||
<li><a href="Scoring.html">Scoring</a></li>
|
<li><a href="Scoring.html">Scoring</a></li>
|
||||||
|
|||||||
@@ -50,6 +50,7 @@
|
|||||||
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
|
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
|
||||||
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
|
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
|
||||||
<li><a href="Route.html">Route</a></li>
|
<li><a href="Route.html">Route</a></li>
|
||||||
|
<li><a href="Scenery.html">Scenery</a></li>
|
||||||
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
|
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
|
||||||
<li><a href="Scheduler.html">Scheduler</a></li>
|
<li><a href="Scheduler.html">Scheduler</a></li>
|
||||||
<li><a href="Scoring.html">Scoring</a></li>
|
<li><a href="Scoring.html">Scoring</a></li>
|
||||||
|
|||||||
@@ -50,6 +50,7 @@
|
|||||||
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
|
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
|
||||||
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
|
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
|
||||||
<li><a href="Route.html">Route</a></li>
|
<li><a href="Route.html">Route</a></li>
|
||||||
|
<li><a href="Scenery.html">Scenery</a></li>
|
||||||
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
|
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
|
||||||
<li><a href="Scheduler.html">Scheduler</a></li>
|
<li><a href="Scheduler.html">Scheduler</a></li>
|
||||||
<li><a href="Scoring.html">Scoring</a></li>
|
<li><a href="Scoring.html">Scoring</a></li>
|
||||||
@@ -71,7 +72,7 @@
|
|||||||
<div id="content">
|
<div id="content">
|
||||||
<h1>Module <code>Cargo</code></h1>
|
<h1>Module <code>Cargo</code></h1>
|
||||||
|
|
||||||
<p>Single-Player:<strong>Yes</strong> / Mulit-Player:<strong>Yes</strong> / AI:<strong>Yes</strong> / Human:<strong>No</strong> / Types:<strong>Ground</strong> -- <br/>
|
<p>Single-Player:<strong>Yes</strong> / Multi-Player:<strong>Yes</strong> / AI:<strong>Yes</strong> / Human:<strong>No</strong> / Types:<strong>Ground</strong> -- <br/>
|
||||||
<strong>Management of logical cargo objects, that can be transported from and to transportation carriers.</strong></p>
|
<strong>Management of logical cargo objects, that can be transported from and to transportation carriers.</strong></p>
|
||||||
|
|
||||||
<p><img src="..\Presentations\AI_CARGO\CARGO.JPG" alt="Banner Image"/></p>
|
<p><img src="..\Presentations\AI_CARGO\CARGO.JPG" alt="Banner Image"/></p>
|
||||||
|
|||||||
@@ -50,6 +50,7 @@
|
|||||||
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
|
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
|
||||||
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
|
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
|
||||||
<li><a href="Route.html">Route</a></li>
|
<li><a href="Route.html">Route</a></li>
|
||||||
|
<li><a href="Scenery.html">Scenery</a></li>
|
||||||
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
|
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
|
||||||
<li><a href="Scheduler.html">Scheduler</a></li>
|
<li><a href="Scheduler.html">Scheduler</a></li>
|
||||||
<li><a href="Scoring.html">Scoring</a></li>
|
<li><a href="Scoring.html">Scoring</a></li>
|
||||||
|
|||||||
@@ -50,6 +50,7 @@
|
|||||||
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
|
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
|
||||||
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
|
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
|
||||||
<li><a href="Route.html">Route</a></li>
|
<li><a href="Route.html">Route</a></li>
|
||||||
|
<li><a href="Scenery.html">Scenery</a></li>
|
||||||
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
|
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
|
||||||
<li><a href="Scheduler.html">Scheduler</a></li>
|
<li><a href="Scheduler.html">Scheduler</a></li>
|
||||||
<li><a href="Scoring.html">Scoring</a></li>
|
<li><a href="Scoring.html">Scoring</a></li>
|
||||||
|
|||||||
@@ -50,6 +50,7 @@
|
|||||||
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
|
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
|
||||||
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
|
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
|
||||||
<li><a href="Route.html">Route</a></li>
|
<li><a href="Route.html">Route</a></li>
|
||||||
|
<li><a href="Scenery.html">Scenery</a></li>
|
||||||
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
|
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
|
||||||
<li><a href="Scheduler.html">Scheduler</a></li>
|
<li><a href="Scheduler.html">Scheduler</a></li>
|
||||||
<li><a href="Scoring.html">Scoring</a></li>
|
<li><a href="Scoring.html">Scoring</a></li>
|
||||||
|
|||||||
@@ -50,6 +50,7 @@
|
|||||||
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
|
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
|
||||||
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
|
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
|
||||||
<li><a href="Route.html">Route</a></li>
|
<li><a href="Route.html">Route</a></li>
|
||||||
|
<li><a href="Scenery.html">Scenery</a></li>
|
||||||
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
|
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
|
||||||
<li><a href="Scheduler.html">Scheduler</a></li>
|
<li><a href="Scheduler.html">Scheduler</a></li>
|
||||||
<li><a href="Scoring.html">Scoring</a></li>
|
<li><a href="Scoring.html">Scoring</a></li>
|
||||||
|
|||||||
@@ -50,6 +50,7 @@
|
|||||||
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
|
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
|
||||||
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
|
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
|
||||||
<li><a href="Route.html">Route</a></li>
|
<li><a href="Route.html">Route</a></li>
|
||||||
|
<li><a href="Scenery.html">Scenery</a></li>
|
||||||
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
|
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
|
||||||
<li><a href="Scheduler.html">Scheduler</a></li>
|
<li><a href="Scheduler.html">Scheduler</a></li>
|
||||||
<li><a href="Scoring.html">Scoring</a></li>
|
<li><a href="Scoring.html">Scoring</a></li>
|
||||||
|
|||||||
@@ -50,6 +50,7 @@
|
|||||||
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
|
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
|
||||||
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
|
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
|
||||||
<li><a href="Route.html">Route</a></li>
|
<li><a href="Route.html">Route</a></li>
|
||||||
|
<li><a href="Scenery.html">Scenery</a></li>
|
||||||
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
|
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
|
||||||
<li><a href="Scheduler.html">Scheduler</a></li>
|
<li><a href="Scheduler.html">Scheduler</a></li>
|
||||||
<li><a href="Scoring.html">Scoring</a></li>
|
<li><a href="Scoring.html">Scoring</a></li>
|
||||||
|
|||||||
@@ -50,6 +50,7 @@
|
|||||||
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
|
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
|
||||||
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
|
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
|
||||||
<li><a href="Route.html">Route</a></li>
|
<li><a href="Route.html">Route</a></li>
|
||||||
|
<li><a href="Scenery.html">Scenery</a></li>
|
||||||
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
|
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
|
||||||
<li><a href="Scheduler.html">Scheduler</a></li>
|
<li><a href="Scheduler.html">Scheduler</a></li>
|
||||||
<li><a href="Scoring.html">Scoring</a></li>
|
<li><a href="Scoring.html">Scoring</a></li>
|
||||||
|
|||||||
@@ -50,6 +50,7 @@
|
|||||||
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
|
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
|
||||||
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
|
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
|
||||||
<li><a href="Route.html">Route</a></li>
|
<li><a href="Route.html">Route</a></li>
|
||||||
|
<li><a href="Scenery.html">Scenery</a></li>
|
||||||
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
|
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
|
||||||
<li><a href="Scheduler.html">Scheduler</a></li>
|
<li><a href="Scheduler.html">Scheduler</a></li>
|
||||||
<li><a href="Scoring.html">Scoring</a></li>
|
<li><a href="Scoring.html">Scoring</a></li>
|
||||||
|
|||||||
@@ -50,6 +50,7 @@
|
|||||||
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
|
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
|
||||||
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
|
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
|
||||||
<li><a href="Route.html">Route</a></li>
|
<li><a href="Route.html">Route</a></li>
|
||||||
|
<li><a href="Scenery.html">Scenery</a></li>
|
||||||
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
|
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
|
||||||
<li><a href="Scheduler.html">Scheduler</a></li>
|
<li><a href="Scheduler.html">Scheduler</a></li>
|
||||||
<li><a href="Scoring.html">Scoring</a></li>
|
<li><a href="Scoring.html">Scoring</a></li>
|
||||||
@@ -115,7 +116,7 @@ in the correct processing order.</p>
|
|||||||
|
|
||||||
<p><img src="..\Presentations\EVENT\Dia6.JPG" alt="Objects"/></p>
|
<p><img src="..\Presentations\EVENT\Dia6.JPG" alt="Objects"/></p>
|
||||||
|
|
||||||
<p>For most DCS events, the above order of updating will be followed.1</p>
|
<p>For most DCS events, the above order of updating will be followed.</p>
|
||||||
|
|
||||||
<p><img src="..\Presentations\EVENT\Dia7.JPG" alt="Objects"/></p>
|
<p><img src="..\Presentations\EVENT\Dia7.JPG" alt="Objects"/></p>
|
||||||
|
|
||||||
@@ -206,6 +207,23 @@ There are basically 4 main categories of information stored in the EVENTDATA str
|
|||||||
|
|
||||||
<p><img src="..\Presentations\EVENT\Dia14.JPG" alt="Objects"/></p>
|
<p><img src="..\Presentations\EVENT\Dia14.JPG" alt="Objects"/></p>
|
||||||
|
|
||||||
|
<p><strong>IMPORTANT NOTE:</strong> Some events can involve not just UNIT objects, but also STATIC objects!!!
|
||||||
|
In that case the initiator or target unit fields will refer to a STATIC object!
|
||||||
|
In case a STATIC object is involved, the documentation indicates which fields will and won't not be populated.
|
||||||
|
The fields <strong>IniObjectCategory</strong> and <strong>TgtObjectCategory</strong> contain the indicator which <strong>kind of object is involved</strong> in the event.
|
||||||
|
You can use the enumerator <strong>Object.Category.UNIT</strong> and <strong>Object.Category.STATIC</strong> to check on IniObjectCategory and TgtObjectCategory.
|
||||||
|
Example code snippet:</p>
|
||||||
|
|
||||||
|
<pre><code> if Event.IniObjectCategory == Object.Category.UNIT then
|
||||||
|
...
|
||||||
|
end
|
||||||
|
if Event.IniObjectCategory == Object.Category.STATIC then
|
||||||
|
...
|
||||||
|
end
|
||||||
|
</code></pre>
|
||||||
|
|
||||||
|
<p>When a static object is involved in the event, the Group and Player fields won't be populated.</p>
|
||||||
|
|
||||||
<hr/>
|
<hr/>
|
||||||
|
|
||||||
<h1><strong>API CHANGE HISTORY</strong></h1>
|
<h1><strong>API CHANGE HISTORY</strong></h1>
|
||||||
@@ -391,81 +409,182 @@ YYYY-MM-DD: CLASS:<strong>NewFunction( Params )</strong> added</p>
|
|||||||
<h2><a id="#(EVENTDATA)">Type <code>EVENTDATA</code></a></h2>
|
<h2><a id="#(EVENTDATA)">Type <code>EVENTDATA</code></a></h2>
|
||||||
<table class="function_list">
|
<table class="function_list">
|
||||||
<tr>
|
<tr>
|
||||||
|
<td class="name" nowrap="nowrap"><a href="##(EVENTDATA).IniCategory">EVENTDATA.IniCategory</a></td>
|
||||||
|
<td class="summary">
|
||||||
|
<pre><code> (UNIT) The category of the initiator.
|
||||||
|
</code></pre>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="name" nowrap="nowrap"><a href="##(EVENTDATA).IniCoalition">EVENTDATA.IniCoalition</a></td>
|
||||||
|
<td class="summary">
|
||||||
|
<pre><code> (UNIT) The coalition of the initiator.
|
||||||
|
</code></pre>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
<td class="name" nowrap="nowrap"><a href="##(EVENTDATA).IniDCSGroup">EVENTDATA.IniDCSGroup</a></td>
|
<td class="name" nowrap="nowrap"><a href="##(EVENTDATA).IniDCSGroup">EVENTDATA.IniDCSGroup</a></td>
|
||||||
<td class="summary">
|
<td class="summary">
|
||||||
|
<pre><code> (UNIT) The initiating {Dcs.DCSGroup#Group}.
|
||||||
|
</code></pre>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td class="name" nowrap="nowrap"><a href="##(EVENTDATA).IniDCSGroupName">EVENTDATA.IniDCSGroupName</a></td>
|
<td class="name" nowrap="nowrap"><a href="##(EVENTDATA).IniDCSGroupName">EVENTDATA.IniDCSGroupName</a></td>
|
||||||
<td class="summary">
|
<td class="summary">
|
||||||
|
<p> (UNIT) The initiating Group name.</p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td class="name" nowrap="nowrap"><a href="##(EVENTDATA).IniDCSUnit">EVENTDATA.IniDCSUnit</a></td>
|
<td class="name" nowrap="nowrap"><a href="##(EVENTDATA).IniDCSUnit">EVENTDATA.IniDCSUnit</a></td>
|
||||||
<td class="summary">
|
<td class="summary">
|
||||||
|
<pre><code> (UNIT/STATIC) The initiating <a href="Dcs.DCSUnit.html##(Unit)">Dcs.DCSUnit#Unit</a> or <a href="Dcs.DCSStaticObject.html##(StaticObject)">Dcs.DCSStaticObject#StaticObject</a>.
|
||||||
|
</code></pre>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td class="name" nowrap="nowrap"><a href="##(EVENTDATA).IniDCSUnitName">EVENTDATA.IniDCSUnitName</a></td>
|
<td class="name" nowrap="nowrap"><a href="##(EVENTDATA).IniDCSUnitName">EVENTDATA.IniDCSUnitName</a></td>
|
||||||
<td class="summary">
|
<td class="summary">
|
||||||
|
<p> (UNIT/STATIC) The initiating Unit name.</p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td class="name" nowrap="nowrap"><a href="##(EVENTDATA).IniGroup">EVENTDATA.IniGroup</a></td>
|
<td class="name" nowrap="nowrap"><a href="##(EVENTDATA).IniGroup">EVENTDATA.IniGroup</a></td>
|
||||||
<td class="summary">
|
<td class="summary">
|
||||||
|
<pre><code> (UNIT) The initiating MOOSE wrapper <a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> of the initiator Group object.
|
||||||
|
</code></pre>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="name" nowrap="nowrap"><a href="##(EVENTDATA).IniGroupName">EVENTDATA.IniGroupName</a></td>
|
||||||
|
<td class="summary">
|
||||||
|
<pre><code> (UNIT) The initiating GROUP name (same as IniDCSGroupName).
|
||||||
|
</code></pre>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="name" nowrap="nowrap"><a href="##(EVENTDATA).IniObjectCategory">EVENTDATA.IniObjectCategory</a></td>
|
||||||
|
<td class="summary">
|
||||||
|
<p>(UNIT/STATIC/SCENERY) The initiator object category ( Object.Category.UNIT or Object.Category.STATIC ).</p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="name" nowrap="nowrap"><a href="##(EVENTDATA).IniPlayerName">EVENTDATA.IniPlayerName</a></td>
|
||||||
|
<td class="summary">
|
||||||
|
<pre><code>(UNIT) The name of the initiating player in case the Unit is a client or player slot.
|
||||||
|
</code></pre>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="name" nowrap="nowrap"><a href="##(EVENTDATA).IniTypeName">EVENTDATA.IniTypeName</a></td>
|
||||||
|
<td class="summary">
|
||||||
|
<pre><code> (UNIT) The type name of the initiator.
|
||||||
|
</code></pre>
|
||||||
|
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td class="name" nowrap="nowrap"><a href="##(EVENTDATA).IniUnit">EVENTDATA.IniUnit</a></td>
|
<td class="name" nowrap="nowrap"><a href="##(EVENTDATA).IniUnit">EVENTDATA.IniUnit</a></td>
|
||||||
<td class="summary">
|
<td class="summary">
|
||||||
|
<pre><code> (UNIT/STATIC) The initiating MOOSE wrapper <a href="Wrapper.Unit.html##(UNIT)">Wrapper.Unit#UNIT</a> of the initiator Unit object.
|
||||||
|
</code></pre>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td class="name" nowrap="nowrap"><a href="##(EVENTDATA).IniUnitName">EVENTDATA.IniUnitName</a></td>
|
<td class="name" nowrap="nowrap"><a href="##(EVENTDATA).IniUnitName">EVENTDATA.IniUnitName</a></td>
|
||||||
<td class="summary">
|
<td class="summary">
|
||||||
|
<pre><code> (UNIT/STATIC) The initiating UNIT name (same as IniDCSUnitName).
|
||||||
|
</code></pre>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="name" nowrap="nowrap"><a href="##(EVENTDATA).TgtCategory">EVENTDATA.TgtCategory</a></td>
|
||||||
|
<td class="summary">
|
||||||
|
<pre><code> (UNIT) The category of the target.
|
||||||
|
</code></pre>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="name" nowrap="nowrap"><a href="##(EVENTDATA).TgtCoalition">EVENTDATA.TgtCoalition</a></td>
|
||||||
|
<td class="summary">
|
||||||
|
<pre><code> (UNIT) The coalition of the target.
|
||||||
|
</code></pre>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td class="name" nowrap="nowrap"><a href="##(EVENTDATA).TgtDCSGroup">EVENTDATA.TgtDCSGroup</a></td>
|
<td class="name" nowrap="nowrap"><a href="##(EVENTDATA).TgtDCSGroup">EVENTDATA.TgtDCSGroup</a></td>
|
||||||
<td class="summary">
|
<td class="summary">
|
||||||
|
<pre><code> (UNIT) The target {Dcs.DCSGroup#Group}.
|
||||||
|
</code></pre>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td class="name" nowrap="nowrap"><a href="##(EVENTDATA).TgtDCSGroupName">EVENTDATA.TgtDCSGroupName</a></td>
|
<td class="name" nowrap="nowrap"><a href="##(EVENTDATA).TgtDCSGroupName">EVENTDATA.TgtDCSGroupName</a></td>
|
||||||
<td class="summary">
|
<td class="summary">
|
||||||
|
<p> (UNIT) The target Group name.</p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td class="name" nowrap="nowrap"><a href="##(EVENTDATA).TgtDCSUnit">EVENTDATA.TgtDCSUnit</a></td>
|
<td class="name" nowrap="nowrap"><a href="##(EVENTDATA).TgtDCSUnit">EVENTDATA.TgtDCSUnit</a></td>
|
||||||
<td class="summary">
|
<td class="summary">
|
||||||
|
<pre><code> (UNIT/STATIC) The target <a href="Dcs.DCSUnit.html##(Unit)">Dcs.DCSUnit#Unit</a> or <a href="Dcs.DCSStaticObject.html##(StaticObject)">Dcs.DCSStaticObject#StaticObject</a>.
|
||||||
|
</code></pre>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td class="name" nowrap="nowrap"><a href="##(EVENTDATA).TgtDCSUnitName">EVENTDATA.TgtDCSUnitName</a></td>
|
<td class="name" nowrap="nowrap"><a href="##(EVENTDATA).TgtDCSUnitName">EVENTDATA.TgtDCSUnitName</a></td>
|
||||||
<td class="summary">
|
<td class="summary">
|
||||||
|
<p> (UNIT/STATIC) The target Unit name.</p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="name" nowrap="nowrap"><a href="##(EVENTDATA).TgtGroup">EVENTDATA.TgtGroup</a></td>
|
||||||
|
<td class="summary">
|
||||||
|
<pre><code> (UNIT) The target MOOSE wrapper <a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> of the target Group object.
|
||||||
|
</code></pre>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="name" nowrap="nowrap"><a href="##(EVENTDATA).TgtGroupName">EVENTDATA.TgtGroupName</a></td>
|
||||||
|
<td class="summary">
|
||||||
|
<pre><code> (UNIT) The target GROUP name (same as TgtDCSGroupName).
|
||||||
|
</code></pre>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="name" nowrap="nowrap"><a href="##(EVENTDATA).TgtObjectCategory">EVENTDATA.TgtObjectCategory</a></td>
|
||||||
|
<td class="summary">
|
||||||
|
<pre><code> (UNIT/STATIC) The target object category ( Object.Category.UNIT or Object.Category.STATIC ).
|
||||||
|
</code></pre>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="name" nowrap="nowrap"><a href="##(EVENTDATA).TgtPlayerName">EVENTDATA.TgtPlayerName</a></td>
|
||||||
|
<td class="summary">
|
||||||
|
<pre><code>(UNIT) The name of the target player in case the Unit is a client or player slot.
|
||||||
|
</code></pre>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="name" nowrap="nowrap"><a href="##(EVENTDATA).TgtTypeName">EVENTDATA.TgtTypeName</a></td>
|
||||||
|
<td class="summary">
|
||||||
|
<pre><code> (UNIT) The type name of the target.
|
||||||
|
</code></pre>
|
||||||
|
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td class="name" nowrap="nowrap"><a href="##(EVENTDATA).TgtUnit">EVENTDATA.TgtUnit</a></td>
|
<td class="name" nowrap="nowrap"><a href="##(EVENTDATA).TgtUnit">EVENTDATA.TgtUnit</a></td>
|
||||||
<td class="summary">
|
<td class="summary">
|
||||||
|
<pre><code> (UNIT/STATIC) The target MOOSE wrapper <a href="Wrapper.Unit.html##(UNIT)">Wrapper.Unit#UNIT</a> of the target Unit object.
|
||||||
|
</code></pre>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td class="name" nowrap="nowrap"><a href="##(EVENTDATA).TgtUnitName">EVENTDATA.TgtUnitName</a></td>
|
<td class="name" nowrap="nowrap"><a href="##(EVENTDATA).TgtUnitName">EVENTDATA.TgtUnitName</a></td>
|
||||||
<td class="summary">
|
<td class="summary">
|
||||||
|
<pre><code> (UNIT/STATIC) The target UNIT name (same as TgtDCSUnitName).
|
||||||
|
</code></pre>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
@@ -489,25 +608,28 @@ YYYY-MM-DD: CLASS:<strong>NewFunction( Params )</strong> added</p>
|
|||||||
<tr>
|
<tr>
|
||||||
<td class="name" nowrap="nowrap"><a href="##(EVENTDATA).id">EVENTDATA.id</a></td>
|
<td class="name" nowrap="nowrap"><a href="##(EVENTDATA).id">EVENTDATA.id</a></td>
|
||||||
<td class="summary">
|
<td class="summary">
|
||||||
|
<p>The identifier of the event.</p>
|
||||||
|
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td class="name" nowrap="nowrap"><a href="##(EVENTDATA).initiator">EVENTDATA.initiator</a></td>
|
<td class="name" nowrap="nowrap"><a href="##(EVENTDATA).initiator">EVENTDATA.initiator</a></td>
|
||||||
<td class="summary">
|
<td class="summary">
|
||||||
|
<pre><code> (UNIT/STATIC/SCENERY) The initiating <a href="Dcs.DCSUnit.html##(Unit)">Dcs.DCSUnit#Unit</a> or <a href="Dcs.DCSStaticObject.html##(StaticObject)">Dcs.DCSStaticObject#StaticObject</a>.
|
||||||
|
</code></pre>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td class="name" nowrap="nowrap"><a href="##(EVENTDATA).target">EVENTDATA.target</a></td>
|
<td class="name" nowrap="nowrap"><a href="##(EVENTDATA).target">EVENTDATA.target</a></td>
|
||||||
<td class="summary">
|
<td class="summary">
|
||||||
|
<pre><code> (UNIT/STATIC) The target <a href="Dcs.DCSUnit.html##(Unit)">Dcs.DCSUnit#Unit</a> or <a href="Dcs.DCSStaticObject.html##(StaticObject)">Dcs.DCSStaticObject#StaticObject</a>.
|
||||||
|
</code></pre>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td class="name" nowrap="nowrap"><a href="##(EVENTDATA).weapon">EVENTDATA.weapon</a></td>
|
<td class="name" nowrap="nowrap"><a href="##(EVENTDATA).weapon">EVENTDATA.weapon</a></td>
|
||||||
<td class="summary">
|
<td class="summary">
|
||||||
|
<p>The weapon used during the event.</p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
@@ -1325,71 +1447,179 @@ The self instance of the class for which the event is.</p>
|
|||||||
|
|
||||||
<h2><a id="#(EVENTDATA)" >Type <code>EVENTDATA</code></a></h2>
|
<h2><a id="#(EVENTDATA)" >Type <code>EVENTDATA</code></a></h2>
|
||||||
|
|
||||||
<p>The Event structure</p>
|
<p>The Event structure
|
||||||
|
Note that at the beginning of each field description, there is an indication which field will be populated depending on the object type involved in the Event:</p>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>A (Object.Category.)UNIT : A UNIT object type is involved in the Event.</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>A (Object.Category.)STATIC : A STATIC object type is involved in the Event.µ
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
<h3>Field(s)</h3>
|
<h3>Field(s)</h3>
|
||||||
<dl class="function">
|
<dl class="function">
|
||||||
<dt>
|
<dt>
|
||||||
|
|
||||||
|
<em><a href="Dcs.DCSUnit.html##(Unit.Category)">Dcs.DCSUnit#Unit.Category</a></em>
|
||||||
|
<a id="#(EVENTDATA).IniCategory" >
|
||||||
|
<strong>EVENTDATA.IniCategory</strong>
|
||||||
|
</a>
|
||||||
|
</dt>
|
||||||
|
<dd>
|
||||||
|
|
||||||
|
<pre><code> (UNIT) The category of the initiator.
|
||||||
|
</code></pre>
|
||||||
|
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
<dl class="function">
|
||||||
|
<dt>
|
||||||
|
|
||||||
|
<em><a href="Dcs.DCScoalition.html##(coalition.side)">Dcs.DCScoalition#coalition.side</a></em>
|
||||||
|
<a id="#(EVENTDATA).IniCoalition" >
|
||||||
|
<strong>EVENTDATA.IniCoalition</strong>
|
||||||
|
</a>
|
||||||
|
</dt>
|
||||||
|
<dd>
|
||||||
|
|
||||||
|
<pre><code> (UNIT) The coalition of the initiator.
|
||||||
|
</code></pre>
|
||||||
|
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
<dl class="function">
|
||||||
|
<dt>
|
||||||
|
|
||||||
|
<em><a href="Dcs.DCSGroup.html##(Group)">Dcs.DCSGroup#Group</a></em>
|
||||||
<a id="#(EVENTDATA).IniDCSGroup" >
|
<a id="#(EVENTDATA).IniDCSGroup" >
|
||||||
<strong>EVENTDATA.IniDCSGroup</strong>
|
<strong>EVENTDATA.IniDCSGroup</strong>
|
||||||
</a>
|
</a>
|
||||||
</dt>
|
</dt>
|
||||||
<dd>
|
<dd>
|
||||||
|
|
||||||
|
<pre><code> (UNIT) The initiating {Dcs.DCSGroup#Group}.
|
||||||
|
</code></pre>
|
||||||
|
|
||||||
</dd>
|
</dd>
|
||||||
</dl>
|
</dl>
|
||||||
<dl class="function">
|
<dl class="function">
|
||||||
<dt>
|
<dt>
|
||||||
|
|
||||||
|
<em>#string</em>
|
||||||
<a id="#(EVENTDATA).IniDCSGroupName" >
|
<a id="#(EVENTDATA).IniDCSGroupName" >
|
||||||
<strong>EVENTDATA.IniDCSGroupName</strong>
|
<strong>EVENTDATA.IniDCSGroupName</strong>
|
||||||
</a>
|
</a>
|
||||||
</dt>
|
</dt>
|
||||||
<dd>
|
<dd>
|
||||||
|
|
||||||
|
<p> (UNIT) The initiating Group name.</p>
|
||||||
|
|
||||||
</dd>
|
</dd>
|
||||||
</dl>
|
</dl>
|
||||||
<dl class="function">
|
<dl class="function">
|
||||||
<dt>
|
<dt>
|
||||||
|
|
||||||
|
<em><a href="Dcs.DCSUnit.html##(Unit)">Dcs.DCSUnit#Unit</a></em>
|
||||||
<a id="#(EVENTDATA).IniDCSUnit" >
|
<a id="#(EVENTDATA).IniDCSUnit" >
|
||||||
<strong>EVENTDATA.IniDCSUnit</strong>
|
<strong>EVENTDATA.IniDCSUnit</strong>
|
||||||
</a>
|
</a>
|
||||||
</dt>
|
</dt>
|
||||||
<dd>
|
<dd>
|
||||||
|
|
||||||
|
<pre><code> (UNIT/STATIC) The initiating <a href="Dcs.DCSUnit.html##(Unit)">Dcs.DCSUnit#Unit</a> or <a href="Dcs.DCSStaticObject.html##(StaticObject)">Dcs.DCSStaticObject#StaticObject</a>.
|
||||||
|
</code></pre>
|
||||||
|
|
||||||
</dd>
|
</dd>
|
||||||
</dl>
|
</dl>
|
||||||
<dl class="function">
|
<dl class="function">
|
||||||
<dt>
|
<dt>
|
||||||
|
|
||||||
|
<em>#string</em>
|
||||||
<a id="#(EVENTDATA).IniDCSUnitName" >
|
<a id="#(EVENTDATA).IniDCSUnitName" >
|
||||||
<strong>EVENTDATA.IniDCSUnitName</strong>
|
<strong>EVENTDATA.IniDCSUnitName</strong>
|
||||||
</a>
|
</a>
|
||||||
</dt>
|
</dt>
|
||||||
<dd>
|
<dd>
|
||||||
|
|
||||||
|
<p> (UNIT/STATIC) The initiating Unit name.</p>
|
||||||
|
|
||||||
</dd>
|
</dd>
|
||||||
</dl>
|
</dl>
|
||||||
<dl class="function">
|
<dl class="function">
|
||||||
<dt>
|
<dt>
|
||||||
|
|
||||||
<em></em>
|
<em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a></em>
|
||||||
<a id="#(EVENTDATA).IniGroup" >
|
<a id="#(EVENTDATA).IniGroup" >
|
||||||
<strong>EVENTDATA.IniGroup</strong>
|
<strong>EVENTDATA.IniGroup</strong>
|
||||||
</a>
|
</a>
|
||||||
</dt>
|
</dt>
|
||||||
<dd>
|
<dd>
|
||||||
|
|
||||||
|
<pre><code> (UNIT) The initiating MOOSE wrapper <a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> of the initiator Group object.
|
||||||
|
</code></pre>
|
||||||
|
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
<dl class="function">
|
||||||
|
<dt>
|
||||||
|
|
||||||
|
<em>#string</em>
|
||||||
|
<a id="#(EVENTDATA).IniGroupName" >
|
||||||
|
<strong>EVENTDATA.IniGroupName</strong>
|
||||||
|
</a>
|
||||||
|
</dt>
|
||||||
|
<dd>
|
||||||
|
|
||||||
|
<pre><code> (UNIT) The initiating GROUP name (same as IniDCSGroupName).
|
||||||
|
</code></pre>
|
||||||
|
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
<dl class="function">
|
||||||
|
<dt>
|
||||||
|
|
||||||
|
<em><a href="Dcs.DCSObject.html##(Object.Category)">Dcs.DCSObject#Object.Category</a></em>
|
||||||
|
<a id="#(EVENTDATA).IniObjectCategory" >
|
||||||
|
<strong>EVENTDATA.IniObjectCategory</strong>
|
||||||
|
</a>
|
||||||
|
</dt>
|
||||||
|
<dd>
|
||||||
|
|
||||||
|
<p>(UNIT/STATIC/SCENERY) The initiator object category ( Object.Category.UNIT or Object.Category.STATIC ).</p>
|
||||||
|
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
<dl class="function">
|
||||||
|
<dt>
|
||||||
|
|
||||||
|
<em>#string</em>
|
||||||
|
<a id="#(EVENTDATA).IniPlayerName" >
|
||||||
|
<strong>EVENTDATA.IniPlayerName</strong>
|
||||||
|
</a>
|
||||||
|
</dt>
|
||||||
|
<dd>
|
||||||
|
|
||||||
|
<pre><code>(UNIT) The name of the initiating player in case the Unit is a client or player slot.
|
||||||
|
</code></pre>
|
||||||
|
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
<dl class="function">
|
||||||
|
<dt>
|
||||||
|
|
||||||
|
<em>#string</em>
|
||||||
|
<a id="#(EVENTDATA).IniTypeName" >
|
||||||
|
<strong>EVENTDATA.IniTypeName</strong>
|
||||||
|
</a>
|
||||||
|
</dt>
|
||||||
|
<dd>
|
||||||
|
|
||||||
|
<pre><code> (UNIT) The type name of the initiator.
|
||||||
|
</code></pre>
|
||||||
|
|
||||||
|
|
||||||
</dd>
|
</dd>
|
||||||
@@ -1404,7 +1634,8 @@ The self instance of the class for which the event is.</p>
|
|||||||
</dt>
|
</dt>
|
||||||
<dd>
|
<dd>
|
||||||
|
|
||||||
|
<pre><code> (UNIT/STATIC) The initiating MOOSE wrapper <a href="Wrapper.Unit.html##(UNIT)">Wrapper.Unit#UNIT</a> of the initiator Unit object.
|
||||||
|
</code></pre>
|
||||||
|
|
||||||
</dd>
|
</dd>
|
||||||
</dl>
|
</dl>
|
||||||
@@ -1418,58 +1649,171 @@ The self instance of the class for which the event is.</p>
|
|||||||
</dt>
|
</dt>
|
||||||
<dd>
|
<dd>
|
||||||
|
|
||||||
|
<pre><code> (UNIT/STATIC) The initiating UNIT name (same as IniDCSUnitName).
|
||||||
|
</code></pre>
|
||||||
|
|
||||||
</dd>
|
</dd>
|
||||||
</dl>
|
</dl>
|
||||||
<dl class="function">
|
<dl class="function">
|
||||||
<dt>
|
<dt>
|
||||||
|
|
||||||
|
<em><a href="Dcs.DCSUnit.html##(Unit.Category)">Dcs.DCSUnit#Unit.Category</a></em>
|
||||||
|
<a id="#(EVENTDATA).TgtCategory" >
|
||||||
|
<strong>EVENTDATA.TgtCategory</strong>
|
||||||
|
</a>
|
||||||
|
</dt>
|
||||||
|
<dd>
|
||||||
|
|
||||||
|
<pre><code> (UNIT) The category of the target.
|
||||||
|
</code></pre>
|
||||||
|
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
<dl class="function">
|
||||||
|
<dt>
|
||||||
|
|
||||||
|
<em><a href="Dcs.DCScoalition.html##(coalition.side)">Dcs.DCScoalition#coalition.side</a></em>
|
||||||
|
<a id="#(EVENTDATA).TgtCoalition" >
|
||||||
|
<strong>EVENTDATA.TgtCoalition</strong>
|
||||||
|
</a>
|
||||||
|
</dt>
|
||||||
|
<dd>
|
||||||
|
|
||||||
|
<pre><code> (UNIT) The coalition of the target.
|
||||||
|
</code></pre>
|
||||||
|
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
<dl class="function">
|
||||||
|
<dt>
|
||||||
|
|
||||||
|
<em><a href="Dcs.DCSGroup.html##(Group)">Dcs.DCSGroup#Group</a></em>
|
||||||
<a id="#(EVENTDATA).TgtDCSGroup" >
|
<a id="#(EVENTDATA).TgtDCSGroup" >
|
||||||
<strong>EVENTDATA.TgtDCSGroup</strong>
|
<strong>EVENTDATA.TgtDCSGroup</strong>
|
||||||
</a>
|
</a>
|
||||||
</dt>
|
</dt>
|
||||||
<dd>
|
<dd>
|
||||||
|
|
||||||
|
<pre><code> (UNIT) The target {Dcs.DCSGroup#Group}.
|
||||||
|
</code></pre>
|
||||||
|
|
||||||
</dd>
|
</dd>
|
||||||
</dl>
|
</dl>
|
||||||
<dl class="function">
|
<dl class="function">
|
||||||
<dt>
|
<dt>
|
||||||
|
|
||||||
|
<em>#string</em>
|
||||||
<a id="#(EVENTDATA).TgtDCSGroupName" >
|
<a id="#(EVENTDATA).TgtDCSGroupName" >
|
||||||
<strong>EVENTDATA.TgtDCSGroupName</strong>
|
<strong>EVENTDATA.TgtDCSGroupName</strong>
|
||||||
</a>
|
</a>
|
||||||
</dt>
|
</dt>
|
||||||
<dd>
|
<dd>
|
||||||
|
|
||||||
|
<p> (UNIT) The target Group name.</p>
|
||||||
|
|
||||||
</dd>
|
</dd>
|
||||||
</dl>
|
</dl>
|
||||||
<dl class="function">
|
<dl class="function">
|
||||||
<dt>
|
<dt>
|
||||||
|
|
||||||
|
<em><a href="Dcs.DCSUnit.html##(Unit)">Dcs.DCSUnit#Unit</a></em>
|
||||||
<a id="#(EVENTDATA).TgtDCSUnit" >
|
<a id="#(EVENTDATA).TgtDCSUnit" >
|
||||||
<strong>EVENTDATA.TgtDCSUnit</strong>
|
<strong>EVENTDATA.TgtDCSUnit</strong>
|
||||||
</a>
|
</a>
|
||||||
</dt>
|
</dt>
|
||||||
<dd>
|
<dd>
|
||||||
|
|
||||||
|
<pre><code> (UNIT/STATIC) The target <a href="Dcs.DCSUnit.html##(Unit)">Dcs.DCSUnit#Unit</a> or <a href="Dcs.DCSStaticObject.html##(StaticObject)">Dcs.DCSStaticObject#StaticObject</a>.
|
||||||
|
</code></pre>
|
||||||
|
|
||||||
</dd>
|
</dd>
|
||||||
</dl>
|
</dl>
|
||||||
<dl class="function">
|
<dl class="function">
|
||||||
<dt>
|
<dt>
|
||||||
|
|
||||||
|
<em>#string</em>
|
||||||
<a id="#(EVENTDATA).TgtDCSUnitName" >
|
<a id="#(EVENTDATA).TgtDCSUnitName" >
|
||||||
<strong>EVENTDATA.TgtDCSUnitName</strong>
|
<strong>EVENTDATA.TgtDCSUnitName</strong>
|
||||||
</a>
|
</a>
|
||||||
</dt>
|
</dt>
|
||||||
<dd>
|
<dd>
|
||||||
|
|
||||||
|
<p> (UNIT/STATIC) The target Unit name.</p>
|
||||||
|
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
<dl class="function">
|
||||||
|
<dt>
|
||||||
|
|
||||||
|
<em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a></em>
|
||||||
|
<a id="#(EVENTDATA).TgtGroup" >
|
||||||
|
<strong>EVENTDATA.TgtGroup</strong>
|
||||||
|
</a>
|
||||||
|
</dt>
|
||||||
|
<dd>
|
||||||
|
|
||||||
|
<pre><code> (UNIT) The target MOOSE wrapper <a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> of the target Group object.
|
||||||
|
</code></pre>
|
||||||
|
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
<dl class="function">
|
||||||
|
<dt>
|
||||||
|
|
||||||
|
<em>#string</em>
|
||||||
|
<a id="#(EVENTDATA).TgtGroupName" >
|
||||||
|
<strong>EVENTDATA.TgtGroupName</strong>
|
||||||
|
</a>
|
||||||
|
</dt>
|
||||||
|
<dd>
|
||||||
|
|
||||||
|
<pre><code> (UNIT) The target GROUP name (same as TgtDCSGroupName).
|
||||||
|
</code></pre>
|
||||||
|
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
<dl class="function">
|
||||||
|
<dt>
|
||||||
|
|
||||||
|
<em><a href="Dcs.DCSObject.html##(Object.Category)">Dcs.DCSObject#Object.Category</a></em>
|
||||||
|
<a id="#(EVENTDATA).TgtObjectCategory" >
|
||||||
|
<strong>EVENTDATA.TgtObjectCategory</strong>
|
||||||
|
</a>
|
||||||
|
</dt>
|
||||||
|
<dd>
|
||||||
|
|
||||||
|
<pre><code> (UNIT/STATIC) The target object category ( Object.Category.UNIT or Object.Category.STATIC ).
|
||||||
|
</code></pre>
|
||||||
|
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
<dl class="function">
|
||||||
|
<dt>
|
||||||
|
|
||||||
|
<em>#string</em>
|
||||||
|
<a id="#(EVENTDATA).TgtPlayerName" >
|
||||||
|
<strong>EVENTDATA.TgtPlayerName</strong>
|
||||||
|
</a>
|
||||||
|
</dt>
|
||||||
|
<dd>
|
||||||
|
|
||||||
|
<pre><code>(UNIT) The name of the target player in case the Unit is a client or player slot.
|
||||||
|
</code></pre>
|
||||||
|
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
<dl class="function">
|
||||||
|
<dt>
|
||||||
|
|
||||||
|
<em>#string</em>
|
||||||
|
<a id="#(EVENTDATA).TgtTypeName" >
|
||||||
|
<strong>EVENTDATA.TgtTypeName</strong>
|
||||||
|
</a>
|
||||||
|
</dt>
|
||||||
|
<dd>
|
||||||
|
|
||||||
|
<pre><code> (UNIT) The type name of the target.
|
||||||
|
</code></pre>
|
||||||
|
|
||||||
|
|
||||||
</dd>
|
</dd>
|
||||||
@@ -1484,7 +1828,8 @@ The self instance of the class for which the event is.</p>
|
|||||||
</dt>
|
</dt>
|
||||||
<dd>
|
<dd>
|
||||||
|
|
||||||
|
<pre><code> (UNIT/STATIC) The target MOOSE wrapper <a href="Wrapper.Unit.html##(UNIT)">Wrapper.Unit#UNIT</a> of the target Unit object.
|
||||||
|
</code></pre>
|
||||||
|
|
||||||
</dd>
|
</dd>
|
||||||
</dl>
|
</dl>
|
||||||
@@ -1498,7 +1843,8 @@ The self instance of the class for which the event is.</p>
|
|||||||
</dt>
|
</dt>
|
||||||
<dd>
|
<dd>
|
||||||
|
|
||||||
|
<pre><code> (UNIT/STATIC) The target UNIT name (same as TgtDCSUnitName).
|
||||||
|
</code></pre>
|
||||||
|
|
||||||
</dd>
|
</dd>
|
||||||
</dl>
|
</dl>
|
||||||
@@ -1544,12 +1890,14 @@ The self instance of the class for which the event is.</p>
|
|||||||
<dl class="function">
|
<dl class="function">
|
||||||
<dt>
|
<dt>
|
||||||
|
|
||||||
|
<em>#number</em>
|
||||||
<a id="#(EVENTDATA).id" >
|
<a id="#(EVENTDATA).id" >
|
||||||
<strong>EVENTDATA.id</strong>
|
<strong>EVENTDATA.id</strong>
|
||||||
</a>
|
</a>
|
||||||
</dt>
|
</dt>
|
||||||
<dd>
|
<dd>
|
||||||
|
|
||||||
|
<p>The identifier of the event.</p>
|
||||||
|
|
||||||
|
|
||||||
</dd>
|
</dd>
|
||||||
@@ -1557,26 +1905,30 @@ The self instance of the class for which the event is.</p>
|
|||||||
<dl class="function">
|
<dl class="function">
|
||||||
<dt>
|
<dt>
|
||||||
|
|
||||||
|
<em><a href="Dcs.DCSUnit.html##(Unit)">Dcs.DCSUnit#Unit</a></em>
|
||||||
<a id="#(EVENTDATA).initiator" >
|
<a id="#(EVENTDATA).initiator" >
|
||||||
<strong>EVENTDATA.initiator</strong>
|
<strong>EVENTDATA.initiator</strong>
|
||||||
</a>
|
</a>
|
||||||
</dt>
|
</dt>
|
||||||
<dd>
|
<dd>
|
||||||
|
|
||||||
|
<pre><code> (UNIT/STATIC/SCENERY) The initiating <a href="Dcs.DCSUnit.html##(Unit)">Dcs.DCSUnit#Unit</a> or <a href="Dcs.DCSStaticObject.html##(StaticObject)">Dcs.DCSStaticObject#StaticObject</a>.
|
||||||
|
</code></pre>
|
||||||
|
|
||||||
</dd>
|
</dd>
|
||||||
</dl>
|
</dl>
|
||||||
<dl class="function">
|
<dl class="function">
|
||||||
<dt>
|
<dt>
|
||||||
|
|
||||||
|
<em><a href="Dcs.DCSUnit.html##(Unit)">Dcs.DCSUnit#Unit</a></em>
|
||||||
<a id="#(EVENTDATA).target" >
|
<a id="#(EVENTDATA).target" >
|
||||||
<strong>EVENTDATA.target</strong>
|
<strong>EVENTDATA.target</strong>
|
||||||
</a>
|
</a>
|
||||||
</dt>
|
</dt>
|
||||||
<dd>
|
<dd>
|
||||||
|
|
||||||
|
<pre><code> (UNIT/STATIC) The target <a href="Dcs.DCSUnit.html##(Unit)">Dcs.DCSUnit#Unit</a> or <a href="Dcs.DCSStaticObject.html##(StaticObject)">Dcs.DCSStaticObject#StaticObject</a>.
|
||||||
|
</code></pre>
|
||||||
|
|
||||||
</dd>
|
</dd>
|
||||||
</dl>
|
</dl>
|
||||||
@@ -1589,7 +1941,7 @@ The self instance of the class for which the event is.</p>
|
|||||||
</dt>
|
</dt>
|
||||||
<dd>
|
<dd>
|
||||||
|
|
||||||
|
<p>The weapon used during the event.</p>
|
||||||
|
|
||||||
</dd>
|
</dd>
|
||||||
</dl>
|
</dl>
|
||||||
|
|||||||
@@ -50,6 +50,7 @@
|
|||||||
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
|
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
|
||||||
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
|
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
|
||||||
<li><a href="Route.html">Route</a></li>
|
<li><a href="Route.html">Route</a></li>
|
||||||
|
<li><a href="Scenery.html">Scenery</a></li>
|
||||||
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
|
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
|
||||||
<li><a href="Scheduler.html">Scheduler</a></li>
|
<li><a href="Scheduler.html">Scheduler</a></li>
|
||||||
<li><a href="Scoring.html">Scoring</a></li>
|
<li><a href="Scoring.html">Scoring</a></li>
|
||||||
|
|||||||
@@ -50,6 +50,7 @@
|
|||||||
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
|
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
|
||||||
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
|
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
|
||||||
<li><a href="Route.html">Route</a></li>
|
<li><a href="Route.html">Route</a></li>
|
||||||
|
<li><a href="Scenery.html">Scenery</a></li>
|
||||||
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
|
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
|
||||||
<li><a href="Scheduler.html">Scheduler</a></li>
|
<li><a href="Scheduler.html">Scheduler</a></li>
|
||||||
<li><a href="Scoring.html">Scoring</a></li>
|
<li><a href="Scoring.html">Scoring</a></li>
|
||||||
|
|||||||
@@ -50,6 +50,7 @@
|
|||||||
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
|
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
|
||||||
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
|
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
|
||||||
<li><a href="Route.html">Route</a></li>
|
<li><a href="Route.html">Route</a></li>
|
||||||
|
<li><a href="Scenery.html">Scenery</a></li>
|
||||||
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
|
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
|
||||||
<li><a href="Scheduler.html">Scheduler</a></li>
|
<li><a href="Scheduler.html">Scheduler</a></li>
|
||||||
<li><a href="Scoring.html">Scoring</a></li>
|
<li><a href="Scoring.html">Scoring</a></li>
|
||||||
@@ -164,6 +165,12 @@
|
|||||||
<td class="name" nowrap="nowrap"><a href="##(IDENTIFIABLE).GetName">IDENTIFIABLE:GetName()</a></td>
|
<td class="name" nowrap="nowrap"><a href="##(IDENTIFIABLE).GetName">IDENTIFIABLE:GetName()</a></td>
|
||||||
<td class="summary">
|
<td class="summary">
|
||||||
<p>Returns DCS Identifiable object name.</p>
|
<p>Returns DCS Identifiable object name.</p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="name" nowrap="nowrap"><a href="##(IDENTIFIABLE).GetThreatLevel">IDENTIFIABLE:GetThreatLevel()</a></td>
|
||||||
|
<td class="summary">
|
||||||
|
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
@@ -398,6 +405,19 @@ The DCS Identifiable is not existing or alive. </p>
|
|||||||
|
|
||||||
</li>
|
</li>
|
||||||
</ol>
|
</ol>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
<dl class="function">
|
||||||
|
<dt>
|
||||||
|
|
||||||
|
<a id="#(IDENTIFIABLE).GetThreatLevel" >
|
||||||
|
<strong>IDENTIFIABLE:GetThreatLevel()</strong>
|
||||||
|
</a>
|
||||||
|
</dt>
|
||||||
|
<dd>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</dd>
|
</dd>
|
||||||
</dl>
|
</dl>
|
||||||
<dl class="function">
|
<dl class="function">
|
||||||
|
|||||||
@@ -50,6 +50,7 @@
|
|||||||
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
|
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
|
||||||
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
|
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
|
||||||
<li><a href="Route.html">Route</a></li>
|
<li><a href="Route.html">Route</a></li>
|
||||||
|
<li><a href="Scenery.html">Scenery</a></li>
|
||||||
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
|
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
|
||||||
<li><a href="Scheduler.html">Scheduler</a></li>
|
<li><a href="Scheduler.html">Scheduler</a></li>
|
||||||
<li><a href="Scoring.html">Scoring</a></li>
|
<li><a href="Scoring.html">Scoring</a></li>
|
||||||
|
|||||||
@@ -50,6 +50,7 @@
|
|||||||
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
|
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
|
||||||
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
|
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
|
||||||
<li><a href="Route.html">Route</a></li>
|
<li><a href="Route.html">Route</a></li>
|
||||||
|
<li><a href="Scenery.html">Scenery</a></li>
|
||||||
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
|
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
|
||||||
<li><a href="Scheduler.html">Scheduler</a></li>
|
<li><a href="Scheduler.html">Scheduler</a></li>
|
||||||
<li><a href="Scoring.html">Scoring</a></li>
|
<li><a href="Scoring.html">Scoring</a></li>
|
||||||
|
|||||||
@@ -50,6 +50,7 @@
|
|||||||
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
|
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
|
||||||
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
|
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
|
||||||
<li><a href="Route.html">Route</a></li>
|
<li><a href="Route.html">Route</a></li>
|
||||||
|
<li><a href="Scenery.html">Scenery</a></li>
|
||||||
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
|
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
|
||||||
<li><a href="Scheduler.html">Scheduler</a></li>
|
<li><a href="Scheduler.html">Scheduler</a></li>
|
||||||
<li><a href="Scoring.html">Scoring</a></li>
|
<li><a href="Scoring.html">Scoring</a></li>
|
||||||
@@ -133,6 +134,12 @@ To send messages, you need to use the To functions.</p>
|
|||||||
<td class="name" nowrap="nowrap"><a href="##(MESSAGE).ToAll">MESSAGE:ToAll()</a></td>
|
<td class="name" nowrap="nowrap"><a href="##(MESSAGE).ToAll">MESSAGE:ToAll()</a></td>
|
||||||
<td class="summary">
|
<td class="summary">
|
||||||
<p>Sends a MESSAGE to all players. </p>
|
<p>Sends a MESSAGE to all players. </p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="name" nowrap="nowrap"><a href="##(MESSAGE).ToAllIf">MESSAGE:ToAllIf(Condition)</a></td>
|
||||||
|
<td class="summary">
|
||||||
|
<p>Sends a MESSAGE to all players if the given Condition is true.</p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
@@ -151,6 +158,12 @@ To send messages, you need to use the To functions.</p>
|
|||||||
<td class="name" nowrap="nowrap"><a href="##(MESSAGE).ToCoalition">MESSAGE:ToCoalition(CoalitionSide)</a></td>
|
<td class="name" nowrap="nowrap"><a href="##(MESSAGE).ToCoalition">MESSAGE:ToCoalition(CoalitionSide)</a></td>
|
||||||
<td class="summary">
|
<td class="summary">
|
||||||
<p>Sends a MESSAGE to a Coalition. </p>
|
<p>Sends a MESSAGE to a Coalition. </p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="name" nowrap="nowrap"><a href="##(MESSAGE).ToCoalitionIf">MESSAGE:ToCoalitionIf(CoalitionSide, Condition)</a></td>
|
||||||
|
<td class="summary">
|
||||||
|
<p>Sends a MESSAGE to a Coalition if the given Condition is true. </p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
@@ -309,6 +322,32 @@ or
|
|||||||
MessageAll = MESSAGE:New( "To all Players: BLUE has won! Each player of BLUE wins 50 points!", "End of Mission", 25, "Win" )
|
MessageAll = MESSAGE:New( "To all Players: BLUE has won! Each player of BLUE wins 50 points!", "End of Mission", 25, "Win" )
|
||||||
MessageAll:ToAll()</code></pre>
|
MessageAll:ToAll()</code></pre>
|
||||||
|
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
<dl class="function">
|
||||||
|
<dt>
|
||||||
|
|
||||||
|
<a id="#(MESSAGE).ToAllIf" >
|
||||||
|
<strong>MESSAGE:ToAllIf(Condition)</strong>
|
||||||
|
</a>
|
||||||
|
</dt>
|
||||||
|
<dd>
|
||||||
|
|
||||||
|
<p>Sends a MESSAGE to all players if the given Condition is true.</p>
|
||||||
|
|
||||||
|
<h3>Parameter</h3>
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
|
||||||
|
<p><code><em> Condition </em></code>: </p>
|
||||||
|
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<h3>Return value</h3>
|
||||||
|
|
||||||
|
<p><em><a href="##(MESSAGE)">#MESSAGE</a>:</em></p>
|
||||||
|
|
||||||
|
|
||||||
</dd>
|
</dd>
|
||||||
</dl>
|
</dl>
|
||||||
<dl class="function">
|
<dl class="function">
|
||||||
@@ -418,6 +457,38 @@ or
|
|||||||
MessageRED = MESSAGE:New( "To the RED Players: You receive a penalty because you've killed one of your own units", "Penalty", 25, "Score" )
|
MessageRED = MESSAGE:New( "To the RED Players: You receive a penalty because you've killed one of your own units", "Penalty", 25, "Score" )
|
||||||
MessageRED:ToCoalition( coalition.side.RED )</code></pre>
|
MessageRED:ToCoalition( coalition.side.RED )</code></pre>
|
||||||
|
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
<dl class="function">
|
||||||
|
<dt>
|
||||||
|
|
||||||
|
<a id="#(MESSAGE).ToCoalitionIf" >
|
||||||
|
<strong>MESSAGE:ToCoalitionIf(CoalitionSide, Condition)</strong>
|
||||||
|
</a>
|
||||||
|
</dt>
|
||||||
|
<dd>
|
||||||
|
|
||||||
|
<p>Sends a MESSAGE to a Coalition if the given Condition is true. </p>
|
||||||
|
|
||||||
|
<h3>Parameters</h3>
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
|
||||||
|
<p><code><em> CoalitionSide </em></code>:
|
||||||
|
needs to be filled out by the defined structure of the standard scripting engine <a href="coalition.side.html">coalition.side</a>. </p>
|
||||||
|
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
|
||||||
|
<p><code><em> Condition </em></code>: </p>
|
||||||
|
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<h3>Return value</h3>
|
||||||
|
|
||||||
|
<p><em><a href="##(MESSAGE)">#MESSAGE</a>:</em></p>
|
||||||
|
|
||||||
|
|
||||||
</dd>
|
</dd>
|
||||||
</dl>
|
</dl>
|
||||||
<dl class="function">
|
<dl class="function">
|
||||||
|
|||||||
@@ -50,6 +50,7 @@
|
|||||||
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
|
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
|
||||||
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
|
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
|
||||||
<li><a href="Route.html">Route</a></li>
|
<li><a href="Route.html">Route</a></li>
|
||||||
|
<li><a href="Scenery.html">Scenery</a></li>
|
||||||
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
|
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
|
||||||
<li><a href="Scheduler.html">Scheduler</a></li>
|
<li><a href="Scheduler.html">Scheduler</a></li>
|
||||||
<li><a href="Scoring.html">Scoring</a></li>
|
<li><a href="Scoring.html">Scoring</a></li>
|
||||||
|
|||||||
@@ -50,6 +50,7 @@
|
|||||||
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
|
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
|
||||||
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
|
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
|
||||||
<li><a href="Route.html">Route</a></li>
|
<li><a href="Route.html">Route</a></li>
|
||||||
|
<li><a href="Scenery.html">Scenery</a></li>
|
||||||
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
|
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
|
||||||
<li><a href="Scheduler.html">Scheduler</a></li>
|
<li><a href="Scheduler.html">Scheduler</a></li>
|
||||||
<li><a href="Scoring.html">Scoring</a></li>
|
<li><a href="Scoring.html">Scoring</a></li>
|
||||||
|
|||||||
@@ -50,6 +50,7 @@
|
|||||||
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
|
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
|
||||||
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
|
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
|
||||||
<li><a href="Route.html">Route</a></li>
|
<li><a href="Route.html">Route</a></li>
|
||||||
|
<li><a href="Scenery.html">Scenery</a></li>
|
||||||
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
|
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
|
||||||
<li><a href="Scheduler.html">Scheduler</a></li>
|
<li><a href="Scheduler.html">Scheduler</a></li>
|
||||||
<li><a href="Scoring.html">Scoring</a></li>
|
<li><a href="Scoring.html">Scoring</a></li>
|
||||||
|
|||||||
@@ -50,6 +50,7 @@
|
|||||||
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
|
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
|
||||||
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
|
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
|
||||||
<li><a href="Route.html">Route</a></li>
|
<li><a href="Route.html">Route</a></li>
|
||||||
|
<li><a href="Scenery.html">Scenery</a></li>
|
||||||
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
|
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
|
||||||
<li><a href="Scheduler.html">Scheduler</a></li>
|
<li><a href="Scheduler.html">Scheduler</a></li>
|
||||||
<li><a href="Scoring.html">Scoring</a></li>
|
<li><a href="Scoring.html">Scoring</a></li>
|
||||||
@@ -82,6 +83,7 @@
|
|||||||
In order to keep the credibility of the the author, I want to emphasize that the of the MIST framework was created by Grimes, who you can find on the Eagle Dynamics Forums.</p>
|
In order to keep the credibility of the the author, I want to emphasize that the of the MIST framework was created by Grimes, who you can find on the Eagle Dynamics Forums.</p>
|
||||||
|
|
||||||
<h2>1.1) POINT_VEC3 constructor</h2>
|
<h2>1.1) POINT_VEC3 constructor</h2>
|
||||||
|
|
||||||
<p>A new POINT_VEC3 instance can be created with:</p>
|
<p>A new POINT_VEC3 instance can be created with:</p>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
@@ -89,6 +91,43 @@ In order to keep the credibility of the the author, I want to emphasize that the
|
|||||||
<li><a href="Point.html##(POINT_VEC3).NewFromVec3">Point#POINT_VEC3.NewFromVec3</a>(): a 3D point created from a <a href="DCSTypes.html##(Vec3)">DCSTypes#Vec3</a>.</li>
|
<li><a href="Point.html##(POINT_VEC3).NewFromVec3">Point#POINT_VEC3.NewFromVec3</a>(): a 3D point created from a <a href="DCSTypes.html##(Vec3)">DCSTypes#Vec3</a>.</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
|
<h2>1.2) Smoke, flare, explode, illuminate</h2>
|
||||||
|
|
||||||
|
<p>At the point a smoke, flare, explosion and illumination bomb can be triggered. Use the following methods:</p>
|
||||||
|
|
||||||
|
<h3>1.2.1) Smoke</h3>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li><a href="##(POINT_VEC3).Smoke">POINT_VEC3.Smoke</a>(): To smoke the point in a certain color.</li>
|
||||||
|
<li><a href="##(POINT_VEC3).SmokeBlue">POINT_VEC3.SmokeBlue</a>(): To smoke the point in blue.</li>
|
||||||
|
<li><a href="##(POINT_VEC3).SmokeRed">POINT_VEC3.SmokeRed</a>(): To smoke the point in red.</li>
|
||||||
|
<li><a href="##(POINT_VEC3).SmokeOrange">POINT_VEC3.SmokeOrange</a>(): To smoke the point in orange.</li>
|
||||||
|
<li><a href="##(POINT_VEC3).SmokeWhite">POINT_VEC3.SmokeWhite</a>(): To smoke the point in white.</li>
|
||||||
|
<li><a href="##(POINT_VEC3).SmokeGreen">POINT_VEC3.SmokeGreen</a>(): To smoke the point in green.</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<h3>1.2.2) Flare</h3>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li><a href="##(POINT_VEC3).Flare">POINT_VEC3.Flare</a>(): To flare the point in a certain color.</li>
|
||||||
|
<li><a href="##(POINT_VEC3).FlareRed">POINT_VEC3.FlareRed</a>(): To flare the point in red.</li>
|
||||||
|
<li><a href="##(POINT_VEC3).FlareYellow">POINT_VEC3.FlareYellow</a>(): To flare the point in yellow.</li>
|
||||||
|
<li><a href="##(POINT_VEC3).FlareWhite">POINT_VEC3.FlareWhite</a>(): To flare the point in white.</li>
|
||||||
|
<li><a href="##(POINT_VEC3).FlareGreen">POINT_VEC3.FlareGreen</a>(): To flare the point in green.</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<h3>1.2.3) Explode</h3>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li><a href="##(POINT_VEC3).Explosion">POINT_VEC3.Explosion</a>(): To explode the point with a certain intensity.</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<h3>1.2.4) Illuminate</h3>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li><a href="##(POINT_VEC3).IlluminationBomb">POINT_VEC3.IlluminationBomb</a>(): To illuminate the point.</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
|
||||||
<h1>2) <a href="Point.html##(POINT_VEC2)">Point#POINT_VEC2</a> class, extends <a href="Point.html##(POINT_VEC3)">Point#POINT_VEC3</a></h1>
|
<h1>2) <a href="Point.html##(POINT_VEC2)">Point#POINT_VEC2</a> class, extends <a href="Point.html##(POINT_VEC3)">Point#POINT_VEC3</a></h1>
|
||||||
<p>The <a href="Point.html##(POINT_VEC2)">Point#POINT_VEC2</a> class defines a 2D point in the simulator. The height coordinate (if needed) will be the land height + an optional added height specified.</p>
|
<p>The <a href="Point.html##(POINT_VEC2)">Point#POINT_VEC2</a> class defines a 2D point in the simulator. The height coordinate (if needed) will be the land height + an optional added height specified.</p>
|
||||||
@@ -114,6 +153,9 @@ In order to keep the credibility of the the author, I want to emphasize that the
|
|||||||
|
|
||||||
<p>Hereby the change log:</p>
|
<p>Hereby the change log:</p>
|
||||||
|
|
||||||
|
<p>2017-03-03: POINT_VEC3:<strong>Explosion( ExplosionIntensity )</strong> added. <br/>
|
||||||
|
2017-03-03: POINT_VEC3:<strong>IlluminationBomb()</strong> added. </p>
|
||||||
|
|
||||||
<p>2017-02-18: POINT_VEC3:<strong>NewFromVec2( Vec2, LandHeightAdd )</strong> added.</p>
|
<p>2017-02-18: POINT_VEC3:<strong>NewFromVec2( Vec2, LandHeightAdd )</strong> added.</p>
|
||||||
|
|
||||||
<p>2016-08-12: POINT_VEC3:<strong>Translate( Distance, Angle )</strong> added.</p>
|
<p>2016-08-12: POINT_VEC3:<strong>Translate( Distance, Angle )</strong> added.</p>
|
||||||
@@ -251,6 +293,12 @@ In order to keep the credibility of the the author, I want to emphasize that the
|
|||||||
<td class="name" nowrap="nowrap"><a href="##(POINT_VEC3).ClassName">POINT_VEC3.ClassName</a></td>
|
<td class="name" nowrap="nowrap"><a href="##(POINT_VEC3).ClassName">POINT_VEC3.ClassName</a></td>
|
||||||
<td class="summary">
|
<td class="summary">
|
||||||
|
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="name" nowrap="nowrap"><a href="##(POINT_VEC3).Explosion">POINT_VEC3:Explosion(ExplosionIntensity)</a></td>
|
||||||
|
<td class="summary">
|
||||||
|
<p>Creates an explosion at the point of a certain intensity.</p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
@@ -383,6 +431,12 @@ In order to keep the credibility of the the author, I want to emphasize that the
|
|||||||
<td class="name" nowrap="nowrap"><a href="##(POINT_VEC3).GetZ">POINT_VEC3:GetZ()</a></td>
|
<td class="name" nowrap="nowrap"><a href="##(POINT_VEC3).GetZ">POINT_VEC3:GetZ()</a></td>
|
||||||
<td class="summary">
|
<td class="summary">
|
||||||
<p>Return the z coordinate of the POINT_VEC3.</p>
|
<p>Return the z coordinate of the POINT_VEC3.</p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="name" nowrap="nowrap"><a href="##(POINT_VEC3).IlluminationBomb">POINT_VEC3:IlluminationBomb()</a></td>
|
||||||
|
<td class="summary">
|
||||||
|
<p>Creates an illumination bomb at the point.</p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
@@ -998,6 +1052,27 @@ The new calculated POINT_VEC2.</p>
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
<dl class="function">
|
||||||
|
<dt>
|
||||||
|
|
||||||
|
<a id="#(POINT_VEC3).Explosion" >
|
||||||
|
<strong>POINT_VEC3:Explosion(ExplosionIntensity)</strong>
|
||||||
|
</a>
|
||||||
|
</dt>
|
||||||
|
<dd>
|
||||||
|
|
||||||
|
<p>Creates an explosion at the point of a certain intensity.</p>
|
||||||
|
|
||||||
|
<h3>Parameter</h3>
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
|
||||||
|
<p><code><em>#number ExplosionIntensity </em></code>: </p>
|
||||||
|
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
</dd>
|
</dd>
|
||||||
</dl>
|
</dl>
|
||||||
<dl class="function">
|
<dl class="function">
|
||||||
@@ -1536,6 +1611,19 @@ The z coodinate.</p>
|
|||||||
<dl class="function">
|
<dl class="function">
|
||||||
<dt>
|
<dt>
|
||||||
|
|
||||||
|
<a id="#(POINT_VEC3).IlluminationBomb" >
|
||||||
|
<strong>POINT_VEC3:IlluminationBomb()</strong>
|
||||||
|
</a>
|
||||||
|
</dt>
|
||||||
|
<dd>
|
||||||
|
|
||||||
|
<p>Creates an illumination bomb at the point.</p>
|
||||||
|
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
<dl class="function">
|
||||||
|
<dt>
|
||||||
|
|
||||||
<a id="#(POINT_VEC3).IsMetric" >
|
<a id="#(POINT_VEC3).IsMetric" >
|
||||||
<strong>POINT_VEC3:IsMetric()</strong>
|
<strong>POINT_VEC3:IsMetric()</strong>
|
||||||
</a>
|
</a>
|
||||||
|
|||||||
@@ -50,6 +50,7 @@
|
|||||||
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
|
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
|
||||||
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
|
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
|
||||||
<li><a href="Route.html">Route</a></li>
|
<li><a href="Route.html">Route</a></li>
|
||||||
|
<li><a href="Scenery.html">Scenery</a></li>
|
||||||
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
|
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
|
||||||
<li><a href="Scheduler.html">Scheduler</a></li>
|
<li><a href="Scheduler.html">Scheduler</a></li>
|
||||||
<li><a href="Scoring.html">Scoring</a></li>
|
<li><a href="Scoring.html">Scoring</a></li>
|
||||||
|
|||||||
@@ -50,6 +50,7 @@
|
|||||||
<li>Process_JTAC</li>
|
<li>Process_JTAC</li>
|
||||||
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
|
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
|
||||||
<li><a href="Route.html">Route</a></li>
|
<li><a href="Route.html">Route</a></li>
|
||||||
|
<li><a href="Scenery.html">Scenery</a></li>
|
||||||
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
|
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
|
||||||
<li><a href="Scheduler.html">Scheduler</a></li>
|
<li><a href="Scheduler.html">Scheduler</a></li>
|
||||||
<li><a href="Scoring.html">Scoring</a></li>
|
<li><a href="Scoring.html">Scoring</a></li>
|
||||||
|
|||||||
@@ -50,6 +50,7 @@
|
|||||||
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
|
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
|
||||||
<li>Process_Pickup</li>
|
<li>Process_Pickup</li>
|
||||||
<li><a href="Route.html">Route</a></li>
|
<li><a href="Route.html">Route</a></li>
|
||||||
|
<li><a href="Scenery.html">Scenery</a></li>
|
||||||
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
|
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
|
||||||
<li><a href="Scheduler.html">Scheduler</a></li>
|
<li><a href="Scheduler.html">Scheduler</a></li>
|
||||||
<li><a href="Scoring.html">Scoring</a></li>
|
<li><a href="Scoring.html">Scoring</a></li>
|
||||||
|
|||||||
@@ -50,6 +50,7 @@
|
|||||||
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
|
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
|
||||||
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
|
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
|
||||||
<li>Route</li>
|
<li>Route</li>
|
||||||
|
<li><a href="Scenery.html">Scenery</a></li>
|
||||||
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
|
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
|
||||||
<li><a href="Scheduler.html">Scheduler</a></li>
|
<li><a href="Scheduler.html">Scheduler</a></li>
|
||||||
<li><a href="Scoring.html">Scoring</a></li>
|
<li><a href="Scoring.html">Scoring</a></li>
|
||||||
|
|||||||
@@ -0,0 +1,220 @@
|
|||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<link rel="stylesheet" href="stylesheet.css" type="text/css"/>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="container">
|
||||||
|
<div id="product">
|
||||||
|
<div id="product_logo"></div>
|
||||||
|
<div id="product_name"><big><b></b></big></div>
|
||||||
|
<div id="product_description"></div>
|
||||||
|
</div>
|
||||||
|
<div id="main">
|
||||||
|
<div id="navigation">
|
||||||
|
<h2>Modules</h2>
|
||||||
|
<ul><li>
|
||||||
|
<a href="index.html">index</a>
|
||||||
|
</li></ul>
|
||||||
|
<ul>
|
||||||
|
<li><a href="AI_Balancer.html">AI_Balancer</a></li>
|
||||||
|
<li><a href="AI_Cap.html">AI_Cap</a></li>
|
||||||
|
<li><a href="AI_Cas.html">AI_Cas</a></li>
|
||||||
|
<li><a href="AI_Patrol.html">AI_Patrol</a></li>
|
||||||
|
<li><a href="Account.html">Account</a></li>
|
||||||
|
<li><a href="Airbase.html">Airbase</a></li>
|
||||||
|
<li><a href="AirbasePolice.html">AirbasePolice</a></li>
|
||||||
|
<li><a href="Assign.html">Assign</a></li>
|
||||||
|
<li><a href="Base.html">Base</a></li>
|
||||||
|
<li><a href="Cargo.html">Cargo</a></li>
|
||||||
|
<li><a href="CleanUp.html">CleanUp</a></li>
|
||||||
|
<li><a href="Client.html">Client</a></li>
|
||||||
|
<li><a href="CommandCenter.html">CommandCenter</a></li>
|
||||||
|
<li><a href="Controllable.html">Controllable</a></li>
|
||||||
|
<li><a href="Database.html">Database</a></li>
|
||||||
|
<li><a href="Detection.html">Detection</a></li>
|
||||||
|
<li><a href="DetectionManager.html">DetectionManager</a></li>
|
||||||
|
<li><a href="Escort.html">Escort</a></li>
|
||||||
|
<li><a href="Event.html">Event</a></li>
|
||||||
|
<li><a href="Fsm.html">Fsm</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="Object.html">Object</a></li>
|
||||||
|
<li><a href="Point.html">Point</a></li>
|
||||||
|
<li><a href="Positionable.html">Positionable</a></li>
|
||||||
|
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
|
||||||
|
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
|
||||||
|
<li><a href="Route.html">Route</a></li>
|
||||||
|
<li>Scenery</li>
|
||||||
|
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
|
||||||
|
<li><a href="Scheduler.html">Scheduler</a></li>
|
||||||
|
<li><a href="Scoring.html">Scoring</a></li>
|
||||||
|
<li><a href="Sead.html">Sead</a></li>
|
||||||
|
<li><a href="Set.html">Set</a></li>
|
||||||
|
<li><a href="Smoke.html">Smoke</a></li>
|
||||||
|
<li><a href="Spawn.html">Spawn</a></li>
|
||||||
|
<li><a href="Static.html">Static</a></li>
|
||||||
|
<li><a href="Task.html">Task</a></li>
|
||||||
|
<li><a href="Task_A2G.html">Task_A2G</a></li>
|
||||||
|
<li><a href="Task_PICKUP.html">Task_PICKUP</a></li>
|
||||||
|
<li><a href="Task_SEAD.html">Task_SEAD</a></li>
|
||||||
|
<li><a href="Unit.html">Unit</a></li>
|
||||||
|
<li><a href="Utils.html">Utils</a></li>
|
||||||
|
<li><a href="Zone.html">Zone</a></li>
|
||||||
|
<li><a href="routines.html">routines</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div id="content">
|
||||||
|
<h1>Module <code>Scenery</code></h1>
|
||||||
|
|
||||||
|
<p>This module contains the SCENERY class.</p>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h1>1) <a href="Scenery.html##(SCENERY)">Scenery#SCENERY</a> class, extends <a href="Positionable.html##(POSITIONABLE)">Positionable#POSITIONABLE</a></h1>
|
||||||
|
<p>Scenery objects are defined on the map.
|
||||||
|
The <a href="Scenery.html##(SCENERY)">Scenery#SCENERY</a> class is a wrapper class to handle the DCS Scenery objects:</p>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>Wraps the DCS Scenery objects.</li>
|
||||||
|
<li>Support all DCS Scenery APIs.</li>
|
||||||
|
<li>Enhance with Scenery specific APIs not in the DCS API set.</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
|
||||||
|
<h2>Global(s)</h2>
|
||||||
|
<table class="function_list">
|
||||||
|
<tr>
|
||||||
|
<td class="name" nowrap="nowrap"><a href="#SCENERY">SCENERY</a></td>
|
||||||
|
<td class="summary">
|
||||||
|
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<h2><a id="#(SCENERY)">Type <code>SCENERY</code></a></h2>
|
||||||
|
<table class="function_list">
|
||||||
|
<tr>
|
||||||
|
<td class="name" nowrap="nowrap"><a href="##(SCENERY).ClassName">SCENERY.ClassName</a></td>
|
||||||
|
<td class="summary">
|
||||||
|
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="name" nowrap="nowrap"><a href="##(SCENERY).GetDCSObject">SCENERY:GetDCSObject()</a></td>
|
||||||
|
<td class="summary">
|
||||||
|
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="name" nowrap="nowrap"><a href="##(SCENERY).GetThreatLevel">SCENERY:GetThreatLevel()</a></td>
|
||||||
|
<td class="summary">
|
||||||
|
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="name" nowrap="nowrap"><a href="##(SCENERY).Register">SCENERY:Register(SceneryName, SceneryObject)</a></td>
|
||||||
|
<td class="summary">
|
||||||
|
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<h2>Global(s)</h2>
|
||||||
|
<dl class="function">
|
||||||
|
<dt>
|
||||||
|
|
||||||
|
<em><a href="##(SCENERY)">#SCENERY</a></em>
|
||||||
|
<a id="SCENERY" >
|
||||||
|
<strong>SCENERY</strong>
|
||||||
|
</a>
|
||||||
|
</dt>
|
||||||
|
<dd>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
<h2><a id="#(Scenery)" >Type <code>Scenery</code></a></h2>
|
||||||
|
|
||||||
|
<h2><a id="#(SCENERY)" >Type <code>SCENERY</code></a></h2>
|
||||||
|
|
||||||
|
<p>The SCENERY class</p>
|
||||||
|
|
||||||
|
<h3>Field(s)</h3>
|
||||||
|
<dl class="function">
|
||||||
|
<dt>
|
||||||
|
|
||||||
|
<em>#string</em>
|
||||||
|
<a id="#(SCENERY).ClassName" >
|
||||||
|
<strong>SCENERY.ClassName</strong>
|
||||||
|
</a>
|
||||||
|
</dt>
|
||||||
|
<dd>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
<dl class="function">
|
||||||
|
<dt>
|
||||||
|
|
||||||
|
<a id="#(SCENERY).GetDCSObject" >
|
||||||
|
<strong>SCENERY:GetDCSObject()</strong>
|
||||||
|
</a>
|
||||||
|
</dt>
|
||||||
|
<dd>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
<dl class="function">
|
||||||
|
<dt>
|
||||||
|
|
||||||
|
<a id="#(SCENERY).GetThreatLevel" >
|
||||||
|
<strong>SCENERY:GetThreatLevel()</strong>
|
||||||
|
</a>
|
||||||
|
</dt>
|
||||||
|
<dd>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
<dl class="function">
|
||||||
|
<dt>
|
||||||
|
|
||||||
|
<a id="#(SCENERY).Register" >
|
||||||
|
<strong>SCENERY:Register(SceneryName, SceneryObject)</strong>
|
||||||
|
</a>
|
||||||
|
</dt>
|
||||||
|
<dd>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h3>Parameters</h3>
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
|
||||||
|
<p><code><em> SceneryName </em></code>: </p>
|
||||||
|
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
|
||||||
|
<p><code><em> SceneryObject </em></code>: </p>
|
||||||
|
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -50,6 +50,7 @@
|
|||||||
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
|
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
|
||||||
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
|
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
|
||||||
<li><a href="Route.html">Route</a></li>
|
<li><a href="Route.html">Route</a></li>
|
||||||
|
<li><a href="Scenery.html">Scenery</a></li>
|
||||||
<li>ScheduleDispatcher</li>
|
<li>ScheduleDispatcher</li>
|
||||||
<li><a href="Scheduler.html">Scheduler</a></li>
|
<li><a href="Scheduler.html">Scheduler</a></li>
|
||||||
<li><a href="Scoring.html">Scoring</a></li>
|
<li><a href="Scoring.html">Scoring</a></li>
|
||||||
@@ -341,8 +342,7 @@ Nothing of this code should be modified without testing it thoroughly.</p>
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
<p> Initialize the ObjectSchedulers array, which is a weakly coupled table.
|
<p> setmetatable( {}, { __mode = "v" } )</p>
|
||||||
If the object used as the key is nil, then the garbage collector will remove the item from the Functions array.</p>
|
|
||||||
|
|
||||||
</dd>
|
</dd>
|
||||||
</dl>
|
</dl>
|
||||||
|
|||||||
@@ -50,6 +50,7 @@
|
|||||||
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
|
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
|
||||||
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
|
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
|
||||||
<li><a href="Route.html">Route</a></li>
|
<li><a href="Route.html">Route</a></li>
|
||||||
|
<li><a href="Scenery.html">Scenery</a></li>
|
||||||
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
|
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
|
||||||
<li>Scheduler</li>
|
<li>Scheduler</li>
|
||||||
<li><a href="Scoring.html">Scoring</a></li>
|
<li><a href="Scoring.html">Scoring</a></li>
|
||||||
|
|||||||
@@ -50,6 +50,7 @@
|
|||||||
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
|
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
|
||||||
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
|
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
|
||||||
<li><a href="Route.html">Route</a></li>
|
<li><a href="Route.html">Route</a></li>
|
||||||
|
<li><a href="Scenery.html">Scenery</a></li>
|
||||||
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
|
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
|
||||||
<li><a href="Scheduler.html">Scheduler</a></li>
|
<li><a href="Scheduler.html">Scheduler</a></li>
|
||||||
<li><a href="Scoring.html">Scoring</a></li>
|
<li><a href="Scoring.html">Scoring</a></li>
|
||||||
|
|||||||
@@ -50,6 +50,7 @@
|
|||||||
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
|
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
|
||||||
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
|
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
|
||||||
<li><a href="Route.html">Route</a></li>
|
<li><a href="Route.html">Route</a></li>
|
||||||
|
<li><a href="Scenery.html">Scenery</a></li>
|
||||||
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
|
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
|
||||||
<li><a href="Scheduler.html">Scheduler</a></li>
|
<li><a href="Scheduler.html">Scheduler</a></li>
|
||||||
<li><a href="Scoring.html">Scoring</a></li>
|
<li><a href="Scoring.html">Scoring</a></li>
|
||||||
|
|||||||
@@ -50,6 +50,7 @@
|
|||||||
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
|
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
|
||||||
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
|
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
|
||||||
<li><a href="Route.html">Route</a></li>
|
<li><a href="Route.html">Route</a></li>
|
||||||
|
<li><a href="Scenery.html">Scenery</a></li>
|
||||||
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
|
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
|
||||||
<li><a href="Scheduler.html">Scheduler</a></li>
|
<li><a href="Scheduler.html">Scheduler</a></li>
|
||||||
<li><a href="Scoring.html">Scoring</a></li>
|
<li><a href="Scoring.html">Scoring</a></li>
|
||||||
|
|||||||
@@ -50,6 +50,7 @@
|
|||||||
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
|
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
|
||||||
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
|
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
|
||||||
<li><a href="Route.html">Route</a></li>
|
<li><a href="Route.html">Route</a></li>
|
||||||
|
<li><a href="Scenery.html">Scenery</a></li>
|
||||||
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
|
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
|
||||||
<li><a href="Scheduler.html">Scheduler</a></li>
|
<li><a href="Scheduler.html">Scheduler</a></li>
|
||||||
<li><a href="Scoring.html">Scoring</a></li>
|
<li><a href="Scoring.html">Scoring</a></li>
|
||||||
@@ -71,7 +72,7 @@
|
|||||||
<div id="content">
|
<div id="content">
|
||||||
<h1>Module <code>Spawn</code></h1>
|
<h1>Module <code>Spawn</code></h1>
|
||||||
|
|
||||||
<p>Single-Player:<strong>Yes</strong> / Mulit-Player:<strong>Yes</strong> / AI:<strong>Yes</strong> / Human:<strong>No</strong> / Types:<strong>All</strong> -- <br/>
|
<p>Single-Player:<strong>Yes</strong> / Multi-Player:<strong>Yes</strong> / AI:<strong>Yes</strong> / Human:<strong>No</strong> / Types:<strong>All</strong> -- <br/>
|
||||||
<strong>Spawn groups of units dynamically in your missions.</strong></p>
|
<strong>Spawn groups of units dynamically in your missions.</strong></p>
|
||||||
|
|
||||||
<p><img src="..\Presentations\SPAWN\SPAWN.JPG" alt="Banner Image"/></p>
|
<p><img src="..\Presentations\SPAWN\SPAWN.JPG" alt="Banner Image"/></p>
|
||||||
@@ -1758,6 +1759,9 @@ The group that was spawned. You can use this group for further actions.</p>
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<p> Don't repeat the group from Take-Off till Landing and back Take-Off by ReSpawning.</p>
|
||||||
|
|
||||||
</dd>
|
</dd>
|
||||||
</dl>
|
</dl>
|
||||||
<dl class="function">
|
<dl class="function">
|
||||||
@@ -2232,7 +2236,7 @@ when nothing was spawned.</p>
|
|||||||
<dl class="function">
|
<dl class="function">
|
||||||
<dt>
|
<dt>
|
||||||
|
|
||||||
<em></em>
|
<em>#number</em>
|
||||||
<a id="#(SPAWN).SpawnMaxGroups" >
|
<a id="#(SPAWN).SpawnMaxGroups" >
|
||||||
<strong>SPAWN.SpawnMaxGroups</strong>
|
<strong>SPAWN.SpawnMaxGroups</strong>
|
||||||
</a>
|
</a>
|
||||||
@@ -2249,7 +2253,7 @@ when nothing was spawned.</p>
|
|||||||
<dl class="function">
|
<dl class="function">
|
||||||
<dt>
|
<dt>
|
||||||
|
|
||||||
<em></em>
|
<em>#number</em>
|
||||||
<a id="#(SPAWN).SpawnMaxUnitsAlive" >
|
<a id="#(SPAWN).SpawnMaxUnitsAlive" >
|
||||||
<strong>SPAWN.SpawnMaxUnitsAlive</strong>
|
<strong>SPAWN.SpawnMaxUnitsAlive</strong>
|
||||||
</a>
|
</a>
|
||||||
@@ -2528,7 +2532,7 @@ Spawn_BE_KA50 = SPAWN:New( 'BE KA-50@RAMP-Ground Defense' ):Schedule( 600, 0.5 )
|
|||||||
<dl class="function">
|
<dl class="function">
|
||||||
<dt>
|
<dt>
|
||||||
|
|
||||||
<em></em>
|
<em>#boolean</em>
|
||||||
<a id="#(SPAWN).SpawnUnControlled" >
|
<a id="#(SPAWN).SpawnUnControlled" >
|
||||||
<strong>SPAWN.SpawnUnControlled</strong>
|
<strong>SPAWN.SpawnUnControlled</strong>
|
||||||
</a>
|
</a>
|
||||||
|
|||||||
@@ -50,6 +50,7 @@
|
|||||||
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
|
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
|
||||||
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
|
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
|
||||||
<li><a href="Route.html">Route</a></li>
|
<li><a href="Route.html">Route</a></li>
|
||||||
|
<li><a href="Scenery.html">Scenery</a></li>
|
||||||
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
|
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
|
||||||
<li><a href="Scheduler.html">Scheduler</a></li>
|
<li><a href="Scheduler.html">Scheduler</a></li>
|
||||||
<li><a href="Scoring.html">Scoring</a></li>
|
<li><a href="Scoring.html">Scoring</a></li>
|
||||||
@@ -133,6 +134,12 @@ If the DCS Static object does not exist or is nil, the STATIC methods will retur
|
|||||||
<td class="name" nowrap="nowrap"><a href="##(STATIC).GetDCSObject">STATIC:GetDCSObject()</a></td>
|
<td class="name" nowrap="nowrap"><a href="##(STATIC).GetDCSObject">STATIC:GetDCSObject()</a></td>
|
||||||
<td class="summary">
|
<td class="summary">
|
||||||
|
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="name" nowrap="nowrap"><a href="##(STATIC).GetThreatLevel">STATIC:GetThreatLevel()</a></td>
|
||||||
|
<td class="summary">
|
||||||
|
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
@@ -226,6 +233,19 @@ Name of the DCS <strong>Static</strong> as defined within the Mission Editor.</p
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
<dl class="function">
|
||||||
|
<dt>
|
||||||
|
|
||||||
|
<a id="#(STATIC).GetThreatLevel" >
|
||||||
|
<strong>STATIC:GetThreatLevel()</strong>
|
||||||
|
</a>
|
||||||
|
</dt>
|
||||||
|
<dd>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</dd>
|
</dd>
|
||||||
</dl>
|
</dl>
|
||||||
<dl class="function">
|
<dl class="function">
|
||||||
|
|||||||
@@ -50,6 +50,7 @@
|
|||||||
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
|
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
|
||||||
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
|
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
|
||||||
<li><a href="Route.html">Route</a></li>
|
<li><a href="Route.html">Route</a></li>
|
||||||
|
<li><a href="Scenery.html">Scenery</a></li>
|
||||||
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
|
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
|
||||||
<li><a href="Scheduler.html">Scheduler</a></li>
|
<li><a href="Scheduler.html">Scheduler</a></li>
|
||||||
<li><a href="Scoring.html">Scoring</a></li>
|
<li><a href="Scoring.html">Scoring</a></li>
|
||||||
@@ -88,6 +89,7 @@
|
|||||||
<li><a href="##(TASK).HasStateMachine">TASK.HasStateMachine</a>():Enquire if the task has a <a href="Fsm.html">Fsm</a></li>
|
<li><a href="##(TASK).HasStateMachine">TASK.HasStateMachine</a>():Enquire if the task has a <a href="Fsm.html">Fsm</a></li>
|
||||||
<li><a href="##(TASK).AssignToUnit">TASK.AssignToUnit</a>(): Assign a task to a unit. (Needs to be implemented in the derived classes from <a href="##(TASK)">#TASK</a>.</li>
|
<li><a href="##(TASK).AssignToUnit">TASK.AssignToUnit</a>(): Assign a task to a unit. (Needs to be implemented in the derived classes from <a href="##(TASK)">#TASK</a>.</li>
|
||||||
<li><a href="##(TASK).UnAssignFromUnit">TASK.UnAssignFromUnit</a>(): Unassign the task from a unit.</li>
|
<li><a href="##(TASK).UnAssignFromUnit">TASK.UnAssignFromUnit</a>(): Unassign the task from a unit.</li>
|
||||||
|
<li><a href="##(TASK).SetTimeOut">TASK.SetTimeOut</a>(): Set timer in seconds before task gets cancelled if not assigned.</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<h2>1.2) Set and enquire task status (beyond the task state machine processing).</h2>
|
<h2>1.2) Set and enquire task status (beyond the task state machine processing).</h2>
|
||||||
@@ -511,6 +513,12 @@ Use the method <a href="##(TASK).AddScore">TASK.AddScore</a>() to add scores whe
|
|||||||
<td class="name" nowrap="nowrap"><a href="##(TASK).SetStateMachine">TASK:SetStateMachine(TaskUnit, Fsm)</a></td>
|
<td class="name" nowrap="nowrap"><a href="##(TASK).SetStateMachine">TASK:SetStateMachine(TaskUnit, Fsm)</a></td>
|
||||||
<td class="summary">
|
<td class="summary">
|
||||||
<p>Add a FiniteStateMachine to <a href="Task.html">Task</a> with key Task<a href="Unit.html">Unit</a></p>
|
<p>Add a FiniteStateMachine to <a href="Task.html">Task</a> with key Task<a href="Unit.html">Unit</a></p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="name" nowrap="nowrap"><a href="##(TASK).SetTimeOut">TASK:SetTimeOut(Timer)</a></td>
|
||||||
|
<td class="summary">
|
||||||
|
<p>Sets the TimeOut for the <a href="Task.html">Task</a>.</p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
@@ -595,6 +603,12 @@ Use the method <a href="##(TASK).AddScore">TASK.AddScore</a>() to add scores whe
|
|||||||
<td class="name" nowrap="nowrap"><a href="##(TASK).TaskType">TASK.TaskType</a></td>
|
<td class="name" nowrap="nowrap"><a href="##(TASK).TaskType">TASK.TaskType</a></td>
|
||||||
<td class="summary">
|
<td class="summary">
|
||||||
|
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="name" nowrap="nowrap"><a href="##(TASK).TimeOut">TASK.TimeOut</a></td>
|
||||||
|
<td class="summary">
|
||||||
|
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
@@ -643,6 +657,12 @@ Use the method <a href="##(TASK).AddScore">TASK.AddScore</a>() to add scores whe
|
|||||||
<td class="name" nowrap="nowrap"><a href="##(TASK).onafterReplan">TASK:onafterReplan(From, Event, To)</a></td>
|
<td class="name" nowrap="nowrap"><a href="##(TASK).onafterReplan">TASK:onafterReplan(From, Event, To)</a></td>
|
||||||
<td class="summary">
|
<td class="summary">
|
||||||
<p>FSM function for a TASK</p>
|
<p>FSM function for a TASK</p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="name" nowrap="nowrap"><a href="##(TASK).onbeforeTimeOut">TASK:onbeforeTimeOut(Event, From, To)</a></td>
|
||||||
|
<td class="summary">
|
||||||
|
<p>FSM function for a TASK</p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
@@ -661,6 +681,12 @@ Use the method <a href="##(TASK).AddScore">TASK.AddScore</a>() to add scores whe
|
|||||||
<td class="name" nowrap="nowrap"><a href="##(TASK).onenterFailed">TASK:onenterFailed(From, Event, To)</a></td>
|
<td class="name" nowrap="nowrap"><a href="##(TASK).onenterFailed">TASK:onenterFailed(From, Event, To)</a></td>
|
||||||
<td class="summary">
|
<td class="summary">
|
||||||
<p>FSM function for a TASK</p>
|
<p>FSM function for a TASK</p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="name" nowrap="nowrap"><a href="##(TASK).onenterPlanned">TASK:onenterPlanned(Event, From, To)</a></td>
|
||||||
|
<td class="summary">
|
||||||
|
<p>FSM function for a TASK</p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
@@ -1993,6 +2019,36 @@ self</p>
|
|||||||
<dl class="function">
|
<dl class="function">
|
||||||
<dt>
|
<dt>
|
||||||
|
|
||||||
|
<a id="#(TASK).SetTimeOut" >
|
||||||
|
<strong>TASK:SetTimeOut(Timer)</strong>
|
||||||
|
</a>
|
||||||
|
</dt>
|
||||||
|
<dd>
|
||||||
|
|
||||||
|
<p>Sets the TimeOut for the <a href="Task.html">Task</a>.</p>
|
||||||
|
|
||||||
|
|
||||||
|
<p>If <a href="Task.html">Task</a> stayed planned for longer than TimeOut, it gets into Cancelled status.</p>
|
||||||
|
|
||||||
|
<h3>Parameter</h3>
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
|
||||||
|
<p><code><em><a href="##(integer)">#integer</a> Timer </em></code>:
|
||||||
|
in seconds</p>
|
||||||
|
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<h3>Return value</h3>
|
||||||
|
|
||||||
|
<p><em><a href="##(TASK)">#TASK</a>:</em>
|
||||||
|
self</p>
|
||||||
|
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
<dl class="function">
|
||||||
|
<dt>
|
||||||
|
|
||||||
<a id="#(TASK).SetType" >
|
<a id="#(TASK).SetType" >
|
||||||
<strong>TASK:SetType(TaskType)</strong>
|
<strong>TASK:SetType(TaskType)</strong>
|
||||||
</a>
|
</a>
|
||||||
@@ -2200,6 +2256,20 @@ Fsm#FSM_PROCESS</p>
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
<dl class="function">
|
||||||
|
<dt>
|
||||||
|
|
||||||
|
<em></em>
|
||||||
|
<a id="#(TASK).TimeOut" >
|
||||||
|
<strong>TASK.TimeOut</strong>
|
||||||
|
</a>
|
||||||
|
</dt>
|
||||||
|
<dd>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</dd>
|
</dd>
|
||||||
</dl>
|
</dl>
|
||||||
<dl class="function">
|
<dl class="function">
|
||||||
@@ -2355,6 +2425,37 @@ self</p>
|
|||||||
<dl class="function">
|
<dl class="function">
|
||||||
<dt>
|
<dt>
|
||||||
|
|
||||||
|
<a id="#(TASK).onbeforeTimeOut" >
|
||||||
|
<strong>TASK:onbeforeTimeOut(Event, From, To)</strong>
|
||||||
|
</a>
|
||||||
|
</dt>
|
||||||
|
<dd>
|
||||||
|
|
||||||
|
<p>FSM function for a TASK</p>
|
||||||
|
|
||||||
|
<h3>Parameters</h3>
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
|
||||||
|
<p><code><em>#string Event </em></code>: </p>
|
||||||
|
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
|
||||||
|
<p><code><em>#string From </em></code>: </p>
|
||||||
|
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
|
||||||
|
<p><code><em>#string To </em></code>: </p>
|
||||||
|
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
<dl class="function">
|
||||||
|
<dt>
|
||||||
|
|
||||||
<a id="#(TASK).onenterAborted" >
|
<a id="#(TASK).onenterAborted" >
|
||||||
<strong>TASK:onenterAborted(From, Event, To)</strong>
|
<strong>TASK:onenterAborted(From, Event, To)</strong>
|
||||||
</a>
|
</a>
|
||||||
@@ -2448,6 +2549,37 @@ self</p>
|
|||||||
<dl class="function">
|
<dl class="function">
|
||||||
<dt>
|
<dt>
|
||||||
|
|
||||||
|
<a id="#(TASK).onenterPlanned" >
|
||||||
|
<strong>TASK:onenterPlanned(Event, From, To)</strong>
|
||||||
|
</a>
|
||||||
|
</dt>
|
||||||
|
<dd>
|
||||||
|
|
||||||
|
<p>FSM function for a TASK</p>
|
||||||
|
|
||||||
|
<h3>Parameters</h3>
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
|
||||||
|
<p><code><em>#string Event </em></code>: </p>
|
||||||
|
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
|
||||||
|
<p><code><em>#string From </em></code>: </p>
|
||||||
|
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
|
||||||
|
<p><code><em>#string To </em></code>: </p>
|
||||||
|
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
<dl class="function">
|
||||||
|
<dt>
|
||||||
|
|
||||||
<a id="#(TASK).onenterSuccess" >
|
<a id="#(TASK).onenterSuccess" >
|
||||||
<strong>TASK:onenterSuccess(Event, From, To)</strong>
|
<strong>TASK:onenterSuccess(Event, From, To)</strong>
|
||||||
</a>
|
</a>
|
||||||
@@ -2508,6 +2640,8 @@ self</p>
|
|||||||
</dd>
|
</dd>
|
||||||
</dl>
|
</dl>
|
||||||
|
|
||||||
|
<h2><a id="#(integer)" >Type <code>integer</code></a></h2>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -50,6 +50,7 @@
|
|||||||
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
|
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
|
||||||
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
|
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
|
||||||
<li><a href="Route.html">Route</a></li>
|
<li><a href="Route.html">Route</a></li>
|
||||||
|
<li><a href="Scenery.html">Scenery</a></li>
|
||||||
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
|
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
|
||||||
<li><a href="Scheduler.html">Scheduler</a></li>
|
<li><a href="Scheduler.html">Scheduler</a></li>
|
||||||
<li><a href="Scoring.html">Scoring</a></li>
|
<li><a href="Scoring.html">Scoring</a></li>
|
||||||
|
|||||||
@@ -50,6 +50,7 @@
|
|||||||
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
|
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
|
||||||
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
|
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
|
||||||
<li><a href="Route.html">Route</a></li>
|
<li><a href="Route.html">Route</a></li>
|
||||||
|
<li><a href="Scenery.html">Scenery</a></li>
|
||||||
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
|
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
|
||||||
<li><a href="Scheduler.html">Scheduler</a></li>
|
<li><a href="Scheduler.html">Scheduler</a></li>
|
||||||
<li><a href="Scoring.html">Scoring</a></li>
|
<li><a href="Scoring.html">Scoring</a></li>
|
||||||
|
|||||||
@@ -50,6 +50,7 @@
|
|||||||
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
|
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
|
||||||
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
|
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
|
||||||
<li><a href="Route.html">Route</a></li>
|
<li><a href="Route.html">Route</a></li>
|
||||||
|
<li><a href="Scenery.html">Scenery</a></li>
|
||||||
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
|
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
|
||||||
<li><a href="Scheduler.html">Scheduler</a></li>
|
<li><a href="Scheduler.html">Scheduler</a></li>
|
||||||
<li><a href="Scoring.html">Scoring</a></li>
|
<li><a href="Scoring.html">Scoring</a></li>
|
||||||
|
|||||||
@@ -50,6 +50,7 @@
|
|||||||
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
|
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
|
||||||
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
|
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
|
||||||
<li><a href="Route.html">Route</a></li>
|
<li><a href="Route.html">Route</a></li>
|
||||||
|
<li><a href="Scenery.html">Scenery</a></li>
|
||||||
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
|
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
|
||||||
<li><a href="Scheduler.html">Scheduler</a></li>
|
<li><a href="Scheduler.html">Scheduler</a></li>
|
||||||
<li><a href="Scoring.html">Scoring</a></li>
|
<li><a href="Scoring.html">Scoring</a></li>
|
||||||
|
|||||||
@@ -50,6 +50,7 @@
|
|||||||
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
|
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
|
||||||
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
|
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
|
||||||
<li><a href="Route.html">Route</a></li>
|
<li><a href="Route.html">Route</a></li>
|
||||||
|
<li><a href="Scenery.html">Scenery</a></li>
|
||||||
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
|
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
|
||||||
<li><a href="Scheduler.html">Scheduler</a></li>
|
<li><a href="Scheduler.html">Scheduler</a></li>
|
||||||
<li><a href="Scoring.html">Scoring</a></li>
|
<li><a href="Scoring.html">Scoring</a></li>
|
||||||
|
|||||||
@@ -50,6 +50,7 @@
|
|||||||
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
|
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
|
||||||
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
|
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
|
||||||
<li><a href="Route.html">Route</a></li>
|
<li><a href="Route.html">Route</a></li>
|
||||||
|
<li><a href="Scenery.html">Scenery</a></li>
|
||||||
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
|
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
|
||||||
<li><a href="Scheduler.html">Scheduler</a></li>
|
<li><a href="Scheduler.html">Scheduler</a></li>
|
||||||
<li><a href="Scoring.html">Scoring</a></li>
|
<li><a href="Scoring.html">Scoring</a></li>
|
||||||
@@ -74,7 +75,7 @@
|
|||||||
<tr>
|
<tr>
|
||||||
<td class="name" nowrap="nowrap"><a href="AI_Balancer.html">AI_Balancer</a></td>
|
<td class="name" nowrap="nowrap"><a href="AI_Balancer.html">AI_Balancer</a></td>
|
||||||
<td class="summary">
|
<td class="summary">
|
||||||
<p>Single-Player:<strong>No</strong> / Mulit-Player:<strong>Yes</strong> / AI:<strong>Yes</strong> / Human:<strong>No</strong> / Types:<strong>All</strong> -- <strong>AI Balancing will replace in multi player missions
|
<p>Single-Player:<strong>No</strong> / Multi-Player:<strong>Yes</strong> / AI:<strong>Yes</strong> / Human:<strong>No</strong> / Types:<strong>All</strong> -- <strong>AI Balancing will replace in multi player missions
|
||||||
non-occupied human slots with AI groups, in order to provide an engaging simulation environment,
|
non-occupied human slots with AI groups, in order to provide an engaging simulation environment,
|
||||||
even when there are hardly any players in the mission.</strong></p>
|
even when there are hardly any players in the mission.</strong></p>
|
||||||
|
|
||||||
@@ -91,7 +92,7 @@ CLIENTS in a SET_CLIENT collection, which are not occupied by human players.</p>
|
|||||||
<tr>
|
<tr>
|
||||||
<td class="name" nowrap="nowrap"><a href="AI_Cap.html">AI_Cap</a></td>
|
<td class="name" nowrap="nowrap"><a href="AI_Cap.html">AI_Cap</a></td>
|
||||||
<td class="summary">
|
<td class="summary">
|
||||||
<p>Single-Player:<strong>Yes</strong> / Mulit-Player:<strong>Yes</strong> / AI:<strong>Yes</strong> / Human:<strong>No</strong> / Types:<strong>Air</strong> -- <strong>Execute Combat Air Patrol (CAP).</strong></p>
|
<p>Single-Player:<strong>Yes</strong> / Multi-Player:<strong>Yes</strong> / AI:<strong>Yes</strong> / Human:<strong>No</strong> / Types:<strong>Air</strong> -- <strong>Execute Combat Air Patrol (CAP).</strong></p>
|
||||||
|
|
||||||
<p><img src="..\Presentations\AI_CAP\Dia1.JPG" alt="Banner Image"/></p>
|
<p><img src="..\Presentations\AI_CAP\Dia1.JPG" alt="Banner Image"/></p>
|
||||||
|
|
||||||
@@ -106,7 +107,7 @@ and automatically engage any airborne enemies that are within a certain range or
|
|||||||
<tr>
|
<tr>
|
||||||
<td class="name" nowrap="nowrap"><a href="AI_Cas.html">AI_Cas</a></td>
|
<td class="name" nowrap="nowrap"><a href="AI_Cas.html">AI_Cas</a></td>
|
||||||
<td class="summary">
|
<td class="summary">
|
||||||
<p>Single-Player:<strong>Yes</strong> / Mulit-Player:<strong>Yes</strong> / AI:<strong>Yes</strong> / Human:<strong>No</strong> / Types:<strong>Air</strong> --
|
<p>Single-Player:<strong>Yes</strong> / Multi-Player:<strong>Yes</strong> / AI:<strong>Yes</strong> / Human:<strong>No</strong> / Types:<strong>Air</strong> --
|
||||||
<strong>Provide Close Air Support to friendly ground troops.</strong></p>
|
<strong>Provide Close Air Support to friendly ground troops.</strong></p>
|
||||||
|
|
||||||
<p><img src="..\Presentations\AI_CAS\Dia1.JPG" alt="Banner Image"/></p>
|
<p><img src="..\Presentations\AI_CAS\Dia1.JPG" alt="Banner Image"/></p>
|
||||||
@@ -121,7 +122,7 @@ and automatically engage any airborne enemies that are within a certain range or
|
|||||||
<tr>
|
<tr>
|
||||||
<td class="name" nowrap="nowrap"><a href="AI_Patrol.html">AI_Patrol</a></td>
|
<td class="name" nowrap="nowrap"><a href="AI_Patrol.html">AI_Patrol</a></td>
|
||||||
<td class="summary">
|
<td class="summary">
|
||||||
<p>Single-Player:<strong>Yes</strong> / Mulit-Player:<strong>Yes</strong> / AI:<strong>Yes</strong> / Human:<strong>No</strong> / Types:<strong>Air</strong> --
|
<p>Single-Player:<strong>Yes</strong> / Multi-Player:<strong>Yes</strong> / AI:<strong>Yes</strong> / Human:<strong>No</strong> / Types:<strong>Air</strong> --
|
||||||
<strong>Air Patrolling or Staging.</strong></p>
|
<strong>Air Patrolling or Staging.</strong></p>
|
||||||
|
|
||||||
<p><img src="..\Presentations\AI_PATROL\Dia1.JPG" alt="Banner Image"/></p>
|
<p><img src="..\Presentations\AI_PATROL\Dia1.JPG" alt="Banner Image"/></p>
|
||||||
@@ -166,7 +167,7 @@ and automatically engage any airborne enemies that are within a certain range or
|
|||||||
<tr>
|
<tr>
|
||||||
<td class="name" nowrap="nowrap"><a href="Cargo.html">Cargo</a></td>
|
<td class="name" nowrap="nowrap"><a href="Cargo.html">Cargo</a></td>
|
||||||
<td class="summary">
|
<td class="summary">
|
||||||
<p>Single-Player:<strong>Yes</strong> / Mulit-Player:<strong>Yes</strong> / AI:<strong>Yes</strong> / Human:<strong>No</strong> / Types:<strong>Ground</strong> -- <br/>
|
<p>Single-Player:<strong>Yes</strong> / Multi-Player:<strong>Yes</strong> / AI:<strong>Yes</strong> / Human:<strong>No</strong> / Types:<strong>Ground</strong> -- <br/>
|
||||||
<strong>Management of logical cargo objects, that can be transported from and to transportation carriers.</strong></p>
|
<strong>Management of logical cargo objects, that can be transported from and to transportation carriers.</strong></p>
|
||||||
|
|
||||||
<p><img src="..\Presentations\AI_CARGO\CARGO.JPG" alt="Banner Image"/></p>
|
<p><img src="..\Presentations\AI_CARGO\CARGO.JPG" alt="Banner Image"/></p>
|
||||||
@@ -317,6 +318,12 @@ following a given priority.</p>
|
|||||||
<td class="name" nowrap="nowrap"><a href="Route.html">Route</a></td>
|
<td class="name" nowrap="nowrap"><a href="Route.html">Route</a></td>
|
||||||
<td class="summary">
|
<td class="summary">
|
||||||
<p>(SP) (MP) (FSM) Route AI or players through waypoints or to zones.</p>
|
<p>(SP) (MP) (FSM) Route AI or players through waypoints or to zones.</p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="name" nowrap="nowrap"><a href="Scenery.html">Scenery</a></td>
|
||||||
|
<td class="summary">
|
||||||
|
<p>This module contains the SCENERY class.</p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
@@ -334,7 +341,17 @@ following a given priority.</p>
|
|||||||
<tr>
|
<tr>
|
||||||
<td class="name" nowrap="nowrap"><a href="Scoring.html">Scoring</a></td>
|
<td class="name" nowrap="nowrap"><a href="Scoring.html">Scoring</a></td>
|
||||||
<td class="summary">
|
<td class="summary">
|
||||||
<p>Scoring system for MOOSE.</p>
|
<p>Single-Player:<strong>Yes</strong> / Multi-Player:<strong>Yes</strong> / Core:<strong>Yes</strong> -- <strong>Administer the scoring of player achievements,
|
||||||
|
and create a CSV file logging the scoring events for use at team or squadron websites.</strong></p>
|
||||||
|
|
||||||
|
<p><img src="..\Presentations\SCORING\Dia1.JPG" alt="Banner Image"/></p>
|
||||||
|
|
||||||
|
<hr/>
|
||||||
|
|
||||||
|
<h1>1) <a href="Scoring.html##(SCORING)">Scoring#SCORING</a> class, extends <a href="Base.html##(BASE)">Base#BASE</a></h1>
|
||||||
|
|
||||||
|
<p>The <a href="##(SCORING)">#SCORING</a> class administers the scoring of player achievements,
|
||||||
|
and creates a CSV file logging the scoring events and results for use at team or squadron websites.</p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
@@ -358,7 +375,7 @@ following a given priority.</p>
|
|||||||
<tr>
|
<tr>
|
||||||
<td class="name" nowrap="nowrap"><a href="Spawn.html">Spawn</a></td>
|
<td class="name" nowrap="nowrap"><a href="Spawn.html">Spawn</a></td>
|
||||||
<td class="summary">
|
<td class="summary">
|
||||||
<p>Single-Player:<strong>Yes</strong> / Mulit-Player:<strong>Yes</strong> / AI:<strong>Yes</strong> / Human:<strong>No</strong> / Types:<strong>All</strong> -- <br/>
|
<p>Single-Player:<strong>Yes</strong> / Multi-Player:<strong>Yes</strong> / AI:<strong>Yes</strong> / Human:<strong>No</strong> / Types:<strong>All</strong> -- <br/>
|
||||||
<strong>Spawn groups of units dynamically in your missions.</strong></p>
|
<strong>Spawn groups of units dynamically in your missions.</strong></p>
|
||||||
|
|
||||||
<p><img src="..\Presentations\SPAWN\SPAWN.JPG" alt="Banner Image"/></p>
|
<p><img src="..\Presentations\SPAWN\SPAWN.JPG" alt="Banner Image"/></p>
|
||||||
|
|||||||
@@ -50,6 +50,7 @@
|
|||||||
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
|
<li><a href="Process_JTAC.html">Process_JTAC</a></li>
|
||||||
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
|
<li><a href="Process_Pickup.html">Process_Pickup</a></li>
|
||||||
<li><a href="Route.html">Route</a></li>
|
<li><a href="Route.html">Route</a></li>
|
||||||
|
<li><a href="Scenery.html">Scenery</a></li>
|
||||||
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
|
<li><a href="ScheduleDispatcher.html">ScheduleDispatcher</a></li>
|
||||||
<li><a href="Scheduler.html">Scheduler</a></li>
|
<li><a href="Scheduler.html">Scheduler</a></li>
|
||||||
<li><a href="Scoring.html">Scoring</a></li>
|
<li><a href="Scoring.html">Scoring</a></li>
|
||||||
|
|||||||
|
After Width: | Height: | Size: 271 KiB |
|
After Width: | Height: | Size: 158 KiB |
|
After Width: | Height: | Size: 152 KiB |
|
After Width: | Height: | Size: 154 KiB |
|
After Width: | Height: | Size: 198 KiB |
|
After Width: | Height: | Size: 243 KiB |
|
After Width: | Height: | Size: 158 KiB |
|
After Width: | Height: | Size: 234 KiB |
|
After Width: | Height: | Size: 176 KiB |
|
After Width: | Height: | Size: 239 KiB |
|
After Width: | Height: | Size: 206 KiB |
|
After Width: | Height: | Size: 194 KiB |
|
After Width: | Height: | Size: 162 KiB |