From 00339c7ecd2cfa012e9486caaf66dd2a3ba7dca4 Mon Sep 17 00:00:00 2001
From: MooseBotter Flash messages to player
Flash messages to player
+Flash messages to player
+Flash messages to player
+Then we register the new group in the database
+The AI is on by default when spawning a group.
-The internal counter of the amount of spawning the has happened since SpawnStart.
-self:T2( { self.SpawnTemplatePrefix, Vec2} )
+ + + +we arrived here seeing that self.SpawnInitSADL == nil, but now that we have a SADL (num), we also need to set it to self.SpawnInitSADL in case + we need to get the next SADL from _DATABASE, or else UTILS.OctalToDecimal() will fail in GetNextSADL
+ +The AI is on by default when spawning a group.
-The internal counter of the amount of spawning the has happened since SpawnStart.
-we arrived here seeing that self.SpawnInitSADL == nil, but now that we have a SADL (num), we also need to set it to self.SpawnInitSADL in case + we need to get the next SADL from _DATABASE, or else UTILS.OctalToDecimal() will fail in GetNextSADL
+ +Spawns a new static using a given template.
-The ME name of the HQ object
+Log SAM status in dcs.log every cycle if true
-switch alarm state RED
-self.SAMCheckRanges = {}
+The ME name of the HQ object
+Log SAM status in dcs.log every cycle if true
-switch alarm state RED
-self.SAMCheckRanges = {}
+ diff --git a/Documentation/Functional.Movement.html b/Documentation/Functional.Movement.html index 316a87afd..21ad83aa1 100644 --- a/Documentation/Functional.Movement.html +++ b/Documentation/Functional.Movement.html @@ -2429,20 +2429,6 @@ When Moose is loaded statically, (as one file), tracing is switched off by defauContains the counter how many units are currently alive.
- -Contains the counter how many units are currently alive.
- -Type of terminal to be used when spawning at an airbase.
+Type of terminal to be used when spawning at an airbase.
+ + + +Type of terminal to be used when spawning at an airbase.
+ + + +|
Range script version. + |
+
+
| Fields and Methods inherited from FSM | +Description | +
|---|---|
| + |
+ Adds an End state. + |
+
| + |
+ Set the default #FSM_PROCESS template with key ProcessName providing the ProcessClass and the process object when it is assigned to a Wrapper.Controllable by the task. + |
+
| + |
+ Adds a score for the FSM to be achieved. + |
+
| + |
+ Adds a score for the FSM_PROCESS to be achieved. + |
+
| + |
+ Add a new transition rule to the FSM. + |
+
| + |
+ Call scheduler. + |
+
| + |
+ Name of the class. + |
+
| + | + + | +
| + |
+ Get current state. + |
+
| + |
+ Returns the End states. + |
+
| + | + + | +
| + |
+ Returns a table of the SubFSM rules defined within the FSM. + |
+
| + |
+ Returns a table with the scores defined. + |
+
| + |
+ Returns the start state of the FSM. + |
+
| + |
+ Get current state. + |
+
| + |
+ Returns a table with the Subs defined. + |
+
| + |
+ Returns a table of the transition rules defined within the FSM. + |
+
| + |
+ Check if FSM is in state. + |
+
| + |
+ Load call backs. + |
+
| + |
+ Creates a new FSM object. + |
+
| + |
+ Scores. + |
+
| + | + + | +
| + |
+ Sets the start state of the FSM. + |
+
| + | + + | +
| + | + + | +
| + | + + | +
| + | + + | +
| + | + + | +
| + | + + | +
| + |
+ Add to map. + |
+
| + |
+ Call handler. + |
+
| + |
+ Create transition. + |
+
| + |
+ Delayed transition. + |
+
| + |
+ Event map. + |
+
| + |
+ Go sub. + |
+
| + |
+ Handler. + |
+
| + |
+ Is end state. + |
+
| + |
+ Sub maps. + |
+
| + |
+ Check if can do an event. + |
+
| + |
+ Check if cannot do an event. + |
+
| + |
+ Current state name. + |
+
| + | + + | +
| + |
+ Check if FSM is in state. + |
+
| + |
+ Options. + |
+
| + |
+ Subs. + |
+
| Fields and Methods inherited from BASE | +Description | +
|---|---|
| + |
+ The ID number of the class. + |
+
| + |
+ The name of the class. + |
+
| + |
+ The name of the class concatenated with the ID number of the class. + |
+
| + |
+ Clear the state of an object. + |
+
RANGE:CreateEventBirth(EventTime, Initiator, IniUnitName, place, subplace) |
+
+ Creation of a Birth Event. + |
+
RANGE:CreateEventCrash(EventTime, Initiator, IniObjectCategory) |
+
+ Creation of a Crash Event. + |
+
RANGE:CreateEventDead(EventTime, Initiator, IniObjectCategory) |
+
+ Creation of a Dead Event. + |
+
| + |
+ Creation of a S_EVENT_DYNAMIC_CARGO_LOADED event. + |
+
| + |
+ Creation of a S_EVENT_DYNAMIC_CARGO_REMOVED event. + |
+
| + |
+ Creation of a S_EVENT_DYNAMIC_CARGO_UNLOADED event. + |
+
| + |
+ Creation of a S_EVENT_NEW_DYNAMIC_CARGO event. + |
+
| + |
+ Creation of a |
+
| + |
+ Creation of a Remove Unit Event. + |
+
| + |
+ Creation of a Takeoff Event. + |
+
| + |
+ Creation of a Crash Event. + |
+
| + |
+ Log an exception which will be traced always. + |
+
| + |
+ Returns the event dispatcher + |
+
| + |
+ Remove all subscribed events + |
+
| + |
+ Trace a function call. + |
+
| + |
+ Trace a function call level 2. + |
+
| + |
+ Trace a function call level 3. + |
+
| + |
+ Get the ClassID of the class instance. + |
+
| + |
+ Get the ClassName of the class instance. + |
+
| + |
+ Get the ClassName + ClassID of the class instance. + |
+
| + |
+ Get the Class Core.Event processing Priority. + |
+
| + |
+ This is the worker method to retrieve the Parent class. + |
+
| + |
+ Get all of the properties of an object in a table. + |
+
| + |
+ Get one property of an object by the key. + |
+
| + |
+ Get a Value given a Key from the Object. + |
+
| + |
+ Subscribe to a DCS Event. + |
+
| + |
+ Log an information which will be traced always. + |
+
| + |
+ This is the worker method to inherit from a parent class. + |
+
| + |
+ This is the worker method to check if an object is an (sub)instance of a class. + |
+
| + |
+ Enquires if tracing is on (for the class). + |
+
| + |
+ BASE constructor. + |
+
| + |
+ Occurs when an Event for an object is triggered. + |
+
| + |
+ BDA. + |
+
| + |
+ Occurs when a ground unit captures either an airbase or a farp. + |
+
| + |
+ Occurs when any object is spawned into the mission. + |
+
| + |
+ Occurs when any aircraft crashes into the ground and is completely destroyed. + |
+
| + |
+ Occurs when an object is dead. + |
+
| + |
+ Unknown precisely what creates this event, likely tied into newer damage model. + |
+
| + |
+ Discard chair after ejection. + |
+
| + |
+ Occurs when a player loads a dynamic cargo object with the F8 ground crew menu into a helo. + |
+
| + |
+ Occurs when a dynamic cargo crate is removed. + |
+
| + |
+ Occurs when a player unloads a dynamic cargo object with the F8 ground crew menu from a helo. + |
+
| + |
+ Occurs when a pilot ejects from an aircraft +Have a look at the class Core.Event#EVENT as these are just the prototypes. + |
+
| + |
+ Occurs when any aircraft shuts down its engines. + |
+
| + |
+ Occurs when any aircraft starts its engines. + |
+
| + |
+ Occurs whenever an object is hit by a weapon. + |
+
| + |
+ Occurs when any system fails on a human controlled aircraft. + |
+
| + |
+ Occurs on the death of a unit. + |
+
| + |
+ Occurs when an aircraft lands at an airbase, farp or ship +Have a look at the class Core.Event#EVENT as these are just the prototypes. + |
+
| + |
+ Occurs shortly after the landing animation of an ejected pilot touching the ground and standing up. + |
+
| + |
+ Landing quality mark. + |
+
| + |
+ Occurs when a new mark was added. + |
+
| + |
+ Occurs when a mark text was changed. + |
+
| + |
+ Occurs when a mark was removed. + |
+
| + |
+ Occurs when a mission ends +Have a look at the class Core.Event#EVENT as these are just the prototypes. + |
+
| + |
+ Occurs when a mission starts +Have a look at the class Core.Event#EVENT as these are just the prototypes. + |
+
| + |
+ Occurs when a player creates a dynamic cargo object from the F8 ground crew menu. + |
+
| + |
+ Weapon add. + |
+
| + |
+ Occurs when the pilot of an aircraft is killed. + |
+
| + |
+ Occurs when a player enters a slot and takes control of an aircraft. + |
+
| + |
+ Occurs when any player assumes direct control of a unit. + |
+
| + |
+ Occurs when any player relieves control of a unit to the AI. + |
+
| + |
+ Occurs when an aircraft connects with a tanker and begins taking on fuel. + |
+
| + |
+ Occurs when an aircraft is finished taking fuel. + |
+
| + |
+ Occurs when any modification to the "Score" as seen on the debrief menu would occur. + |
+
| + |
+ Occurs when any unit stops firing its weapon. + |
+
| + |
+ Occurs when any unit begins firing a weapon that has a high rate of fire. + |
+
| + |
+ Occurs whenever any unit in a mission fires a weapon. + |
+
| + |
+ Occurs when an aircraft takes off from an airbase, farp, or ship. + |
+
| + |
+ Trigger zone. + |
+
| + |
+ Occurs when the game thinks an object is destroyed. + |
+
| + | + + | +
| + |
+ Schedule a new time event. + |
+
RANGE:ScheduleRepeat(Start, Repeat, RandomizeFactor, Stop, SchedulerFunction, ...) |
+
+ Schedule a new time event. + |
+
| + |
+ Stops the Schedule. + |
+
| + |
+ The scheduler object. + |
+
| + |
+ Set the Class Core.Event processing Priority. + |
+
| + |
+ Set one property of an object. + |
+
| + |
+ Set a state or property of the Object given a Key and a Value. + |
+
| + |
+ Trace a function logic level 1. + |
+
| + |
+ Trace a function logic level 2. + |
+
| + |
+ Trace a function logic level 3. + |
+
| + |
+ Trace all methods in MOOSE + |
+
| + |
+ Set tracing for a class + |
+
| + |
+ Set tracing for a specific method of class + |
+
| + |
+ Set trace level + |
+
| + |
+ Set trace off. + |
+
| + |
+ Set trace on. + |
+
| + |
+ Set trace on or off +Note that when trace is off, no BASE.Debug statement is performed, increasing performance! +When Moose is loaded statically, (as one file), tracing is switched off by default. + |
+
| + |
+ UnSubscribe to a DCS event. + |
+
| + | + + | +
RANGE:_F(Arguments, DebugInfoCurrentParam, DebugInfoFromParam) |
+
+ Trace a function call. + |
+
| + |
+ (Internal) Serialize arguments + |
+
RANGE:_T(Arguments, DebugInfoCurrentParam, DebugInfoFromParam) |
+
+ Trace a function logic. + |
+
| + | + + | +
| + |
+ The main event handling function... |
Bombs/rockets/missiles are only tracked if player-range distance is smaller than this threshold [m]. Default 25000 m.
+ +Name of the Class.
+ +Coalition side for the menu, if any.
+ +If true, debug info is sent as messages on the screen.
+ +Table for monitoring which players already got an F10 menu.
+ +Main radio menu on group level.
+ +Main radio menu on mission level.
+ +Global list of all defined range names.
+ +Individual player settings.
+ +Color id used to smoke strafe pit approach boxes.
+ +Color id used to smoke strafe targets.
+ +Time delay in seconds between impact of bomb and starting the smoke. Default 3 seconds.
+ +Time [sec] messages to players are displayed. Default 30 sec.
+ +If true, automatically save results every X seconds.
+ +Table containing the bombing results of each player.
+ +Table of targets to bomb.
+ +Range ceiling altitude in ft MSL. Aircraft above this altitude are not considered to be in the range. Default is 20000 ft.
+ +Range has a ceiling and is not unlimited. Default is false.
+ +If true, initialize player settings to smoke bomb.
+ +Time step [sec] used for tracking released bomb/rocket positions. Default 0.005 seconds.
+ +If true, only the examiner gets messages. If false, clients and examiner get messages.
+ +Name of the examiner group which should get all messages.
+ +Maximum altitude in meters AGL at which illumination bombs are fired. Default is 1000 m.
+ +Minimum altitude in meters AGL at which illumination bombs are fired. Default is 500 m.
+ +Frequency on which the range control transmitts.
+ +Name of relay unit.
+ +String id of range for output in DCS log.
+ +Globally enable/disable all messages to players.
+ +Number of bombing targets.
+ +Number of (player) results that a displayed. Default is 10.
+ +Number of strafing targets.
+ +Table for administration.
+ +Frequency on which the range control transmitts.
+ +Name of relay unit.
+ +Name of the range.
+ +Radius of range defining its total size for e.g. smoking bomb impact points and sending radio messages. Default 5 km.
+ +MOOSE zone object of the range. For example, no bomb impacts are smoked if bombs fall outside of the range zone.
+ +Distance from closest target up to which bomb hits are counted. Default 1000 m.
+ +Path inside miz file where the sound files are located. Default is "Range Soundfiles/".
+ +Table containing the strafing results of each player.
+ +Table containing the current strafing target a player as assigned to.
+ +Table of strafing targets.
+ +Maximum altitude in meters AGL for registering for a strafe run. Default is 914 m = 3000 ft.
+ +Path where to save the target sheets.
+ +File prefix for target sheet files.
+ +If true, players can save their target sheets. Rangeboss will not work if targetsheets do not save.
+ +If true (default), all bomb types are tracked and impact point to closest bombing target is evaluated.
+ +If true (default), all missile types are tracked and impact point to closest bombing target is evaluated.
+ +If true (default), all rocket types are tracked and impact point to closest bombing target is evaluated.
+ +Verbosity level. Higher means more output to DCS log file.
+ +Range script version.
+ +Adds an End state.
+ ++ #string + State +
+The FSM state.
+ +Set the default #FSM_PROCESS template with key ProcessName providing the ProcessClass and the process object when it is assigned to a Wrapper.Controllable by the task.
+ ++ #table + From +
+Can contain a string indicating the From state or a table of strings containing multiple From states.
+ ++ #string + Event +
+The Event name.
+ ++ Core.Fsm#FSM_PROCESS + Process +
+An sub-process FSM.
+ ++ #table + ReturnEvents +
+A table indicating for which returned events of the SubFSM which Event must be triggered in the FSM.
+ +The SubFSM.
+ +Adds a score for the FSM to be achieved.
+ ++ #string + State +
+is the state of the process when the score needs to be given. (See the relevant state descriptions of the process).
+ ++ #string + ScoreText +
+is a text describing the score that is given according the status.
+ ++ #number + Score +
+is a number providing the score of the status.
+ +#FSM:
+self
+ +Adds a score for the FSM_PROCESS to be achieved.
+ ++ #string + From +
+is the From State of the main process.
+ ++ #string + Event +
+is the Event of the main process.
+ ++ #string + State +
+is the state of the process when the score needs to be given. (See the relevant state descriptions of the process).
+ ++ #string + ScoreText +
+is a text describing the score that is given according the status.
+ ++ #number + Score +
+is a number providing the score of the status.
+ +#FSM:
+self
+ +Add a new transition rule to the FSM.
+ + +A transition rule defines when and if the FSM can transition from a state towards another state upon a triggered event.
+ ++ #table + From +
+Can contain a string indicating the From state or a table of strings containing multiple From states.
+ ++ #string + Event +
+The Event name.
+ ++ #string + To +
+The To state.
+ +Get current state.
+ +Returns the End states.
+ +Returns a table of the SubFSM rules defined within the FSM.
+ +Returns a table with the scores defined.
+ +Returns the start state of the FSM.
+ +#string:
+A string containing the start state.
+ +Get current state.
+ +Returns a table with the Subs defined.
+ +Returns a table of the transition rules defined within the FSM.
+ +Check if FSM is in state.
+ ++ #string + State +
+State name.
+ +#boolean:
+If true, FSM is in this state.
+ +Load call backs.
+ ++ #table + CallBackTable +
+Table of call backs.
+ ++ From +
++ Event +
++ Fsm +
+Sets the start state of the FSM.
+ ++ #string + State +
+A string defining the start state.
+ +Add to map.
+ ++ #table + Map +
+Map.
+ ++ #table + Event +
+Event table.
+ +Call handler.
+ ++ #string + step +
+Step "onafter", "onbefore", "onenter", "onleave".
+ ++ #string + trigger +
+Trigger.
+ ++ #table + params +
+Parameters.
+ ++ #string + EventName +
+Event name.
+ +Value.
+ +Create transition.
+ ++ #string + EventName +
+Event name.
+ +#function:
+Function.
+ +Delayed transition.
+ ++ #string + EventName +
+Event name.
+ +#function:
+Function.
+ +Event map.
+ ++ #table + Events +
+Events.
+ ++ #table + EventStructure +
+Event structure.
+ +Go sub.
+ ++ #string + ParentFrom +
+Parent from state.
+ ++ #string + ParentEvent +
+Parent event name.
+ +#table:
+Subs.
+ +Handler.
+ ++ #string + EventName +
+Event name.
+ ++ ... +
+Arguments.
+ +Is end state.
+ ++ #string + Current +
+Current state name.
+ +#table:
+FSM parent.
+ +#string:
+Event name.
+ +Sub maps.
+ ++ #table + subs +
+Subs.
+ ++ #table + sub +
+Sub.
+ ++ #string + name +
+Name.
+ +Check if can do an event.
+ ++ #string + e +
+Event name.
+ +#boolean:
+If true, FSM can do the event.
+ +#string:
+To state.
+ +Check if cannot do an event.
+ ++ #string + e +
+Event name.
+ +#boolean:
+If true, FSM cannot do the event.
+ +Check if FSM is in state.
+ ++ #string + State +
+State name.
+ ++ state +
+#boolean:
+If true, FSM is in this state.
+ +Bombs/rockets/missiles are only tracked if player-range distance is smaller than this threshold [m]. Default 25000 m.
+ +Name of the Class.
+ +Coalition side for the menu, if any.
+ +If true, debug info is sent as messages on the screen.
+ +Table for monitoring which players already got an F10 menu.
+ +Main radio menu on group level.
+ +Main radio menu on mission level.
+ +Global list of all defined range names.
+ +Individual player settings.
+ +Color id used to smoke strafe pit approach boxes.
+ +Color id used to smoke strafe targets.
+ +Time delay in seconds between impact of bomb and starting the smoke. Default 3 seconds.
+ +Time [sec] messages to players are displayed. Default 30 sec.
+ +If true, automatically save results every X seconds.
+ +Table containing the bombing results of each player.
+ +Table of targets to bomb.
+ +Range ceiling altitude in ft MSL. Aircraft above this altitude are not considered to be in the range. Default is 20000 ft.
+ +Range has a ceiling and is not unlimited. Default is false.
+ +If true, initialize player settings to smoke bomb.
+ +Time step [sec] used for tracking released bomb/rocket positions. Default 0.005 seconds.
+ +If true, only the examiner gets messages. If false, clients and examiner get messages.
+ +Name of the examiner group which should get all messages.
+ +Maximum altitude in meters AGL at which illumination bombs are fired. Default is 1000 m.
+ +Minimum altitude in meters AGL at which illumination bombs are fired. Default is 500 m.
+ +Frequency on which the range control transmitts.
+ +Name of relay unit.
+ +String id of range for output in DCS log.
+ +Globally enable/disable all messages to players.
+ +Number of bombing targets.
+ +Number of (player) results that a displayed. Default is 10.
+ +Number of strafing targets.
+ +Table for administration.
+ +Frequency on which the range control transmitts.
+ +Name of relay unit.
+ +Name of the range.
+ +Radius of range defining its total size for e.g. smoking bomb impact points and sending radio messages. Default 5 km.
+ +MOOSE zone object of the range. For example, no bomb impacts are smoked if bombs fall outside of the range zone.
+ +Distance from closest target up to which bomb hits are counted. Default 1000 m.
+ +Path inside miz file where the sound files are located. Default is "Range Soundfiles/".
+ +Table containing the strafing results of each player.
+ +Table containing the current strafing target a player as assigned to.
+ +Table of strafing targets.
+ +Maximum altitude in meters AGL for registering for a strafe run. Default is 914 m = 3000 ft.
+ +Path where to save the target sheets.
+ +File prefix for target sheet files.
+ +If true, players can save their target sheets. Rangeboss will not work if targetsheets do not save.
+ +If true (default), all bomb types are tracked and impact point to closest bombing target is evaluated.
+ +If true (default), all missile types are tracked and impact point to closest bombing target is evaluated.
+ +If true (default), all rocket types are tracked and impact point to closest bombing target is evaluated.
+ +Verbosity level. Higher means more output to DCS log file.
+ +Range script version.
+ +Clear the state of an object.
+ ++ Object +
+The object that holds the Value set by the Key.
+ ++ StateName +
+The key that is should be cleared.
+ +Creation of a Birth Event.
+ ++ DCS#Time + EventTime +
+The time stamp of the event.
+ ++ DCS#Object + Initiator +
+The initiating object of the event.
+ ++ #string + IniUnitName +
+The initiating unit name.
+ ++ place +
++ subplace +
+Creation of a Crash Event.
+ ++ DCS#Time + EventTime +
+The time stamp of the event.
+ ++ DCS#Object + Initiator +
+The initiating object of the event.
+ ++ IniObjectCategory +
+Creation of a Dead Event.
+ ++ DCS#Time + EventTime +
+The time stamp of the event.
+ ++ DCS#Object + Initiator +
+The initiating object of the event.
+ ++ IniObjectCategory +
+Creation of a S_EVENT_DYNAMIC_CARGO_LOADED event.
+ ++ Wrapper.DynamicCargo#DYNAMICCARGO + DynamicCargo +
+the dynamic cargo object
+ +Creation of a S_EVENT_DYNAMIC_CARGO_REMOVED event.
+ ++ Wrapper.DynamicCargo#DYNAMICCARGO + DynamicCargo +
+the dynamic cargo object
+ +Creation of a S_EVENT_DYNAMIC_CARGO_UNLOADED event.
+ ++ Wrapper.DynamicCargo#DYNAMICCARGO + DynamicCargo +
+the dynamic cargo object
+ +Creation of a S_EVENT_NEW_DYNAMIC_CARGO event.
+ ++ Wrapper.DynamicCargo#DYNAMICCARGO + DynamicCargo +
+the dynamic cargo object
+ +Creation of a S_EVENT_PLAYER_ENTER_AIRCRAFT event.
+ Wrapper.Unit#UNIT + PlayerUnit +
+The aircraft unit the player entered.
+ +Creation of a Remove Unit Event.
+ ++ DCS#Time + EventTime +
+The time stamp of the event.
+ ++ DCS#Object + Initiator +
+The initiating object of the event.
+ +Creation of a Takeoff Event.
+ ++ DCS#Time + EventTime +
+The time stamp of the event.
+ ++ DCS#Object + Initiator +
+The initiating object of the event.
+ +Creation of a Crash Event.
+ ++ DCS#Time + EventTime +
+The time stamp of the event.
+ ++ DCS#Object + Initiator +
+The initiating object of the event.
+ +Log an exception which will be traced always.
+ + +Can be anywhere within the function logic.
+ ++ Arguments +
+A #table or any field.
+ +Returns the event dispatcher
+ +Remove all subscribed events
+ +Trace a function call.
+ + +Must be at the beginning of the function logic.
+ ++ Arguments +
+A #table or any field.
+ +Trace a function call level 2.
+ + +Must be at the beginning of the function logic.
+ ++ Arguments +
+A #table or any field.
+ +Trace a function call level 3.
+ + +Must be at the beginning of the function logic.
+ ++ Arguments +
+A #table or any field.
+ +Get the ClassID of the class instance.
+ +#string:
+The ClassID of the class instance.
+ +Get the ClassName of the class instance.
+ +#string:
+The ClassName of the class instance.
+ +Get the ClassName + ClassID of the class instance.
+ + +The ClassName + ClassID is formatted as '%s#%09d'.
+ +#string:
+The ClassName + ClassID of the class instance.
+ +Get the Class Core.Event processing Priority.
+ + +The Event processing Priority is a number from 1 to 10, +reflecting the order of the classes subscribed to the Event to be processed.
+ +This is the worker method to retrieve the Parent class.
+ + +Note that the Parent class must be passed to call the parent class method.
+ +self:GetParent(self):ParentMethod()
+
+
+
+
+
+Get all of the properties of an object in a table.
+ +#table:
+of values, indexed by keys.
+ +Get one property of an object by the key.
+ ++ Key +
+The key that is used as a reference of the value. Note that the key can be a #string, but it can also be any other type!
+ +Value The value that is stored. Note that the value can be a #string, but it can also be any other type! Nil if not found.
+ +Get a Value given a Key from the Object.
+ + +Note that if the Object is destroyed, set to nil, or garbage collected, then the Values and Keys will also be gone.
+ ++ Object +
+The object that holds the Value set by the Key.
+ ++ Key +
+The key that is used to retrieve the value. Note that the key can be a #string, but it can also be any other type!
+ +The Value retrieved or nil if the Key was not found and thus the Value could not be retrieved.
+ +Subscribe to a DCS Event.
+ ++ Core.Event#EVENTS + EventID +
+Event ID.
+ ++ #function + EventFunction +
+(optional) The function to be called when the event occurs for the unit.
+ +Log an information which will be traced always.
+ + +Can be anywhere within the function logic.
+ ++ Arguments +
+A #table or any field.
+ +This is the worker method to inherit from a parent class.
+ ++ Child +
+is the Child class that inherits.
+ ++ #BASE + Parent +
+is the Parent class that the Child inherits from.
+ +Child
+ +This is the worker method to check if an object is an (sub)instance of a class.
+ + + +ZONE:New( 'some zone' ):IsInstanceOf( ZONE ) will return true
ZONE:New( 'some zone' ):IsInstanceOf( 'ZONE' ) will return true
ZONE:New( 'some zone' ):IsInstanceOf( 'zone' ) will return true
ZONE:New( 'some zone' ):IsInstanceOf( 'BASE' ) will return true
ZONE:New( 'some zone' ):IsInstanceOf( 'GROUP' ) will return false
+ ClassName +
+is the name of the class or the class itself to run the check against
+ +#boolean:
+Enquires if tracing is on (for the class).
+ +BASE constructor.
+ + + +This is an example how to use the BASE:New() constructor in a new class definition when inheriting from BASE.
+ +function EVENT:New()
+ local self = BASE:Inherit( self, BASE:New() ) -- #EVENT
+ return self
+end
+
+
+
+Occurs when an Event for an object is triggered.
+ + +Have a look at the class Core.Event#EVENT as these are just the prototypes. +initiator : The unit that triggered the event.
+ ++ Core.Event#EVENTDATA + EventData +
+The EventData structure.
+ +BDA.
+ + +Have a look at the class Core.Event#EVENT as these are just the prototypes.
+ ++ Core.Event#EVENTDATA + EventData +
+The EventData structure.
+ +Occurs when a ground unit captures either an airbase or a farp.
+ + +Have a look at the class Core.Event#EVENT as these are just the prototypes. +initiator : The unit that captured the base +place: The airbase that was captured, can be a FARP or Airbase. When calling place:getCoalition() the faction will already be the new owning faction.
+ ++ Core.Event#EVENTDATA + EventData +
+The EventData structure.
+ +Occurs when any object is spawned into the mission.
+ + +Have a look at the class Core.Event#EVENT as these are just the prototypes. +initiator : The unit that was spawned
+ ++ Core.Event#EVENTDATA + EventData +
+The EventData structure.
+ +Occurs when any aircraft crashes into the ground and is completely destroyed.
+ + +Have a look at the class Core.Event#EVENT as these are just the prototypes. +initiator : The unit that has crashed
+ ++ Core.Event#EVENTDATA + EventData +
+The EventData structure.
+ +Occurs when an object is dead.
+ + +Have a look at the class Core.Event#EVENT as these are just the prototypes. +initiator : The unit that is dead.
+ ++ Core.Event#EVENTDATA + EventData +
+The EventData structure.
+ +Unknown precisely what creates this event, likely tied into newer damage model.
+ + +Will update this page when new information become available.
+ ++ Core.Event#EVENTDATA + EventData +
+The EventData structure.
+ +Discard chair after ejection.
+ + +Have a look at the class Core.Event#EVENT as these are just the prototypes.
+ ++ Core.Event#EVENTDATA + EventData +
+The EventData structure.
+ +Occurs when a player loads a dynamic cargo object with the F8 ground crew menu into a helo.
+ + +* NOTE * this is a workarounf for DCS not creating these events as of Aug 2024.
+ ++ Core.Event#EVENTDATA + EventData +
+The EventData structure.
+ +Occurs when a dynamic cargo crate is removed.
+ + +* NOTE * this is a workarounf for DCS not creating these events as of Aug 2024.
+ ++ Core.Event#EVENTDATA + EventData +
+The EventData structure.
+ +Occurs when a player unloads a dynamic cargo object with the F8 ground crew menu from a helo.
+ + +* NOTE * this is a workarounf for DCS not creating these events as of Aug 2024.
+ ++ Core.Event#EVENTDATA + EventData +
+The EventData structure.
+ +Occurs when a pilot ejects from an aircraft +Have a look at the class Core.Event#EVENT as these are just the prototypes.
+ + +initiator : The unit that has ejected
+ ++ Core.Event#EVENTDATA + EventData +
+The EventData structure.
+ +Occurs when any aircraft shuts down its engines.
+ + +Have a look at the class Core.Event#EVENT as these are just the prototypes. +initiator : The unit that is stopping its engines.
+ ++ Core.Event#EVENTDATA + EventData +
+The EventData structure.
+ +Occurs when any aircraft starts its engines.
+ + +Have a look at the class Core.Event#EVENT as these are just the prototypes. +initiator : The unit that is starting its engines.
+ ++ Core.Event#EVENTDATA + EventData +
+The EventData structure.
+ +Occurs whenever an object is hit by a weapon.
+ + +Have a look at the class Core.Event#EVENT as these are just the prototypes. +initiator : The unit object the fired the weapon +weapon: Weapon object that hit the target +target: The Object that was hit.
+ ++ Core.Event#EVENTDATA + EventData +
+The EventData structure.
+ +Occurs when any system fails on a human controlled aircraft.
+ + +Have a look at the class Core.Event#EVENT as these are just the prototypes. +initiator : The unit that had the failure
+ ++ Core.Event#EVENTDATA + EventData +
+The EventData structure.
+ +Occurs on the death of a unit.
+ + +Contains more and different information. Similar to unit_lost it will occur for aircraft before the aircraft crash event occurs. +Have a look at the class Core.Event#EVENT as these are just the prototypes.
+ ++ Core.Event#EVENTDATA + EventData +
+The EventData structure.
+ +Occurs when an aircraft lands at an airbase, farp or ship +Have a look at the class Core.Event#EVENT as these are just the prototypes.
+ + +initiator : The unit that has landed +place: Object that the unit landed on. Can be an Airbase Object, FARP, or Ships
+ ++ Core.Event#EVENTDATA + EventData +
+The EventData structure.
+ +Occurs shortly after the landing animation of an ejected pilot touching the ground and standing up.
+ + +Event does not occur if the pilot lands in the water and sub combs to Davey Jones Locker. +Have a look at the class Core.Event#EVENT as these are just the prototypes.
+ ++ Core.Event#EVENTDATA + EventData +
+The EventData structure.
+ +Landing quality mark.
+ + +Have a look at the class Core.Event#EVENT as these are just the prototypes.
+ ++ Core.Event#EVENTDATA + EventData +
+The EventData structure.
+ +Occurs when a new mark was added.
+ + +Have a look at the class Core.Event#EVENT as these are just the prototypes. +MarkID: ID of the mark.
+ ++ Core.Event#EVENTDATA + EventData +
+The EventData structure.
+ +Occurs when a mark text was changed.
+ + +Have a look at the class Core.Event#EVENT as these are just the prototypes. +MarkID: ID of the mark.
+ ++ Core.Event#EVENTDATA + EventData +
+The EventData structure.
+ +Occurs when a mark was removed.
+ + +Have a look at the class Core.Event#EVENT as these are just the prototypes. +MarkID: ID of the mark.
+ ++ Core.Event#EVENTDATA + EventData +
+The EventData structure.
+ +Occurs when a mission ends +Have a look at the class Core.Event#EVENT as these are just the prototypes.
+ ++ Core.Event#EVENTDATA + EventData +
+The EventData structure.
+ +Occurs when a mission starts +Have a look at the class Core.Event#EVENT as these are just the prototypes.
+ ++ Core.Event#EVENTDATA + EventData +
+The EventData structure.
+ +Occurs when a player creates a dynamic cargo object from the F8 ground crew menu.
+ + +* NOTE * this is a workarounf for DCS not creating these events as of Aug 2024.
+ ++ Core.Event#EVENTDATA + EventData +
+The EventData structure.
+ +Weapon add.
+ + +Fires when entering a mission per pylon with the name of the weapon (double pylons not counted, infinite wep reload not counted. +Have a look at the class Core.Event#EVENT as these are just the prototypes.
+ ++ Core.Event#EVENTDATA + EventData +
+The EventData structure.
+ +Occurs when the pilot of an aircraft is killed.
+ + +Can occur either if the player is alive and crashes or if a weapon kills the pilot without completely destroying the plane. +Have a look at the class Core.Event#EVENT as these are just the prototypes. +initiator : The unit that the pilot has died in.
+ ++ Core.Event#EVENTDATA + EventData +
+The EventData structure.
+ +Occurs when a player enters a slot and takes control of an aircraft.
+ + +Have a look at the class Core.Event#EVENT as these are just the prototypes. +NOTE: This is a workaround of a long standing DCS bug with the PLAYER_ENTER_UNIT event. +initiator : The unit that is being taken control of.
+ ++ Core.Event#EVENTDATA + EventData +
+The EventData structure.
+ +Occurs when any player assumes direct control of a unit.
+ + +Note - not Mulitplayer safe. Use PlayerEnterAircraft. +Have a look at the class Core.Event#EVENT as these are just the prototypes. +initiator : The unit that is being taken control of.
+ ++ Core.Event#EVENTDATA + EventData +
+The EventData structure.
+ +Occurs when any player relieves control of a unit to the AI.
+ + +Have a look at the class Core.Event#EVENT as these are just the prototypes. +initiator : The unit that the player left.
+ ++ Core.Event#EVENTDATA + EventData +
+The EventData structure.
+ +Occurs when an aircraft connects with a tanker and begins taking on fuel.
+ + +Have a look at the class Core.Event#EVENT as these are just the prototypes. +initiator : The unit that is receiving fuel.
+ ++ Core.Event#EVENTDATA + EventData +
+The EventData structure.
+ +Occurs when an aircraft is finished taking fuel.
+ + +Have a look at the class Core.Event#EVENT as these are just the prototypes. +initiator : The unit that was receiving fuel.
+ ++ Core.Event#EVENTDATA + EventData +
+The EventData structure.
+ +Occurs when any modification to the "Score" as seen on the debrief menu would occur.
+ + +There is no information on what values the score was changed to. Event is likely similar to player_comment in this regard. +Have a look at the class Core.Event#EVENT as these are just the prototypes.
+ ++ Core.Event#EVENTDATA + EventData +
+The EventData structure.
+ +Occurs when any unit stops firing its weapon.
+ + +Event will always correspond with a shooting start event. +Have a look at the class Core.Event#EVENT as these are just the prototypes. +initiator : The unit that was doing the shooting.
+ ++ Core.Event#EVENTDATA + EventData +
+The EventData structure.
+ +Occurs when any unit begins firing a weapon that has a high rate of fire.
+ + +Most common with aircraft cannons (GAU-8), autocannons, and machine guns. +Have a look at the class Core.Event#EVENT as these are just the prototypes. +initiator : The unit that is doing the shooting. +target: The unit that is being targeted.
+ ++ Core.Event#EVENTDATA + EventData +
+The EventData structure.
+ +Occurs whenever any unit in a mission fires a weapon.
+ + +But not any machine gun or autocannon based weapon, those are handled by EVENT.ShootingStart. +Have a look at the class Core.Event#EVENT as these are just the prototypes.
+ ++ Core.Event#EVENTDATA + EventData +
+The EventData structure.
+ +Occurs when an aircraft takes off from an airbase, farp, or ship.
+ + +Have a look at the class Core.Event#EVENT as these are just the prototypes. +initiator : The unit that tookoff +place: Object from where the AI took-off from. Can be an Airbase Object, FARP, or Ships
+ ++ Core.Event#EVENTDATA + EventData +
+The EventData structure.
+ +Trigger zone.
+ + +Have a look at the class Core.Event#EVENT as these are just the prototypes.
+ ++ Core.Event#EVENTDATA + EventData +
+The EventData structure.
+ +Occurs when the game thinks an object is destroyed.
+ + +Have a look at the class Core.Event#EVENT as these are just the prototypes.
+ ++ Core.Event#EVENTDATA + EventData +
+The EventData structure.
+ +Schedule a new time event.
+ + +Note that the schedule will only take place if the scheduler is started. Even for a single schedule event, the scheduler needs to be started also.
+ ++ #number + Start +
+Specifies the amount of seconds that will be waited before the scheduling is started, and the event function is called.
+ ++ #function + SchedulerFunction +
+The event function to be called when a timer event occurs. The event function needs to accept the parameters specified in SchedulerArguments.
+ ++ ... +
+Optional arguments that can be given as part of scheduler. The arguments need to be given as a table { param1, param 2, ... }.
+ +#string:
+The Schedule ID of the planned schedule.
+ +Schedule a new time event.
+ + +Note that the schedule will only take place if the scheduler is started. Even for a single schedule event, the scheduler needs to be started also.
+ ++ #number + Start +
+Specifies the amount of seconds that will be waited before the scheduling is started, and the event function is called.
+ ++ #number + Repeat +
+Specifies the interval in seconds when the scheduler will call the event function.
+ ++ #number + RandomizeFactor +
+Specifies a randomization factor between 0 and 1 to randomize the Repeat.
+ ++ #number + Stop +
+Specifies the amount of seconds when the scheduler will be stopped.
+ ++ #function + SchedulerFunction +
+The event function to be called when a timer event occurs. The event function needs to accept the parameters specified in SchedulerArguments.
+ ++ #table + ... +
+Optional arguments that can be given as part of scheduler. The arguments need to be given as a table { param1, param 2, ... }.
+ +#string:
+The Schedule ID of the planned schedule.
+ +Stops the Schedule.
+ ++ #string + SchedulerID +
+(Optional) Scheduler ID to be stopped. If nil, all pending schedules are stopped.
+ +Set the Class Core.Event processing Priority.
+ + +The Event processing Priority is a number from 1 to 10, +reflecting the order of the classes subscribed to the Event to be processed.
+ ++ #number + EventPriority +
+The Core.Event processing Priority.
+ +self
+ +Set one property of an object.
+ ++ Key +
+The key that is used as a reference of the value. Note that the key can be a #string, but it can also be any other type!
+ ++ Value +
+The value that is stored. Note that the value can be a #string, but it can also be any other type!
+ +Set a state or property of the Object given a Key and a Value.
+ + +Note that if the Object is destroyed, set to nil, or garbage collected, then the Values and Keys will also be gone.
+ ++ Object +
+The object that will hold the Value set by the Key.
+ ++ Key +
+The key that is used as a reference of the value. Note that the key can be a #string, but it can also be any other type!
+ ++ Value +
+The value to is stored in the object.
+ +The Value set.
+ +Trace a function logic level 1.
+ + +Can be anywhere within the function logic.
+ ++ Arguments +
+A #table or any field.
+ +Trace a function logic level 2.
+ + +Can be anywhere within the function logic.
+ ++ Arguments +
+A #table or any field.
+ +Trace a function logic level 3.
+ + +Can be anywhere within the function logic.
+ ++ Arguments +
+A #table or any field.
+ +Trace all methods in MOOSE
+ ++ #boolean + TraceAll +
+true = trace all methods in MOOSE.
+ +Set tracing for a class
+ +Set tracing for a specific method of class
+ ++ #string + Class +
+Class name.
+ ++ #string + Method +
+Method.
+ +Set trace level
+ +Set trace off.
+ +Set trace on.
+ +Set trace on or off +Note that when trace is off, no BASE.Debug statement is performed, increasing performance! +When Moose is loaded statically, (as one file), tracing is switched off by default.
+ + +So tracing must be switched on manually in your mission if you are using Moose statically. +When moose is loading dynamically (for moose class development), tracing is switched on by default.
+ ++ #boolean + TraceOnOff +
+Switch the tracing on or off.
+ +
+ -- Switch the tracing On
+ BASE:TraceOnOff( true )
+
+ -- Switch the tracing Off
+ BASE:TraceOnOff( false )
+
+
+UnSubscribe to a DCS event.
+ ++ Core.Event#EVENTS + EventID +
+Event ID.
+ +Trace a function call.
+ + +This function is private.
+ ++ Arguments +
+A #table or any field.
+ ++ DebugInfoCurrentParam +
++ DebugInfoFromParam +
+(Internal) Serialize arguments
+ ++ #table + Arguments +
+#string:
+Text
+ +Trace a function logic.
+ ++ Arguments +
+A #table or any field.
+ ++ DebugInfoCurrentParam +
++ DebugInfoFromParam +
+The main event handling function...
+ + +This function captures all events generated for the class.
+ +Radio queue of LSO.
-Radio queue of marshal.
-Radio queue of LSO.
- - - -Radio queue of marshal.
- - - -Radio queue of LSO.
- - - -Radio queue of marshal.
- - - -Set case to that of lead.
- @@ -42361,6 +42292,20 @@ When moose is loading dynamically (for moose class development), tracing is switAlso decrease flag for section members of flight.
+ +Data table at each position in the groove. Elements are of type AIRBOSS.GrooveData.
+Set section lead of player flight.
- @@ -42575,6 +42528,9 @@ When moose is loading dynamically (for moose class development), tracing is swit + +Set new time stamp.
+ @@ -42817,6 +42773,17 @@ When moose is loading dynamically (for moose class development), tracing is switBand modulation.
+ + + +Replacement woundedGroups
+Replacement woundedGroups
+Replacement woundedGroups
+template for a group of 10 paratroopers
+template for a group of 10 paratroopers
+set to false to suppress flash messages
-set to false to suppress flash messages
-set to false to suppress flash messages
-set to false to suppress flash messages
-Adjust given heading so that is is in [0, 360).
+Adjust given heading so that is is in [0, 360).
+ +UTILS
++ #number + Heading +
+The heading in degrees.
+ +#number:
+Adjust heading in [0,360).
+ +The DCS controllable class.
-The DCS controllable class.
- - - -The DCS controllable class.
- - - -The DCS controllable class.
- - - -The DCS controllable class.
- - - -