Module Wrapper.Storage
-Wrapper - Warehouse storage of DCS airbases.
- - - -Main Features:
- --
-
- Convenient access to DCS API functions -
- -
Example Missions:
- -Demo missions can be found on github.
- -- -
Author: funkyfranky
- -- -
Global(s)
Global STORAGE |
-
- The capitalist cannot store labour-power in warehouses after he has bought it, as he may do with the raw material. -- Karl Marx - -- - The STORAGE Concept- -The STORAGE class offers an easy-to-use wrapper interface to all DCS API functions of DCS warehouses. - |
-
The capitalist cannot store labour-power in warehouses after he has bought it, as he may do with the raw material. -- Karl Marx
- -- -
The STORAGE Concept
- -The STORAGE class offers an easy-to-use wrapper interface to all DCS API functions of DCS warehouses.
- - -We named the class STORAGE, because the name WAREHOUSE is already taken by another MOOSE class.
- -This class allows you to add and remove items to a DCS warehouse, such as aircraft, liquids, weapons and other equipment.
- -Constructor
- -A DCS warehouse is associated with an airbase. Therefore, a STORAGE instance is automatically created, once an airbase is registered and added to the MOOSE database.
You can get the STORAGE object from the
-- Create a STORAGE instance of the Batumi warehouse
-local storage=STORAGE:FindByName("Batumi")
-
-
-An other way to get the STORAGE object is to retrieve it from the AIRBASE function AIRBASE:GetStorage()
-- Get storage instance of Batumi airbase
-local Batumi=AIRBASE:FindByName("Batumi")
-local storage=Batumi:GetStorage()
-
-
-Aircraft, Weapons and Equipment
- -Adding Items
- -To add aircraft, weapons and/or othe equipment, you can use the STORAGE.AddItem() function
- -storage:AddItem("A-10C", 3)
-storage:AddItem("weapons.missiles.AIM_120C", 10)
-
-
-This will add three A-10Cs and ten AIM-120C missiles to the warehouse inventory.
- -Setting Items
- -You can also explicitly set, how many items are in the inventory with the STORAGE.SetItem() function.
- -Removing Items
- -Items can be removed from the inventory with the STORAGE.RemoveItem() function.
- -Getting Amount
- -The number of items currently in the inventory can be obtained with the STORAGE.GetItemAmount() function
- -local N=storage:GetItemAmount("A-10C")
-env.info(string.format("We currently have %d A-10Cs available", N))
-
-
-Liquids
- -Liquids can be added and removed by slightly different functions as described below. Currently there are four types of liquids
- --
-
- Jet fuel
STORAGE.Liquid.JETFUEL
- - Aircraft gasoline
STORAGE.Liquid.GASOLINE
- - MW 50
STORAGE.Liquid.MW50
- - Diesel
STORAGE.Liquid.DIESEL
-
Adding Liquids
- -To add a certain type of liquid, you can use the STORAGE.AddItem(Type, Amount) function
- -storage:AddLiquid(STORAGE.Liquid.JETFUEL, 10000)
-storage:AddLiquid(STORAGE.Liquid.DIESEL, 20000)
-
-
-This will add 10,000 kg of jet fuel and 20,000 kg of diesel to the inventory.
- -Setting Liquids
- -You can also explicitly set the amount of liquid with the STORAGE.SetLiquid(Type, Amount) function.
- -Removing Liquids
- -Liquids can be removed with STORAGE.RemoveLiquid(Type, Amount) function.
- -Getting Amount
- -The current amount of a certain liquid can be obtained with the STORAGE.GetLiquidAmount(Type) function
- -local N=storage:GetLiquidAmount(STORAGE.Liquid.DIESEL)
-env.info(string.format("We currently have %d kg of Diesel available", N))
-
-
-
-Inventory
- -The current inventory of the warehouse can be obtained with the STORAGE.GetInventory() function. This returns three tables with the aircraft, liquids and weapons:
- -local aircraft, liquids, weapons=storage:GetInventory()
-
-UTILS.PrintTableToLog(aircraft)
-UTILS.PrintTableToLog(liquids)
-UTILS.PrintTableToLog(weapons)
-
-
-Weapons Helper Enumerater
- -The currently available weapon items are available in the ENUMS.Storage.weapons, e.g. ENUMS.Storage.weapons.bombs.Mk_82Y.
Persistence
- -The contents of the storage can be saved to and read from disk. For this to function, io and lfs need to be desanitized in MissionScripting.lua.
Save once
- -To save once, e.g. this is sufficient:
- - -- Filenames created are the Filename given amended by "_Liquids", "_Aircraft" and "_Weapons" followed by a ".csv". Only Storage NOT set to unlimited will be saved.
- local Path = "C:\\Users\\UserName\\Saved Games\\DCS\\Missions\\"
- local Filename = "Batumi"
- storage:SaveToFile(Path,Filename)
-
-
-Autosave
- - storage:StartAutoSave(Path,Filename,300,true) -- save every 300 secs/5 mins starting in 5 mins, load the existing storage - if any - first if the last parameter is **not** `false`.
-
-
-Stop Autosave
- - storage:StopAutoSave() -- stop the scheduler.
-
-
-Load back with e.g.
- - -- Filenames searched for the Filename given amended by "_Liquids", "_Aircraft" and "_Weapons" followed by a ".csv". Only Storage NOT set to unlimited will be loaded.
- local Path = "C:\\Users\\UserName\\Saved Games\\DCS\\Missions\\"
- local Filename = "Batumi"
- storage:LoadFromFile(Path,Filename)
-
-
-
-
-Type(s)
| Fields and Methods inherited from STORAGE | -Description | -
|---|---|
| - |
- Adds the amount of a given type of aircraft, liquid, weapon currently present the warehouse. - |
-
| - |
- Adds the passed amount of a given item to the warehouse. - |
-
| - |
- Adds the passed amount of a given liquid to the warehouse. - |
-
| - |
- Name of the class. - |
-
| - |
- Airbases only - Find a STORAGE in the _DATABASE using the name associated airbase. - |
-
| - |
- Try to find the #STORAGE object of one of the many "H"-Helipads in Syria. - |
-
| - |
- Gets the amount of a given type of aircraft, liquid, weapon currently present the warehouse. - |
-
| - |
- Returns a full itemized list of everything currently in a warehouse. - |
-
| - |
- Gets the amount of a given item currently present the warehouse. - |
-
| - |
- Gets the amount of a given liquid currently present the warehouse. - |
-
| - |
- Returns the name of the liquid from its numeric type. - |
-
| - |
- Returns whether a given type of aircraft, liquid, weapon is set to be limited. - |
-
| - |
- Returns whether aircraft are limited. - |
-
| - |
- Returns whether liquids are limited. - |
-
| - |
- Returns whether weapons and equipment are limited. - |
-
| - |
- Returns whether a given type of aircraft, liquid, weapon is set to be unlimited. - |
-
| - |
- Returns whether aircraft are unlimited. - |
-
| - |
- Returns whether liquids are unlimited. - |
-
| - |
- Returns whether weapons and equipment are unlimited. - |
-
| - | - - | -
| - | - - | -
| - |
- Load the contents of a STORAGE from files. - |
-
| - |
- Create a new STORAGE object from the DCS airbase object. - |
-
| - |
- Create a new STORAGE object from a Wrapper.DynamicCargo#DYNAMICCARGO object. - |
-
| - |
- Create a new STORAGE object from an DCS static cargo object. - |
-
| - |
- Removes the amount of a given type of aircraft, liquid, weapon from the warehouse. - |
-
| - |
- Removes the amount of the passed item from the warehouse. - |
-
| - |
- Removes the amount of the given liquid type from the warehouse. - |
-
| - |
- Save the contents of a STORAGE to files in CSV format. - |
-
| - |
- The TIMER for autosave. - |
-
| - |
- Sets the amount of a given type of aircraft, liquid, weapon currently present the warehouse. - |
-
| - |
- Sets the specified amount of a given item to the warehouse. - |
-
| - |
- Sets the specified amount of a given liquid to the warehouse. - |
-
| - |
- Set verbosity level. - |
-
| - |
- Start a STORAGE autosave process. - |
-
| - |
- Stop a running STORAGE autosave process. - |
-
| - | - - | -
| - |
- The DCS airbase object. - |
-
| - |
- Class id string for output to DCS log file. - |
-
| - |
- Verbosity level. - |
-
| - |
- STORAGE class version. - |
-
| - |
- The DCS warehouse object. - |
-
| 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. - |
-
STORAGE:CreateEventBirth(EventTime, Initiator, IniUnitName, place, subplace) |
-
- Creation of a Birth Event. - |
-
STORAGE:CreateEventCrash(EventTime, Initiator, IniObjectCategory) |
-
- Creation of a Crash Event. - |
-
STORAGE: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. - |
-
STORAGE: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. - |
-
| - | - - | -
STORAGE:_F(Arguments, DebugInfoCurrentParam, DebugInfoFromParam) |
-
- Trace a function call. - |
-
| - |
- (Internal) Serialize arguments - |
-
STORAGE:_T(Arguments, DebugInfoCurrentParam, DebugInfoFromParam) |
-
- Trace a function logic. - |
-
| - | - - | -
| - |
- The main event handling function... - |
-
| Fields and Methods inherited from STORAGE.Liquid | -Description | -
|---|---|
| - |
- Diesel (3). - |
-
| - |
- Aviation gasoline (1). - |
-
| - |
- Jet fuel (0). - |
-
| - |
- MW50 (2). - |
-
| Fields and Methods inherited from STORAGE.LiquidName | -Description | -
|---|---|
| - |
- "diesel". - |
-
| - |
- "gasoline". - |
-
| - |
- "jet_fuel". - |
-
| - |
- "methanol_mixture". - |
-
| Fields and Methods inherited from STORAGE.Type | -Description | -
|---|---|
| - |
- aircraft. - |
-
| - |
- liquids. Also see #list<#STORAGE.Liquid> for types of liquids. - |
-
| - |
- weapons. - |
-
STORAGE class.
- -Field(s)
-Name of the class.
- -Class id string for output to DCS log file.
- -Verbosity level.
- -STORAGE class version.
- -Function(s)
-Adds the amount of a given type of aircraft, liquid, weapon currently present the warehouse.
- -Defined in:
-STORAGE
-Parameters:
-- #number - Type -
-Type of liquid or name of aircraft, weapon or equipment.
- -- #number - Amount -
-Amount of given type to add. Liquids in kg.
- -Return value:
-self
- -Adds the passed amount of a given item to the warehouse.
- -Defined in:
-STORAGE
-Parameters:
-- #string - Name -
-Name of the item to add.
- -- #number - Amount -
-Amount of items to add.
- -Return value:
-self
- -Adds the passed amount of a given liquid to the warehouse.
- -Defined in:
-STORAGE
-Parameters:
-- #number - Type -
-Type of liquid.
- -- #number - Amount -
-Amount of liquid to add.
- -Return value:
-self
- -Airbases only - Find a STORAGE in the _DATABASE using the name associated airbase.
- -Defined in:
-STORAGE
-Parameter:
-- #string - AirbaseName -
-The Airbase Name.
- -Return value:
-self
- -Try to find the #STORAGE object of one of the many "H"-Helipads in Syria.
- - -You need to put a (small, round) zone on top of it, because the name is not unique(!).
- -Defined in:
-STORAGE
-Parameter:
-- #string - ZoneName -
-The name of the zone where to find the helipad.
- -Return value:
-self or nil if not found.
- -Gets the amount of a given type of aircraft, liquid, weapon currently present the warehouse.
- -Defined in:
-STORAGE
-Parameter:
-- #number - Type -
-Type of liquid or name of aircraft, weapon or equipment.
- -Return value:
-#number:
-Amount of given type. Liquids in kg.
- -Returns a full itemized list of everything currently in a warehouse.
- - -If a category is set to unlimited then the table will be returned empty.
- -Defined in:
-STORAGE
-Parameter:
-- #string - Item -
-Name of item as #string or type of liquid as #number.
- -Return values:
-#table:
-Table of aircraft. Table is emtpy {} if number of aircraft is set to be unlimited.
#table:
-Table of liquids. Table is emtpy {} if number of liquids is set to be unlimited.
#table:
-Table of weapons and other equipment. Table is emtpy {} if number of liquids is set to be unlimited.
Gets the amount of a given item currently present the warehouse.
- -Defined in:
-STORAGE
-Parameter:
-- #string - Name -
-Name of the item.
- -Return value:
-#number:
-Amount of items.
- -Gets the amount of a given liquid currently present the warehouse.
- -Defined in:
-STORAGE
-Parameter:
-- #number - Type -
-Type of liquid.
- -Return value:
-#number:
-Amount of liquid in kg.
- -Returns the name of the liquid from its numeric type.
- -Defined in:
-STORAGE
-Parameter:
-- #number - Type -
-Type of liquid.
- -Return value:
-#string:
-Name of the liquid.
- -Returns whether a given type of aircraft, liquid, weapon is set to be limited.
- -Defined in:
-STORAGE
-Parameter:
-- #number - Type -
-Type of liquid or name of aircraft, weapon or equipment.
- -Return value:
-#boolean:
-If true the given type is limited or false otherwise.
Returns whether aircraft are limited.
- -Defined in:
-STORAGE
-Return value:
-#boolean:
-If true aircraft are limited or false otherwise.
Returns whether liquids are limited.
- -Defined in:
-STORAGE
-Return value:
-#boolean:
-If true liquids are limited or false otherwise.
Returns whether weapons and equipment are limited.
- -Defined in:
-STORAGE
-Return value:
-#boolean:
-If true liquids are limited or false otherwise.
Returns whether a given type of aircraft, liquid, weapon is set to be unlimited.
- -Defined in:
-STORAGE
-Parameter:
-- #string - Type -
-Name of aircraft, weapon or equipment or type of liquid (as #number).
Return value:
-#boolean:
-If true the given type is unlimited or false otherwise.
Returns whether aircraft are unlimited.
- -Defined in:
-STORAGE
-Return value:
-#boolean:
-If true aircraft are unlimited or false otherwise.
Returns whether liquids are unlimited.
- -Defined in:
-STORAGE
-Return value:
-#boolean:
-If true liquids are unlimited or false otherwise.
Returns whether weapons and equipment are unlimited.
- -Defined in:
-STORAGE
-Return value:
-#boolean:
-If true weapons and equipment are unlimited or false otherwise.
Load the contents of a STORAGE from files.
- - -Filenames searched for are the Filename given amended by "Liquids", "Aircraft" and "_Weapons" followed by a ".csv". Requires io and lfs to be desanitized to be working.
- -Defined in:
-STORAGE
-Parameters:
-- #string - Path -
-The path to use. Use double backslashes \\ on Windows filesystems.
- -- #string - Filename -
-The name of the file.
- -Return value:
-self
- -Create a new STORAGE object from the DCS airbase object.
- -Defined in:
-STORAGE
-Parameter:
-- #string - AirbaseName -
-Name of the airbase.
- -Return value:
-self
- -Create a new STORAGE object from a Wrapper.DynamicCargo#DYNAMICCARGO object.
- -Defined in:
-STORAGE
-Parameter:
-- #string - DynamicCargoName -
-Unit name of the dynamic cargo.
- -Return value:
-self
- -Create a new STORAGE object from an DCS static cargo object.
- -Defined in:
-STORAGE
-Parameter:
-- #string - StaticCargoName -
-Unit name of the static.
- -Return value:
-self
- -Removes the amount of a given type of aircraft, liquid, weapon from the warehouse.
- -Defined in:
-STORAGE
-Parameters:
-- #number - Type -
-Type of liquid or name of aircraft, weapon or equipment.
- -- #number - Amount -
-Amount of given type to remove. Liquids in kg.
- -Return value:
-self
- -Removes the amount of the passed item from the warehouse.
- -Defined in:
-STORAGE
-Parameters:
-- #string - Name -
-Name of the item.
- -- #number - Amount -
-Amount of items.
- -Return value:
-self
- -Removes the amount of the given liquid type from the warehouse.
- -Defined in:
-STORAGE
-Parameters:
-- #number - Type -
-Type of liquid.
- -- #number - Amount -
-Amount of liquid in kg to be removed.
- -Return value:
-self
- -Save the contents of a STORAGE to files in CSV format.
- - -Filenames created are the Filename given amended by "Liquids", "Aircraft" and "_Weapons" followed by a ".csv". Requires io and lfs to be desanitized to be working.
- -Defined in:
-STORAGE
-Parameters:
-- #string - Path -
-The path to use. Use double backslashes \\ on Windows filesystems.
- -- #string - Filename -
-The base name of the files. Existing files will be overwritten.
- -Return value:
-self
- -Sets the amount of a given type of aircraft, liquid, weapon currently present the warehouse.
- -Defined in:
-STORAGE
-Parameters:
-- #number - Type -
-Type of liquid or name of aircraft, weapon or equipment.
- -- #number - Amount -
-of given type. Liquids in kg.
- -Return value:
-self
- -Sets the specified amount of a given item to the warehouse.
- -Defined in:
-STORAGE
-Parameters:
-- #string - Name -
-Name of the item.
- -- #number - Amount -
-Amount of items.
- -Return value:
-self
- -Sets the specified amount of a given liquid to the warehouse.
- -Defined in:
-STORAGE
-Parameters:
-- #number - Type -
-Type of liquid.
- -- #number - Amount -
-Amount of liquid.
- -Return value:
-self
- -Set verbosity level.
- -Defined in:
-STORAGE
-Parameter:
-- #number - VerbosityLevel -
-Level of output (higher=more). Default 0.
- -Return value:
-self
- -Start a STORAGE autosave process.
- -Defined in:
-STORAGE
-Parameters:
-- #string - Path -
-The path to use. Use double backslashes \\ on Windows filesystems.
- -- #string - Filename -
-The name of the file.
- -- #number - Interval -
-The interval, start after this many seconds and repeat every interval seconds. Defaults to 300.
- -- #boolean - LoadOnce -
-If LoadOnce is true or nil, we try to load saved storage first.
- -Return value:
-self
- -Stop a running STORAGE autosave process.
- -Field(s)
-Name of the class.
- -Class id string for output to DCS log file.
- -Verbosity level.
- -STORAGE class version.
- -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.
- -- IniObjectCategory -
-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.
- -- IniObjectCategory -
-Creation of a S_EVENT_DYNAMIC_CARGO_LOADED event.
- -Defined in:
- -Parameter:
-- Wrapper.DynamicCargo#DYNAMICCARGO - DynamicCargo -
-the dynamic cargo object
- -Creation of a S_EVENT_DYNAMIC_CARGO_REMOVED event.
- -Defined in:
- -Parameter:
-- Wrapper.DynamicCargo#DYNAMICCARGO - DynamicCargo -
-the dynamic cargo object
- -Creation of a S_EVENT_DYNAMIC_CARGO_UNLOADED event.
- -Defined in:
- -Parameter:
-- Wrapper.DynamicCargo#DYNAMICCARGO - DynamicCargo -
-the dynamic cargo object
- -Creation of a S_EVENT_NEW_DYNAMIC_CARGO event.
- -Defined in:
- -Parameter:
-- Wrapper.DynamicCargo#DYNAMICCARGO - DynamicCargo -
-the dynamic cargo object
- -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.
- -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.
- -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 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.
- -Defined in:
- -Return value:
-#table:
-of values, indexed by keys.
- -Get one property of an object by the key.
- -Defined in:
- -Parameter:
-- 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!
- -Return value:
-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.
- -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).
- -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.
- -Defined in:
- -Parameter:
-- Core.Event#EVENTDATA - EventData -
-The EventData structure.
- -BDA.
- - -Have a look at the class Core.Event#EVENT as these are just the prototypes.
- -Defined in:
- -Parameter:
-- 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.
- -Defined in:
- -Parameter:
-- 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
- -Defined in:
- -Parameter:
-- 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
- -Defined in:
- -Parameter:
-- 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.
- -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.
- - -Have a look at the class Core.Event#EVENT as these are just the prototypes.
- -Defined in:
- -Parameter:
-- 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.
- -Defined in:
- -Parameter:
-- 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.
- -Defined in:
- -Parameter:
-- 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.
- -Defined in:
- -Parameter:
-- 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
- -Defined in:
- -Parameter:
-- 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.
- -Defined in:
- -Parameter:
-- 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.
- -Defined in:
- -Parameter:
-- 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.
- -Defined in:
- -Parameter:
-- 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
- -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. -Have a look at the class Core.Event#EVENT as these are just the prototypes.
- --
-
- 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 -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
- -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. -Have a look at the class Core.Event#EVENT as these are just the prototypes.
- --
-
- 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.
- - -Have a look at the class Core.Event#EVENT as these are just the prototypes.
- -Defined in:
- -Parameter:
-- 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.
- -Defined in:
- -Parameter:
-- 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.
- -Defined in:
- -Parameter:
-- 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.
- -Defined in:
- -Parameter:
-- 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.
- -Defined in:
- -Parameter:
-- 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.
- -Defined in:
- -Parameter:
-- 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.
- -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. -Have a look at the class Core.Event#EVENT as these are just the prototypes.
- -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. -Have a look at the class Core.Event#EVENT as these are just the prototypes. -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.
- - -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.
- -Defined in:
- -Parameter:
-- 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.
- -Defined in:
- -Parameter:
-- 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.
- -Defined in:
- -Parameter:
-- 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.
- -Defined in:
- -Parameter:
-- 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.
- -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. -Have a look at the class Core.Event#EVENT as these are just the prototypes.
- -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. -Have a look at the class Core.Event#EVENT as these are just the prototypes. -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), 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.
- -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 autocannon based weapon, those are handled by EVENT.ShootingStart. -Have a look at the class Core.Event#EVENT as these are just the prototypes.
- -Defined in:
- -Parameter:
-- 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
- -Defined in:
- -Parameter:
-- Core.Event#EVENTDATA - EventData -
-The EventData structure.
- -Trigger zone.
- - -Have a look at the class Core.Event#EVENT as these are just the prototypes.
- -Defined in:
- -Parameter:
-- 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.
- --
-
- 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.
- -- ... -
-Optional arguments that can be given as part of scheduler. The arguments need to be given as a table { param1, param 2, ... }.
- -Return value:
-#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.
- -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:
-#string:
-The Schedule ID of the planned schedule.
- -Stops the Schedule.
- -Defined in:
- -Parameter:
-- #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.
- -Defined in:
- -Parameter:
-- #number - EventPriority -
-The Core.Event processing Priority.
- -Return value:
-self
- -Set one property of an object.
- -Defined in:
- -Parameters:
-- 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.
- -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 -
-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.
- -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 -
-(Internal) Serialize arguments
- -Defined in:
- -Parameter:
-- #table - Arguments -
-Return value:
-#string:
-Text
- -Trace a function logic.
- -Defined in:
- -Parameters:
-- Arguments -
-A #table or any field.
- -- DebugInfoCurrentParam -
-- DebugInfoFromParam -
-The main event handling function...
- - -This function captures all events generated for the class.
- -Liquid types.
- -Field(s)
-Diesel (3).
- -Aviation gasoline (1).
- -Jet fuel (0).
- -MW50 (2).
- -Function(s)
-Liquid Names for the static cargo resource table.
- -Field(s)
-"diesel".
- -"gasoline".
- -"jet_fuel".
- -"methanol_mixture".
- -Function(s)
-Storage types.
- -Field(s)
-aircraft.
- -liquids. Also see #list<#STORAGE.Liquid> for types of liquids.
- -weapons.
- -
-
-