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.
Authors:
 FlightControl (Design & Programming)
Contributions:
 funkyfranky
 Applevangelist
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 coordinates 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.
 COORDINATE.WaypointNaval(): Build a naval 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.ToStringBRA(): Generates a Bearing, Range & Altitude text.
 COORDINATE.ToStringBRAANATO(): Generates a Generates a Bearing, Range, Aspect & Altitude text in NATOPS.
 COORDINATE.ToStringLL(): Generates a Latitude & Longitude text.
 COORDINATE.ToStringLLDMS(): Generates a Lat, Lon, Degree, Minute, Second text.
 COORDINATE.ToStringLLDDM(): Generates a Lat, Lon, Degree, decimal Minute text.
 COORDINATE.ToStringMGRS(): Generates a MGRS grid coordinate text.
10) Drawings on F10 map
 COORDINATE.CircleToAll(): Draw a circle on the F10 map.
 COORDINATE.LineToAll(): Draw a line on the F10 map.
 COORDINATE.RectToAll(): Draw a rectangle on the F10 map.
 COORDINATE.QuadToAll(): Draw a shape with four points on the F10 map.
 COORDINATE.TextToAll(): Write some text on the F10 map.
 COORDINATE.ArrowToAll(): Draw an arrow on the F10 map.
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 

Arrow to all. 

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. 

Circle to all. 

Name of the class 

Calculate the distance from a reference #COORDINATE. 

Creates an explosion at the point of a certain intensity. 

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

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

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, MagVar) 
Provides a Bearing / Range / Altitude string 
COORDINATE:GetBRText(AngleRadians, Distance, Settings, Language, MagVar) 
Provides a Bearing / Range string 
COORDINATE:GetBearingText(AngleRadians, Precision, Settings, MagVar) 
Provides a bearing text in degrees. 
Return the BULLSEYE as COORDINATE Object 

Gets the nearest airbase with respect to the current coordinates. 

[kept for downwards compatibility only] 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 the coordinates itself. 

Return a direction vector Vec3 from COORDINATE to the COORDINATE. 

COORDINATE:GetDistanceText(Distance, Settings, Language, Precision) 
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. 

Returns the magnetic declination at the given 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. 

Return the "name" 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 Core.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 Core.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 Core.Settings. 

Returns the 3D wind direction vector. 

Returns the wind direction (from) and strength. 

Heading in degrees. Needs to be set first. 

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. 

Function to check if a coordinate is in a flat (<8% elevation) area of the map 

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. 

Function to check if a coordinate is in a steep (>8% elevation) area of the map 

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. 

COORDINATE:LineToAll(Endpoint, Coalition, Color, Alpha, LineType, ReadOnly, Text) 
Line to all. 
Mark to All 

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

Mark to Red Coalition 

Mark to Group 

Creates a free form shape on the F10 map. 

COORDINATE constructor. 

COORDINATE constructor. 

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

COORDINATE:NewFromMGRS(UTMZone, MGRSDigraph, Easting, Northing) 
Provides a COORDINATE from an MGRS Coordinate 
Provides a COORDINATE from an MGRS String 

Create a new COORDINATE object from Vec2 coordinates. 

Create a new COORDINATE object from Vec3 coordinates. 

Create a new COORDINATE object from a waypoint. 

Creates a shape defined by 4 points on the F10 map. 

Rectangle to all. 

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 SCENERY objects within a certain radius around the coordinate using the world.searchObjects() DCS API function. 

Scan/find STATICS 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 altitude to be at land height (i.e. 

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. 

Stop big smoke and fire at the coordinate. 

COORDINATE:TextToAll(Text, Coalition, Color, Alpha, FillColor, FillAlpha, FontSize, ReadOnly) 
Text to all. 
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 BRA string from a COORDINATE to the COORDINATE. 

COORDINATE:ToStringBRAANATO(FromCoordinate, Bogey, Spades, SSML, Angels, Zeros) 
Create a BRAA NATO call string to this COORDINATE from the FromCOORDINATE. 
Return a BULLS string out of the BULLS of the coalition to the COORDINATE. 

COORDINATE:ToStringFromRP(ReferenceCoord, ReferenceName, Controllable, Settings, MagVar) 
Provides a coordinate string of the point, based on a coordinate format system: * Uses default settings in COORDINATE. 
COORDINATE:ToStringFromRPShort(ReferenceCoord, ReferenceName, Controllable, Settings, MagVar) 
Provides a coordinate string of the point, based on a coordinate format system: * Uses default settings in COORDINATE. 
Get Latitude & Longitude text. 

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. 

Update x,y,z coordinates from another given COORDINATE. 

Update x and z coordinates from a given 2D vector. 

Update x,y,z coordinates from a given 3D vector. 

Velocity in meters per second. Needs to be set first. 

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. 

Component of the 3D vector. 

Component of the 3D vector. 

Component of the 3D vector. 
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. 
COORDINATE:CreateEventCrash(EventTime, Initiator, IniObjectCategory) 
Creation of a Crash Event. 
COORDINATE:CreateEventDead(EventTime, Initiator, IniObjectCategory) 
Creation of a Dead Event. 
Creation of a 

Creation of a Remove Unit Event. 

Creation of a Takeoff Event. 

Creation of a Crash Event. 

Log an exception which will be traced always. 

Returns the event dispatcher 

Remove all subscribed events 

Trace a function call. 

Trace a function call level 2. 

Trace a function call level 3. 

Get the ClassID of the class instance. 

Get the ClassName of the class instance. 

Get the ClassName + ClassID of the class instance. 

Get the Class Core.Event processing Priority. 

This is the worker method to retrieve the Parent class. 

Get a Value given a Key from the Object. 

Subscribe to a DCS Event. 

Log an information which will be traced always. 

This is the worker method to inherit from a parent class. 

This is the worker method to check if an object is an (sub)instance of a class. 

Enquires if tracing is on (for the class). 

BASE constructor. 

Occurs when an Event for an object is triggered. 

BDA. 

Occurs when a ground unit captures either an airbase or a farp. 

Occurs when any object is spawned into the mission. 

Occurs when any aircraft crashes into the ground and is completely destroyed. 

Occurs when an object is dead. 

Unknown precisely what creates this event, likely tied into newer damage model. 

Discard chair after ejection. 

Occurs when a pilot ejects from an aircraft Have a look at the class Core.Event#EVENT as these are just the prototypes. 

Occurs when any aircraft shuts down its engines. 

Occurs when any aircraft starts its engines. 

Occurs whenever an object is hit by a weapon. 

Occurs when any system fails on a human controlled aircraft. 

Occurs on the death of a unit. 

Occurs when an aircraft lands at an airbase, farp or ship Have a look at the class Core.Event#EVENT as these are just the prototypes. 

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

Landing quality mark. 

Occurs when a new mark was added. 

Occurs when a mark text was changed. 

Occurs when a mark was removed. 

Occurs when a mission ends Have a look at the class Core.Event#EVENT as these are just the prototypes. 

Occurs when a mission starts Have a look at the class Core.Event#EVENT as these are just the prototypes. 

Weapon add. 

Occurs when the pilot of an aircraft is killed. 

Occurs when a player enters a slot and takes control of an aircraft. 

Occurs when any player assumes direct control of a unit. 

Occurs when any player relieves control of a unit to the AI. 

Occurs when an aircraft connects with a tanker and begins taking on fuel. 

Occurs when an aircraft is finished taking fuel. 

Occurs when any modification to the "Score" as seen on the debrief menu would occur. 

Occurs when any unit stops firing its weapon. 

Occurs when any unit begins firing a weapon that has a high rate of fire. 

Occurs whenever any unit in a mission fires a weapon. 

Occurs when an aircraft takes off from an airbase, farp, or ship. 

Trigger zone. 

Occurs when the game thinks an object is destroyed. 

Schedule a new time event. 

COORDINATE:ScheduleRepeat(Start, Repeat, RandomizeFactor, Stop, SchedulerFunction, ...) 
Schedule a new time event. 
Stops the Schedule. 

Set the Class Core.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. 
(Internal) Serialize arguments 

COORDINATE:_T(Arguments, DebugInfoCurrentParam, DebugInfoFromParam) 
Trace a function logic. 
The main event handling function... 
Fields and Methods inherited from COORDINATE.WaypointAction  Description 

Fly over point. 

From ground area. 

From ground area hot. 

From parking area. 

From parking area hot. 

From runway. 

Landing. 

Landing and refuel and rearm. 

Turning point. 
Fields and Methods inherited from COORDINATE.WaypointAltType  Description 

Barometric altitude. 

Radio altitude. 
Fields and Methods inherited from COORDINATE.WaypointType  Description 

Landing point. 

Landing and refuel and rearm. 

Take off parking hot. 

Take of from ground hot. 

Take of parking. 

Take of parking hot. 

Turning point. 
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. 

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 COORDINATE 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)
Name of the class
Heading in degrees. Needs to be set first.
Velocity in meters per second. Needs to be set first.
Component of the 3D vector.
Component of the 3D vector.
Component of the 3D vector.
Function(s)
Arrow to all.
Creates an arrow from the COORDINATE to the endpoint COORDINATE on the F10 map. There is no control over other dimensions of the arrow.
Defined in:
COORDINATE
Parameters:
#COORDINATE Endpoint
COORDINATE where the tip of the arrow is pointing at.
#number Coalition
Coalition: All=1, Neutral=0, Red=1, Blue=2. Default 1=All.
#table Color
RGB color table {r, g, b}, e.g. {1,0,0} for red (default).
#number Alpha
Transparency [0,1]. Default 1.
#table FillColor
RGB color table {r, g, b}, e.g. {1,0,0} for red. Default is same as Color
value.
#number FillAlpha
Transparency [0,1]. Default 0.15.
#number LineType
Line type: 0=No line, 1=Solid, 2=Dashed, 3=Dotted, 4=Dot dash, 5=Long dash, 6=Two dash. Default 1=Solid.
#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. Can be used to remove the object again.
Big smoke and fire at the coordinate.
Defined in:
COORDINATE
Parameters:
Smoke preset (1=small smoke and fire, 2=medium smoke and fire, 3=large smoke and fire, 4=huge smoke and fire, 5=small smoke, 6=medium smoke, 7=large smoke, 8=huge smoke).
#number density
(Optional) Smoke density. Number in [0,...,1]. Default 0.5.
#string name
(Optional) Name of the fire to stop it later again if not using the same COORDINATE object. Defaults to "Fire" plus a random 5digitnumber.
Huge smoke and fire at the coordinate.
Defined in:
COORDINATE
Parameters:
#number density
(Optional) Smoke density. Number between 0 and 1. Default 0.5.
#string name
(Optional) Name of the fire to stop it later again if not using the same COORDINATE object. Defaults to "Fire" plus a random 5digitnumber.
Large smoke and fire at the coordinate.
Defined in:
COORDINATE
Parameters:
#number density
(Optional) Smoke density. Number between 0 and 1. Default 0.5.
#string name
(Optional) Name of the fire to stop it later again if not using the same COORDINATE object. Defaults to "Fire" plus a random 5digitnumber.
Medium smoke and fire at the coordinate.
Defined in:
COORDINATE
Parameters:
#number density
(Optional) Smoke density. Number between 0 and 1. Default 0.5.
#string name
(Optional) Name of the fire to stop it later again if not using the same COORDINATE object. Defaults to "Fire" plus a random 5digitnumber.
Small smoke and fire at the coordinate.
Defined in:
COORDINATE
Parameters:
#number density
(Optional) Smoke density. Number between 0 and 1. Default 0.5.
#string name
(Optional) Name of the fire to stop it later again if not using the same COORDINATE object. Defaults to "Fire" plus a random 5digitnumber.
Huge smoke at the coordinate.
Defined in:
COORDINATE
Parameters:
#number density
(Optional) Smoke density. Number between 0 and 1. Default 0.5.
#string name
(Optional) Name of the fire to stop it later again if not using the same COORDINATE object. Defaults to "Fire" plus a random 5digitnumber.
Large smoke at the coordinate.
Defined in:
COORDINATE
Parameters:
#number density
(Optional) Smoke density. Number between 0 and 1. Default 0.5.
#string name
(Optional) Name of the fire to stop it later again if not using the same COORDINATE object. Defaults to "Fire" plus a random 5digitnumber.
Medium smoke at the coordinate.
Defined in:
COORDINATE
Parameters:
number
density (Optional) Smoke density. Number between 0 and 1. Default 0.5.
#string name
(Optional) Name of the fire to stop it later again if not using the same COORDINATE object. Defaults to "Fire" plus a random 5digitnumber.
density
Small smoke at the coordinate.
Defined in:
COORDINATE
Parameters:
#number density
(Optional) Smoke density. Number between 0 and 1. Default 0.5.
#string name
(Optional) Name of the fire to stop it later again if not using the same COORDINATE object. Defaults to "Fire" plus a random 5digitnumber.
Circle to all.
Creates a circle on the map with a given radius, color, fill color, and outline.
Defined in:
COORDINATE
Parameters:
#number Radius
Radius in meters. Default 1000 m.
#number Coalition
Coalition: All=1, Neutral=0, Red=1, Blue=2. Default 1=All.
#table Color
RGB color table {r, g, b}, e.g. {1,0,0} for red (default).
#number Alpha
Transparency [0,1]. Default 1.
#table FillColor
RGB color table {r, g, b}, e.g. {1,0,0} for red. Default is same as Color
value.
#number FillAlpha
Transparency [0,1]. Default 0.15.
#number LineType
Line type: 0=No line, 1=Solid, 2=Dashed, 3=Dotted, 4=Dot dash, 5=Long dash, 6=Two dash. Default 1=Solid.
#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. Can be used to remove the object again.
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
(Optional) Delay before explosion is triggered in seconds.
Return value:
self
Find the closest scenery to the COORDINATE within a certain radius.
Defined in:
COORDINATE
Parameter:
#number radius
Scan radius in meters. Default 100 m.
Return value:
The closest scenery or #nil if no object is inside the given radius.
Find the closest static to the COORDINATE within a certain radius.
Defined in:
COORDINATE
Parameter:
#number radius
Scan radius in meters. Default 100 m.
Return value:
The closest static or #nil if no unit is inside the given radius.
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. Can also be a DCS#Vec3.
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. Can also be a DCS#Vec3.
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.
Usage:
local directionAngle = currentCoordinate:GetAngleDegrees(currentCoordinate:GetDirectionVec3(sourceCoordinate:GetVec3()))
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
#string Language
(Optional) Language "en" or "ru"
#boolean MagVar
If true, also state angle in magnetic
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
#string Language
(Optional) Language "en" or "ru"
#boolean MagVar
If true, also state angle in magnetic
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
#boolean MagVar
If true, include magentic degrees
Return value:
#string:
The bearing text in degrees.
Return the BULLSEYE as COORDINATE Object
Defined in:
COORDINATE
Parameter:
#number Coalition
Coalition of the bulls eye to return, e.g. coalition.side.BLUE
Return value:
self
Usage:
 note the dot (.) here,not using the colon (:)
local redbulls = COORDINATE.GetBullseyeCoordinate(coalition.side.RED)
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.
[kept for downwards compatibility only] 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 the coordinates itself.
Sounds stupid but can be useful for compatibility.
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
#string Language
(optional) "EN" or "RU"
#number Precision
(optional) round to this many decimal places
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.
Returns the magnetic declination at the given coordinate.
NOTE that this needs require
to be available so you need to desanitize the MissionScripting.lua
file in your DCS/Scrips folder.
If require
is not available, a constant value for the whole map.
Defined in:
COORDINATE
Parameters:
#number Month
(Optional) The month at which the declination is calculated. Default is the mission month.
#number Year
(Optional) The year at which the declination is calculated. Default is the mission year.
Return value:
#number:
Magnetic declination in degrees.
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:
Return the "name" of the COORDINATE.
Obviously, a coordinate does not have a name like a unit, static or group. So here we take the MGRS coordinates of the position.
Defined in:
COORDINATE
Return value:
#string:
MGRS coordinates.
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 Core.Settings.
The text will contain always the pressure in hPa and:
 For Russian and European aircraft using the metric system  hPa and mmHg
 For American 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 Core.Settings.
Return a random Coordinate within an Outer Radius and optionally NOT within an Inner Radius of the COORDINATE.
Defined in:
COORDINATE
Parameters:
DCS#Distance OuterRadius
Outer radius in meters.
DCS#Distance InnerRadius
Inner radius in meters.
Return value:
self
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 Core.Settings.
The text will reflect the temperature like this:
 For Russian and European aircraft using the metric system  Degrees Celcius (Â°C)
 For American aircraft we link to the imperial system  Degrees Fahrenheit (Â°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 Core.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
Parameters:
#number 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.
#boolean turbulence
If true
, include turbulence. If false
or nil
, wind without turbulence.
Return values:
#number:
Direction the wind is blowing from in degrees.
#number:
Wind strength in m/s.
Returns a text documenting the wind direction (from) and strength according the measurement system Core.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 American 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 Core.Settings.
Returns the 3D wind direction vector.
Note that vector points into the direction the wind in blowing to.
Defined in:
COORDINATE
Parameters:
#number height
(Optional) parameter specifying the height ASL in meters. The minimum height will be always be the land height since the wind is zero below the ground.
#boolean turbulence
(Optional) If true
, include turbulence.
Return value:
Wind 3D vector. Components in m/s.
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
Parameters:
#number Power
Power of illumination bomb in Candela. Default 1000 cd.
#number Delay
(Optional) Delay before bomb is ignited in seconds.
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.
Function to check if a coordinate is in a flat (<8% elevation) area of the map
Defined in:
COORDINATE
Parameters:
#number Radius
(Optional) Radius to check around the coordinate, defaults to 50m (100m diameter)
#number Minelevation
(Optional) Elevation from which on a area is defined as steep, defaults to 8% (8m height gain across 100 meters)
Return values:
#boolean:
IsFlat If true, area is flat
#number:
MaxElevation Elevation in meters measured over 100m
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.
Function to check if a coordinate is in a steep (>8% elevation) area of the map
Defined in:
COORDINATE
Parameters:
#number Radius
(Optional) Radius to check around the coordinate, defaults to 50m (100m diameter)
#number Minelevation
(Optional) Elevation from which on a area is defined as steep, defaults to 8% (8m height gain across 100 meters)
Return values:
#boolean:
IsSteep If true, area is steep
#number:
MaxElevation Elevation in meters measured over 100m
Returns if a Coordinate has Line of Sight (LOS) with the ToCoordinate.
Defined in:
COORDINATE
Parameters:
#COORDINATE ToCoordinate
#number Offset
Height offset in meters. Default 2 m.
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.
Line to all.
Creates a line on the F10 map from one point to another.
Defined in:
COORDINATE
Parameters:
#COORDINATE Endpoint
COORDINATE to where the line is drawn.
#number Coalition
Coalition: All=1, Neutral=0, Red=1, Blue=2. Default 1=All.
#table Color
RGB color table {r, g, b}, e.g. {1,0,0} for red (default).
#number Alpha
Transparency [0,1]. Default 1.
#number LineType
Line type: 0=No line, 1=Solid, 2=Dashed, 3=Dotted, 4=Dot dash, 5=Long dash, 6=Two dash. Default 1=Solid.
#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. Can be used to remove the object again.
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 )
Creates a free form shape on the F10 map.
The first point is the current COORDINATE. The remaining points need to be specified.
Defined in:
COORDINATE
Parameters:
#table Coordinates
Table of coordinates of the remaining points of the shape.
#number Coalition
Coalition: All=1, Neutral=0, Red=1, Blue=2. Default 1=All.
#table Color
RGB color table {r, g, b}, e.g. {1,0,0} for red (default).
#number Alpha
Transparency [0,1]. Default 1.
#table FillColor
RGB color table {r, g, b}, e.g. {1,0,0} for red. Default is same as Color
value.
#number FillAlpha
Transparency [0,1]. Default 0.15.
#number LineType
Line type: 0=No line, 1=Solid, 2=Dashed, 3=Dotted, 4=Dot dash, 5=Long dash, 6=Two dash. Default 1=Solid.
#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. Can be used to remove the object again.
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 up.
The z coordinate of the Vec3 point, pointing to the right.
Return value:
self
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:
Provides a COORDINATE from an MGRS Coordinate
Defined in:
COORDINATE
Parameters:
#string UTMZone
UTM Zone, e.g. "37T"
#string MGRSDigraph
Digraph, e.g. "DK"
#string Easting
Meters easting  string in order to allow for leading zeros, e.g. "01234". Should be 5 digits.
#string Northing
Meters northing  string in order to allow for leading zeros, e.g. "12340". Should be 5 digits.
Return value:
self
Provides a COORDINATE from an MGRS String
Defined in:
COORDINATE
Parameter:
#string MGRSString
MGRS String, e.g. "MGRS 37T DK 12345 12345"
Return value:
self
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:
self
Create a new COORDINATE object from Vec3 coordinates.
Create a new COORDINATE object from a waypoint.
This uses the components
waypoint.x
waypoint.alt
waypoint.y
Creates a shape defined by 4 points on the F10 map.
The first point is the current COORDINATE. The remaining three points need to be specified.
Defined in:
COORDINATE
Parameters:
#COORDINATE Coord2
Second COORDINATE of the quad shape.
#COORDINATE Coord3
Third COORDINATE of the quad shape.
#COORDINATE Coord4
Fourth COORDINATE of the quad shape.
#number Coalition
Coalition: All=1, Neutral=0, Red=1, Blue=2. Default 1=All.
#table Color
RGB color table {r, g, b}, e.g. {1,0,0} for red (default).
#number Alpha
Transparency [0,1]. Default 1.
#table FillColor
RGB color table {r, g, b}, e.g. {1,0,0} for red. Default is same as Color
value.
#number FillAlpha
Transparency [0,1]. Default 0.15.
#number LineType
Line type: 0=No line, 1=Solid, 2=Dashed, 3=Dotted, 4=Dot dash, 5=Long dash, 6=Two dash. Default 1=Solid.
#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. Can be used to remove the object again.
Rectangle to all.
Creates a rectangle on the map from the COORDINATE in one corner to the end COORDINATE in the opposite corner. Creates a line on the F10 map from one point to another.
Defined in:
COORDINATE
Parameters:
#COORDINATE Endpoint
COORDINATE in the opposite corner.
#number Coalition
Coalition: All=1, Neutral=0, Red=1, Blue=2. Default 1=All.
#table Color
RGB color table {r, g, b}, e.g. {1,0,0} for red (default).
#number Alpha
Transparency [0,1]. Default 1.
#table FillColor
RGB color table {r, g, b}, e.g. {1,0,0} for red. Default is same as Color
value.
#number FillAlpha
Transparency [0,1]. Default 0.15.
#number LineType
Line type: 0=No line, 1=Solid, 2=Dashed, 3=Dotted, 4=Dot dash, 5=Long dash, 6=Two dash. Default 1=Solid.
#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. Can be used to remove the object again.
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 >>>
TargetCoord: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 SCENERY objects 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:
table Table of SCENERY objects.
Scan/find STATICS 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.
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 altitude to be at land height (i.e.
on the ground!)
Defined in:
COORDINATE
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.
Stop big smoke and fire at the coordinate.
Defined in:
COORDINATE
Parameter:
#string name
(Optional) Name of the fire to stop it, if not using the same COORDINATE object.
Text to all.
Creates a text imposed on the map at the COORDINATE. Text scales with the map.
Defined in:
COORDINATE
Parameters:
#string Text
Text displayed on the F10 map.
#number Coalition
Coalition: All=1, Neutral=0, Red=1, Blue=2. Default 1=All.
#table Color
RGB color table {r, g, b}, e.g. {1,0,0} for red (default).
#number Alpha
Transparency [0,1]. Default 1.
#table FillColor
RGB color table {r, g, b}, e.g. {1,0,0} for red. Default is same as Color
value.
#number FillAlpha
Transparency [0,1]. Default 0.3.
#number FontSize
Font size. Default 14.
#boolean ReadOnly
(Optional) Mark is readonly and cannot be removed by users. Default false.
Return value:
#number:
The resulting Mark ID, which is a number. Can be used to remove the object again.
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.
#boolean MagVar
If true, also get angle in MagVar for BR/BRA
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.
#boolean MagVar
If true, also get angle in MagVar for BR/BRA
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.
#boolean MagVar
If true, also get angle in MagVar for BR/BRA
Return value:
#string:
The BR text.
Return a BRA 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.
#boolean MagVar
If true, also get angle in MagVar for BR/BRA
Return value:
#string:
The BR text.
Create a BRAA NATO call string to this COORDINATE from the FromCOORDINATE.
Note  BRA delivered if no aspect can be obtained and "Merged" if range < 3nm
Defined in:
COORDINATE
Parameters:
#COORDINATE FromCoordinate
The coordinate to measure the distance and the bearing from.
#boolean Bogey
Add "Bogey" at the end if true (not yet declared hostile or friendly)
#boolean Spades
Add "Spades" at the end if true (no IFF/VID ID yet known)
#boolean SSML
Add SSML tags speaking aspect as 0 1 2 and "brah" instead of BRAA
#boolean Angels
If true, altitude is e.g. "Angels 25" (i.e., a friendly plane), else "25 thousand"
#boolean Zeros
If using SSML, be aware that Google TTS will say "oh" and not "zero" for "0"; if Zeros is set to true, "0" will be replaced with "zero"
Return value:
#string:
The BRAA 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.
#boolean MagVar
If true, als get angle in magnetic
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 reference coordinate.
#string ReferenceName
The reference 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.
#boolean MagVar
If true also show angle in magnetic
Return value:
#string:
The coordinate Text in the configured coordinate system.
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 reference coordinate.
#string ReferenceName
The reference 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.
#boolean MagVar
If true also get the angle as magnetic
Return value:
#string:
The coordinate Text in the configured coordinate system.
Get Latitude & Longitude text.
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:
LLText
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.
#boolean Overwrite
If true, overwrite the original COORDINATE with the translated one. Otherwise, create a new COORDINATE.
Return value:
The new calculated COORDINATE.
Update x,y,z coordinates from another given COORDINATE.
Defined in:
COORDINATE
Parameter:
#COORDINATE Coordinate
The coordinate with the new x,y,z positions.
Return value:
The modified COORDINATE itself.
Update x and z coordinates from a given 2D vector.
Defined in:
COORDINATE
Parameter:
DCS#Vec2 Vec2
The 2D vector with x,y components. x is overwriting COORDINATE.x while y is overwriting COORDINATE.z.
Return value:
The modified COORDINATE itself.
Update x,y,z coordinates from a given 3D vector.
Defined in:
COORDINATE
Parameter:
DCS#Vec3 Vec3
The 3D vector with x,y,z components.
Return value:
The modified COORDINATE itself.
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)
Name of the class
Heading in degrees. Needs to be set first.
Velocity in meters per second. Needs to be set first.
Component of the 3D vector.
Component of the 3D vector.
Component of the 3D vector.
Function(s)
Clear the state of an object.
Defined in:
Parameters:
Object
The object that holds the Value set by the Key.
StateName
The key that is should be cleared.
Creation of a Birth Event.
Defined in:
Parameters:
DCS#Time EventTime
The time stamp of the event.
DCS#Object Initiator
The initiating object of the event.
#string IniUnitName
The initiating unit name.
place
subplace
Creation of a Crash Event.
Defined in:
Parameters:
DCS#Time EventTime
The time stamp of the event.
DCS#Object Initiator
The initiating object of the event.
IniObjectCategory
Creation of a Dead Event.
Defined in:
Parameters:
DCS#Time EventTime
The time stamp of the event.
DCS#Object Initiator
The initiating object of the event.
IniObjectCategory
Creation of a S_EVENT_PLAYER_ENTER_AIRCRAFT
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.
Creation of a Crash Event.
Defined in:
Parameters:
DCS#Time EventTime
The time stamp of the event.
DCS#Object Initiator
The initiating object of the event.
Log an exception which will be traced always.
Can be anywhere within the function logic.
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 Core.Event processing Priority.
The Event processing Priority is a number from 1 to 10, reflecting the order of the classes subscribed to the Event to be processed.
This is the worker method to retrieve the Parent class.
Note that the Parent class must be passed to call the parent class method.
self:GetParent(self):ParentMethod()
Get a Value given a Key from the Object.
Note that if the Object is destroyed, set to nil, or garbage collected, then the Values and Keys will also be gone.
Defined in:
Parameters:
Object
The object that holds the Value set by the Key.
Key
The key that is used to retrieve the value. Note that the key can be a #string, but it can also be any other type!
Return value:
The Value retrieved or nil if the Key was not found and thus the Value could not be retrieved.
Subscribe to a DCS Event.
Defined in:
Parameters:
Core.Event#EVENTS EventID
Event ID.
#function EventFunction
(optional) The function to be called when the event occurs for the unit.
Return value:
Log an information which will be traced always.
Can be anywhere within the function logic.
This is the worker method to inherit from a parent class.
Defined in:
Parameters:
Child
is the Child class that inherits.
#BASE Parent
is the Parent class that the Child inherits from.
Return value:
Child
This is the worker method to check if an object is an (sub)instance of a class.
Examples:
ZONE:New( 'some zone' ):IsInstanceOf( ZONE ) will return true
ZONE:New( 'some zone' ):IsInstanceOf( 'ZONE' ) will return true
ZONE:New( 'some zone' ):IsInstanceOf( 'zone' ) will return true
ZONE:New( 'some zone' ):IsInstanceOf( 'BASE' ) will return true
ZONE:New( 'some zone' ):IsInstanceOf( 'GROUP' ) will return false
Defined in:
Parameter:
ClassName
is the name of the class or the class itself to run the check against
Return value:
#boolean:
Enquires if tracing is on (for the class).
BASE constructor.
This is an example how to use the BASE:New() constructor in a new class definition when inheriting from BASE.
function EVENT:New()
local self = BASE:Inherit( self, BASE:New() )  #EVENT
return self
end
Occurs when an Event for an object is triggered.
Have a look at the class Core.Event#EVENT as these are just the prototypes. initiator : The unit that triggered the event.
Occurs when a ground unit captures either an airbase or a farp.
Have a look at the class Core.Event#EVENT as these are just the prototypes. initiator : The unit that captured the base place: The airbase that was captured, can be a FARP or Airbase. When calling place:getCoalition() the faction will already be the new owning faction.
Occurs when any object is spawned into the mission.
Have a look at the class Core.Event#EVENT as these are just the prototypes. initiator : The unit that was spawned
Occurs when any aircraft crashes into the ground and is completely destroyed.
Have a look at the class Core.Event#EVENT as these are just the prototypes. initiator : The unit that has crashed
Occurs when an object is dead.
Have a look at the class Core.Event#EVENT as these are just the prototypes. initiator : The unit that is dead.
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.
Discard chair after ejection.
Have a look at the class Core.Event#EVENT as these are just the prototypes.
Occurs when a pilot ejects from an aircraft Have a look at the class Core.Event#EVENT as these are just the prototypes.
initiator : The unit that has ejected
Occurs when any aircraft shuts down its engines.
Have a look at the class Core.Event#EVENT as these are just the prototypes. initiator : The unit that is stopping its engines.
Occurs when any aircraft starts its engines.
Have a look at the class Core.Event#EVENT as these are just the prototypes. initiator : The unit that is starting its engines.
Occurs whenever an object is hit by a weapon.
Have a look at the class Core.Event#EVENT as these are just the prototypes. initiator : The unit object the fired the weapon weapon: Weapon object that hit the target target: The Object that was hit.
Occurs when any system fails on a human controlled aircraft.
Have a look at the class Core.Event#EVENT as these are just the prototypes. initiator : The unit that had the failure
Occurs on the death of a unit.
Contains more and different information. Similar to unit_lost it will occur for aircraft before the aircraft crash event occurs. Have a look at the class Core.Event#EVENT as these are just the prototypes.
 initiator: The unit that killed the target
 target: Target Object
 weapon: Weapon Object
Occurs when an aircraft lands at an airbase, farp or ship Have a look at the class Core.Event#EVENT as these are just the prototypes.
initiator : The unit that has landed place: Object that the unit landed on. Can be an Airbase Object, FARP, or Ships
Occurs shortly after the landing animation of an ejected pilot touching the ground and standing up.
Event does not occur if the pilot lands in the water and sub combs to Davey Jones Locker. Have a look at the class Core.Event#EVENT as these are just the prototypes.
 initiator: Static object representing the ejected pilot. Place : Aircraft that the pilot ejected from.
 place: may not return as a valid object if the aircraft has crashed into the ground and no longer exists.
 subplace: is always 0 for unknown reasons.
Occurs when a new mark was added.
Have a look at the class Core.Event#EVENT as these are just the prototypes. MarkID: ID of the mark.
Occurs when a mark text was changed.
Have a look at the class Core.Event#EVENT as these are just the prototypes. MarkID: ID of the mark.
Occurs when a mark was removed.
Have a look at the class Core.Event#EVENT as these are just the prototypes. MarkID: ID of the mark.
Occurs when a mission ends Have a look at the class Core.Event#EVENT as these are just the prototypes.
Occurs when a mission starts Have a look at the class Core.Event#EVENT as these are just the prototypes.
Weapon add.
Fires when entering a mission per pylon with the name of the weapon (double pylons not counted, infinite wep reload not counted. Have a look at the class Core.Event#EVENT as these are just the prototypes.
Occurs when the pilot of an aircraft is killed.
Can occur either if the player is alive and crashes or if a weapon kills the pilot without completely destroying the plane. Have a look at the class Core.Event#EVENT as these are just the prototypes. initiator : The unit that the pilot has died in.
Occurs when a player enters a slot and takes control of an aircraft.
Have a look at the class Core.Event#EVENT as these are just the prototypes. NOTE: This is a workaround of a long standing DCS bug with the PLAYER_ENTER_UNIT event. initiator : The unit that is being taken control of.
Occurs when any player assumes direct control of a unit.
Note  not Mulitplayer safe. Use PlayerEnterAircraft. Have a look at the class Core.Event#EVENT as these are just the prototypes. initiator : The unit that is being taken control of.
Occurs when any player relieves control of a unit to the AI.
Have a look at the class Core.Event#EVENT as these are just the prototypes. initiator : The unit that the player left.
Occurs when an aircraft connects with a tanker and begins taking on fuel.
Have a look at the class Core.Event#EVENT as these are just the prototypes. initiator : The unit that is receiving fuel.
Occurs when an aircraft is finished taking fuel.
Have a look at the class Core.Event#EVENT as these are just the prototypes. initiator : The unit that was receiving fuel.
Occurs when any modification to the "Score" as seen on the debrief menu would occur.
There is no information on what values the score was changed to. Event is likely similar to player_comment in this regard. Have a look at the class Core.Event#EVENT as these are just the prototypes.
Occurs when any unit stops firing its weapon.
Event will always correspond with a shooting start event. Have a look at the class Core.Event#EVENT as these are just the prototypes. initiator : The unit that was doing the shooting.
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. Have a look at the class Core.Event#EVENT as these are just the prototypes. initiator : The unit that is doing the shooting. target: The unit that is being targeted.
Occurs whenever any unit in a mission fires a weapon.
But not any machine gun or autocannon based weapon, those are handled by EVENT.ShootingStart. Have a look at the class Core.Event#EVENT as these are just the prototypes.
Occurs when an aircraft takes off from an airbase, farp, or ship.
Have a look at the class Core.Event#EVENT as these are just the prototypes. initiator : The unit that tookoff place: Object from where the AI tookoff from. Can be an Airbase Object, FARP, or Ships
Occurs when the game thinks an object is destroyed.
Have a look at the class Core.Event#EVENT as these are just the prototypes.
 initiator: The unit that is was destroyed.
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:
#string:
The Schedule ID of the planned schedule.
Schedule a new time event.
Note that the schedule will only take place if the scheduler is started. Even for a single schedule event, the scheduler needs to be started also.
Defined in:
Parameters:
#number Start
Specifies the amount of seconds that will be waited before the scheduling is started, and the event function is called.
#number Repeat
Specifies the interval in seconds when the scheduler will call the event function.
#number RandomizeFactor
Specifies a randomization factor between 0 and 1 to randomize the Repeat.
#number Stop
Specifies the amount of seconds when the scheduler will be stopped.
#function SchedulerFunction
The event function to be called when a timer event occurs. The event function needs to accept the parameters specified in SchedulerArguments.
#table ...
Optional arguments that can be given as part of scheduler. The arguments need to be given as a table { param1, param 2, ... }.
Return value:
#string:
The Schedule ID of the planned schedule.
Stops the Schedule.
Defined in:
Parameter:
#string SchedulerID
(Optional) Scheduler ID to be stopped. If nil, all pending schedules are stopped.
Set the Class Core.Event processing Priority.
The Event processing Priority is a number from 1 to 10, reflecting the order of the classes subscribed to the Event to be processed.
Set a state or property of the Object given a Key and a Value.
Note that if the Object is destroyed, set to nil, or garbage collected, then the Values and Keys will also be gone.
Defined in:
Parameters:
Object
The object that will hold the Value set by the Key.
Key
The key that is used as a reference of the value. Note that the key can be a #string, but it can also be any other type!
Value
The value to is stored in the object.
Return value:
The Value set.
Trace a function logic level 1.
Can be anywhere within the function logic.
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
(Internal) Serialize arguments
Trace a function logic.
Defined in:
Parameters:
Arguments
A #table or any field.
DebugInfoCurrentParam
DebugInfoFromParam
The main event handling function...
This function captures all events generated for the class.
Waypoint actions.
Field(s)
Fly over point.
From ground area.
From ground area hot.
From parking area.
From parking area hot.
From runway.
Landing.
Landing and refuel and rearm.
Turning point.
Function(s)
Waypoint altitude types.
Field(s)
Barometric altitude.
Radio altitude.
Function(s)
Waypoint types.
Field(s)
Landing point.
Landing and refuel and rearm.
Take off parking hot.
Take of from ground hot.
Take of parking.
Take of parking hot.
Turning point.
Function(s)
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 coordinate.
Return the Lon(gitude) coordinate of the POINT_VEC2 (ie: (parent)POINT_VEC3.z).
Defined in:
POINT_VEC2
Return value:
#number:
The y coordinate.
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 coordinate.
Return the y coordinate of the POINT_VEC2.
Defined in:
POINT_VEC2
Return value:
#number:
The y coordinate.
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.
The POINT_VEC3 class
Field(s)
The x coordinate in 3D space.
The y coordinate in 3D space.
The z COORDINATE 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 coordinate.
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 coordinate.
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 coordinate.
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 coordinate.
Return the y coordinate of the POINT_VEC3.
Defined in:
POINT_VEC3
Return value:
#number:
The y coordinate.
Return the z coordinate of the POINT_VEC3.
Defined in:
POINT_VEC3
Return value:
#number:
The z coordinate.
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