Module Utils.FiFo
+UTILS - ClassicFiFo Stack.
+ + + ++ +
Main Features:
+ +-
+
- Build a simple multi-purpose FiFo (First-In, First-Out) stack for generic data. +
- [Wikipedia](https://en.wikipedia.org/wiki/FIFO_(computing_and_electronics) +
+ +
Author: applevangelist
+ +Global(s)
Global FIFO |
+ + + | +
Global LIFO |
+ + + | +
Type(s)
| Fields and Methods inherited from FIFO | +Description | +
|---|---|
| + |
+ Name of the class. + |
+
| + |
+ Empty FIFO Stack + |
+
| + |
+ FIFO Get stack size + |
+
| + |
+ FIFO Housekeeping + |
+
| + |
+ FIFO Print stacks to dcs.log + |
+
FIFO:ForEach(IteratorFunction, Arg, Function, FunctionArguments) |
+
+ Iterate the FIFO and call an iterator function for the given FIFO data, providing the object for each element of the stack and optional parameters. + |
+
| + |
+ FIFO Get table of data entries + |
+
| + |
+ FIFO Get the data stack by UniqueID + |
+
| + |
+ FIFO Get table of UniqueIDs sorted smallest to largest + |
+
| + |
+ FIFO Get the data stack by pointer + |
+
| + |
+ FIFO Get stack size + |
+
| + |
+ FIFO Get sorted table of data entries by UniqueIDs (must be numerical UniqueIDs only!) + |
+
| + |
+ FIFO Check if a certain UniqeID exists + |
+
| + |
+ FIFO Check Stack is empty + |
+
| + |
+ FIFO Check Stack is NOT empty + |
+
| + |
+ Instantiate a new FIFO Stack + |
+
| + |
+ FIFO Pull Object from Stack + |
+
| + |
+ FIFO Pull Object from Stack by UniqueID + |
+
| + |
+ FIFO Pull Object from Stack by Pointer + |
+
| + |
+ FIFO Push Object to Stack + |
+
| + |
+ FIFO Read, not Pull, Object from Stack by UniqueID + |
+
| + |
+ FIFO Read, not Pull, Object from Stack by Pointer + |
+
| + | + + | +
| + |
+ Class id string for output to DCS log file. + |
+
| + | + + | +
| + | + + | +
| + | + + | +
| + | + + | +
| + |
+ Version of FiFo + |
+
| 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. + |
+
FIFO:CreateEventBirth(EventTime, Initiator, IniUnitName, place, subplace) |
+
+ Creation of a Birth Event. + |
+
| + |
+ Creation of a Crash Event. + |
+
| + |
+ Creation of a Dead Event. + |
+
| + |
+ Creation of a |
+
| + |
+ Creation of a Remove Unit Event. + |
+
| + |
+ Creation of a Takeoff 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 Event processing Priority. + |
+
| + |
+ This is the worker method to retrieve the Parent class. + |
+
| + |
+ 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 object is completely destroyed. + |
+
| + |
+ 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 pilot ejects from an aircraft +initiator : The unit that has ejected + |
+
| + |
+ 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 +initiator : The unit that has landed. + |
+
| + |
+ 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. + |
+
| + |
+ Occurs when a mission starts. + |
+
| + |
+ 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. + |
+
FIFO:ScheduleRepeat(Start, Repeat, RandomizeFactor, Stop, SchedulerFunction, ...) |
+
+ Schedule a new time event. + |
+
| + |
+ Stops the Schedule. + |
+
| + | + + | +
| + |
+ Set the Class Event processing Priority. + |
+
| + |
+ 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. + |
+
| + | + + | +
FIFO:_F(Arguments, DebugInfoCurrentParam, DebugInfoFromParam) |
+
+ Trace a function call. + |
+
FIFO:_T(Arguments, DebugInfoCurrentParam, DebugInfoFromParam) |
+
+ Trace a function logic. + |
+
| + | + + | +
| + | + + | +
| Fields and Methods inherited from FIFO.IDEntry | +Description | +
|---|---|
| + | + + | +
| + | + + | +
| + | + + | +
| Fields and Methods inherited from LIFO | +Description | +
|---|---|
| + |
+ Name of the class. + |
+
| + |
+ Empty LIFO Stack + |
+
| + |
+ LIFO Get stack size + |
+
| + |
+ LIFO Housekeeping + |
+
| + |
+ LIFO Print stacks to dcs.log + |
+
LIFO:ForEach(IteratorFunction, Arg, Function, FunctionArguments) |
+
+ Iterate the LIFO and call an iterator function for the given LIFO data, providing the object for each element of the stack and optional parameters. + |
+
| + |
+ LIFO Get table of data entries + |
+
| + |
+ LIFO Get the data stack by UniqueID + |
+
| + |
+ LIFO Get table of UniqueIDs sorted smallest to largest + |
+
| + |
+ LIFO Get the data stack by pointer + |
+
| + |
+ LIFO Get stack size + |
+
| + |
+ LIFO Get sorted table of data entries by UniqueIDs (must be numerical UniqueIDs only!) + |
+
| + |
+ LIFO Check if a certain UniqeID exists + |
+
| + |
+ LIFO Check Stack is empty + |
+
| + |
+ LIFO Check Stack is NOT empty + |
+
| + |
+ Instantiate a new LIFO Stack + |
+
| + |
+ LIFO Pull Object from Stack + |
+
| + |
+ LIFO Pull Object from Stack by UniqueID + |
+
| + |
+ LIFO Pull Object from Stack by Pointer + |
+
| + |
+ LIFO Push Object to Stack + |
+
| + |
+ LIFO Read, not Pull, Object from Stack by UniqueID + |
+
| + |
+ LIFO Read, not Pull, Object from Stack by Pointer + |
+
| + | + + | +
| + |
+ Class id string for output to DCS log file. + |
+
| + | + + | +
| + | + + | +
| + | + + | +
| + | + + | +
| + |
+ Version of LiFo + |
+
| 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. + |
+
LIFO:CreateEventBirth(EventTime, Initiator, IniUnitName, place, subplace) |
+
+ Creation of a Birth Event. + |
+
| + |
+ Creation of a Crash Event. + |
+
| + |
+ Creation of a Dead Event. + |
+
| + |
+ Creation of a |
+
| + |
+ Creation of a Remove Unit Event. + |
+
| + |
+ Creation of a Takeoff 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 Event processing Priority. + |
+
| + |
+ This is the worker method to retrieve the Parent class. + |
+
| + |
+ 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 object is completely destroyed. + |
+
| + |
+ 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 pilot ejects from an aircraft +initiator : The unit that has ejected + |
+
| + |
+ 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 +initiator : The unit that has landed. + |
+
| + |
+ 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. + |
+
| + |
+ Occurs when a mission starts. + |
+
| + |
+ 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. + |
+
LIFO:ScheduleRepeat(Start, Repeat, RandomizeFactor, Stop, SchedulerFunction, ...) |
+
+ Schedule a new time event. + |
+
| + |
+ Stops the Schedule. + |
+
| + | + + | +
| + |
+ Set the Class Event processing Priority. + |
+
| + |
+ 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. + |
+
| + | + + | +
LIFO:_F(Arguments, DebugInfoCurrentParam, DebugInfoFromParam) |
+
+ Trace a function call. + |
+
LIFO:_T(Arguments, DebugInfoCurrentParam, DebugInfoFromParam) |
+
+ Trace a function logic. + |
+
| + | + + | +
| + | + + | +
| Fields and Methods inherited from LIFO.IDEntry | +Description | +
|---|---|
| + | + + | +
| + | + + | +
| + | + + | +
FIFO class.
+ +Field(s)
+Name of the class.
+ +Class id string for output to DCS log file.
+ +Version of FiFo
+ +Function(s)
+FIFO:Count()
+FIFO Get stack size
+ +Defined in:
+FIFO
+Return value:
+#number:
+size
+ +FIFO Housekeeping
+ +Iterate the FIFO and call an iterator function for the given FIFO data, providing the object for each element of the stack and optional parameters.
+ +Defined in:
+FIFO
+Parameters:
++ #function + IteratorFunction +
+The function that will be called.
+ ++ #table + Arg +
+(Optional) Further Arguments of the IteratorFunction.
+ ++ #function + Function +
+(Optional) A function returning a #boolean true/false. Only if true, the IteratorFunction is called.
+ ++ #table + FunctionArguments +
+(Optional) Function arguments.
+ +Return value:
+self
+ +FIFO Get table of data entries
+ +Defined in:
+FIFO
+Return value:
+#table:
+Raw table indexed [1] to [n] of object entries - might be empty!
+ +FIFO Get the data stack by UniqueID
+ +Defined in:
+FIFO
+Return value:
+#table:
+Table of #FIFO.IDEntry entries
+ +FIFO Get table of UniqueIDs sorted smallest to largest
+ +Defined in:
+FIFO
+Return value:
+#table:
+Table with index [1] to [n] of UniqueID entries
+ +FIFO Get the data stack by pointer
+ +Defined in:
+FIFO
+Return value:
+#table:
+Table of #FIFO.IDEntry entries
+ +FIFO Get stack size
+ +Defined in:
+FIFO
+Return value:
+#number:
+size
+ +FIFO Get sorted table of data entries by UniqueIDs (must be numerical UniqueIDs only!)
+ +Defined in:
+FIFO
+Return value:
+#table:
+Table indexed [1] to [n] of sorted object entries - might be empty!
+ +FIFO Check if a certain UniqeID exists
+ +Defined in:
+FIFO
+Parameter:
++ UniqueID +
+Return value:
+#boolean:
+exists
+ +FIFO Check Stack is empty
+ +Defined in:
+FIFO
+Return value:
+#boolean:
+empty
+ +FIFO Check Stack is NOT empty
+ +Defined in:
+FIFO
+Return value:
+#boolean:
+notempty
+ +FIFO:Pull()
+FIFO Pull Object from Stack
+ +Defined in:
+FIFO
+Return value:
+#table:
+Object or nil if stack is empty
+ +FIFO Pull Object from Stack by UniqueID
+ +Defined in:
+FIFO
+Parameter:
++ UniqueID +
+Return value:
+#table:
+Object or nil if stack is empty
+ +FIFO Pull Object from Stack by Pointer
+ +Defined in:
+FIFO
+Parameter:
++ #number + Pointer +
+Return value:
+#table:
+Object or nil if stack is empty
+ +FIFO Push Object to Stack
+ +Defined in:
+FIFO
+Parameters:
++ #table + Object +
++ #string + UniqueID +
+(optional) - will default to current pointer + 1. Note - if you intend to use FIFO:GetIDStackSorted() keep the UniqueID numerical!
Return value:
+self
+ +FIFO Read, not Pull, Object from Stack by UniqueID
+ +Defined in:
+FIFO
+Parameter:
++ #number + UniqueID +
+Return value:
+#table:
+Object data or nil if stack is empty or ID does not exist
+ +FIFO Read, not Pull, Object from Stack by Pointer
+ +Defined in:
+FIFO
+Parameter:
++ #number + Pointer +
+Return value:
+#table:
+Object or nil if stack is empty or pointer does not exist
+ +Field(s)
+Name of the class.
+ +Class id string for output to DCS log file.
+ +Version of FiFo
+ +Function(s)
+Clear the state of an object.
+ +Defined in:
+ +Parameters:
++ Object +
+The object that holds the Value set by the Key.
+ ++ StateName +
+The key that is should be cleared.
+ +Creation of a Birth Event.
+ +Defined in:
+ +Parameters:
++ 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.
+ +Defined in:
+ +Parameters:
++ DCS#Time + EventTime +
+The time stamp of the event.
+ ++ DCS#Object + Initiator +
+The initiating object of the event.
+ +Creation of a Dead Event.
+ +Defined in:
+ +Parameters:
++ DCS#Time + EventTime +
+The time stamp of the event.
+ ++ DCS#Object + Initiator +
+The initiating object of the event.
+ +Creation of a S_EVENT_PLAYER_ENTER_AIRCRAFT event.
Defined in:
+ +Parameter:
++ Wrapper.Unit#UNIT + PlayerUnit +
+The aircraft unit the player entered.
+ +Creation of a Remove Unit Event.
+ +Defined in:
+ +Parameters:
++ DCS#Time + EventTime +
+The time stamp of the event.
+ ++ DCS#Object + Initiator +
+The initiating object of the event.
+ +Creation of a Takeoff Event.
+ +Defined in:
+ +Parameters:
++ 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.
+ +Defined in:
+ +Parameter:
++ 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.
+ +Defined in:
+ +Parameter:
++ Arguments +
+A #table or any field.
+ +Trace a function call level 2.
+ + +Must be at the beginning of the function logic.
+ +Defined in:
+ +Parameter:
++ Arguments +
+A #table or any field.
+ +Trace a function call level 3.
+ + +Must be at the beginning of the function logic.
+ +Defined in:
+ +Parameter:
++ Arguments +
+A #table or any field.
+ +Get the ClassID of the class instance.
+ +Defined in:
+ +Return value:
+#string:
+The ClassID of the class instance.
+ +Get the ClassName of the class instance.
+ +Defined in:
+ +Return value:
+#string:
+The ClassName of the class instance.
+ +Get the ClassName + ClassID of the class instance.
+ + +The ClassName + ClassID is formatted as '%s#%09d'.
+ +Defined in:
+ +Return value:
+#string:
+The ClassName + ClassID of the class instance.
+ +Get the Class 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 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.
+ +Defined in:
+ +Parameters:
++ 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!
+ +Return value:
+The Value retrieved or nil if the Key was not found and thus the Value could not be retrieved.
+ +Subscribe to a DCS Event.
+ +Defined in:
+ +Parameters:
++ Core.Event#EVENTS + EventID +
+Event ID.
+ ++ #function + EventFunction +
+(optional) The function to be called when the event occurs for the unit.
+ +Return value:
+Log an information which will be traced always.
+ + +Can be anywhere within the function logic.
+ +Defined in:
+ +Parameter:
++ Arguments +
+A #table or any field.
+ +This is the worker method to inherit from a parent class.
+ +Defined in:
+ +Parameters:
++ Child +
+is the Child class that inherits.
+ ++ #BASE + Parent +
+is the Parent class that the Child inherits from.
+ +Return value:
+Child
+ +This is the worker method to check if an object is an (sub)instance of a class.
+ + + +Examples:
+ +-
+
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
+
Defined in:
+ +Parameter:
++ ClassName +
+is the name of the class or the class itself to run the check against
+ +Return value:
+#boolean:
+Enquires if tracing is on (for the class).
+ +FIFO:New()
+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 object is completely destroyed.
+ + +initiator : The unit that is was destroyed.
+ +Defined in:
+ +Parameter:
++ Core.Event#EVENTDATA + EventData +
+The EventData structure.
+ +BDA.
+ +Defined in:
+ +Parameter:
++ Core.Event#EVENTDATA + EventData +
+The EventData structure.
+ +Occurs when a ground unit captures either an airbase or a farp.
+ + +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.
+ +Defined in:
+ +Parameter:
++ Core.Event#EVENTDATA + EventData +
+The EventData structure.
+ +Occurs when any object is spawned into the mission.
+ + +initiator : The unit that was spawned.
+ +Defined in:
+ +Parameter:
++ Core.Event#EVENTDATA + EventData +
+The EventData structure.
+ +Occurs when any aircraft crashes into the ground and is completely destroyed.
+ + +initiator : The unit that has crashed.
+ +Defined in:
+ +Parameter:
++ Core.Event#EVENTDATA + EventData +
+The EventData structure.
+ +Occurs when an object is dead.
+ + +initiator : The unit that is dead.
+ +Defined in:
+ +Parameter:
++ 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.
+ +-
+
- initiator: The unit that had the failure. +
Defined in:
+ +Parameter:
++ Core.Event#EVENTDATA + EventData +
+The EventData structure.
+ +Discard chair after ejection.
+ +Defined in:
+ +Parameter:
++ Core.Event#EVENTDATA + EventData +
+The EventData structure.
+ +Occurs when a pilot ejects from an aircraft +initiator : The unit that has ejected
+ +Defined in:
+ +Parameter:
++ Core.Event#EVENTDATA + EventData +
+The EventData structure.
+ +Occurs when any aircraft shuts down its engines.
+ + +initiator : The unit that is stopping its engines..
+ +Defined in:
+ +Parameter:
++ Core.Event#EVENTDATA + EventData +
+The EventData structure.
+ +Occurs when any aircraft starts its engines.
+ + +initiator : The unit that is starting its engines..
+ +Defined in:
+ +Parameter:
++ Core.Event#EVENTDATA + EventData +
+The EventData structure.
+ +Occurs whenever an object is hit by a weapon.
+ + +initiator : The unit object the fired the weapon. +weapon: Weapon object that hit the target. +target: The Object that was hit.
+ +Defined in:
+ +Parameter:
++ Core.Event#EVENTDATA + EventData +
+The EventData structure.
+ +Occurs when any system fails on a human controlled aircraft.
+ + +initiator : The unit that had the failure.
+ +Defined in:
+ +Parameter:
++ 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.
+ +-
+
- initiator: The unit that killed the target. +
- target: Target Object +
- weapon: Weapon Object +
Defined in:
+ +Parameter:
++ Core.Event#EVENTDATA + EventData +
+The EventData structure.
+ +Occurs when an aircraft lands at an airbase, farp or ship +initiator : The unit that has landed.
+ + +place: Object that the unit landed on. Can be an Airbase Object, FARP, or Ships.
+ +Defined in:
+ +Parameter:
++ 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.
+ +-
+
- initiator: Static object representing the ejected pilot. Place : Aircraft that the pilot ejected from. +
- place: may not return as a valid object if the aircraft has crashed into the ground and no longer exists. +
- subplace: is always 0 for unknown reasons. +
Defined in:
+ +Parameter:
++ Core.Event#EVENTDATA + EventData +
+The EventData structure.
+ +Landing quality mark.
+ +Defined in:
+ +Parameter:
++ Core.Event#EVENTDATA + EventData +
+The EventData structure.
+ +Occurs when a new mark was added.
+ + +MarkID: ID of the mark.
+ +Defined in:
+ +Parameter:
++ Core.Event#EVENTDATA + EventData +
+The EventData structure.
+ +Occurs when a mark text was changed.
+ + +MarkID: ID of the mark.
+ +Defined in:
+ +Parameter:
++ Core.Event#EVENTDATA + EventData +
+The EventData structure.
+ +Occurs when a mark was removed.
+ + +MarkID: ID of the mark.
+ +Defined in:
+ +Parameter:
++ Core.Event#EVENTDATA + EventData +
+The EventData structure.
+ +Occurs when a mission ends.
+ +Defined in:
+ +Parameter:
++ Core.Event#EVENTDATA + EventData +
+The EventData structure.
+ +Occurs when a mission starts.
+ +Defined in:
+ +Parameter:
++ 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.
+ +Defined in:
+ +Parameter:
++ 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. +initiator : The unit that the pilot has died in.
+ +Defined in:
+ +Parameter:
++ Core.Event#EVENTDATA + EventData +
+The EventData structure.
+ +Occurs when a player enters a slot and takes control of an aircraft.
+ + +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.
+ +Defined in:
+ +Parameter:
++ Core.Event#EVENTDATA + EventData +
+The EventData structure.
+ +Occurs when any player assumes direct control of a unit.
+ + +initiator : The unit that is being taken control of.
+ +Defined in:
+ +Parameter:
++ Core.Event#EVENTDATA + EventData +
+The EventData structure.
+ +Occurs when any player relieves control of a unit to the AI.
+ + +initiator : The unit that the player left.
+ +Defined in:
+ +Parameter:
++ Core.Event#EVENTDATA + EventData +
+The EventData structure.
+ +Occurs when an aircraft connects with a tanker and begins taking on fuel.
+ + +initiator : The unit that is receiving fuel.
+ +Defined in:
+ +Parameter:
++ Core.Event#EVENTDATA + EventData +
+The EventData structure.
+ +Occurs when an aircraft is finished taking fuel.
+ + +initiator : The unit that was receiving fuel.
+ +Defined in:
+ +Parameter:
++ 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.
+ +Defined in:
+ +Parameter:
++ Core.Event#EVENTDATA + EventData +
+The EventData structure.
+ +Occurs when any unit stops firing its weapon.
+ + +Event will always correspond with a shooting start event. +initiator : The unit that was doing the shooting.
+ +Defined in:
+ +Parameter:
++ 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), auto cannons, and machine guns. +initiator : The unit that is doing the shooting. +target: The unit that is being targeted.
+ +Defined in:
+ +Parameter:
++ Core.Event#EVENTDATA + EventData +
+The EventData structure.
+ +Occurs whenever any unit in a mission fires a weapon.
+ + +But not any machine gun or auto cannon based weapon, those are handled by EVENT.ShootingStart.
+ +Defined in:
+ +Parameter:
++ Core.Event#EVENTDATA + EventData +
+The EventData structure.
+ +Occurs when an aircraft takes off from an airbase, farp, or ship.
+ + +initiator : The unit that took off. +place: Object from where the AI took-off from. Can be an Airbase Object, FARP, or Ships.
+ +Defined in:
+ +Parameter:
++ Core.Event#EVENTDATA + EventData +
+The EventData structure.
+ +Trigger zone.
+ +Defined in:
+ +Parameter:
++ Core.Event#EVENTDATA + EventData +
+The EventData structure.
+ +Occurs when the game thinks an object is destroyed.
+ + + +-
+
- initiator: The unit that is was destroyed. +
Defined in:
+ +Parameter:
++ 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.
+ +Defined in:
+ +Parameters:
++ #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.
+ ++ #table + ... +
+Optional arguments that can be given as part of scheduler. The arguments need to be given as a table { param1, param 2, ... }.
+ +Return value:
+#number:
+The ScheduleID 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.
+ +Defined in:
+ +Parameters:
++ #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, ... }.
+ +Return value:
+#number:
+The ScheduleID of the planned schedule.
+ +Stops the Schedule.
+ +Defined in:
+ +Parameter:
++ #function + SchedulerFunction +
+The event function to be called when a timer event occurs. The event function needs to accept the parameters specified in SchedulerArguments.
+ +Set the Class 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.
+ +Defined in:
+ +Parameter:
++ #number + EventPriority +
+The Event processing Priority.
+ +Return value:
+self
+ +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.
+ +Defined in:
+ +Parameters:
++ 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.
+ +Return value:
+The Value set.
+ +Trace a function logic level 1.
+ + +Can be anywhere within the function logic.
+ +Defined in:
+ +Parameter:
++ Arguments +
+A #table or any field.
+ +Trace a function logic level 2.
+ + +Can be anywhere within the function logic.
+ +Defined in:
+ +Parameter:
++ Arguments +
+A #table or any field.
+ +Trace a function logic level 3.
+ + +Can be anywhere within the function logic.
+ +Defined in:
+ +Parameter:
++ Arguments +
+A #table or any field.
+ +Trace all methods in MOOSE
+ +Defined in:
+ +Parameter:
++ #boolean + TraceAll +
+true = trace all methods in MOOSE.
+ +Set tracing for a class
+ +Set tracing for a specific method of class
+ +Defined in:
+ +Parameters:
++ #string + Class +
++ #string + 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.
+ +Defined in:
+ +Parameter:
++ #boolean + TraceOnOff +
+Switch the tracing on or off.
+ +Usage:
+
+ -- Switch the tracing On
+ BASE:TraceOnOff( true )
+
+ -- Switch the tracing Off
+ BASE:TraceOnOff( false )
+
+
+UnSubscribe to a DCS event.
+ +Defined in:
+ +Parameter:
++ Core.Event#EVENTS + EventID +
+Event ID.
+ +Return value:
+Trace a function call.
+ + +This function is private.
+ +Defined in:
+ +Parameters:
++ Arguments +
+A #table or any field.
+ ++ DebugInfoCurrentParam +
++ DebugInfoFromParam +
+Trace a function logic.
+ +Defined in:
+ +Parameters:
++ Arguments +
+A #table or any field.
+ ++ DebugInfoCurrentParam +
++ DebugInfoFromParam +
+TODO: Complete DCS#Event structure. +- The main event handling function... This function captures all events generated for the class. + @param #BASE self + @param DCS#Event event
+ +Field(s)
+Function(s)
+LIFO class.
+ +Field(s)
+Name of the class.
+ +Class id string for output to DCS log file.
+ +Version of LiFo
+ +Function(s)
+LIFO:Count()
+LIFO Get stack size
+ +Defined in:
+LIFO
+Return value:
+#number:
+size
+ +LIFO Housekeeping
+ +Iterate the LIFO and call an iterator function for the given LIFO data, providing the object for each element of the stack and optional parameters.
+ +Defined in:
+LIFO
+Parameters:
++ #function + IteratorFunction +
+The function that will be called.
+ ++ #table + Arg +
+(Optional) Further Arguments of the IteratorFunction.
+ ++ #function + Function +
+(Optional) A function returning a #boolean true/false. Only if true, the IteratorFunction is called.
+ ++ #table + FunctionArguments +
+(Optional) Function arguments.
+ +Return value:
+self
+ +LIFO Get table of data entries
+ +Defined in:
+LIFO
+Return value:
+#table:
+Raw table indexed [1] to [n] of object entries - might be empty!
+ +LIFO Get the data stack by UniqueID
+ +Defined in:
+LIFO
+Return value:
+#table:
+Table of #LIFO.IDEntry entries
+ +LIFO Get table of UniqueIDs sorted smallest to largest
+ +Defined in:
+LIFO
+Return value:
+#table:
+Table of #LIFO.IDEntry entries
+ +LIFO Get the data stack by pointer
+ +Defined in:
+LIFO
+Return value:
+#table:
+Table of #LIFO.IDEntry entries
+ +LIFO Get stack size
+ +Defined in:
+LIFO
+Return value:
+#number:
+size
+ +LIFO Get sorted table of data entries by UniqueIDs (must be numerical UniqueIDs only!)
+ +Defined in:
+LIFO
+Return value:
+#table:
+Table indexed [1] to [n] of sorted object entries - might be empty!
+ +LIFO Check if a certain UniqeID exists
+ +Defined in:
+LIFO
+Parameter:
++ UniqueID +
+Return value:
+#boolean:
+exists
+ +LIFO Check Stack is empty
+ +Defined in:
+LIFO
+Return value:
+#boolean:
+empty
+ +LIFO Check Stack is NOT empty
+ +Defined in:
+LIFO
+Return value:
+#boolean:
+notempty
+ +LIFO:Pull()
+LIFO Pull Object from Stack
+ +Defined in:
+LIFO
+Return value:
+#table:
+Object or nil if stack is empty
+ +LIFO Pull Object from Stack by UniqueID
+ +Defined in:
+LIFO
+Parameter:
++ UniqueID +
+Return value:
+#table:
+Object or nil if stack is empty
+ +LIFO Pull Object from Stack by Pointer
+ +Defined in:
+LIFO
+Parameter:
++ #number + Pointer +
+Return value:
+#table:
+Object or nil if stack is empty
+ +LIFO Push Object to Stack
+ +Defined in:
+LIFO
+Parameters:
++ #table + Object +
++ #string + UniqueID +
+(optional) - will default to current pointer + 1
+ +Return value:
+self
+ +LIFO Read, not Pull, Object from Stack by UniqueID
+ +Defined in:
+LIFO
+Parameter:
++ #number + UniqueID +
+Return value:
+#table:
+Object or nil if stack is empty or ID does not exist
+ +LIFO Read, not Pull, Object from Stack by Pointer
+ +Defined in:
+LIFO
+Parameter:
++ #number + Pointer +
+Return value:
+#table:
+Object or nil if stack is empty or pointer does not exist
+ +Field(s)
+Name of the class.
+ +Class id string for output to DCS log file.
+ +Version of LiFo
+ +Function(s)
+Clear the state of an object.
+ +Defined in:
+ +Parameters:
++ Object +
+The object that holds the Value set by the Key.
+ ++ StateName +
+The key that is should be cleared.
+ +Creation of a Birth Event.
+ +Defined in:
+ +Parameters:
++ 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.
+ +Defined in:
+ +Parameters:
++ DCS#Time + EventTime +
+The time stamp of the event.
+ ++ DCS#Object + Initiator +
+The initiating object of the event.
+ +Creation of a Dead Event.
+ +Defined in:
+ +Parameters:
++ DCS#Time + EventTime +
+The time stamp of the event.
+ ++ DCS#Object + Initiator +
+The initiating object of the event.
+ +Creation of a S_EVENT_PLAYER_ENTER_AIRCRAFT event.
Defined in:
+ +Parameter:
++ Wrapper.Unit#UNIT + PlayerUnit +
+The aircraft unit the player entered.
+ +Creation of a Remove Unit Event.
+ +Defined in:
+ +Parameters:
++ DCS#Time + EventTime +
+The time stamp of the event.
+ ++ DCS#Object + Initiator +
+The initiating object of the event.
+ +Creation of a Takeoff Event.
+ +Defined in:
+ +Parameters:
++ 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.
+ +Defined in:
+ +Parameter:
++ 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.
+ +Defined in:
+ +Parameter:
++ Arguments +
+A #table or any field.
+ +Trace a function call level 2.
+ + +Must be at the beginning of the function logic.
+ +Defined in:
+ +Parameter:
++ Arguments +
+A #table or any field.
+ +Trace a function call level 3.
+ + +Must be at the beginning of the function logic.
+ +Defined in:
+ +Parameter:
++ Arguments +
+A #table or any field.
+ +Get the ClassID of the class instance.
+ +Defined in:
+ +Return value:
+#string:
+The ClassID of the class instance.
+ +Get the ClassName of the class instance.
+ +Defined in:
+ +Return value:
+#string:
+The ClassName of the class instance.
+ +Get the ClassName + ClassID of the class instance.
+ + +The ClassName + ClassID is formatted as '%s#%09d'.
+ +Defined in:
+ +Return value:
+#string:
+The ClassName + ClassID of the class instance.
+ +Get the Class 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 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.
+ +Defined in:
+ +Parameters:
++ 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!
+ +Return value:
+The Value retrieved or nil if the Key was not found and thus the Value could not be retrieved.
+ +Subscribe to a DCS Event.
+ +Defined in:
+ +Parameters:
++ Core.Event#EVENTS + EventID +
+Event ID.
+ ++ #function + EventFunction +
+(optional) The function to be called when the event occurs for the unit.
+ +Return value:
+Log an information which will be traced always.
+ + +Can be anywhere within the function logic.
+ +Defined in:
+ +Parameter:
++ Arguments +
+A #table or any field.
+ +This is the worker method to inherit from a parent class.
+ +Defined in:
+ +Parameters:
++ Child +
+is the Child class that inherits.
+ ++ #BASE + Parent +
+is the Parent class that the Child inherits from.
+ +Return value:
+Child
+ +This is the worker method to check if an object is an (sub)instance of a class.
+ + + +Examples:
+ +-
+
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
+
Defined in:
+ +Parameter:
++ ClassName +
+is the name of the class or the class itself to run the check against
+ +Return value:
+#boolean:
+Enquires if tracing is on (for the class).
+ +LIFO:New()
+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 object is completely destroyed.
+ + +initiator : The unit that is was destroyed.
+ +Defined in:
+ +Parameter:
++ Core.Event#EVENTDATA + EventData +
+The EventData structure.
+ +BDA.
+ +Defined in:
+ +Parameter:
++ Core.Event#EVENTDATA + EventData +
+The EventData structure.
+ +Occurs when a ground unit captures either an airbase or a farp.
+ + +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.
+ +Defined in:
+ +Parameter:
++ Core.Event#EVENTDATA + EventData +
+The EventData structure.
+ +Occurs when any object is spawned into the mission.
+ + +initiator : The unit that was spawned.
+ +Defined in:
+ +Parameter:
++ Core.Event#EVENTDATA + EventData +
+The EventData structure.
+ +Occurs when any aircraft crashes into the ground and is completely destroyed.
+ + +initiator : The unit that has crashed.
+ +Defined in:
+ +Parameter:
++ Core.Event#EVENTDATA + EventData +
+The EventData structure.
+ +Occurs when an object is dead.
+ + +initiator : The unit that is dead.
+ +Defined in:
+ +Parameter:
++ 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.
+ +-
+
- initiator: The unit that had the failure. +
Defined in:
+ +Parameter:
++ Core.Event#EVENTDATA + EventData +
+The EventData structure.
+ +Discard chair after ejection.
+ +Defined in:
+ +Parameter:
++ Core.Event#EVENTDATA + EventData +
+The EventData structure.
+ +Occurs when a pilot ejects from an aircraft +initiator : The unit that has ejected
+ +Defined in:
+ +Parameter:
++ Core.Event#EVENTDATA + EventData +
+The EventData structure.
+ +Occurs when any aircraft shuts down its engines.
+ + +initiator : The unit that is stopping its engines..
+ +Defined in:
+ +Parameter:
++ Core.Event#EVENTDATA + EventData +
+The EventData structure.
+ +Occurs when any aircraft starts its engines.
+ + +initiator : The unit that is starting its engines..
+ +Defined in:
+ +Parameter:
++ Core.Event#EVENTDATA + EventData +
+The EventData structure.
+ +Occurs whenever an object is hit by a weapon.
+ + +initiator : The unit object the fired the weapon. +weapon: Weapon object that hit the target. +target: The Object that was hit.
+ +Defined in:
+ +Parameter:
++ Core.Event#EVENTDATA + EventData +
+The EventData structure.
+ +Occurs when any system fails on a human controlled aircraft.
+ + +initiator : The unit that had the failure.
+ +Defined in:
+ +Parameter:
++ 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.
+ +-
+
- initiator: The unit that killed the target. +
- target: Target Object +
- weapon: Weapon Object +
Defined in:
+ +Parameter:
++ Core.Event#EVENTDATA + EventData +
+The EventData structure.
+ +Occurs when an aircraft lands at an airbase, farp or ship +initiator : The unit that has landed.
+ + +place: Object that the unit landed on. Can be an Airbase Object, FARP, or Ships.
+ +Defined in:
+ +Parameter:
++ 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.
+ +-
+
- initiator: Static object representing the ejected pilot. Place : Aircraft that the pilot ejected from. +
- place: may not return as a valid object if the aircraft has crashed into the ground and no longer exists. +
- subplace: is always 0 for unknown reasons. +
Defined in:
+ +Parameter:
++ Core.Event#EVENTDATA + EventData +
+The EventData structure.
+ +Landing quality mark.
+ +Defined in:
+ +Parameter:
++ Core.Event#EVENTDATA + EventData +
+The EventData structure.
+ +Occurs when a new mark was added.
+ + +MarkID: ID of the mark.
+ +Defined in:
+ +Parameter:
++ Core.Event#EVENTDATA + EventData +
+The EventData structure.
+ +Occurs when a mark text was changed.
+ + +MarkID: ID of the mark.
+ +Defined in:
+ +Parameter:
++ Core.Event#EVENTDATA + EventData +
+The EventData structure.
+ +Occurs when a mark was removed.
+ + +MarkID: ID of the mark.
+ +Defined in:
+ +Parameter:
++ Core.Event#EVENTDATA + EventData +
+The EventData structure.
+ +Occurs when a mission ends.
+ +Defined in:
+ +Parameter:
++ Core.Event#EVENTDATA + EventData +
+The EventData structure.
+ +Occurs when a mission starts.
+ +Defined in:
+ +Parameter:
++ 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.
+ +Defined in:
+ +Parameter:
++ 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. +initiator : The unit that the pilot has died in.
+ +Defined in:
+ +Parameter:
++ Core.Event#EVENTDATA + EventData +
+The EventData structure.
+ +Occurs when a player enters a slot and takes control of an aircraft.
+ + +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.
+ +Defined in:
+ +Parameter:
++ Core.Event#EVENTDATA + EventData +
+The EventData structure.
+ +Occurs when any player assumes direct control of a unit.
+ + +initiator : The unit that is being taken control of.
+ +Defined in:
+ +Parameter:
++ Core.Event#EVENTDATA + EventData +
+The EventData structure.
+ +Occurs when any player relieves control of a unit to the AI.
+ + +initiator : The unit that the player left.
+ +Defined in:
+ +Parameter:
++ Core.Event#EVENTDATA + EventData +
+The EventData structure.
+ +Occurs when an aircraft connects with a tanker and begins taking on fuel.
+ + +initiator : The unit that is receiving fuel.
+ +Defined in:
+ +Parameter:
++ Core.Event#EVENTDATA + EventData +
+The EventData structure.
+ +Occurs when an aircraft is finished taking fuel.
+ + +initiator : The unit that was receiving fuel.
+ +Defined in:
+ +Parameter:
++ 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.
+ +Defined in:
+ +Parameter:
++ Core.Event#EVENTDATA + EventData +
+The EventData structure.
+ +Occurs when any unit stops firing its weapon.
+ + +Event will always correspond with a shooting start event. +initiator : The unit that was doing the shooting.
+ +Defined in:
+ +Parameter:
++ 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), auto cannons, and machine guns. +initiator : The unit that is doing the shooting. +target: The unit that is being targeted.
+ +Defined in:
+ +Parameter:
++ Core.Event#EVENTDATA + EventData +
+The EventData structure.
+ +Occurs whenever any unit in a mission fires a weapon.
+ + +But not any machine gun or auto cannon based weapon, those are handled by EVENT.ShootingStart.
+ +Defined in:
+ +Parameter:
++ Core.Event#EVENTDATA + EventData +
+The EventData structure.
+ +Occurs when an aircraft takes off from an airbase, farp, or ship.
+ + +initiator : The unit that took off. +place: Object from where the AI took-off from. Can be an Airbase Object, FARP, or Ships.
+ +Defined in:
+ +Parameter:
++ Core.Event#EVENTDATA + EventData +
+The EventData structure.
+ +Trigger zone.
+ +Defined in:
+ +Parameter:
++ Core.Event#EVENTDATA + EventData +
+The EventData structure.
+ +Occurs when the game thinks an object is destroyed.
+ + + +-
+
- initiator: The unit that is was destroyed. +
Defined in:
+ +Parameter:
++ 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.
+ +Defined in:
+ +Parameters:
++ #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.
+ ++ #table + ... +
+Optional arguments that can be given as part of scheduler. The arguments need to be given as a table { param1, param 2, ... }.
+ +Return value:
+#number:
+The ScheduleID 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.
+ +Defined in:
+ +Parameters:
++ #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, ... }.
+ +Return value:
+#number:
+The ScheduleID of the planned schedule.
+ +Stops the Schedule.
+ +Defined in:
+ +Parameter:
++ #function + SchedulerFunction +
+The event function to be called when a timer event occurs. The event function needs to accept the parameters specified in SchedulerArguments.
+ +Set the Class 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.
+ +Defined in:
+ +Parameter:
++ #number + EventPriority +
+The Event processing Priority.
+ +Return value:
+self
+ +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.
+ +Defined in:
+ +Parameters:
++ 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.
+ +Return value:
+The Value set.
+ +Trace a function logic level 1.
+ + +Can be anywhere within the function logic.
+ +Defined in:
+ +Parameter:
++ Arguments +
+A #table or any field.
+ +Trace a function logic level 2.
+ + +Can be anywhere within the function logic.
+ +Defined in:
+ +Parameter:
++ Arguments +
+A #table or any field.
+ +Trace a function logic level 3.
+ + +Can be anywhere within the function logic.
+ +Defined in:
+ +Parameter:
++ Arguments +
+A #table or any field.
+ +Trace all methods in MOOSE
+ +Defined in:
+ +Parameter:
++ #boolean + TraceAll +
+true = trace all methods in MOOSE.
+ +Set tracing for a class
+ +Set tracing for a specific method of class
+ +Defined in:
+ +Parameters:
++ #string + Class +
++ #string + 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.
+ +Defined in:
+ +Parameter:
++ #boolean + TraceOnOff +
+Switch the tracing on or off.
+ +Usage:
+
+ -- Switch the tracing On
+ BASE:TraceOnOff( true )
+
+ -- Switch the tracing Off
+ BASE:TraceOnOff( false )
+
+
+UnSubscribe to a DCS event.
+ +Defined in:
+ +Parameter:
++ Core.Event#EVENTS + EventID +
+Event ID.
+ +Return value:
+Trace a function call.
+ + +This function is private.
+ +Defined in:
+ +Parameters:
++ Arguments +
+A #table or any field.
+ ++ DebugInfoCurrentParam +
++ DebugInfoFromParam +
+Trace a function logic.
+ +Defined in:
+ +Parameters:
++ Arguments +
+A #table or any field.
+ ++ DebugInfoCurrentParam +
++ DebugInfoFromParam +
+TODO: Complete DCS#Event structure. +- The main event handling function... This function captures all events generated for the class. + @param #BASE self + @param DCS#Event event
+ +