Module Core.Point
Core  Defines an extensive API to manage 3D points in the DCS World 3D simulation space.
Features:
 Provides a COORDINATE class, which allows to manage points in 3D space and perform various operations on it.
 Provides a POINT_VEC2 class, which is derived from COORDINATE, and allows to manage points in 3D space, but from a Lat/Lon and Altitude perspective.
 Provides a POINT_VEC3 class, which is derived from COORDINATE, and allows to manage points in 3D space, but from a X, Z and Y vector perspective.
Demo Missions
POINT_VEC Demo Missions source code
POINT_VEC Demo Missions, only for beta testers
ALL Demo Missions pack of the last release
YouTube Channel
POINT_VEC YouTube Channel
Authors:
 FlightControl : Design & Programming
Contributions:
Global(s)
Global COORDINATE 
Defines a 3D point in the simulator and with its methods, you can use or manipulate the point in 3D space. 
Defines a 3D point in the simulator and with its methods, you can use or manipulate the point in 3D space.
1) Create a COORDINATE object.
A new COORDINATE object can be created with 3 various methods:
 COORDINATE.New(): from a 3D point.
 COORDINATE.NewFromVec2(): from a DCS#Vec2 and possible altitude.
 COORDINATE.NewFromVec3(): from a DCS#Vec3.
2) Smoke, flare, explode, illuminate at the coordinate.
At the point a smoke, flare, explosion and illumination bomb can be triggered. Use the following methods:
2.1) Smoke
 COORDINATE.Smoke(): To smoke the point in a certain color.
 COORDINATE.SmokeBlue(): To smoke the point in blue.
 COORDINATE.SmokeRed(): To smoke the point in red.
 COORDINATE.SmokeOrange(): To smoke the point in orange.
 COORDINATE.SmokeWhite(): To smoke the point in white.
 COORDINATE.SmokeGreen(): To smoke the point in green.
2.2) Flare
 COORDINATE.Flare(): To flare the point in a certain color.
 COORDINATE.FlareRed(): To flare the point in red.
 COORDINATE.FlareYellow(): To flare the point in yellow.
 COORDINATE.FlareWhite(): To flare the point in white.
 COORDINATE.FlareGreen(): To flare the point in green.
2.3) Explode
 COORDINATE.Explosion(): To explode the point with a certain intensity.
2.4) Illuminate
 COORDINATE.IlluminationBomb(): To illuminate the point.
3) Create markings on the map.
Place markers (text boxes with clarifications for briefings, target locations or any other reference point) on the map for all players, coalitions or specific groups:
 COORDINATE.MarkToAll(): Place a mark to all players.
 COORDINATE.MarkToCoalition(): Place a mark to a coalition.
 COORDINATE.MarkToCoalitionRed(): Place a mark to the red coalition.
 COORDINATE.MarkToCoalitionBlue(): Place a mark to the blue coalition.
 COORDINATE.MarkToGroup(): Place a mark to a group (needs to have a client in it or a CA group (CA group is bugged)).
 COORDINATE.RemoveMark(): Removes a mark from the map.
4) Coordinate calculation methods.
Various calculation methods exist to use or manipulate 3D space. Find below a short description of each method:
4.1) Get the distance between 2 points.
 COORDINATE.Get3DDistance(): Obtain the distance from the current 3D point to the provided 3D point in 3D space.
 COORDINATE.Get2DDistance(): Obtain the distance from the current 3D point to the provided 3D point in 2D space.
4.2) Get the angle.
 COORDINATE.GetAngleDegrees(): Obtain the angle in degrees from the current 3D point with the provided 3D direction vector.
 COORDINATE.GetAngleRadians(): Obtain the angle in radians from the current 3D point with the provided 3D direction vector.
 COORDINATE.GetDirectionVec3(): Obtain the 3D direction vector from the current 3D point to the provided 3D point.
4.3) Coordinate translation.
 COORDINATE.Translate(): Translate the current 3D point towards an other 3D point using the given Distance and Angle.
4.4) Get the North correction of the current location.
 COORDINATE.GetNorthCorrection(): Obtains the north correction at the current 3D point.
4.5) Point Randomization
Various methods exist to calculate random locations around a given 3D point.
 COORDINATE.GetRandomVec2InRadius(): Provides a random 2D vector around the current 3D point, in the given inner to outer band.
 COORDINATE.GetRandomVec3InRadius(): Provides a random 3D vector around the current 3D point, in the given inner to outer band.
4.6) LOS between coordinates.
Calculate if the coordinate has Line of Sight (LOS) with the other given coordinate. Mountains, trees and other objects can be positioned between the two 3D points, preventing visibilty in a straight continuous line. The method COORDINATE.IsLOS() returns if the two coodinates have LOS.
4.7) Check the coordinate position.
Various methods are available that allow to check if a coordinate is:
 COORDINATE.IsInRadius(): in a give radius.
 COORDINATE.IsInSphere(): is in a given sphere.
 COORDINATE.IsAtCoordinate2D(): is in a given coordinate within a specific precision.
5) Measure the simulation environment at the coordinate.
5.1) Weather specific.
Within the DCS simulator, a coordinate has specific environmental properties, like wind, temperature, humidity etc.
 COORDINATE.GetWind(): Retrieve the wind at the specific coordinate within the DCS simulator.
 COORDINATE.GetTemperature(): Retrieve the temperature at the specific height within the DCS simulator.
 COORDINATE.GetPressure(): Retrieve the pressure at the specific height within the DCS simulator.
5.2) Surface specific.
Within the DCS simulator, the surface can have various objects placed at the coordinate, and the surface height will vary.
 COORDINATE.GetLandHeight(): Retrieve the height of the surface (on the ground) within the DCS simulator.
 COORDINATE.GetSurfaceType(): Retrieve the surface type (on the ground) within the DCS simulator.
6) Create waypoints for routes.
A COORDINATE can prepare waypoints for Ground and Air groups to be embedded into a Route.
 COORDINATE.WaypointAir(): Build an air route point.
 COORDINATE.WaypointGround(): Build a ground route point.
Route points can be used in the Route methods of the Wrapper.Group#GROUP class.
7) Manage the roads.
Important for ground vehicle transportation and movement, the method COORDINATE.GetClosestPointToRoad() will calculate the closest point on the nearest road.
In order to use the most optimal road system to transport vehicles, the method COORDINATE.GetPathOnRoad() will calculate the most optimal path following the road between two coordinates.
8) Metric or imperial system
 COORDINATE.IsMetric(): Returns if the 3D point is Metric or Nautical Miles.
 COORDINATE.SetMetric(): Sets the 3D point to Metric or Nautical Miles.
9) Coordinate text generation
 COORDINATE.ToStringBR(): Generates a Bearing & Range text in the format of DDD for DI where DDD is degrees and DI is distance.
 COORDINATE.ToStringLL(): Generates a Latutude & Longutude text.
Global POINT_VEC2 
Defines a 2D point in the simulator. 
Defines a 2D point in the simulator.
The height coordinate (if needed) will be the land height + an optional added height specified.
POINT_VEC2 constructor
A new POINT_VEC2 instance can be created with:
 Core.Point#POINT_VEC2.New(): a 2D point, taking an additional height parameter.
 Core.Point#POINT_VEC2.NewFromVec2(): a 2D point created from a DCS#Vec2.
Manupulate the X, Altitude, Y coordinates of the 2D point
A POINT_VEC2 class works in 2D space, with an altitude setting. It contains internally an X, Altitude, Y coordinate. Methods exist to manupulate these coordinates.
The current X, Altitude, Y axis can be retrieved with the methods POINT_VEC2.GetX(), POINT_VEC2.GetAlt(), POINT_VEC2.GetY() respectively. The methods POINT_VEC2.SetX(), POINT_VEC2.SetAlt(), POINT_VEC2.SetY() change the respective axis with a new value. The current Lat(itude), Alt(itude), Lon(gitude) values can also be retrieved with the methods POINT_VEC2.GetLat(), POINT_VEC2.GetAlt(), POINT_VEC2.GetLon() respectively. The current axis values can be changed by using the methods POINT_VEC2.AddX(), POINT_VEC2.AddAlt(), POINT_VEC2.AddY() to add or substract a value from the current respective axis value. Note that the Set and Add methods return the current POINT_VEC2 object, so these manipulation methods can be chained... For example:
local Vec2 = PointVec2:AddX( 100 ):AddY( 2000 ):GetVec2()
Global POINT_VEC3 
Defines a 3D point in the simulator and with its methods, you can use or manipulate the point in 3D space. 
Defines a 3D point in the simulator and with its methods, you can use or manipulate the point in 3D space.
Important Note: Most of the functions in this section were taken from MIST, and reworked to OO concepts. In order to keep the credibility of the the author, I want to emphasize that the formulas embedded in the MIST framework were created by Grimes or previous authors, who you can find on the Eagle Dynamics Forums.
POINT_VEC3 constructor
A new POINT_VEC3 object can be created with:
 POINT_VEC3.New(): a 3D point.
 POINT_VEC3.NewFromVec3(): a 3D point created from a DCS#Vec3.
Manupulate the X, Y, Z coordinates of the POINT_VEC3
A POINT_VEC3 class works in 3D space. It contains internally an X, Y, Z coordinate. Methods exist to manupulate these coordinates.
The current X, Y, Z axis can be retrieved with the methods POINT_VEC3.GetX(), POINT_VEC3.GetY(), POINT_VEC3.GetZ() respectively. The methods POINT_VEC3.SetX(), POINT_VEC3.SetY(), POINT_VEC3.SetZ() change the respective axis with a new value. The current axis values can be changed by using the methods POINT_VEC3.AddX(), POINT_VEC3.AddY(), POINT_VEC3.AddZ() to add or substract a value from the current respective axis value. Note that the Set and Add methods return the current POINT_VEC3 object, so these manipulation methods can be chained... For example:
local Vec3 = PointVec3:AddX( 100 ):AddZ( 150 ):GetVec3()
3D calculation methods
Various calculation methods exist to use or manipulate 3D space. Find below a short description of each method:
Point Randomization
Various methods exist to calculate random locations around a given 3D point.
 POINT_VEC3.GetRandomPointVec3InRadius(): Provides a random 3D point around the current 3D point, in the given inner to outer band.
Type(s)
Fields and Methods inherited from COORDINATE  Description 

Big smoke and fire at the coordinate. 

Huge smoke and fire at the coordinate. 

Large smoke and fire at the coordinate. 

Medium smoke and fire at the coordinate. 

Small smoke and fire at the coordinate. 

Huge smoke at the coordinate. 

Large smoke at the coordinate. 

Medium smoke at the coordinate. 

Small smoke at the coordinate. 

Calculate the distance from a reference #COORDINATE. 

Creates an explosion at the point of a certain intensity. 

Find the closest unit to the COORDINATE within a certain radius. 

Flares the point in a color. 

Flare the COORDINATE Green. 

Flare the COORDINATE Red. 

Flare the COORDINATE White. 

Flare the COORDINATE Yellow. 

Return the 2D distance in meters between the target COORDINATE and the COORDINATE. 

Return the 3D distance in meters between the target COORDINATE and the COORDINATE. 

Return the altitude text of the COORDINATE. 

Return an angle in degrees from the COORDINATE using a direction vector in Vec3 format. 

Return an angle in radians from the COORDINATE using a direction vector in Vec3 format. 

COORDINATE:GetBRAText(AngleRadians, Distance, Settings, Language) 
Provides a Bearing / Range / Altitude string 
COORDINATE:GetBRText(AngleRadians, Distance, Settings, Language) 
Provides a Bearing / Range string 
COORDINATE:GetBearingText(AngleRadians, Precision, Settings, Language) 
Provides a bearing text in degrees. 
Gets the nearest airbase with respect to the current coordinates. 

Gets the nearest free parking spot. 

COORDINATE:GetClosestOccupiedParkingSpot(airbase, terminaltype) 
Gets the nearest occupied parking spot. 
COORDINATE:GetClosestParkingSpot(airbase, terminaltype, free) 
Gets the nearest parking spot. 
Gets the nearest coordinate to a road (or railroad). 

Return a direction vector Vec3 from COORDINATE to the COORDINATE. 

Provides a distance text expressed in the units of measurement. 

Get the heading of the coordinate, if applicable. 

Return the heading text of the COORDINATE. 

COORDINATE:GetIntermediateCoordinate(ToCoordinate, Fraction) 
Return an intermediate COORDINATE between this an another coordinate. 
Get Latitude and Longitude in Degrees Decimal Minutes (DDM). 

Return the height of the land at the coordinate. 

Get minutes until the next sun rise at this coordinate. 

Get minutes until the next sun set at this coordinate. 

Return velocity text of the COORDINATE. 

Get a correction in radians of the real magnetic north of the COORDINATE. 

COORDINATE:GetPathOnRoad(ToCoord, IncludeEndpoints, Railroad, MarkPath, SmokePath) 
Returns a table of coordinates to a destination using only roads or railroads. 
Returns the pressure in hPa. 

Returns a text of the pressure according the measurement system Settings. 

COORDINATE:GetRandomCoordinateInRadius(OuterRadius, InnerRadius) 
Return a random Coordinate within an Outer Radius and optionally NOT within an Inner Radius of the COORDINATE. 
Return a random Vec2 within an Outer Radius and optionally NOT within an Inner Radius of the COORDINATE. 

Return a random Vec3 within an Outer Radius and optionally NOT within an Inner Radius of the COORDINATE. 

Get todays sun rise time. 

Get sun rise time for a specific date at the coordinate. 

Get sun rise time for a specific day of the year at the coordinate. 

Get todays sun set time. 

Get sun set time for a specific date at the coordinate. 

Gets the surface type at the coordinate. 

Returns the temperature in Degrees Celsius. 

Returns a text of the temperature according the measurement system Settings. 

Return the coordinates of the COORDINATE in Vec2 format. 

Return the coordinates of the COORDINATE in Vec3 format. 

Return the velocity of the COORDINATE. 

Return the velocity text of the COORDINATE. 

Returns the wind direction (from) and strength. 

Returns a text documenting the wind direction (from) and strength according the measurement system Settings. 

Returns the wind direction (from) and strength. 

Returns the heading from this to another coordinate. 

Creates an illumination bomb at the point. 

Returns if the 2 coordinates are at the same 2D position. 

Check if it is day, i.e. 

Returns if a Coordinate is in a certain Radius of this Coordinate in 2D plane using the X and Z axis. 

Returns if a Coordinate is in a certain radius of this Coordinate in 3D space using the X, Y and Z axis. 

Returns if a Coordinate has Line of Sight (LOS) with the ToCoordinate. 

Check if it is night, i.e. 

Checks if the surface type is on land. 

Checks if the surface type is road. 

Checks if the surface type is runway. 

Checks if the surface type is shallow water. 

Checks if the surface type is water. 

Mark to All 

COORDINATE:MarkToCoalition(MarkText, Coalition, ReadOnly, Text) 
Mark to Coalition 
Mark to Blue Coalition 

Mark to Red Coalition 

Mark to Group 

COORDINATE constructor. 

COORDINATE constructor. 

Returns the coordinate from the latitude and longitude given in decimal degrees. 

Create a new COORDINATE object from Vec2 coordinates. 

Create a new COORDINATE object from Vec3 coordinates. 

Remove a mark 

Rotate coordinate in 2D (x,z) space. 

COORDINATE:ScanObjects(radius, scanunits, scanstatics, scanscenery) 
Scan/find objects (units, statics, scenery) within a certain radius around the coordinate using the world.searchObjects() DCS API function. 
Scan/find UNITS within a certain radius around the coordinate using the world.searchObjects() DCS API function. 

Set altitude. 

Set the heading of the coordinate, if applicable. 

Set the velocity of the COORDINATE. 

Smokes the point in a color. 

Smoke the COORDINATE Blue. 

Smoke the COORDINATE Green. 

Smoke the COORDINATE Orange. 

Smoke the COORDINATE Red. 

Smoke the COORDINATE White. 

Provides a coordinate string of the point, based on a coordinate format system: * Uses default settings in COORDINATE. 

Provides a coordinate string of the point, based on the A2A coordinate format system. 

Provides a coordinate string of the point, based on the A2G coordinate format system. 

Return an aspect string from a COORDINATE to the Angle of the object. 

Return a BR string from a COORDINATE to the COORDINATE. 

Return a BRAA string from a COORDINATE to the COORDINATE. 

Return a BULLS string out of the BULLS of the coalition to the COORDINATE. 

COORDINATE:ToStringFromRP(ReferenceCoord, ReferenceName, Controllable, Settings) 
Provides a coordinate string of the point, based on a coordinate format system: * Uses default settings in COORDINATE. 
Provides a Lat Lon string in Degree Decimal Minute format. 

Provides a Lat Lon string in Degree Minute Second format. 

Provides a MGRS string 

Provides a pressure string of the point, based on a measurement system: * Uses default settings in COORDINATE. 

COORDINATE:ToStringTemperature(Controllable, Core, Settings) 
Provides a temperature string of the point, based on a measurement system: * Uses default settings in COORDINATE. 
Provides a wind string of the point, based on a measurement system: * Uses default settings in COORDINATE. 

Add a Distance in meters from the COORDINATE orthonormal plane, with the given angle, and calculate the new COORDINATE. 

Build an air type route point. 

Build a Waypoint Air "Fly Over Point". 

COORDINATE:WaypointAirLanding(Speed, airbase, DCSTasks, description) 
Build a Waypoint Air "Landing". 
COORDINATE:WaypointAirLandingReFu(Speed, airbase, timeReFuAr, DCSTasks, description) 
Build a Waypoint Air "LandingReFuAr". 
Build a Waypoint Air "Take Off Parking". 

Build a Waypoint Air "Take Off Parking Hot". 

Build a Waypoint Air "Take Off Runway". 

COORDINATE:WaypointAirTurningPoint(AltType, Speed, DCSTasks, description) 
Build a Waypoint Air "Turning Point". 
Build an ground type route point. 

Build route waypoint point for Naval units. 

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. 

COORDINATE:CreateEventBirth(EventTime, Initiator, IniUnitName, place, subplace) 
Creation of a Birth Event. 
Creation of a Crash Event. 

Creation of a Dead Event. 

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. 

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. 

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 place: Object that the unit landed on. 

Occurs shortly after the landing animation of an ejected pilot touching the ground and standing up. 

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 

Occurs when the pilot of an aircraft is killed. 

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. 

Occurs when the game thinks an object is destroyed. 

Schedule a new time event. 

COORDINATE: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. 

COORDINATE:_F(Arguments, DebugInfoCurrentParam, DebugInfoFromParam) 
Trace a function call. 
COORDINATE:_T(Arguments, DebugInfoCurrentParam, DebugInfoFromParam) 
Trace a function logic. 
Fields and Methods inherited from POINT_VEC2  Description 

Add to the current land height an altitude. 

Add to the x coordinate of the POINT_VEC2. 

Add to the y coordinate of the POINT_VEC2. 

Return the altitude (height) of the land at the POINT_VEC2. 

Return Return the Lat(itude) coordinate of the POINT_VEC2 (ie: (parent)POINT_VEC3.x). 

Return the Lon(gitude) coordinate of the POINT_VEC2 (ie: (parent)POINT_VEC3.z). 

POINT_VEC2:GetRandomPointVec2InRadius(OuterRadius, InnerRadius) 
Return a random POINT_VEC2 within an Outer Radius and optionally NOT within an Inner Radius of the POINT_VEC2. 
Return the x coordinate of the POINT_VEC2. 

Return the y coordinate of the POINT_VEC2. 

POINT_VEC2 constructor. 

Create a new POINT_VEC2 object from Vec2 coordinates. 

Create a new POINT_VEC2 object from Vec3 coordinates. 

Set the altitude of the POINT_VEC2. 

Set the Lat(itude) coordinate of the POINT_VEC2 (ie: POINT_VEC3.x). 

Set the Lon(gitude) coordinate of the POINT_VEC2 (ie: POINT_VEC3.z). 

Set the x coordinate of the POINT_VEC2. 

Set the y coordinate of the POINT_VEC2. 

The x coordinate in meters. 

the y coordinate in meters. 

Fields and Methods inherited from COORDINATE  Description 

Big smoke and fire at the coordinate. 

Huge smoke and fire at the coordinate. 

Large smoke and fire at the coordinate. 

Medium smoke and fire at the coordinate. 

Small smoke and fire at the coordinate. 

Huge smoke at the coordinate. 

Large smoke at the coordinate. 

Medium smoke at the coordinate. 

Small smoke at the coordinate. 

Calculate the distance from a reference #COORDINATE. 

Creates an explosion at the point of a certain intensity. 

Find the closest unit to the COORDINATE within a certain radius. 

Flares the point in a color. 

Flare the COORDINATE Green. 

Flare the COORDINATE Red. 

Flare the COORDINATE White. 

Flare the COORDINATE Yellow. 

Return the 2D distance in meters between the target COORDINATE and the COORDINATE. 

Return the 3D distance in meters between the target COORDINATE and the COORDINATE. 

Return the altitude text of the COORDINATE. 

Return an angle in degrees from the COORDINATE using a direction vector in Vec3 format. 

Return an angle in radians from the COORDINATE using a direction vector in Vec3 format. 

POINT_VEC2:GetBRAText(AngleRadians, Distance, Settings, Language) 
Provides a Bearing / Range / Altitude string 
POINT_VEC2:GetBRText(AngleRadians, Distance, Settings, Language) 
Provides a Bearing / Range string 
POINT_VEC2:GetBearingText(AngleRadians, Precision, Settings, Language) 
Provides a bearing text in degrees. 
Gets the nearest airbase with respect to the current coordinates. 

Gets the nearest free parking spot. 

POINT_VEC2:GetClosestOccupiedParkingSpot(airbase, terminaltype) 
Gets the nearest occupied parking spot. 
POINT_VEC2:GetClosestParkingSpot(airbase, terminaltype, free) 
Gets the nearest parking spot. 
Gets the nearest coordinate to a road (or railroad). 

Return a direction vector Vec3 from COORDINATE to the COORDINATE. 

Provides a distance text expressed in the units of measurement. 

Get the heading of the coordinate, if applicable. 

Return the heading text of the COORDINATE. 

POINT_VEC2:GetIntermediateCoordinate(ToCoordinate, Fraction) 
Return an intermediate COORDINATE between this an another coordinate. 
Get Latitude and Longitude in Degrees Decimal Minutes (DDM). 

Return the height of the land at the coordinate. 

Get minutes until the next sun rise at this coordinate. 

Get minutes until the next sun set at this coordinate. 

Return velocity text of the COORDINATE. 

Get a correction in radians of the real magnetic north of the COORDINATE. 

POINT_VEC2:GetPathOnRoad(ToCoord, IncludeEndpoints, Railroad, MarkPath, SmokePath) 
Returns a table of coordinates to a destination using only roads or railroads. 
Returns the pressure in hPa. 

Returns a text of the pressure according the measurement system Settings. 

POINT_VEC2:GetRandomCoordinateInRadius(OuterRadius, InnerRadius) 
Return a random Coordinate within an Outer Radius and optionally NOT within an Inner Radius of the COORDINATE. 
Return a random Vec2 within an Outer Radius and optionally NOT within an Inner Radius of the COORDINATE. 

Return a random Vec3 within an Outer Radius and optionally NOT within an Inner Radius of the COORDINATE. 

Get todays sun rise time. 

Get sun rise time for a specific date at the coordinate. 

Get sun rise time for a specific day of the year at the coordinate. 

Get todays sun set time. 

Get sun set time for a specific date at the coordinate. 

Gets the surface type at the coordinate. 

Returns the temperature in Degrees Celsius. 

Returns a text of the temperature according the measurement system Settings. 

Return the coordinates of the COORDINATE in Vec2 format. 

Return the coordinates of the COORDINATE in Vec3 format. 

Return the velocity of the COORDINATE. 

Return the velocity text of the COORDINATE. 

Returns the wind direction (from) and strength. 

Returns a text documenting the wind direction (from) and strength according the measurement system Settings. 

Returns the wind direction (from) and strength. 

Returns the heading from this to another coordinate. 

Creates an illumination bomb at the point. 

Returns if the 2 coordinates are at the same 2D position. 

Check if it is day, i.e. 

Returns if a Coordinate is in a certain Radius of this Coordinate in 2D plane using the X and Z axis. 

Returns if a Coordinate is in a certain radius of this Coordinate in 3D space using the X, Y and Z axis. 

Returns if a Coordinate has Line of Sight (LOS) with the ToCoordinate. 

Check if it is night, i.e. 

Checks if the surface type is on land. 

Checks if the surface type is road. 

Checks if the surface type is runway. 

Checks if the surface type is shallow water. 

Checks if the surface type is water. 

Mark to All 

POINT_VEC2:MarkToCoalition(MarkText, Coalition, ReadOnly, Text) 
Mark to Coalition 
Mark to Blue Coalition 

Mark to Red Coalition 

Mark to Group 

COORDINATE constructor. 

COORDINATE constructor. 

Returns the coordinate from the latitude and longitude given in decimal degrees. 

Create a new COORDINATE object from Vec2 coordinates. 

Create a new COORDINATE object from Vec3 coordinates. 

Remove a mark 

Rotate coordinate in 2D (x,z) space. 

POINT_VEC2:ScanObjects(radius, scanunits, scanstatics, scanscenery) 
Scan/find objects (units, statics, scenery) within a certain radius around the coordinate using the world.searchObjects() DCS API function. 
Scan/find UNITS within a certain radius around the coordinate using the world.searchObjects() DCS API function. 

Set altitude. 

Set the heading of the coordinate, if applicable. 

Set the velocity of the COORDINATE. 

Smokes the point in a color. 

Smoke the COORDINATE Blue. 

Smoke the COORDINATE Green. 

Smoke the COORDINATE Orange. 

Smoke the COORDINATE Red. 

Smoke the COORDINATE White. 

Provides a coordinate string of the point, based on a coordinate format system: * Uses default settings in COORDINATE. 

Provides a coordinate string of the point, based on the A2A coordinate format system. 

Provides a coordinate string of the point, based on the A2G coordinate format system. 

Return an aspect string from a COORDINATE to the Angle of the object. 

Return a BR string from a COORDINATE to the COORDINATE. 

Return a BRAA string from a COORDINATE to the COORDINATE. 

Return a BULLS string out of the BULLS of the coalition to the COORDINATE. 

POINT_VEC2:ToStringFromRP(ReferenceCoord, ReferenceName, Controllable, Settings) 
Provides a coordinate string of the point, based on a coordinate format system: * Uses default settings in COORDINATE. 
Provides a Lat Lon string in Degree Decimal Minute format. 

Provides a Lat Lon string in Degree Minute Second format. 

Provides a MGRS string 

Provides a pressure string of the point, based on a measurement system: * Uses default settings in COORDINATE. 

POINT_VEC2:ToStringTemperature(Controllable, Core, Settings) 
Provides a temperature string of the point, based on a measurement system: * Uses default settings in COORDINATE. 
Provides a wind string of the point, based on a measurement system: * Uses default settings in COORDINATE. 

Add a Distance in meters from the COORDINATE orthonormal plane, with the given angle, and calculate the new COORDINATE. 

Build an air type route point. 

Build a Waypoint Air "Fly Over Point". 

POINT_VEC2:WaypointAirLanding(Speed, airbase, DCSTasks, description) 
Build a Waypoint Air "Landing". 
POINT_VEC2:WaypointAirLandingReFu(Speed, airbase, timeReFuAr, DCSTasks, description) 
Build a Waypoint Air "LandingReFuAr". 
Build a Waypoint Air "Take Off Parking". 

Build a Waypoint Air "Take Off Parking Hot". 

Build a Waypoint Air "Take Off Runway". 

POINT_VEC2:WaypointAirTurningPoint(AltType, Speed, DCSTasks, description) 
Build a Waypoint Air "Turning Point". 
Build an ground type route point. 

Build route waypoint point for Naval units. 

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. 

POINT_VEC2:CreateEventBirth(EventTime, Initiator, IniUnitName, place, subplace) 
Creation of a Birth Event. 
Creation of a Crash Event. 

Creation of a Dead Event. 

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. 

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. 

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 place: Object that the unit landed on. 

Occurs shortly after the landing animation of an ejected pilot touching the ground and standing up. 

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 

Occurs when the pilot of an aircraft is killed. 

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. 

Occurs when the game thinks an object is destroyed. 

Schedule a new time event. 

POINT_VEC2: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. 

POINT_VEC2:_F(Arguments, DebugInfoCurrentParam, DebugInfoFromParam) 
Trace a function call. 
POINT_VEC2:_T(Arguments, DebugInfoCurrentParam, DebugInfoFromParam) 
Trace a function logic. 
Fields and Methods inherited from POINT_VEC3  Description 

Add to the x coordinate of the POINT_VEC3. 

Add to the y coordinate of the POINT_VEC3. 

Add to the z coordinate of the POINT_VEC3. 

POINT_VEC3:GetRandomPointVec3InRadius(OuterRadius, InnerRadius) 
Return a random POINT_VEC3 within an Outer Radius and optionally NOT within an Inner Radius of the POINT_VEC3. 
Return the x coordinate of the POINT_VEC3. 

Return the y coordinate of the POINT_VEC3. 

Return the z coordinate of the POINT_VEC3. 

Create a new POINT_VEC3 object. 

Create a new POINT_VEC3 object from Vec2 coordinates. 

Create a new POINT_VEC3 object from Vec3 coordinates. 

Set the x coordinate of the POINT_VEC3. 

Set the y coordinate of the POINT_VEC3. 

Set the z coordinate of the POINT_VEC3. 

The x coordinate in 3D space. 

The y coordinate in 3D space. 

The z coordiante in 3D space. 
Fields and Methods inherited from POINT_VEC3.RoutePointAction  Description 

"From Parking Area" 

"Turning Point" 
Fields and Methods inherited from POINT_VEC3.RoutePointAltType  Description 

"BARO" 
Fields and Methods inherited from POINT_VEC3.RoutePointType  Description 

"TakeOffParking" 

"Turning Point" 
Field(s)
Coordinates.
Function(s)
Big smoke and fire at the coordinate.
Defined in:
COORDINATE
Parameters:
Smoke preset (0=small smoke and fire, 1=medium smoke and fire, 2=large smoke and fire, 3=huge smoke and fire, 4=small smoke, 5=medium smoke, 6=large smoke, 7=huge smoke).
#number density
(Optional) Smoke density. Number in [0,...,1]. Default 0.5.
Huge smoke and fire at the coordinate.
Defined in:
COORDINATE
Parameter:
density
Large smoke and fire at the coordinate.
Defined in:
COORDINATE
Parameter:
density
Medium smoke and fire at the coordinate.
Defined in:
COORDINATE
Parameter:
density
Small smoke and fire at the coordinate.
Defined in:
COORDINATE
Parameter:
density
Huge smoke at the coordinate.
Defined in:
COORDINATE
Parameter:
density
Large smoke at the coordinate.
Defined in:
COORDINATE
Parameter:
density
Medium smoke at the coordinate.
Defined in:
COORDINATE
Parameter:
density
Small smoke at the coordinate.
Defined in:
COORDINATE
Parameter:
density
Calculate the distance from a reference #COORDINATE.
Defined in:
COORDINATE
Parameter:
#COORDINATE PointVec2Reference
The reference #COORDINATE.
Return value:
The distance from the reference #COORDINATE in meters.
Creates an explosion at the point of a certain intensity.
Defined in:
COORDINATE
Parameters:
#number ExplosionIntensity
Intensity of the explosion in kg TNT. Default 100 kg.
#number Delay
Delay before explosion in seconds.
Return value:
self
Find the closest unit to the COORDINATE within a certain radius.
Defined in:
COORDINATE
Parameter:
#number radius
Scan radius in meters. Default 100 m.
Return value:
The closest unit or #nil if no unit is inside the given radius.
Flares the point in a color.
Defined in:
COORDINATE
Parameters:
Utilities.Utils#FLARECOLOR FlareColor
DCS#Azimuth Azimuth
(optional) The azimuth of the flare direction. The default azimuth is 0.
Flare the COORDINATE Green.
Defined in:
COORDINATE
Parameter:
DCS#Azimuth Azimuth
(optional) The azimuth of the flare direction. The default azimuth is 0.
Flare the COORDINATE White.
Defined in:
COORDINATE
Parameter:
DCS#Azimuth Azimuth
(optional) The azimuth of the flare direction. The default azimuth is 0.
Flare the COORDINATE Yellow.
Defined in:
COORDINATE
Parameter:
DCS#Azimuth Azimuth
(optional) The azimuth of the flare direction. The default azimuth is 0.
Return the 2D distance in meters between the target COORDINATE and the COORDINATE.
Defined in:
COORDINATE
Parameter:
#COORDINATE TargetCoordinate
The target COORDINATE.
Return value:
Distance The distance in meters.
Return the 3D distance in meters between the target COORDINATE and the COORDINATE.
Defined in:
COORDINATE
Parameter:
#COORDINATE TargetCoordinate
The target COORDINATE.
Return value:
Distance The distance in meters.
Return the altitude text of the COORDINATE.
Defined in:
COORDINATE
Parameters:
Settings
Language
Return value:
#string:
Altitude text.
Return an angle in degrees from the COORDINATE using a direction vector in Vec3 format.
Defined in:
COORDINATE
Parameter:
DCS#Vec3 DirectionVec3
The direction vector in Vec3 format.
Return value:
#number:
DirectionRadians The angle in degrees.
Return an angle in radians from the COORDINATE using a direction vector in Vec3 format.
Defined in:
COORDINATE
Parameter:
DCS#Vec3 DirectionVec3
The direction vector in Vec3 format.
Return value:
#number:
DirectionRadians The angle in radians.
Provides a Bearing / Range / Altitude string
Defined in:
COORDINATE
Parameters:
#number AngleRadians
The angle in randians
#number Distance
The distance
Core.Settings#SETTINGS Settings
Language
Return value:
#string:
The BRA Text
Provides a Bearing / Range string
Defined in:
COORDINATE
Parameters:
#number AngleRadians
The angle in randians
#number Distance
The distance
Core.Settings#SETTINGS Settings
Language
Return value:
#string:
The BR Text
Provides a bearing text in degrees.
Defined in:
COORDINATE
Parameters:
#number AngleRadians
The angle in randians.
#number Precision
The precision.
Core.Settings#SETTINGS Settings
Language
Return value:
#string:
The bearing text in degrees.
Gets the nearest airbase with respect to the current coordinates.
Defined in:
COORDINATE
Parameters:
#number Category
(Optional) Category of the airbase. Enumerator of Wrapper.Airbase#AIRBASE.Category.
#number Coalition
(Optional) Coalition of the airbase.
Return values:
Closest Airbase to the given coordinate.
#number:
Distance to the closest airbase in meters.
Gets the nearest free parking spot.
Defined in:
COORDINATE
Parameters:
Wrapper.Airbase#AIRBASE airbase
(Optional) Search only parking spots at that airbase.
Wrapper.Airbase#Terminaltype terminaltype
(Optional) Type of the terminal.
Return values:
Coordinate of the nearest free parking spot.
#number:
Terminal ID.
#number:
Distance to closest free parking spot in meters.
Gets the nearest occupied parking spot.
Defined in:
COORDINATE
Parameters:
Wrapper.Airbase#AIRBASE airbase
(Optional) Search only parking spots at that airbase.
Wrapper.Airbase#Terminaltype terminaltype
(Optional) Type of the terminal.
Return values:
Coordinate of the nearest occupied parking spot.
#number:
Terminal ID.
#number:
Distance to closest occupied parking spot in meters.
Gets the nearest parking spot.
Defined in:
COORDINATE
Parameters:
Wrapper.Airbase#AIRBASE airbase
(Optional) Search only parking spots at this airbase.
Wrapper.Airbase#Terminaltype terminaltype
(Optional) Type of the terminal. Default any execpt valid spawn points on runway.
#boolean free
(Optional) If true, returns the closest free spot. If false, returns the closest occupied spot. If nil, returns the closest spot regardless of free or occupied.
Return values:
Coordinate of the nearest parking spot.
#number:
Terminal ID.
#number:
Distance to closest parking spot in meters.
ParkingSpot Parking spot table.
Gets the nearest coordinate to a road (or railroad).
Defined in:
COORDINATE
Parameter:
#boolean Railroad
(Optional) If true, closest point to railroad is returned rather than closest point to conventional road. Default false.
Return value:
Coordinate of the nearest road.
Return a direction vector Vec3 from COORDINATE to the COORDINATE.
Defined in:
COORDINATE
Parameter:
#COORDINATE TargetCoordinate
The target COORDINATE.
Return value:
DirectionVec3 The direction vector in Vec3 format.
Provides a distance text expressed in the units of measurement.
Defined in:
COORDINATE
Parameters:
#number Distance
The distance in meters.
Core.Settings#SETTINGS Settings
Language
Return value:
#string:
The distance text expressed in the units of measurement.
Get the heading of the coordinate, if applicable.
Defined in:
COORDINATE
Return value:
#number:
or nil
Return the heading text of the COORDINATE.
Defined in:
COORDINATE
Parameter:
Settings
Return value:
#string:
Heading text.
Return an intermediate COORDINATE between this an another coordinate.
Defined in:
COORDINATE
Parameters:
#COORDINATE ToCoordinate
The other coordinate.
#number Fraction
The fraction (0,1) where the new coordinate is created. Default 0.5, i.e. in the middle.
Return value:
Coordinate between this and the other coordinate.
Get Latitude and Longitude in Degrees Decimal Minutes (DDM).
Defined in:
COORDINATE
Return values:
#number:
Latitude in DDM.
#number:
Lontitude in DDM.
Return the height of the land at the coordinate.
Defined in:
COORDINATE
Return value:
#number:
Land height (ASL) in meters.
Get minutes until the next sun rise at this coordinate.
Defined in:
COORDINATE
Parameter:
OnlyToday
If true, only calculate the sun rise of today. If sun has already risen, the time in negative minutes since sunrise is reported.
Return value:
#number:
Minutes to the next sunrise.
Get minutes until the next sun set at this coordinate.
Defined in:
COORDINATE
Parameter:
OnlyToday
If true, only calculate the sun set of today. If sun has already set, the time in negative minutes since sunset is reported.
Return value:
#number:
Minutes to the next sunrise.
Return velocity text of the COORDINATE.
Defined in:
COORDINATE
Parameter:
Settings
Return value:
#string:
Get a correction in radians of the real magnetic north of the COORDINATE.
Defined in:
COORDINATE
Return value:
#number:
CorrectionRadians The correction in radians.
Returns a table of coordinates to a destination using only roads or railroads.
The first point is the closest point on road of the given coordinate. By default, the last point is the closest point on road of the ToCoord. Hence, the coordinate itself and the final ToCoord are not necessarily included in the path.
Defined in:
COORDINATE
Parameters:
#COORDINATE ToCoord
Coordinate of destination.
#boolean IncludeEndpoints
(Optional) Include the coordinate itself and the ToCoordinate in the path.
#boolean Railroad
(Optional) If true, path on railroad is returned. Default false.
#boolean MarkPath
(Optional) If true, place markers on F10 map along the path.
#boolean SmokePath
(Optional) If true, put (green) smoke along the
Return values:
#table:
Table of coordinates on road. If no path on road can be found, nil is returned or just the endpoints.
#number:
Tonal length of path.
#boolean:
If true a valid path on road/rail was found. If false, only the direct way is possible.
Returns the pressure in hPa.
Defined in:
COORDINATE
Parameter:
height
(Optional) parameter specifying the height ASL. E.g. set height=0 for QNH.
Return value:
Pressure in hPa.
Returns a text of the pressure according the measurement system Settings.
The text will contain always the pressure in hPa and:
 For Russian and European aircraft using the metric system  hPa and mmHg
 For Americain and European aircraft we link to the imperial system  hPa and inHg
A text containing a pressure will look like this:
QFE: x hPa (y mmHg)
QFE: x hPa (y inHg)
Defined in:
COORDINATE
Parameters:
height
(Optional) parameter specifying the height ASL. E.g. set height=0 for QNH.
Settings
Return value:
#string:
Pressure in hPa and mmHg or inHg depending on the measurement system Settings.
Return a random Coordinate within an Outer Radius and optionally NOT within an Inner Radius of the COORDINATE.
Return a random Vec2 within an Outer Radius and optionally NOT within an Inner Radius of the COORDINATE.
Defined in:
COORDINATE
Parameters:
DCS#Distance OuterRadius
DCS#Distance InnerRadius
Return value:
Vec2
Return a random Vec3 within an Outer Radius and optionally NOT within an Inner Radius of the COORDINATE.
Defined in:
COORDINATE
Parameters:
DCS#Distance OuterRadius
DCS#Distance InnerRadius
Return value:
Vec3
Get todays sun rise time.
Defined in:
COORDINATE
Parameter:
#boolean InSeconds
If true, return the sun rise time in seconds.
Return value:
#string:
Sunrise time, e.g. "05:41".
Get sun rise time for a specific date at the coordinate.
Defined in:
COORDINATE
Parameters:
#number Day
The day.
#number Month
The month.
#number Year
The year.
#boolean InSeconds
If true, return the sun rise time in seconds.
Return value:
#string:
Sunrise time, e.g. "05:41".
Get sun rise time for a specific day of the year at the coordinate.
Defined in:
COORDINATE
Parameters:
#number DayOfYear
The day of the year.
#boolean InSeconds
If true, return the sun rise time in seconds.
Return value:
#string:
Sunrise time, e.g. "05:41".
Get todays sun set time.
Defined in:
COORDINATE
Parameter:
#boolean InSeconds
If true, return the sun set time in seconds.
Return value:
#string:
Sunrise time, e.g. "20:41".
Get sun set time for a specific date at the coordinate.
Defined in:
COORDINATE
Parameters:
#number Day
The day.
#number Month
The month.
#number Year
The year.
#boolean InSeconds
If true, return the sun rise time in seconds.
Return value:
#string:
Sunset time, e.g. "20:41".
Gets the surface type at the coordinate.
Returns the temperature in Degrees Celsius.
Defined in:
COORDINATE
Parameter:
height
(Optional) parameter specifying the height ASL.
Return value:
Temperature in Degrees Celsius.
Returns a text of the temperature according the measurement system Settings.
The text will reflect the temperature like this:
 For Russian and European aircraft using the metric system  Degrees Celcius (Â°C)
 For Americain aircraft we link to the imperial system  Degrees Farenheit (Â°F)
A text containing a pressure will look like this:
Temperature: %n.d Â°C
Temperature: %n.d Â°F
Defined in:
COORDINATE
Parameters:
height
(Optional) parameter specifying the height ASL.
Settings
Return value:
#string:
Temperature according the measurement system Settings.
Return the coordinates of the COORDINATE in Vec2 format.
Return the coordinates of the COORDINATE in Vec3 format.
Return the velocity of the COORDINATE.
Defined in:
COORDINATE
Return value:
#number:
Velocity in meters per second.
Return the velocity text of the COORDINATE.
Defined in:
COORDINATE
Parameter:
Settings
Return value:
#string:
Velocity text.
Returns the wind direction (from) and strength.
Defined in:
COORDINATE
Parameter:
height
(Optional) parameter specifying the height ASL. The minimum height will be always be the land height since the wind is zero below the ground.
Return values:
Direction the wind is blowing from in degrees.
Wind strength in m/s.
Returns a text documenting the wind direction (from) and strength according the measurement system Settings.
The text will reflect the wind like this:
 For Russian and European aircraft using the metric system  Wind direction in degrees (Â°) and wind speed in meters per second (mps).
 For Americain aircraft we link to the imperial system  Wind direction in degrees (Â°) and wind speed in knots per second (kps).
A text containing a pressure will look like this:
Wind: %n Â° at n.d mps
Wind: %n Â° at n.d kps
Defined in:
COORDINATE
Parameters:
height
(Optional) parameter specifying the height ASL. The minimum height will be always be the land height since the wind is zero below the ground.
Settings
Return value:
#string:
Wind direction and strength according the measurement system Settings.
Returns the wind direction (from) and strength.
Defined in:
COORDINATE
Parameter:
height
(Optional) parameter specifying the height ASL. The minimum height will be always be the land height since the wind is zero below the ground.
Return value:
Direction the wind is blowing from in degrees.
Returns the heading from this to another coordinate.
Defined in:
COORDINATE
Parameter:
#COORDINATE ToCoordinate
Return value:
#number:
Heading in degrees.
Creates an illumination bomb at the point.
Defined in:
COORDINATE
Parameter:
#number power
Power of illumination bomb in Candela.
Return value:
self
Returns if the 2 coordinates are at the same 2D position.
Defined in:
COORDINATE
Parameters:
#COORDINATE Coordinate
#number Precision
Return value:
#boolean:
true if at the same position.
Check if it is day, i.e.
if the sun has risen about the horizon at this coordinate.
Defined in:
COORDINATE
Parameter:
#string Clock
(Optional) Time in format "HH:MM:SS+D", e.g. "05:40:00+3" to check if is day at 5:40 at third day after mission start. Default is to check right now.
Return value:
#boolean:
If true, it is day. If false, it is night time.
Returns if a Coordinate is in a certain Radius of this Coordinate in 2D plane using the X and Z axis.
Defined in:
COORDINATE
Parameters:
#COORDINATE Coordinate
The coordinate that will be tested if it is in the radius of this coordinate.
#number Radius
The radius of the circle on the 2D plane around this coordinate.
Return value:
#boolean:
true if in the Radius.
Returns if a Coordinate is in a certain radius of this Coordinate in 3D space using the X, Y and Z axis.
So Radius defines the radius of the a Sphere in 3D space around this coordinate.
Defined in:
COORDINATE
Parameters:
#COORDINATE ToCoordinate
The coordinate that will be tested if it is in the radius of this coordinate.
#number Radius
The radius of the sphere in the 3D space around this coordinate.
Coordinate
Return value:
#boolean:
true if in the Sphere.
Returns if a Coordinate has Line of Sight (LOS) with the ToCoordinate.
Defined in:
COORDINATE
Parameter:
#COORDINATE ToCoordinate
Return value:
#boolean:
true If the ToCoordinate has LOS with the Coordinate, otherwise false.
Check if it is night, i.e.
if the sun has set below the horizon at this coordinate.
Defined in:
COORDINATE
Parameter:
#string Clock
(Optional) Time in format "HH:MM:SS+D", e.g. "05:40:00+3" to check if is night at 5:40 at third day after mission start. Default is to check right now.
Return value:
#boolean:
If true, it is night. If false, it is day time.
Checks if the surface type is on land.
Defined in:
COORDINATE
Return value:
#boolean:
If true, the surface type at the coordinate is land.
Checks if the surface type is road.
Defined in:
COORDINATE
Return value:
#boolean:
If true, the surface type at the coordinate is a road.
Checks if the surface type is runway.
Defined in:
COORDINATE
Return value:
#boolean:
If true, the surface type at the coordinate is a runway or taxi way.
Checks if the surface type is shallow water.
Defined in:
COORDINATE
Return value:
#boolean:
If true, the surface type at the coordinate is a shallow water.
Checks if the surface type is water.
Defined in:
COORDINATE
Return value:
#boolean:
If true, the surface type at the coordinate is a deep water.
Mark to All
Defined in:
COORDINATE
Parameters:
#string MarkText
Free format text that shows the marking clarification.
#boolean ReadOnly
(Optional) Mark is readonly and cannot be removed by users. Default false.
#string Text
(Optional) Text displayed when mark is added. Default none.
Return value:
#number:
The resulting Mark ID which is a number.
Usage:
local TargetCoord = TargetGroup:GetCoordinate()
local MarkID = TargetCoord:MarkToAll( "This is a target for all players" )
Mark to Coalition
Defined in:
COORDINATE
Parameters:
#string MarkText
Free format text that shows the marking clarification.
Coalition
#boolean ReadOnly
(Optional) Mark is readonly and cannot be removed by users. Default false.
#string Text
(Optional) Text displayed when mark is added. Default none.
Return value:
#number:
The resulting Mark ID which is a number.
Usage:
local TargetCoord = TargetGroup:GetCoordinate()
local MarkID = TargetCoord:MarkToCoalition( "This is a target for the red coalition", coalition.side.RED )
Mark to Blue Coalition
Defined in:
COORDINATE
Parameters:
#string MarkText
Free format text that shows the marking clarification.
#boolean ReadOnly
(Optional) Mark is readonly and cannot be removed by users. Default false.
#string Text
(Optional) Text displayed when mark is added. Default none.
Return value:
#number:
The resulting Mark ID which is a number.
Usage:
local TargetCoord = TargetGroup:GetCoordinate()
local MarkID = TargetCoord:MarkToCoalitionBlue( "This is a target for the blue coalition" )
Mark to Red Coalition
Defined in:
COORDINATE
Parameters:
#string MarkText
Free format text that shows the marking clarification.
#boolean ReadOnly
(Optional) Mark is readonly and cannot be removed by users. Default false.
#string Text
(Optional) Text displayed when mark is added. Default none.
Return value:
#number:
The resulting Mark ID which is a number.
Usage:
local TargetCoord = TargetGroup:GetCoordinate()
local MarkID = TargetCoord:MarkToCoalitionRed( "This is a target for the red coalition" )
Mark to Group
Defined in:
COORDINATE
Parameters:
#string MarkText
Free format text that shows the marking clarification.
Wrapper.Group#GROUP MarkGroup
The Wrapper.Group that receives the mark.
#boolean ReadOnly
(Optional) Mark is readonly and cannot be removed by users. Default false.
#string Text
(Optional) Text displayed when mark is added. Default none.
Return value:
#number:
The resulting Mark ID which is a number.
Usage:
local TargetCoord = TargetGroup:GetCoordinate()
local MarkGroup = GROUP:FindByName( "AttackGroup" )
local MarkID = TargetCoord:MarkToGroup( "This is a target for the attack group", AttackGroup )
COORDINATE constructor.
Defined in:
COORDINATE
Parameters:
The x coordinate of the Vec3 point, pointing to the North.
The y coordinate of the Vec3 point, pointing to the Right.
The z coordinate of the Vec3 point, pointing to the Right.
Return value:
COORDINATE constructor.
Returns the coordinate from the latitude and longitude given in decimal degrees.
Defined in:
COORDINATE
Parameters:
#number latitude
Latitude in decimal degrees.
#number longitude
Longitude in decimal degrees.
#number altitude
(Optional) Altitude in meters. Default is the land height at the coordinate.
Return value:
Create a new COORDINATE object from Vec2 coordinates.
Defined in:
COORDINATE
Parameters:
DCS#Vec2 Vec2
The Vec2 point.
DCS#Distance LandHeightAdd
(optional) The default height if required to be evaluated will be the land height of the x, y coordinate. You can specify an extra height to be added to the land height.
Return value:
Create a new COORDINATE object from Vec3 coordinates.
Remove a mark
Defined in:
COORDINATE
Parameter:
#number MarkID
The ID of the mark to be removed.
Usage:
local TargetCoord = TargetGroup:GetCoordinate()
local MarkGroup = GROUP:FindByName( "AttackGroup" )
local MarkID = TargetCoord:MarkToGroup( "This is a target for the attack group", AttackGroup )
<<< logic >>>
RemoveMark( MarkID )  The mark is now removed
Rotate coordinate in 2D (x,z) space.
Defined in:
COORDINATE
Parameter:
DCS#Angle Angle
Angle of rotation in degrees.
Return value:
The rotated coordinate.
Scan/find objects (units, statics, scenery) within a certain radius around the coordinate using the world.searchObjects() DCS API function.
Defined in:
COORDINATE
Parameters:
#number radius
(Optional) Scan radius in meters. Default 100 m.
#boolean scanunits
(Optional) If true scan for units. Default true.
#boolean scanstatics
(Optional) If true scan for static objects. Default true.
#boolean scanscenery
(Optional) If true scan for scenery objects. Default false.
Return values:
#boolean:
True if units were found.
#boolean:
True if statics were found.
#boolean:
True if scenery objects were found.
#table:
Table of MOOSE @[#Wrapper.Unit#UNIT} objects found.
#table:
Table of DCS static objects found.
#table:
Table of DCS scenery objects found.
Scan/find UNITS within a certain radius around the coordinate using the world.searchObjects() DCS API function.
Defined in:
COORDINATE
Parameter:
#number radius
(Optional) Scan radius in meters. Default 100 m.
Return value:
Set of units.
Set altitude.
Defined in:
COORDINATE
Parameters:
#number altitude
New altitude in meters.
#boolean asl
Altitude above sea level. Default is above ground level.
Return value:
The COORDINATE with adjusted altitude.
Set the heading of the coordinate, if applicable.
Defined in:
COORDINATE
Parameter:
Heading
Set the velocity of the COORDINATE.
Defined in:
COORDINATE
Parameter:
#string Velocity
Velocity in meters per second.
Smokes the point in a color.
Provides a coordinate string of the point, based on a coordinate format system: * Uses default settings in COORDINATE.
 Can be overridden if for a GROUP containing x clients, a menu was selected to override the default.
Defined in:
COORDINATE
Parameters:
Wrapper.Controllable#CONTROLLABLE Controllable
The controllable to retrieve the settings from, otherwise the default settings will be chosen.
Core.Settings#SETTINGS Settings
(optional) The settings. Can be nil, and in this case the default settings are used. If you want to specify your own settings, use the _SETTINGS object.
Tasking.Task#TASK Task
The task for which coordinates need to be calculated.
Return value:
#string:
The coordinate Text in the configured coordinate system.
Provides a coordinate string of the point, based on the A2A coordinate format system.
Defined in:
COORDINATE
Parameters:
Wrapper.Controllable#CONTROLLABLE Controllable
Core.Settings#SETTINGS Settings
(optional) The settings. Can be nil, and in this case the default settings are used. If you want to specify your own settings, use the _SETTINGS object.
Language
Return value:
#string:
The coordinate Text in the configured coordinate system.
Provides a coordinate string of the point, based on the A2G coordinate format system.
Defined in:
COORDINATE
Parameters:
Wrapper.Controllable#CONTROLLABLE Controllable
Core.Settings#SETTINGS Settings
(optional) The settings. Can be nil, and in this case the default settings are used. If you want to specify your own settings, use the _SETTINGS object.
Return value:
#string:
The coordinate Text in the configured coordinate system.
Return an aspect string from a COORDINATE to the Angle of the object.
Defined in:
COORDINATE
Parameter:
#COORDINATE TargetCoordinate
The target COORDINATE.
Return value:
#string:
The Aspect string, which is Hot, Cold or Flanking.
Return a BR string from a COORDINATE to the COORDINATE.
Defined in:
COORDINATE
Parameters:
#COORDINATE FromCoordinate
The coordinate to measure the distance and the bearing from.
Core.Settings#SETTINGS Settings
(optional) The settings. Can be nil, and in this case the default settings are used. If you want to specify your own settings, use the _SETTINGS object.
Return value:
#string:
The BR text.
Return a BRAA string from a COORDINATE to the COORDINATE.
Defined in:
COORDINATE
Parameters:
#COORDINATE FromCoordinate
The coordinate to measure the distance and the bearing from.
Core.Settings#SETTINGS Settings
(optional) The settings. Can be nil, and in this case the default settings are used. If you want to specify your own settings, use the _SETTINGS object.
Language
Return value:
#string:
The BR text.
Return a BULLS string out of the BULLS of the coalition to the COORDINATE.
Defined in:
COORDINATE
Parameters:
DCS#coalition.side Coalition
The coalition.
Core.Settings#SETTINGS Settings
(optional) The settings. Can be nil, and in this case the default settings are used. If you want to specify your own settings, use the _SETTINGS object.
Return value:
#string:
The BR text.
Provides a coordinate string of the point, based on a coordinate format system: * Uses default settings in COORDINATE.
 Can be overridden if for a GROUP containing x clients, a menu was selected to override the default.
Defined in:
COORDINATE
Parameters:
#COORDINATE ReferenceCoord
The refrence coordinate.
#string ReferenceName
The refrence name.
Wrapper.Controllable#CONTROLLABLE Controllable
Core.Settings#SETTINGS Settings
(optional) The settings. Can be nil, and in this case the default settings are used. If you want to specify your own settings, use the _SETTINGS object.
Return value:
#string:
The coordinate Text in the configured coordinate system.
Provides a Lat Lon string in Degree Decimal Minute format.
Defined in:
COORDINATE
Parameter:
Core.Settings#SETTINGS Settings
(optional) The settings. Can be nil, and in this case the default settings are used. If you want to specify your own settings, use the _SETTINGS object.
Return value:
#string:
The LL DDM Text
Provides a Lat Lon string in Degree Minute Second format.
Defined in:
COORDINATE
Parameter:
Core.Settings#SETTINGS Settings
(optional) The settings. Can be nil, and in this case the default settings are used. If you want to specify your own settings, use the _SETTINGS object.
Return value:
#string:
The LL DMS Text
Provides a MGRS string
Defined in:
COORDINATE
Parameter:
Core.Settings#SETTINGS Settings
(optional) The settings. Can be nil, and in this case the default settings are used. If you want to specify your own settings, use the _SETTINGS object.
Return value:
#string:
The MGRS Text
Provides a pressure string of the point, based on a measurement system: * Uses default settings in COORDINATE.
 Can be overridden if for a GROUP containing x clients, a menu was selected to override the default.
Defined in:
COORDINATE
Parameters:
Wrapper.Controllable#CONTROLLABLE Controllable
Core.Settings#SETTINGS Settings
(optional) The settings. Can be nil, and in this case the default settings are used. If you want to specify your own settings, use the _SETTINGS object.
Return value:
#string:
The pressure text in the configured measurement system.
Provides a temperature string of the point, based on a measurement system: * Uses default settings in COORDINATE.
 Can be overridden if for a GROUP containing x clients, a menu was selected to override the default.
Defined in:
COORDINATE
Parameters:
Wrapper.Controllable#CONTROLLABLE Controllable
Core
Settings#SETTINGS
Settings
Return value:
#string:
The temperature text in the configured measurement system.
Provides a wind string of the point, based on a measurement system: * Uses default settings in COORDINATE.
 Can be overridden if for a GROUP containing x clients, a menu was selected to override the default.
Defined in:
COORDINATE
Parameters:
Wrapper.Controllable#CONTROLLABLE Controllable
Core.Settings#SETTINGS Settings
(optional) The settings. Can be nil, and in this case the default settings are used. If you want to specify your own settings, use the _SETTINGS object.
Return value:
#string:
The wind text in the configured measurement system.
Add a Distance in meters from the COORDINATE orthonormal plane, with the given angle, and calculate the new COORDINATE.
Defined in:
COORDINATE
Parameters:
DCS#Distance Distance
The Distance to be added in meters.
DCS#Angle Angle
The Angle in degrees. Defaults to 0 if not specified (nil).
#boolean Keepalt
If true, keep altitude of original coordinate. Default is that the new coordinate is created at the translated land height.
Return value:
The new calculated COORDINATE.
Build an air type route point.
Defined in:
COORDINATE
Parameters:
#COORDINATE.WaypointAltType AltType
The altitude type.
The route point type.
#COORDINATE.WaypointAction Action
The route point action.
DCS#Speed Speed
Airspeed in km/h. Default is 500 km/h.
#boolean SpeedLocked
true means the speed is locked.
Wrapper.Airbase#AIRBASE airbase
The airbase for takeoff and landing points.
#table DCSTasks
A table of DCS#Task items which are executed at the waypoint.
#string description
A text description of the waypoint, which will be shown on the F10 map.
#number timeReFuAr
Time in minutes the aircraft stays at the airport for ReFueling and ReArming.
Return value:
#table:
The route point.
Build a Waypoint Air "Fly Over Point".
Defined in:
COORDINATE
Parameters:
#COORDINATE.WaypointAltType AltType
The altitude type.
DCS#Speed Speed
Airspeed in km/h.
Return value:
#table:
The route point.
Build a Waypoint Air "Landing".
Defined in:
COORDINATE
Parameters:
DCS#Speed Speed
Airspeed in km/h.
Wrapper.Airbase#AIRBASE airbase
The airbase for takeoff and landing points.
#table DCSTasks
A table of DCS#Task items which are executed at the waypoint.
#string description
A text description of the waypoint, which will be shown on the F10 map.
Return value:
#table:
The route point.
Usage:
LandingZone = ZONE:New( "LandingZone" )
LandingCoord = LandingZone:GetCoordinate()
LandingWaypoint = LandingCoord:WaypointAirLanding( 60 )
HeliGroup:Route( { LandWaypoint }, 1 )  Start landing the helicopter in one second.
Build a Waypoint Air "LandingReFuAr".
Mimics the aircraft ReFueling and ReArming.
Defined in:
COORDINATE
Parameters:
DCS#Speed Speed
Airspeed in km/h.
Wrapper.Airbase#AIRBASE airbase
The airbase for takeoff and landing points.
#number timeReFuAr
Time in minutes, the aircraft stays at the airbase. Default 10 min.
#table DCSTasks
A table of DCS#Task items which are executed at the waypoint.
#string description
A text description of the waypoint, which will be shown on the F10 map.
Return value:
#table:
The route point.
Build a Waypoint Air "Take Off Parking".
Defined in:
COORDINATE
Parameters:
#COORDINATE.WaypointAltType AltType
The altitude type.
DCS#Speed Speed
Airspeed in km/h.
Return value:
#table:
The route point.
Build a Waypoint Air "Take Off Parking Hot".
Defined in:
COORDINATE
Parameters:
#COORDINATE.WaypointAltType AltType
The altitude type.
DCS#Speed Speed
Airspeed in km/h.
Return value:
#table:
The route point.
Build a Waypoint Air "Take Off Runway".
Defined in:
COORDINATE
Parameters:
#COORDINATE.WaypointAltType AltType
The altitude type.
DCS#Speed Speed
Airspeed in km/h.
Return value:
#table:
The route point.
Build a Waypoint Air "Turning Point".
Defined in:
COORDINATE
Parameters:
#COORDINATE.WaypointAltType AltType
The altitude type.
DCS#Speed Speed
Airspeed in km/h.
#table DCSTasks
(Optional) A table of DCS#Task items which are executed at the waypoint.
#string description
(Optional) A text description of the waypoint, which will be shown on the F10 map.
Return value:
#table:
The route point.
Build an ground type route point.
Defined in:
COORDINATE
Parameters:
#number Speed
(Optional) Speed in km/h. The default speed is 20 km/h.
#string Formation
(Optional) The route point Formation, which is a text string that specifies exactly the Text in the Type of the route point, like "Vee", "Echelon Right".
#table DCSTasks
(Optional) A table of DCS tasks that are executed at the waypoints. Mind the curly brackets {}!
Return value:
#table:
The route point.
Build route waypoint point for Naval units.
Field(s)
Coordinates.
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 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.
Returns the event dispatcher
Remove all subscribed events
Trace a function call.
Must be at the beginning of the function logic.
Trace a function call level 2.
Must be at the beginning of the function logic.
Trace a function call level 3.
Must be at the beginning of the function logic.
Get the ClassID of the class instance.
Get the ClassName of the class instance.
Get the ClassName + ClassID of the class instance.
The ClassName + ClassID is formatted as '%s#%09d'.
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, nillified 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 Event
#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.
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 object is completely destroyed.
initiator : The unit that is was destroyed.
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.
Occurs when any object is spawned into the mission.
initiator : The unit that was spawned
Occurs when any aircraft crashes into the ground and is completely destroyed.
initiator : The unit that has crashed
Occurs when an object is dead.
initiator : The unit that is dead.
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.
Occurs when a pilot ejects from an aircraft initiator : The unit that has ejected
Occurs when any aircraft shuts down its engines.
initiator : The unit that is stopping its engines.
Occurs when any aircraft starts its engines.
initiator : The unit that is starting its engines.
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.
Occurs when any system fails on a human controlled aircraft.
initiator : The unit that had the failure
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
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
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.
Occurs when a new mark was added.
MarkID: ID of the mark.
Occurs when a mark text was changed.
MarkID: ID of the mark.
Occurs when a mark was removed.
MarkID: ID of the mark.
Occurs when a mission ends
Occurs when a mission starts
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.
Occurs when any player assumes direct control of a unit.
initiator : The unit that is being taken control of.
Occurs when any player relieves control of a unit to the AI.
initiator : The unit that the player left.
Occurs when an aircraft connects with a tanker and begins taking on fuel.
initiator : The unit that is receiving fuel.
Occurs when an aircraft is finished taking fuel.
initiator : The unit that was receiving fuel.
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.
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.
Occurs when any unit begins firing a weapon that has a high rate of fire.
Most common with aircraft cannons (GAU8), autocannons, and machine guns. initiator : The unit that is doing the shooting. target: The unit that is being targeted.
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.
Occurs when an aircraft takes off from an airbase, farp, or ship.
initiator : The unit that tookoff place: Object from where the AI tookoff from. Can be an Airbase Object, FARP, or Ships
Occurs when the game thinks an object is destroyed.
 initiator: The unit that is was destroyed.
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.
Set a state or property of the Object given a Key and a Value.
Note that if the Object is destroyed, nillified 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.
Trace a function logic level 2.
Can be anywhere within the function logic.
Trace a function logic level 3.
Can be anywhere within the function logic.
Trace all methods in MOOSE
Set tracing for a class
Set tracing for a specific method of class
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.
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)
Add to the current land height an altitude.
Defined in:
POINT_VEC2
Parameter:
#number Altitude
The Altitude to add. If nothing (nil) is given, then the current land altitude is set.
Return value:
Add to the x coordinate of the POINT_VEC2.
Add to the y coordinate of the POINT_VEC2.
TODO: Check this to replace  Calculate the distance from a reference #POINT_VEC2. @param #POINT_VEC2 self @param #POINT_VEC2 PointVec2Reference The reference #POINT_VEC2. @return DCS#Distance The distance from the reference #POINT_VEC2 in meters.
Defined in:
POINT_VEC2
Parameter:
PointVec2Reference
Return the altitude (height) of the land at the POINT_VEC2.
Defined in:
POINT_VEC2
Return value:
#number:
The land altitude.
Return Return the Lat(itude) coordinate of the POINT_VEC2 (ie: (parent)POINT_VEC3.x).
Defined in:
POINT_VEC2
Return value:
#number:
The x coodinate.
Return the Lon(gitude) coordinate of the POINT_VEC2 (ie: (parent)POINT_VEC3.z).
Defined in:
POINT_VEC2
Return value:
#number:
The y coodinate.
Return a random POINT_VEC2 within an Outer Radius and optionally NOT within an Inner Radius of the POINT_VEC2.
Return the x coordinate of the POINT_VEC2.
Defined in:
POINT_VEC2
Return value:
#number:
The x coodinate.
Return the y coordinate of the POINT_VEC2.
Defined in:
POINT_VEC2
Return value:
#number:
The y coodinate.
POINT_VEC2 constructor.
Defined in:
POINT_VEC2
Parameters:
The x coordinate of the Vec3 point, pointing to the North.
The y coordinate of the Vec3 point, pointing to the Right.
DCS#Distance LandHeightAdd
(optional) The default height if required to be evaluated will be the land height of the x, y coordinate. You can specify an extra height to be added to the land height.
Return value:
Create a new POINT_VEC2 object from Vec2 coordinates.
Create a new POINT_VEC2 object from Vec3 coordinates.
Set the altitude of the POINT_VEC2.
Defined in:
POINT_VEC2
Parameter:
#number Altitude
The land altitude. If nothing (nil) is given, then the current land altitude is set.
Return value:
Set the Lat(itude) coordinate of the POINT_VEC2 (ie: POINT_VEC3.x).
Set the Lon(gitude) coordinate of the POINT_VEC2 (ie: POINT_VEC3.z).
Set the x coordinate of the POINT_VEC2.
Set the y coordinate of the POINT_VEC2.
Field(s)
Function(s)
Big smoke and fire at the coordinate.
Defined in:
Parameters:
Smoke preset (0=small smoke and fire, 1=medium smoke and fire, 2=large smoke and fire, 3=huge smoke and fire, 4=small smoke, 5=medium smoke, 6=large smoke, 7=huge smoke).
#number density
(Optional) Smoke density. Number in [0,...,1]. Default 0.5.
Huge smoke and fire at the coordinate.
Large smoke and fire at the coordinate.
Medium smoke and fire at the coordinate.
Small smoke and fire at the coordinate.
Huge smoke at the coordinate.
Large smoke at the coordinate.
Medium smoke at the coordinate.
Small smoke at the coordinate.
Calculate the distance from a reference #COORDINATE.
Defined in:
Parameter:
#COORDINATE PointVec2Reference
The reference #COORDINATE.
Return value:
The distance from the reference #COORDINATE in meters.
Creates an explosion at the point of a certain intensity.
Defined in:
Parameters:
#number ExplosionIntensity
Intensity of the explosion in kg TNT. Default 100 kg.
#number Delay
Delay before explosion in seconds.
Return value:
self
Find the closest unit to the COORDINATE within a certain radius.
Defined in:
Parameter:
#number radius
Scan radius in meters. Default 100 m.
Return value:
The closest unit or #nil if no unit is inside the given radius.
Flares the point in a color.
Defined in:
Parameters:
Utilities.Utils#FLARECOLOR FlareColor
DCS#Azimuth Azimuth
(optional) The azimuth of the flare direction. The default azimuth is 0.
Flare the COORDINATE Green.
Defined in:
Parameter:
DCS#Azimuth Azimuth
(optional) The azimuth of the flare direction. The default azimuth is 0.
Flare the COORDINATE Red.
Flare the COORDINATE White.
Defined in:
Parameter:
DCS#Azimuth Azimuth
(optional) The azimuth of the flare direction. The default azimuth is 0.
Flare the COORDINATE Yellow.
Defined in:
Parameter:
DCS#Azimuth Azimuth
(optional) The azimuth of the flare direction. The default azimuth is 0.
Return the 2D distance in meters between the target COORDINATE and the COORDINATE.
Defined in:
Parameter:
#COORDINATE TargetCoordinate
The target COORDINATE.
Return value:
Distance The distance in meters.
Return the 3D distance in meters between the target COORDINATE and the COORDINATE.
Defined in:
Parameter:
#COORDINATE TargetCoordinate
The target COORDINATE.
Return value:
Distance The distance in meters.
Return the altitude text of the COORDINATE.
Defined in:
Parameters:
Settings
Language
Return value:
#string:
Altitude text.
Return an angle in degrees from the COORDINATE using a direction vector in Vec3 format.
Defined in:
Parameter:
DCS#Vec3 DirectionVec3
The direction vector in Vec3 format.
Return value:
#number:
DirectionRadians The angle in degrees.
Return an angle in radians from the COORDINATE using a direction vector in Vec3 format.
Defined in:
Parameter:
DCS#Vec3 DirectionVec3
The direction vector in Vec3 format.
Return value:
#number:
DirectionRadians The angle in radians.
Provides a Bearing / Range / Altitude string
Defined in:
Parameters:
#number AngleRadians
The angle in randians
#number Distance
The distance
Core.Settings#SETTINGS Settings
Language
Return value:
#string:
The BRA Text
Provides a Bearing / Range string
Defined in:
Parameters:
#number AngleRadians
The angle in randians
#number Distance
The distance
Core.Settings#SETTINGS Settings
Language
Return value:
#string:
The BR Text
Provides a bearing text in degrees.
Defined in:
Parameters:
#number AngleRadians
The angle in randians.
#number Precision
The precision.
Core.Settings#SETTINGS Settings
Language
Return value:
#string:
The bearing text in degrees.
Gets the nearest airbase with respect to the current coordinates.
Defined in:
Parameters:
#number Category
(Optional) Category of the airbase. Enumerator of Wrapper.Airbase#AIRBASE.Category.
#number Coalition
(Optional) Coalition of the airbase.
Return values:
Closest Airbase to the given coordinate.
#number:
Distance to the closest airbase in meters.
Gets the nearest free parking spot.
Defined in:
Parameters:
Wrapper.Airbase#AIRBASE airbase
(Optional) Search only parking spots at that airbase.
Wrapper.Airbase#Terminaltype terminaltype
(Optional) Type of the terminal.
Return values:
Coordinate of the nearest free parking spot.
#number:
Terminal ID.
#number:
Distance to closest free parking spot in meters.
Gets the nearest occupied parking spot.
Defined in:
Parameters:
Wrapper.Airbase#AIRBASE airbase
(Optional) Search only parking spots at that airbase.
Wrapper.Airbase#Terminaltype terminaltype
(Optional) Type of the terminal.
Return values:
Coordinate of the nearest occupied parking spot.
#number:
Terminal ID.
#number:
Distance to closest occupied parking spot in meters.
Gets the nearest parking spot.
Defined in:
Parameters:
Wrapper.Airbase#AIRBASE airbase
(Optional) Search only parking spots at this airbase.
Wrapper.Airbase#Terminaltype terminaltype
(Optional) Type of the terminal. Default any execpt valid spawn points on runway.
#boolean free
(Optional) If true, returns the closest free spot. If false, returns the closest occupied spot. If nil, returns the closest spot regardless of free or occupied.
Return values:
Coordinate of the nearest parking spot.
#number:
Terminal ID.
#number:
Distance to closest parking spot in meters.
ParkingSpot Parking spot table.
Gets the nearest coordinate to a road (or railroad).
Defined in:
Parameter:
#boolean Railroad
(Optional) If true, closest point to railroad is returned rather than closest point to conventional road. Default false.
Return value:
Coordinate of the nearest road.
Return a direction vector Vec3 from COORDINATE to the COORDINATE.
Defined in:
Parameter:
#COORDINATE TargetCoordinate
The target COORDINATE.
Return value:
DirectionVec3 The direction vector in Vec3 format.
Provides a distance text expressed in the units of measurement.
Defined in:
Parameters:
#number Distance
The distance in meters.
Core.Settings#SETTINGS Settings
Language
Return value:
#string:
The distance text expressed in the units of measurement.
Get the heading of the coordinate, if applicable.
Return the heading text of the COORDINATE.
Return an intermediate COORDINATE between this an another coordinate.
Defined in:
Parameters:
#COORDINATE ToCoordinate
The other coordinate.
#number Fraction
The fraction (0,1) where the new coordinate is created. Default 0.5, i.e. in the middle.
Return value:
Coordinate between this and the other coordinate.
Get Latitude and Longitude in Degrees Decimal Minutes (DDM).
Defined in:
Return values:
#number:
Latitude in DDM.
#number:
Lontitude in DDM.
Return the height of the land at the coordinate.
Get minutes until the next sun rise at this coordinate.
Defined in:
Parameter:
OnlyToday
If true, only calculate the sun rise of today. If sun has already risen, the time in negative minutes since sunrise is reported.
Return value:
#number:
Minutes to the next sunrise.
Get minutes until the next sun set at this coordinate.
Defined in:
Parameter:
OnlyToday
If true, only calculate the sun set of today. If sun has already set, the time in negative minutes since sunset is reported.
Return value:
#number:
Minutes to the next sunrise.
Return velocity text of the COORDINATE.
Get a correction in radians of the real magnetic north of the COORDINATE.
Defined in:
Return value:
#number:
CorrectionRadians The correction in radians.
Returns a table of coordinates to a destination using only roads or railroads.
The first point is the closest point on road of the given coordinate. By default, the last point is the closest point on road of the ToCoord. Hence, the coordinate itself and the final ToCoord are not necessarily included in the path.
Defined in:
Parameters:
#COORDINATE ToCoord
Coordinate of destination.
#boolean IncludeEndpoints
(Optional) Include the coordinate itself and the ToCoordinate in the path.
#boolean Railroad
(Optional) If true, path on railroad is returned. Default false.
#boolean MarkPath
(Optional) If true, place markers on F10 map along the path.
#boolean SmokePath
(Optional) If true, put (green) smoke along the
Return values:
#table:
Table of coordinates on road. If no path on road can be found, nil is returned or just the endpoints.
#number:
Tonal length of path.
#boolean:
If true a valid path on road/rail was found. If false, only the direct way is possible.
Returns the pressure in hPa.
Defined in:
Parameter:
height
(Optional) parameter specifying the height ASL. E.g. set height=0 for QNH.
Return value:
Pressure in hPa.
Returns a text of the pressure according the measurement system Settings.
The text will contain always the pressure in hPa and:
 For Russian and European aircraft using the metric system  hPa and mmHg
 For Americain and European aircraft we link to the imperial system  hPa and inHg
A text containing a pressure will look like this:
QFE: x hPa (y mmHg)
QFE: x hPa (y inHg)
Defined in:
Parameters:
height
(Optional) parameter specifying the height ASL. E.g. set height=0 for QNH.
Settings
Return value:
#string:
Pressure in hPa and mmHg or inHg depending on the measurement system Settings.
Return a random Coordinate within an Outer Radius and optionally NOT within an Inner Radius of the COORDINATE.
Return a random Vec2 within an Outer Radius and optionally NOT within an Inner Radius of the COORDINATE.
Return a random Vec3 within an Outer Radius and optionally NOT within an Inner Radius of the COORDINATE.
Get todays sun rise time.
Defined in:
Parameter:
#boolean InSeconds
If true, return the sun rise time in seconds.
Return value:
#string:
Sunrise time, e.g. "05:41".
Get sun rise time for a specific date at the coordinate.
Defined in:
Parameters:
#number Day
The day.
#number Month
The month.
#number Year
The year.
#boolean InSeconds
If true, return the sun rise time in seconds.
Return value:
#string:
Sunrise time, e.g. "05:41".
Get sun rise time for a specific day of the year at the coordinate.
Defined in:
Parameters:
#number DayOfYear
The day of the year.
#boolean InSeconds
If true, return the sun rise time in seconds.
Return value:
#string:
Sunrise time, e.g. "05:41".
Get todays sun set time.
Defined in:
Parameter:
#boolean InSeconds
If true, return the sun set time in seconds.
Return value:
#string:
Sunrise time, e.g. "20:41".
Get sun set time for a specific date at the coordinate.
Defined in:
Parameters:
#number Day
The day.
#number Month
The month.
#number Year
The year.
#boolean InSeconds
If true, return the sun rise time in seconds.
Return value:
#string:
Sunset time, e.g. "20:41".
Gets the surface type at the coordinate.
Returns the temperature in Degrees Celsius.
Defined in:
Parameter:
height
(Optional) parameter specifying the height ASL.
Return value:
Temperature in Degrees Celsius.
Returns a text of the temperature according the measurement system Settings.
The text will reflect the temperature like this:
 For Russian and European aircraft using the metric system  Degrees Celcius (Â°C)
 For Americain aircraft we link to the imperial system  Degrees Farenheit (Â°F)
A text containing a pressure will look like this:
Temperature: %n.d Â°C
Temperature: %n.d Â°F
Defined in:
Parameters:
height
(Optional) parameter specifying the height ASL.
Settings
Return value:
#string:
Temperature according the measurement system Settings.
Return the coordinates of the COORDINATE in Vec2 format.
Return the coordinates of the COORDINATE in Vec3 format.
Return the velocity of the COORDINATE.
Return the velocity text of the COORDINATE.
Returns the wind direction (from) and strength.
Defined in:
Parameter:
height
(Optional) parameter specifying the height ASL. The minimum height will be always be the land height since the wind is zero below the ground.
Return values:
Direction the wind is blowing from in degrees.
Wind strength in m/s.
Returns a text documenting the wind direction (from) and strength according the measurement system Settings.
The text will reflect the wind like this:
 For Russian and European aircraft using the metric system  Wind direction in degrees (Â°) and wind speed in meters per second (mps).
 For Americain aircraft we link to the imperial system  Wind direction in degrees (Â°) and wind speed in knots per second (kps).
A text containing a pressure will look like this:
Wind: %n Â° at n.d mps
Wind: %n Â° at n.d kps
Defined in:
Parameters:
height
(Optional) parameter specifying the height ASL. The minimum height will be always be the land height since the wind is zero below the ground.
Settings
Return value:
#string:
Wind direction and strength according the measurement system Settings.
Returns the wind direction (from) and strength.
Defined in:
Parameter:
height
(Optional) parameter specifying the height ASL. The minimum height will be always be the land height since the wind is zero below the ground.
Return value:
Direction the wind is blowing from in degrees.
Returns the heading from this to another coordinate.
Creates an illumination bomb at the point.
Defined in:
Parameter:
#number power
Power of illumination bomb in Candela.
Return value:
self
Returns if the 2 coordinates are at the same 2D position.
Defined in:
Parameters:
#COORDINATE Coordinate
#number Precision
Return value:
#boolean:
true if at the same position.
Check if it is day, i.e.
if the sun has risen about the horizon at this coordinate.
Defined in:
Parameter:
#string Clock
(Optional) Time in format "HH:MM:SS+D", e.g. "05:40:00+3" to check if is day at 5:40 at third day after mission start. Default is to check right now.
Return value:
#boolean:
If true, it is day. If false, it is night time.
Returns if a Coordinate is in a certain Radius of this Coordinate in 2D plane using the X and Z axis.
Defined in:
Parameters:
#COORDINATE Coordinate
The coordinate that will be tested if it is in the radius of this coordinate.
#number Radius
The radius of the circle on the 2D plane around this coordinate.
Return value:
#boolean:
true if in the Radius.
Returns if a Coordinate is in a certain radius of this Coordinate in 3D space using the X, Y and Z axis.
So Radius defines the radius of the a Sphere in 3D space around this coordinate.
Defined in:
Parameters:
#COORDINATE ToCoordinate
The coordinate that will be tested if it is in the radius of this coordinate.
#number Radius
The radius of the sphere in the 3D space around this coordinate.
Coordinate
Return value:
#boolean:
true if in the Sphere.
Returns if a Coordinate has Line of Sight (LOS) with the ToCoordinate.
Defined in:
Parameter:
#COORDINATE ToCoordinate
Return value:
#boolean:
true If the ToCoordinate has LOS with the Coordinate, otherwise false.
Check if it is night, i.e.
if the sun has set below the horizon at this coordinate.
Defined in:
Parameter:
#string Clock
(Optional) Time in format "HH:MM:SS+D", e.g. "05:40:00+3" to check if is night at 5:40 at third day after mission start. Default is to check right now.
Return value:
#boolean:
If true, it is night. If false, it is day time.
Checks if the surface type is on land.
Defined in:
Return value:
#boolean:
If true, the surface type at the coordinate is land.
Checks if the surface type is road.
Defined in:
Return value:
#boolean:
If true, the surface type at the coordinate is a road.
Checks if the surface type is runway.
Defined in:
Return value:
#boolean:
If true, the surface type at the coordinate is a runway or taxi way.
Checks if the surface type is shallow water.
Defined in:
Return value:
#boolean:
If true, the surface type at the coordinate is a shallow water.
Checks if the surface type is water.
Defined in:
Return value:
#boolean:
If true, the surface type at the coordinate is a deep water.
Mark to All
Defined in:
Parameters:
#string MarkText
Free format text that shows the marking clarification.
#boolean ReadOnly
(Optional) Mark is readonly and cannot be removed by users. Default false.
#string Text
(Optional) Text displayed when mark is added. Default none.
Return value:
#number:
The resulting Mark ID which is a number.
Usage:
local TargetCoord = TargetGroup:GetCoordinate()
local MarkID = TargetCoord:MarkToAll( "This is a target for all players" )
Mark to Coalition
Defined in:
Parameters:
#string MarkText
Free format text that shows the marking clarification.
Coalition
#boolean ReadOnly
(Optional) Mark is readonly and cannot be removed by users. Default false.
#string Text
(Optional) Text displayed when mark is added. Default none.
Return value:
#number:
The resulting Mark ID which is a number.
Usage:
local TargetCoord = TargetGroup:GetCoordinate()
local MarkID = TargetCoord:MarkToCoalition( "This is a target for the red coalition", coalition.side.RED )
Mark to Blue Coalition
Defined in:
Parameters:
#string MarkText
Free format text that shows the marking clarification.
#boolean ReadOnly
(Optional) Mark is readonly and cannot be removed by users. Default false.
#string Text
(Optional) Text displayed when mark is added. Default none.
Return value:
#number:
The resulting Mark ID which is a number.
Usage:
local TargetCoord = TargetGroup:GetCoordinate()
local MarkID = TargetCoord:MarkToCoalitionBlue( "This is a target for the blue coalition" )
Mark to Red Coalition
Defined in:
Parameters:
#string MarkText
Free format text that shows the marking clarification.
#boolean ReadOnly
(Optional) Mark is readonly and cannot be removed by users. Default false.
#string Text
(Optional) Text displayed when mark is added. Default none.
Return value:
#number:
The resulting Mark ID which is a number.
Usage:
local TargetCoord = TargetGroup:GetCoordinate()
local MarkID = TargetCoord:MarkToCoalitionRed( "This is a target for the red coalition" )
Mark to Group
Defined in:
Parameters:
#string MarkText
Free format text that shows the marking clarification.
Wrapper.Group#GROUP MarkGroup
The Wrapper.Group that receives the mark.
#boolean ReadOnly
(Optional) Mark is readonly and cannot be removed by users. Default false.
#string Text
(Optional) Text displayed when mark is added. Default none.
Return value:
#number:
The resulting Mark ID which is a number.
Usage:
local TargetCoord = TargetGroup:GetCoordinate()
local MarkGroup = GROUP:FindByName( "AttackGroup" )
local MarkID = TargetCoord:MarkToGroup( "This is a target for the attack group", AttackGroup )
COORDINATE constructor.
Defined in:
Parameters:
The x coordinate of the Vec3 point, pointing to the North.
The y coordinate of the Vec3 point, pointing to the Right.
The z coordinate of the Vec3 point, pointing to the Right.
Return value:
COORDINATE constructor.
Returns the coordinate from the latitude and longitude given in decimal degrees.
Defined in:
Parameters:
#number latitude
Latitude in decimal degrees.
#number longitude
Longitude in decimal degrees.
#number altitude
(Optional) Altitude in meters. Default is the land height at the coordinate.
Return value:
Create a new COORDINATE object from Vec2 coordinates.
Defined in:
Parameters:
DCS#Vec2 Vec2
The Vec2 point.
DCS#Distance LandHeightAdd
(optional) The default height if required to be evaluated will be the land height of the x, y coordinate. You can specify an extra height to be added to the land height.
Return value:
Create a new COORDINATE object from Vec3 coordinates.
Remove a mark
Defined in:
Parameter:
#number MarkID
The ID of the mark to be removed.
Usage:
local TargetCoord = TargetGroup:GetCoordinate()
local MarkGroup = GROUP:FindByName( "AttackGroup" )
local MarkID = TargetCoord:MarkToGroup( "This is a target for the attack group", AttackGroup )
<<< logic >>>
RemoveMark( MarkID )  The mark is now removed
Rotate coordinate in 2D (x,z) space.
Defined in:
Parameter:
DCS#Angle Angle
Angle of rotation in degrees.
Return value:
The rotated coordinate.
Scan/find objects (units, statics, scenery) within a certain radius around the coordinate using the world.searchObjects() DCS API function.
Defined in:
Parameters:
#number radius
(Optional) Scan radius in meters. Default 100 m.
#boolean scanunits
(Optional) If true scan for units. Default true.
#boolean scanstatics
(Optional) If true scan for static objects. Default true.
#boolean scanscenery
(Optional) If true scan for scenery objects. Default false.
Return values:
#boolean:
True if units were found.
#boolean:
True if statics were found.
#boolean:
True if scenery objects were found.
#table:
Table of MOOSE @[#Wrapper.Unit#UNIT} objects found.
#table:
Table of DCS static objects found.
#table:
Table of DCS scenery objects found.
Scan/find UNITS within a certain radius around the coordinate using the world.searchObjects() DCS API function.
Defined in:
Parameter:
#number radius
(Optional) Scan radius in meters. Default 100 m.
Return value:
Set of units.
Set altitude.
Defined in:
Parameters:
#number altitude
New altitude in meters.
#boolean asl
Altitude above sea level. Default is above ground level.
Return value:
The COORDINATE with adjusted altitude.
Set the heading of the coordinate, if applicable.
Set the velocity of the COORDINATE.
Smokes the point in a color.
Provides a coordinate string of the point, based on a coordinate format system: * Uses default settings in COORDINATE.
 Can be overridden if for a GROUP containing x clients, a menu was selected to override the default.
Defined in:
Parameters:
Wrapper.Controllable#CONTROLLABLE Controllable
The controllable to retrieve the settings from, otherwise the default settings will be chosen.
Core.Settings#SETTINGS Settings
(optional) The settings. Can be nil, and in this case the default settings are used. If you want to specify your own settings, use the _SETTINGS object.
Tasking.Task#TASK Task
The task for which coordinates need to be calculated.
Return value:
#string:
The coordinate Text in the configured coordinate system.
Provides a coordinate string of the point, based on the A2A coordinate format system.
Defined in:
Parameters:
Wrapper.Controllable#CONTROLLABLE Controllable
Core.Settings#SETTINGS Settings
(optional) The settings. Can be nil, and in this case the default settings are used. If you want to specify your own settings, use the _SETTINGS object.
Language
Return value:
#string:
The coordinate Text in the configured coordinate system.
Provides a coordinate string of the point, based on the A2G coordinate format system.
Defined in:
Parameters:
Wrapper.Controllable#CONTROLLABLE Controllable
Core.Settings#SETTINGS Settings
(optional) The settings. Can be nil, and in this case the default settings are used. If you want to specify your own settings, use the _SETTINGS object.
Return value:
#string:
The coordinate Text in the configured coordinate system.
Return an aspect string from a COORDINATE to the Angle of the object.
Defined in:
Parameter:
#COORDINATE TargetCoordinate
The target COORDINATE.
Return value:
#string:
The Aspect string, which is Hot, Cold or Flanking.
Return a BR string from a COORDINATE to the COORDINATE.
Defined in:
Parameters:
#COORDINATE FromCoordinate
The coordinate to measure the distance and the bearing from.
Core.Settings#SETTINGS Settings
(optional) The settings. Can be nil, and in this case the default settings are used. If you want to specify your own settings, use the _SETTINGS object.
Return value:
#string:
The BR text.
Return a BRAA string from a COORDINATE to the COORDINATE.
Defined in:
Parameters:
#COORDINATE FromCoordinate
The coordinate to measure the distance and the bearing from.
Core.Settings#SETTINGS Settings
(optional) The settings. Can be nil, and in this case the default settings are used. If you want to specify your own settings, use the _SETTINGS object.
Language
Return value:
#string:
The BR text.
Return a BULLS string out of the BULLS of the coalition to the COORDINATE.
Defined in:
Parameters:
DCS#coalition.side Coalition
The coalition.
Core.Settings#SETTINGS Settings
(optional) The settings. Can be nil, and in this case the default settings are used. If you want to specify your own settings, use the _SETTINGS object.
Return value:
#string:
The BR text.
Provides a coordinate string of the point, based on a coordinate format system: * Uses default settings in COORDINATE.
 Can be overridden if for a GROUP containing x clients, a menu was selected to override the default.
Defined in:
Parameters:
#COORDINATE ReferenceCoord
The refrence coordinate.
#string ReferenceName
The refrence name.
Wrapper.Controllable#CONTROLLABLE Controllable
Core.Settings#SETTINGS Settings
(optional) The settings. Can be nil, and in this case the default settings are used. If you want to specify your own settings, use the _SETTINGS object.
Return value:
#string:
The coordinate Text in the configured coordinate system.
Provides a Lat Lon string in Degree Decimal Minute format.
Defined in:
Parameter:
Core.Settings#SETTINGS Settings
(optional) The settings. Can be nil, and in this case the default settings are used. If you want to specify your own settings, use the _SETTINGS object.
Return value:
#string:
The LL DDM Text
Provides a Lat Lon string in Degree Minute Second format.
Defined in:
Parameter:
Core.Settings#SETTINGS Settings
(optional) The settings. Can be nil, and in this case the default settings are used. If you want to specify your own settings, use the _SETTINGS object.
Return value:
#string:
The LL DMS Text
Provides a MGRS string
Defined in:
Parameter:
Core.Settings#SETTINGS Settings
(optional) The settings. Can be nil, and in this case the default settings are used. If you want to specify your own settings, use the _SETTINGS object.
Return value:
#string:
The MGRS Text
Provides a pressure string of the point, based on a measurement system: * Uses default settings in COORDINATE.
 Can be overridden if for a GROUP containing x clients, a menu was selected to override the default.
Defined in:
Parameters:
Wrapper.Controllable#CONTROLLABLE Controllable
Core.Settings#SETTINGS Settings
(optional) The settings. Can be nil, and in this case the default settings are used. If you want to specify your own settings, use the _SETTINGS object.
Return value:
#string:
The pressure text in the configured measurement system.
Provides a temperature string of the point, based on a measurement system: * Uses default settings in COORDINATE.
 Can be overridden if for a GROUP containing x clients, a menu was selected to override the default.
Defined in:
Parameters:
Wrapper.Controllable#CONTROLLABLE Controllable
Core
Settings#SETTINGS
Settings
Return value:
#string:
The temperature text in the configured measurement system.
Provides a wind string of the point, based on a measurement system: * Uses default settings in COORDINATE.
 Can be overridden if for a GROUP containing x clients, a menu was selected to override the default.
Defined in:
Parameters:
Wrapper.Controllable#CONTROLLABLE Controllable
Core.Settings#SETTINGS Settings
(optional) The settings. Can be nil, and in this case the default settings are used. If you want to specify your own settings, use the _SETTINGS object.
Return value:
#string:
The wind text in the configured measurement system.
Add a Distance in meters from the COORDINATE orthonormal plane, with the given angle, and calculate the new COORDINATE.
Defined in:
Parameters:
DCS#Distance Distance
The Distance to be added in meters.
DCS#Angle Angle
The Angle in degrees. Defaults to 0 if not specified (nil).
#boolean Keepalt
If true, keep altitude of original coordinate. Default is that the new coordinate is created at the translated land height.
Return value:
The new calculated COORDINATE.
Build an air type route point.
Defined in:
Parameters:
#COORDINATE.WaypointAltType AltType
The altitude type.
The route point type.
#COORDINATE.WaypointAction Action
The route point action.
DCS#Speed Speed
Airspeed in km/h. Default is 500 km/h.
#boolean SpeedLocked
true means the speed is locked.
Wrapper.Airbase#AIRBASE airbase
The airbase for takeoff and landing points.
#table DCSTasks
A table of DCS#Task items which are executed at the waypoint.
#string description
A text description of the waypoint, which will be shown on the F10 map.
#number timeReFuAr
Time in minutes the aircraft stays at the airport for ReFueling and ReArming.
Return value:
#table:
The route point.
Build a Waypoint Air "Fly Over Point".
Defined in:
Parameters:
#COORDINATE.WaypointAltType AltType
The altitude type.
DCS#Speed Speed
Airspeed in km/h.
Return value:
#table:
The route point.
Build a Waypoint Air "Landing".
Defined in:
Parameters:
DCS#Speed Speed
Airspeed in km/h.
Wrapper.Airbase#AIRBASE airbase
The airbase for takeoff and landing points.
#table DCSTasks
A table of DCS#Task items which are executed at the waypoint.
#string description
A text description of the waypoint, which will be shown on the F10 map.
Return value:
#table:
The route point.
Usage:
LandingZone = ZONE:New( "LandingZone" )
LandingCoord = LandingZone:GetCoordinate()
LandingWaypoint = LandingCoord:WaypointAirLanding( 60 )
HeliGroup:Route( { LandWaypoint }, 1 )  Start landing the helicopter in one second.
Build a Waypoint Air "LandingReFuAr".
Mimics the aircraft ReFueling and ReArming.
Defined in:
Parameters:
DCS#Speed Speed
Airspeed in km/h.
Wrapper.Airbase#AIRBASE airbase
The airbase for takeoff and landing points.
#number timeReFuAr
Time in minutes, the aircraft stays at the airbase. Default 10 min.
#table DCSTasks
A table of DCS#Task items which are executed at the waypoint.
#string description
A text description of the waypoint, which will be shown on the F10 map.
Return value:
#table:
The route point.
Build a Waypoint Air "Take Off Parking".
Defined in:
Parameters:
#COORDINATE.WaypointAltType AltType
The altitude type.
DCS#Speed Speed
Airspeed in km/h.
Return value:
#table:
The route point.
Build a Waypoint Air "Take Off Parking Hot".
Defined in:
Parameters:
#COORDINATE.WaypointAltType AltType
The altitude type.
DCS#Speed Speed
Airspeed in km/h.
Return value:
#table:
The route point.
Build a Waypoint Air "Take Off Runway".
Defined in:
Parameters:
#COORDINATE.WaypointAltType AltType
The altitude type.
DCS#Speed Speed
Airspeed in km/h.
Return value:
#table:
The route point.
Build a Waypoint Air "Turning Point".
Defined in:
Parameters:
#COORDINATE.WaypointAltType AltType
The altitude type.
DCS#Speed Speed
Airspeed in km/h.
#table DCSTasks
(Optional) A table of DCS#Task items which are executed at the waypoint.
#string description
(Optional) A text description of the waypoint, which will be shown on the F10 map.
Return value:
#table:
The route point.
Build an ground type route point.
Defined in:
Parameters:
#number Speed
(Optional) Speed in km/h. The default speed is 20 km/h.
#string Formation
(Optional) The route point Formation, which is a text string that specifies exactly the Text in the Type of the route point, like "Vee", "Echelon Right".
#table DCSTasks
(Optional) A table of DCS tasks that are executed at the waypoints. Mind the curly brackets {}!
Return value:
#table:
The route point.
Build route waypoint point for Naval units.
Field(s)
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 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.
Returns the event dispatcher
Remove all subscribed events
Trace a function call.
Must be at the beginning of the function logic.
Trace a function call level 2.
Must be at the beginning of the function logic.
Trace a function call level 3.
Must be at the beginning of the function logic.
Get the ClassID of the class instance.
Get the ClassName of the class instance.
Get the ClassName + ClassID of the class instance.
The ClassName + ClassID is formatted as '%s#%09d'.
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, nillified 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 Event
#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.
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 object is completely destroyed.
initiator : The unit that is was destroyed.
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.
Occurs when any object is spawned into the mission.
initiator : The unit that was spawned
Occurs when any aircraft crashes into the ground and is completely destroyed.
initiator : The unit that has crashed
Occurs when an object is dead.
initiator : The unit that is dead.
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.
Occurs when a pilot ejects from an aircraft initiator : The unit that has ejected
Occurs when any aircraft shuts down its engines.
initiator : The unit that is stopping its engines.
Occurs when any aircraft starts its engines.
initiator : The unit that is starting its engines.
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.
Occurs when any system fails on a human controlled aircraft.
initiator : The unit that had the failure
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
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
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.
Occurs when a new mark was added.
MarkID: ID of the mark.
Occurs when a mark text was changed.
MarkID: ID of the mark.
Occurs when a mark was removed.
MarkID: ID of the mark.
Occurs when a mission ends
Occurs when a mission starts
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.
Occurs when any player assumes direct control of a unit.
initiator : The unit that is being taken control of.
Occurs when any player relieves control of a unit to the AI.
initiator : The unit that the player left.
Occurs when an aircraft connects with a tanker and begins taking on fuel.
initiator : The unit that is receiving fuel.
Occurs when an aircraft is finished taking fuel.
initiator : The unit that was receiving fuel.
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.
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.
Occurs when any unit begins firing a weapon that has a high rate of fire.
Most common with aircraft cannons (GAU8), autocannons, and machine guns. initiator : The unit that is doing the shooting. target: The unit that is being targeted.
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.
Occurs when an aircraft takes off from an airbase, farp, or ship.
initiator : The unit that tookoff place: Object from where the AI tookoff from. Can be an Airbase Object, FARP, or Ships
Occurs when the game thinks an object is destroyed.
 initiator: The unit that is was destroyed.
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.
Set a state or property of the Object given a Key and a Value.
Note that if the Object is destroyed, nillified 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.
Trace a function logic level 2.
Can be anywhere within the function logic.
Trace a function logic level 3.
Can be anywhere within the function logic.
Trace all methods in MOOSE
Set tracing for a class
Set tracing for a specific method of class
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.
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
The POINT_VEC3 class
Field(s)
The x coordinate in 3D space.
The y coordinate in 3D space.
The z coordiante in 3D space.
Function(s)
Add to the x coordinate of the POINT_VEC3.
Defined in:
POINT_VEC3
Parameter:
#number x
The x coordinate value to add to the current x coodinate.
Return value:
Add to the y coordinate of the POINT_VEC3.
Defined in:
POINT_VEC3
Parameter:
#number y
The y coordinate value to add to the current y coodinate.
Return value:
Add to the z coordinate of the POINT_VEC3.
Defined in:
POINT_VEC3
Parameter:
#number z
The z coordinate value to add to the current z coodinate.
Return value:
Return a random POINT_VEC3 within an Outer Radius and optionally NOT within an Inner Radius of the POINT_VEC3.
Return the x coordinate of the POINT_VEC3.
Defined in:
POINT_VEC3
Return value:
#number:
The x coodinate.
Return the y coordinate of the POINT_VEC3.
Defined in:
POINT_VEC3
Return value:
#number:
The y coodinate.
Return the z coordinate of the POINT_VEC3.
Defined in:
POINT_VEC3
Return value:
#number:
The z coodinate.
Create a new POINT_VEC3 object.
Defined in:
POINT_VEC3
Parameters:
The x coordinate of the Vec3 point, pointing to the North.
The y coordinate of the Vec3 point, pointing Upwards.
The z coordinate of the Vec3 point, pointing to the Right.
Return value:
Create a new POINT_VEC3 object from Vec2 coordinates.
Defined in:
POINT_VEC3
Parameters:
DCS#Vec2 Vec2
The Vec2 point.
DCS#Distance LandHeightAdd
(optional) Add a landheight.
Return value:
self
Create a new POINT_VEC3 object from Vec3 coordinates.
Set the x coordinate of the POINT_VEC3.
Set the y coordinate of the POINT_VEC3.
Set the z coordinate of the POINT_VEC3.
RoutePoint Actions
Field(s)
Function(s)
RoutePoint AltTypes
Field(s)
Function(s)
RoutePoint Types