Banner Image

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.

#COORDINATE COORDINATE

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:

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

2.2) Flare

2.3) Explode

2.4) Illuminate

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:

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.

4.2) Get the angle.

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.

4.5) Point Randomization

Various methods exist to calculate random locations around a given 3D point.

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:

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.

5.2) Surface specific.

Within the DCS simulator, the surface can have various objects placed at the coordinate, and the surface height will vary.

6) Create waypoints for routes.

A COORDINATE can prepare waypoints for Ground and Air groups to be embedded into a Route.

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

9) Coordinate text generation

10) Drawings on F10 map

Global POINT_VEC2

Defines a 2D point in the simulator.

#POINT_VEC2 POINT_VEC2

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:

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.

#POINT_VEC3 POINT_VEC3

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:

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.

Type(s)

Fields and Methods inherited from COORDINATE Description

COORDINATE:ArrowToAll(Endpoint, Coalition, Color, Alpha, FillColor, FillAlpha, LineType, ReadOnly, Text)

Arrow to all.

COORDINATE:BigSmokeAndFire(preset, density, name)

Big smoke and fire at the coordinate.

COORDINATE:BigSmokeAndFireHuge(density, name)

Huge smoke and fire at the coordinate.

COORDINATE:BigSmokeAndFireLarge(density, name)

Large smoke and fire at the coordinate.

COORDINATE:BigSmokeAndFireMedium(density, name)

Medium smoke and fire at the coordinate.

COORDINATE:BigSmokeAndFireSmall(density, name)

Small smoke and fire at the coordinate.

COORDINATE:BigSmokeHuge(density, name)

Huge smoke at the coordinate.

COORDINATE:BigSmokeLarge(density, name)

Large smoke at the coordinate.

COORDINATE:BigSmokeMedium(number, name, density)

Medium smoke at the coordinate.

COORDINATE:BigSmokeSmall(density, name)

Small smoke at the coordinate.

COORDINATE:CircleToAll(Radius, Coalition, Color, Alpha, FillColor, FillAlpha, LineType, ReadOnly, Text)

Circle to all.

COORDINATE.ClassName

Name of the class

COORDINATE:DistanceFromPointVec2(PointVec2Reference)

Calculate the distance from a reference #COORDINATE.

COORDINATE:Explosion(ExplosionIntensity, Delay)

Creates an explosion at the point of a certain intensity.

COORDINATE:FindClosestScenery(radius)

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

COORDINATE:FindClosestStatic(radius)

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

COORDINATE:FindClosestUnit(radius)

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

COORDINATE:Flare(FlareColor, Azimuth)

Flares the point in a color.

COORDINATE:FlareGreen(Azimuth)

Flare the COORDINATE Green.

COORDINATE:FlareRed(Azimuth)

Flare the COORDINATE Red.

COORDINATE:FlareWhite(Azimuth)

Flare the COORDINATE White.

COORDINATE:FlareYellow(Azimuth)

Flare the COORDINATE Yellow.

COORDINATE:Get2DDistance(TargetCoordinate)

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

COORDINATE:Get3DDistance(TargetCoordinate)

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

COORDINATE:GetAltitudeText(Settings, Language)

Return the altitude text of the COORDINATE.

COORDINATE:GetAngleDegrees(DirectionVec3)

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

COORDINATE:GetAngleRadians(DirectionVec3)

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.

COORDINATE.GetBullseyeCoordinate(Coalition)

Return the BULLSEYE as COORDINATE Object

COORDINATE:GetClosestAirbase(Category, Coalition)

Gets the nearest airbase with respect to the current coordinates.

COORDINATE:GetClosestAirbase2(Category, Coalition)

[kept for downwards compatibility only] Gets the nearest airbase with respect to the current coordinates.

COORDINATE:GetClosestFreeParkingSpot(airbase, terminaltype)

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.

COORDINATE:GetClosestPointToRoad(Railroad)

Gets the nearest coordinate to a road (or railroad).

COORDINATE:GetCoordinate()

Return the coordinates itself.

COORDINATE:GetDirectionVec3(TargetCoordinate)

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.

COORDINATE:GetHeading()

Get the heading of the coordinate, if applicable.

COORDINATE:GetHeadingText(Settings)

Return the heading text of the COORDINATE.

COORDINATE:GetIntermediateCoordinate(ToCoordinate, Fraction)

Return an intermediate COORDINATE between this an another coordinate.

COORDINATE:GetLLDDM()

Get Latitude and Longitude in Degrees Decimal Minutes (DDM).

COORDINATE:GetLandHeight()

Return the height of the land at the coordinate.

COORDINATE:GetMagneticDeclination(Month, Year)

Returns the magnetic declination at the given coordinate.

COORDINATE:GetMinutesToSunrise(OnlyToday)

Get minutes until the next sun rise at this coordinate.

COORDINATE:GetMinutesToSunset(OnlyToday)

Get minutes until the next sun set at this coordinate.

COORDINATE:GetMovingText(Settings)

Return velocity text of the COORDINATE.

COORDINATE:GetName()

Return the "name" of the COORDINATE.

COORDINATE:GetNorthCorrectionRadians()

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.

COORDINATE:GetPressure(height)

Returns the pressure in hPa.

COORDINATE:GetPressureText(height, Settings)

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.

COORDINATE:GetRandomVec2InRadius(OuterRadius, InnerRadius)

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

COORDINATE:GetRandomVec3InRadius(OuterRadius, InnerRadius)

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

COORDINATE:GetSunrise(InSeconds)

Get todays sun rise time.

COORDINATE:GetSunriseAtDate(Day, Month, Year, InSeconds)

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

COORDINATE:GetSunriseAtDayOfYear(DayOfYear, InSeconds)

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

COORDINATE:GetSunset(InSeconds)

Get todays sun set time.

COORDINATE:GetSunsetAtDate(Day, Month, Year, InSeconds)

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

COORDINATE:GetSurfaceType()

Gets the surface type at the coordinate.

COORDINATE:GetTemperature(height)

Returns the temperature in Degrees Celsius.

COORDINATE:GetTemperatureText(height, Settings)

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

COORDINATE:GetVec2()

Return the coordinates of the COORDINATE in Vec2 format.

COORDINATE:GetVec3()

Return the coordinates of the COORDINATE in Vec3 format.

COORDINATE:GetVelocity()

Return the velocity of the COORDINATE.

COORDINATE:GetVelocityText(Settings)

Return the velocity text of the COORDINATE.

COORDINATE:GetWind(height, turbulence)

Returns the wind direction (from) and strength.

COORDINATE:GetWindText(height, Settings)

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

COORDINATE:GetWindVec3(height, turbulence)

Returns the 3D wind direction vector.

COORDINATE:GetWindWithTurbulenceVec3(height)

Returns the wind direction (from) and strength.

COORDINATE.Heading

Heading in degrees. Needs to be set first.

COORDINATE:HeadingTo(ToCoordinate)

Returns the heading from this to another coordinate.

COORDINATE:IlluminationBomb(Power, Delay)

Creates an illumination bomb at the point.

COORDINATE:IsAtCoordinate2D(Coordinate, Precision)

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

COORDINATE:IsDay(Clock)

Check if it is day, i.e.

COORDINATE:IsInFlatArea(Radius, Minelevation)

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

COORDINATE:IsInRadius(Coordinate, Radius)

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

COORDINATE:IsInSphere(ToCoordinate, Radius, Coordinate)

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

COORDINATE:IsInSteepArea(Radius, Minelevation)

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

COORDINATE:IsLOS(ToCoordinate, Offset)

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

COORDINATE:IsNight(Clock)

Check if it is night, i.e.

COORDINATE:IsSurfaceTypeLand()

Checks if the surface type is on land.

COORDINATE:IsSurfaceTypeRoad()

Checks if the surface type is road.

COORDINATE:IsSurfaceTypeRunway()

Checks if the surface type is runway.

COORDINATE:IsSurfaceTypeShallowWater()

Checks if the surface type is shallow water.

COORDINATE:IsSurfaceTypeWater()

Checks if the surface type is water.

COORDINATE:LineToAll(Endpoint, Coalition, Color, Alpha, LineType, ReadOnly, Text)

Line to all.

COORDINATE:MarkToAll(MarkText, ReadOnly, Text)

Mark to All

COORDINATE:MarkToCoalition(MarkText, Coalition, ReadOnly, Text)

Mark to Coalition

COORDINATE:MarkToCoalitionBlue(MarkText, ReadOnly, Text)

Mark to Blue Coalition

COORDINATE:MarkToCoalitionRed(MarkText, ReadOnly, Text)

Mark to Red Coalition

COORDINATE:MarkToGroup(MarkText, MarkGroup, ReadOnly, Text)

Mark to Group

COORDINATE:MarkupToAllFreeForm(Coordinates, Coalition, Color, Alpha, FillColor, FillAlpha, LineType, ReadOnly, Text)

Creates a free form shape on the F10 map.

COORDINATE:New(x, y, z)

COORDINATE constructor.

COORDINATE:NewFromCoordinate(Coordinate)

COORDINATE constructor.

COORDINATE:NewFromLLDD(latitude, longitude, altitude)

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

COORDINATE:NewFromMGRSString(MGRSString)

Provides a COORDINATE from an MGRS String

COORDINATE:NewFromVec2(Vec2, LandHeightAdd)

Create a new COORDINATE object from Vec2 coordinates.

COORDINATE:NewFromVec3(Vec3)

Create a new COORDINATE object from Vec3 coordinates.

COORDINATE:NewFromWaypoint(Waypoint)

Create a new COORDINATE object from a waypoint.

COORDINATE:QuadToAll(Coord2, Coord3, Coord4, Coalition, Color, Alpha, FillColor, FillAlpha, LineType, ReadOnly, Text)

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

COORDINATE:RectToAll(Endpoint, Coalition, Color, Alpha, FillColor, FillAlpha, LineType, ReadOnly, Text)

Rectangle to all.

COORDINATE:RemoveMark(MarkID)

Remove a mark

COORDINATE:Rotate2D(Angle)

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.

COORDINATE:ScanScenery(radius)

Scan/find SCENERY objects within a certain radius around the coordinate using the world.searchObjects() DCS API function.

COORDINATE:ScanStatics(radius)

Scan/find STATICS within a certain radius around the coordinate using the world.searchObjects() DCS API function.

COORDINATE:ScanUnits(radius)

Scan/find UNITS within a certain radius around the coordinate using the world.searchObjects() DCS API function.

COORDINATE:SetAltitude(altitude, asl)

Set altitude.

COORDINATE:SetAtLandheight()

Set altitude to be at land height (i.e.

COORDINATE:SetHeading(Heading)

Set the heading of the coordinate, if applicable.

COORDINATE:SetVelocity(Velocity)

Set the velocity of the COORDINATE.

COORDINATE:Smoke(SmokeColor)

Smokes the point in a color.

COORDINATE:SmokeBlue()

Smoke the COORDINATE Blue.

COORDINATE:SmokeGreen()

Smoke the COORDINATE Green.

COORDINATE:SmokeOrange()

Smoke the COORDINATE Orange.

COORDINATE:SmokeRed()

Smoke the COORDINATE Red.

COORDINATE:SmokeWhite()

Smoke the COORDINATE White.

COORDINATE:StopBigSmokeAndFire(name)

Stop big smoke and fire at the coordinate.

COORDINATE:TextToAll(Text, Coalition, Color, Alpha, FillColor, FillAlpha, FontSize, ReadOnly)

Text to all.

COORDINATE:ToString(Controllable, Settings, Task)

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

COORDINATE:ToStringA2A(Controllable, Settings, MagVar)

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

COORDINATE:ToStringA2G(Controllable, Settings, MagVar)

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

COORDINATE:ToStringAspect(TargetCoordinate)

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

COORDINATE:ToStringBR(FromCoordinate, Settings, MagVar)

Return a BR string from a COORDINATE to the COORDINATE.

COORDINATE:ToStringBRA(FromCoordinate, Settings, MagVar)

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.

COORDINATE:ToStringBULLS(Coalition, Settings, MagVar)

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.

COORDINATE:ToStringLL(Settings)

Get Latitude & Longitude text.

COORDINATE:ToStringLLDDM(Settings)

Provides a Lat Lon string in Degree Decimal Minute format.

COORDINATE:ToStringLLDMS(Settings)

Provides a Lat Lon string in Degree Minute Second format.

COORDINATE:ToStringMGRS(Settings)

Provides a MGRS string

COORDINATE:ToStringPressure(Controllable, Settings)

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.

COORDINATE:ToStringWind(Controllable, Settings)

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

COORDINATE:Translate(Distance, Angle, Keepalt, Overwrite)

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

COORDINATE:UpdateFromCoordinate(Coordinate)

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

COORDINATE:UpdateFromVec2(Vec2)

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

COORDINATE:UpdateFromVec3(Vec3)

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

COORDINATE.Velocity

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

COORDINATE.WaypointAction

COORDINATE:WaypointAir(AltType, Type, Action, Speed, SpeedLocked, airbase, DCSTasks, description, timeReFuAr)

Build an air type route point.

COORDINATE:WaypointAirFlyOverPoint(AltType, Speed)

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".

COORDINATE:WaypointAirTakeOffParking(AltType, Speed)

Build a Waypoint Air "Take Off Parking".

COORDINATE:WaypointAirTakeOffParkingHot(AltType, Speed)

Build a Waypoint Air "Take Off Parking Hot".

COORDINATE:WaypointAirTakeOffRunway(AltType, Speed)

Build a Waypoint Air "Take Off Runway".

COORDINATE:WaypointAirTurningPoint(AltType, Speed, DCSTasks, description)

Build a Waypoint Air "Turning Point".

COORDINATE.WaypointAltType

COORDINATE:WaypointGround(Speed, Formation, DCSTasks)

Build an ground type route point.

COORDINATE:WaypointNaval(Speed, Depth, DCSTasks)

Build route waypoint point for Naval units.

COORDINATE.WaypointType

COORDINATE.firename

COORDINATE.x

Component of the 3D vector.

COORDINATE.y

Component of the 3D vector.

COORDINATE.z

Component of the 3D vector.

Fields and Methods inherited from BASE Description

COORDINATE.ClassID

The ID number of the class.

COORDINATE.ClassName

The name of the class.

COORDINATE.ClassNameAndID

The name of the class concatenated with the ID number of the class.

COORDINATE:ClearState(Object, StateName)

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.

COORDINATE:CreateEventDynamicCargoLoaded(DynamicCargo)

Creation of a S_EVENT_DYNAMIC_CARGO_LOADED event.

COORDINATE:CreateEventDynamicCargoRemoved(DynamicCargo)

Creation of a S_EVENT_DYNAMIC_CARGO_REMOVED event.

COORDINATE:CreateEventDynamicCargoUnloaded(DynamicCargo)

Creation of a S_EVENT_DYNAMIC_CARGO_UNLOADED event.

COORDINATE:CreateEventNewDynamicCargo(DynamicCargo)

Creation of a S_EVENT_NEW_DYNAMIC_CARGO event.

COORDINATE:CreateEventPlayerEnterAircraft(PlayerUnit)

Creation of a S_EVENT_PLAYER_ENTER_AIRCRAFT event.

COORDINATE:CreateEventRemoveUnit(EventTime, Initiator)

Creation of a Remove Unit Event.

COORDINATE:CreateEventTakeoff(EventTime, Initiator)

Creation of a Takeoff Event.

COORDINATE:CreateEventUnitLost(EventTime, Initiator)

Creation of a Crash Event.

COORDINATE:E(Arguments)

Log an exception which will be traced always.

COORDINATE:EventDispatcher()

Returns the event dispatcher

COORDINATE:EventRemoveAll()

Remove all subscribed events

COORDINATE:F(Arguments)

Trace a function call.

COORDINATE:F2(Arguments)

Trace a function call level 2.

COORDINATE:F3(Arguments)

Trace a function call level 3.

COORDINATE:GetClassID()

Get the ClassID of the class instance.

COORDINATE:GetClassName()

Get the ClassName of the class instance.

COORDINATE:GetClassNameAndID()

Get the ClassName + ClassID of the class instance.

COORDINATE:GetEventPriority()

Get the Class Core.Event processing Priority.

COORDINATE:GetParent(Child, FromClass)

This is the worker method to retrieve the Parent class.

COORDINATE:GetState(Object, Key)

Get a Value given a Key from the Object.

COORDINATE:HandleEvent(EventID, EventFunction)

Subscribe to a DCS Event.

COORDINATE:I(Arguments)

Log an information which will be traced always.

COORDINATE:Inherit(Child, Parent)

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

COORDINATE:IsInstanceOf(ClassName)

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

COORDINATE:IsTrace()

Enquires if tracing is on (for the class).

COORDINATE:New()

BASE constructor.

COORDINATE:OnEvent(EventData)

Occurs when an Event for an object is triggered.

COORDINATE:OnEventBDA(EventData)

BDA.

COORDINATE:OnEventBaseCaptured(EventData)

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

COORDINATE:OnEventBirth(EventData)

Occurs when any object is spawned into the mission.

COORDINATE:OnEventCrash(EventData)

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

COORDINATE:OnEventDead(EventData)

Occurs when an object is dead.

COORDINATE:OnEventDetailedFailure(EventData)

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

COORDINATE:OnEventDiscardChairAfterEjection(EventData)

Discard chair after ejection.

COORDINATE:OnEventDynamicCargoLoaded(EventData)

Occurs when a player loads a dynamic cargo object with the F8 ground crew menu into a helo.

COORDINATE:OnEventDynamicCargoRemoved(EventData)

Occurs when a dynamic cargo crate is removed.

COORDINATE:OnEventDynamicCargoUnloaded(EventData)

Occurs when a player unloads a dynamic cargo object with the F8 ground crew menu from a helo.

COORDINATE:OnEventEjection(EventData)

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

COORDINATE:OnEventEngineShutdown(EventData)

Occurs when any aircraft shuts down its engines.

COORDINATE:OnEventEngineStartup(EventData)

Occurs when any aircraft starts its engines.

COORDINATE:OnEventHit(EventData)

Occurs whenever an object is hit by a weapon.

COORDINATE:OnEventHumanFailure(EventData)

Occurs when any system fails on a human controlled aircraft.

COORDINATE:OnEventKill(EventData)

Occurs on the death of a unit.

COORDINATE:OnEventLand(EventData)

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.

COORDINATE:OnEventLandingAfterEjection(EventData)

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

COORDINATE:OnEventLandingQualityMark(EventData)

Landing quality mark.

COORDINATE:OnEventMarkAdded(EventData)

Occurs when a new mark was added.

COORDINATE:OnEventMarkChange(EventData)

Occurs when a mark text was changed.

COORDINATE:OnEventMarkRemoved(EventData)

Occurs when a mark was removed.

COORDINATE:OnEventMissionEnd(EventData)

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

COORDINATE:OnEventMissionStart(EventData)

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

COORDINATE:OnEventNewDynamicCargo(EventData)

Occurs when a player creates a dynamic cargo object from the F8 ground crew menu.

COORDINATE:OnEventParatrooperLanding(EventData)

Weapon add.

COORDINATE:OnEventPilotDead(EventData)

Occurs when the pilot of an aircraft is killed.

COORDINATE:OnEventPlayerEnterAircraft(EventData)

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

COORDINATE:OnEventPlayerEnterUnit(EventData)

Occurs when any player assumes direct control of a unit.

COORDINATE:OnEventPlayerLeaveUnit(EventData)

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

COORDINATE:OnEventRefueling(EventData)

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

COORDINATE:OnEventRefuelingStop(EventData)

Occurs when an aircraft is finished taking fuel.

COORDINATE:OnEventScore(EventData)

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

COORDINATE:OnEventShootingEnd(EventData)

Occurs when any unit stops firing its weapon.

COORDINATE:OnEventShootingStart(EventData)

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

COORDINATE:OnEventShot(EventData)

Occurs whenever any unit in a mission fires a weapon.

COORDINATE:OnEventTakeoff(EventData)

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

COORDINATE:OnEventTriggerZone(EventData)

Trigger zone.

COORDINATE:OnEventUnitLost(EventData)

Occurs when the game thinks an object is destroyed.

COORDINATE:ScheduleOnce(Start, SchedulerFunction, ...)

Schedule a new time event.

COORDINATE:ScheduleRepeat(Start, Repeat, RandomizeFactor, Stop, SchedulerFunction, ...)

Schedule a new time event.

COORDINATE:ScheduleStop(SchedulerID)

Stops the Schedule.

COORDINATE.Scheduler

The scheduler object.

COORDINATE:SetEventPriority(EventPriority)

Set the Class Core.Event processing Priority.

COORDINATE:SetState(Object, Key, Value)

Set a state or property of the Object given a Key and a Value.

COORDINATE:T(Arguments)

Trace a function logic level 1.

COORDINATE:T2(Arguments)

Trace a function logic level 2.

COORDINATE:T3(Arguments)

Trace a function logic level 3.

COORDINATE:TraceAll(TraceAll)

Trace all methods in MOOSE

COORDINATE:TraceClass(Class)

Set tracing for a class

COORDINATE:TraceClassMethod(Class, Method)

Set tracing for a specific method of class

COORDINATE:TraceLevel(Level)

Set trace level

COORDINATE:TraceOff()

Set trace off.

COORDINATE:TraceOn()

Set trace on.

COORDINATE:TraceOnOff(TraceOnOff)

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.

COORDINATE:UnHandleEvent(EventID)

UnSubscribe to a DCS event.

COORDINATE._

COORDINATE:_F(Arguments, DebugInfoCurrentParam, DebugInfoFromParam)

Trace a function call.

COORDINATE:_Serialize(Arguments)

(Internal) Serialize arguments

COORDINATE:_T(Arguments, DebugInfoCurrentParam, DebugInfoFromParam)

Trace a function logic.

COORDINATE.__

COORDINATE:onEvent(event)

The main event handling function...

Fields and Methods inherited from COORDINATE.WaypointAction Description

COORDINATE.WaypointAction.FlyoverPoint

Fly over point.

COORDINATE.WaypointAction.FromGroundArea

From ground area.

COORDINATE.WaypointAction.FromGroundAreaHot

From ground area hot.

COORDINATE.WaypointAction.FromParkingArea

From parking area.

COORDINATE.WaypointAction.FromParkingAreaHot

From parking area hot.

COORDINATE.WaypointAction.FromRunway

From runway.

COORDINATE.WaypointAction.Landing

Landing.

COORDINATE.WaypointAction.LandingReFuAr

Landing and refuel and rearm.

COORDINATE.WaypointAction.TurningPoint

Turning point.

Fields and Methods inherited from COORDINATE.WaypointAltType Description

COORDINATE.WaypointAltType.BARO

Barometric altitude.

COORDINATE.WaypointAltType.RADIO

Radio altitude.

Fields and Methods inherited from COORDINATE.WaypointType Description

COORDINATE.WaypointType.Land

Landing point.

COORDINATE.WaypointType.LandingReFuAr

Landing and refuel and rearm.

COORDINATE.WaypointType.TakeOff

Take off parking hot.

COORDINATE.WaypointType.TakeOffGround

COORDINATE.WaypointType.TakeOffGroundHot

Take of from ground hot.

COORDINATE.WaypointType.TakeOffParking

Take of parking.

COORDINATE.WaypointType.TakeOffParkingHot

Take of parking hot.

COORDINATE.WaypointType.TurningPoint

Turning point.

Fields and Methods inherited from POINT_VEC2 Description

POINT_VEC2:AddAlt(Altitude)

Add to the current land height an altitude.

POINT_VEC2:AddX(x)

Add to the x coordinate of the POINT_VEC2.

POINT_VEC2:AddY(y)

Add to the y coordinate of the POINT_VEC2.

POINT_VEC2:DistanceFromPointVec2(PointVec2Reference)

POINT_VEC2:GetAlt()

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

POINT_VEC2:GetLat()

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

POINT_VEC2:GetLon()

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.

POINT_VEC2:GetX()

Return the x coordinate of the POINT_VEC2.

POINT_VEC2:GetY()

Return the y coordinate of the POINT_VEC2.

POINT_VEC2:New(x, y, LandHeightAdd)

POINT_VEC2 constructor.

POINT_VEC2:NewFromVec2(Vec2, LandHeightAdd)

Create a new POINT_VEC2 object from Vec2 coordinates.

POINT_VEC2:NewFromVec3(Vec3)

Create a new POINT_VEC2 object from Vec3 coordinates.

POINT_VEC2:SetAlt(Altitude)

Set the altitude of the POINT_VEC2.

POINT_VEC2:SetLat(x)

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

POINT_VEC2:SetLon(y, z)

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

POINT_VEC2:SetX(x)

Set the x coordinate of the POINT_VEC2.

POINT_VEC2:SetY(y)

Set the y coordinate of the POINT_VEC2.

POINT_VEC2.x

POINT_VEC2.y

POINT_VEC2.z

Fields and Methods inherited from POINT_VEC3 Description

POINT_VEC3:AddX(x)

Add to the x coordinate of the POINT_VEC3.

POINT_VEC3:AddY(y)

Add to the y coordinate of the POINT_VEC3.

POINT_VEC3:AddZ(z)

Add to the z coordinate of the POINT_VEC3.

POINT_VEC3.FlareColor

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.

POINT_VEC3:GetX()

Return the x coordinate of the POINT_VEC3.

POINT_VEC3:GetY()

Return the y coordinate of the POINT_VEC3.

POINT_VEC3:GetZ()

Return the z coordinate of the POINT_VEC3.

POINT_VEC3:New(x, y, z)

Create a new POINT_VEC3 object.

POINT_VEC3:NewFromVec2(Vec2, LandHeightAdd)

Create a new POINT_VEC3 object from Vec2 coordinates.

POINT_VEC3:NewFromVec3(Vec3)

Create a new POINT_VEC3 object from Vec3 coordinates.

POINT_VEC3.RoutePointAction

POINT_VEC3.RoutePointAltType

POINT_VEC3.RoutePointType

POINT_VEC3:SetX(x)

Set the x coordinate of the POINT_VEC3.

POINT_VEC3:SetY(y)

Set the y coordinate of the POINT_VEC3.

POINT_VEC3:SetZ(z)

Set the z coordinate of the POINT_VEC3.

POINT_VEC3.SmokeColor

POINT_VEC3.x

The x coordinate in 3D space.

POINT_VEC3.y

The y coordinate in 3D space.

POINT_VEC3.z

The z COORDINATE in 3D space.

Fields and Methods inherited from POINT_VEC3.RoutePointAction Description

POINT_VEC3.RoutePointAction.FromParkingArea

"From Parking Area"

POINT_VEC3.RoutePointAction.TurningPoint

"Turning Point"

Fields and Methods inherited from POINT_VEC3.RoutePointAltType Description

POINT_VEC3.RoutePointAltType.BARO

"BARO"

Fields and Methods inherited from POINT_VEC3.RoutePointType Description

POINT_VEC3.RoutePointType.TakeOffParking

"TakeOffParking"

POINT_VEC3.RoutePointType.TurningPoint

"Turning Point"

Field(s)

#string COORDINATE.ClassName

Name of the class

#number COORDINATE.Heading

Heading in degrees. Needs to be set first.

#number COORDINATE.Velocity

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

#number COORDINATE.x

Component of the 3D vector.

#number COORDINATE.y

Component of the 3D vector.

#number COORDINATE.z

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 5-digit-number.

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 5-digit-number.

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 5-digit-number.

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 5-digit-number.

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 5-digit-number.

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 5-digit-number.

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 5-digit-number.

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 5-digit-number.

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 5-digit-number.

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:

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 Red.

Defined in:

COORDINATE

Parameter:

Azimuth

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

#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

#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.

#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:

(Optional) Search only parking spots at that airbase.

(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:

(Optional) Search only parking spots at that airbase.

(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:

(Optional) Search only parking spots at this airbase.

(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.

Defined in:

COORDINATE

Return value:

self

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.

#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.

Defined in:

COORDINATE

Return value:

Surface type.

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.

Defined in:

COORDINATE

Return value:

The Vec2 format coordinate.

Return the coordinates of the COORDINATE in Vec3 format.

Defined in:

COORDINATE

Return value:

The Vec3 format coordinate.

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.

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.

Defined in:

COORDINATE

Parameter:

#COORDINATE Coordinate

Return value:

self

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.

Defined in:

COORDINATE

Parameter:

DCS#Vec3 Vec3

The Vec3 point.

Return value:

self

Create a new COORDINATE object from a waypoint.

This uses the components

  • waypoint.x
  • waypoint.alt
  • waypoint.y

Defined in:

COORDINATE

Parameter:

DCS#Waypoint Waypoint

The waypoint.

Return value:

self

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.

Defined in:

COORDINATE

Parameter:

Smoke the COORDINATE Blue.

Defined in:

COORDINATE

Smoke the COORDINATE Green.

Defined in:

COORDINATE

Smoke the COORDINATE Orange.

Defined in:

COORDINATE

Smoke the COORDINATE Red.

Defined in:

COORDINATE

Smoke the COORDINATE White.

Defined in:

COORDINATE

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:

The controllable to retrieve the settings from, otherwise the default settings will be chosen.

(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.

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:

(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:

(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.

(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.

(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.

(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.

(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.

(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:

(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:

(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:

(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:

(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:

(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:

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:

(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:

The altitude type.

The route point type.

The route point action.

DCS#Speed Speed

Airspeed in km/h. Default is 500 km/h.

#boolean SpeedLocked

true means the speed is locked.

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:

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.

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.

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:

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:

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:

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:

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.

Defined in:

COORDINATE

Parameters:

#number Speed

(Optional) Speed in km/h. The default speed is 20 km/h.

#string Depth

(Optional) Dive depth in meters. Only for submarines. Default is COORDINATE.y component.

#table DCSTasks

(Optional) A table of DCS tasks that are executed at the waypoints. Mind the curly brackets {}!

Return value:

#table:

The route point.

Field(s)

#string COORDINATE.ClassName

Name of the class

#number COORDINATE.Heading

Heading in degrees. Needs to be set first.

#number COORDINATE.Velocity

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

#number COORDINATE.x

Component of the 3D vector.

#number COORDINATE.y

Component of the 3D vector.

#number COORDINATE.z

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_DYNAMIC_CARGO_LOADED event.

Defined in:

Parameter:

the dynamic cargo object

Creation of a S_EVENT_DYNAMIC_CARGO_REMOVED event.

Defined in:

Parameter:

the dynamic cargo object

Creation of a S_EVENT_DYNAMIC_CARGO_UNLOADED event.

Defined in:

Parameter:

the dynamic cargo object

Creation of a S_EVENT_NEW_DYNAMIC_CARGO event.

Defined in:

Parameter:

the dynamic cargo object

Creation of a S_EVENT_PLAYER_ENTER_AIRCRAFT event.

Defined in:

Parameter:

Wrapper.Unit#UNIT PlayerUnit

The aircraft unit the player entered.

Creation of a Remove Unit Event.

Defined in:

Parameters:

DCS#Time EventTime

The time stamp of the event.

DCS#Object Initiator

The initiating object of the event.

Creation of a Takeoff Event.

Defined in:

Parameters:

DCS#Time EventTime

The time stamp of the event.

DCS#Object Initiator

The initiating object of the event.

Creation of a Crash Event.

Defined in:

Parameters:

DCS#Time EventTime

The time stamp of the event.

DCS#Object Initiator

The initiating object of the event.

Log an exception which will be traced always.

Can be anywhere within the function logic.

Defined in:

Parameter:

Arguments

A #table or any field.

Returns the event dispatcher

Defined in:

Return value:

Remove all subscribed events

Defined in:

Return value:

Trace a function call.

Must be at the beginning of the function logic.

Defined in:

Parameter:

Arguments

A #table or any field.

Trace a function call level 2.

Must be at the beginning of the function logic.

Defined in:

Parameter:

Arguments

A #table or any field.

Trace a function call level 3.

Must be at the beginning of the function logic.

Defined in:

Parameter:

Arguments

A #table or any field.

Get the ClassID of the class instance.

Defined in:

Return value:

#string:

The ClassID of the class instance.

Get the ClassName of the class instance.

Defined in:

Return value:

#string:

The ClassName of the class instance.

Get the ClassName + ClassID of the class instance.

The ClassName + ClassID is formatted as '%s#%09d'.

Defined in:

Return value:

#string:

The ClassName + ClassID of the class instance.

Get the Class Core.Event processing Priority.

The Event processing Priority is a number from 1 to 10, reflecting the order of the classes subscribed to the Event to be processed.

Defined in:

Return value:

#number:

The Core.Event processing Priority.

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()

Defined in:

Parameters:

#BASE Child

This is the Child class from which the Parent class needs to be retrieved.

#BASE FromClass

(Optional) The class from which to get the parent.

Return value:

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:

Event ID.

#function EventFunction

(optional) The function to be called when the event occurs for the unit.

Return value:

Log an information which will be traced always.

Can be anywhere within the function logic.

Defined in:

Parameter:

Arguments

A #table or any field.

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

Defined in:

Parameters:

Child

is the Child class that inherits.

#BASE Parent

is the Parent class that the Child inherits from.

Return value:

Child

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

Examples:

  • ZONE:New( 'some zone' ):IsInstanceOf( ZONE ) will return true

  • ZONE:New( 'some zone' ):IsInstanceOf( 'ZONE' ) will return true

  • ZONE:New( 'some zone' ):IsInstanceOf( 'zone' ) will return true

  • ZONE:New( 'some zone' ):IsInstanceOf( 'BASE' ) will return true

  • ZONE:New( 'some zone' ):IsInstanceOf( 'GROUP' ) will return false

Defined in:

Parameter:

ClassName

is the name of the class or the class itself to run the check against

Return value:

#boolean:

Enquires if tracing is on (for the class).

Defined in:

Return value:

#boolean:

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

Defined in:

Return value:

Occurs when an Event for an object is triggered.

Have a look at the class Core.Event#EVENT as these are just the prototypes. initiator : The unit that triggered the event.

Defined in:

Parameter:

The EventData structure.

BDA.

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

Defined in:

Parameter:

The EventData structure.

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

Have a look at the class Core.Event#EVENT as these are just the prototypes. initiator : The unit that captured the base place: The airbase that was captured, can be a FARP or Airbase. When calling place:getCoalition() the faction will already be the new owning faction.

Defined in:

Parameter:

The EventData structure.

Occurs when any object is spawned into the mission.

Have a look at the class Core.Event#EVENT as these are just the prototypes. initiator : The unit that was spawned

Defined in:

Parameter:

The EventData structure.

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

Have a look at the class Core.Event#EVENT as these are just the prototypes. initiator : The unit that has crashed

Defined in:

Parameter:

The EventData structure.

Occurs when an object is dead.

Have a look at the class Core.Event#EVENT as these are just the prototypes. initiator : The unit that is dead.

Defined in:

Parameter:

The EventData structure.

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

Will update this page when new information become available.

  • initiator: The unit that had the failure.

Defined in:

Parameter:

The EventData structure.

Discard chair after ejection.

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

Defined in:

Parameter:

The EventData structure.

Occurs when a player loads a dynamic cargo object with the F8 ground crew menu into a helo.

* NOTE * this is a workarounf for DCS not creating these events as of Aug 2024.

Defined in:

Parameter:

The EventData structure.

Occurs when a dynamic cargo crate is removed.

* NOTE * this is a workarounf for DCS not creating these events as of Aug 2024.

Defined in:

Parameter:

The EventData structure.

Occurs when a player unloads a dynamic cargo object with the F8 ground crew menu from a helo.

* NOTE * this is a workarounf for DCS not creating these events as of Aug 2024.

Defined in:

Parameter:

The EventData structure.

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

initiator : The unit that has ejected

Defined in:

Parameter:

The EventData structure.

Occurs when any aircraft shuts down its engines.

Have a look at the class Core.Event#EVENT as these are just the prototypes. initiator : The unit that is stopping its engines.

Defined in:

Parameter:

The EventData structure.

Occurs when any aircraft starts its engines.

Have a look at the class Core.Event#EVENT as these are just the prototypes. initiator : The unit that is starting its engines.

Defined in:

Parameter:

The EventData structure.

Occurs whenever an object is hit by a weapon.

Have a look at the class Core.Event#EVENT as these are just the prototypes. initiator : The unit object the fired the weapon weapon: Weapon object that hit the target target: The Object that was hit.

Defined in:

Parameter:

The EventData structure.

Occurs when any system fails on a human controlled aircraft.

Have a look at the class Core.Event#EVENT as these are just the prototypes. initiator : The unit that had the failure

Defined in:

Parameter:

The EventData structure.

Occurs on the death of a unit.

Contains more and different information. Similar to unit_lost it will occur for aircraft before the aircraft crash event occurs. Have a look at the class Core.Event#EVENT as these are just the prototypes.

  • initiator: The unit that killed the target
  • target: Target Object
  • weapon: Weapon Object

Defined in:

Parameter:

The EventData structure.

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

initiator : The unit that has landed place: Object that the unit landed on. Can be an Airbase Object, FARP, or Ships

Defined in:

Parameter:

The EventData structure.

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

Event does not occur if the pilot lands in the water and sub combs to Davey Jones Locker. Have a look at the class Core.Event#EVENT as these are just the prototypes.

  • initiator: Static object representing the ejected pilot. Place : Aircraft that the pilot ejected from.
  • place: may not return as a valid object if the aircraft has crashed into the ground and no longer exists.
  • subplace: is always 0 for unknown reasons.

Defined in:

Parameter:

The EventData structure.

Landing quality mark.

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

Defined in:

Parameter:

The EventData structure.

Occurs when a new mark was added.

Have a look at the class Core.Event#EVENT as these are just the prototypes. MarkID: ID of the mark.

Defined in:

Parameter:

The EventData structure.

Occurs when a mark text was changed.

Have a look at the class Core.Event#EVENT as these are just the prototypes. MarkID: ID of the mark.

Defined in:

Parameter:

The EventData structure.

Occurs when a mark was removed.

Have a look at the class Core.Event#EVENT as these are just the prototypes. MarkID: ID of the mark.

Defined in:

Parameter:

The EventData structure.

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

Defined in:

Parameter:

The EventData structure.

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

Defined in:

Parameter:

The EventData structure.

Occurs when a player creates a dynamic cargo object from the F8 ground crew menu.

* NOTE * this is a workarounf for DCS not creating these events as of Aug 2024.

Defined in:

Parameter:

The EventData structure.

Weapon add.

Fires when entering a mission per pylon with the name of the weapon (double pylons not counted, infinite wep reload not counted. Have a look at the class Core.Event#EVENT as these are just the prototypes.

Defined in:

Parameter:

The EventData structure.

Occurs when the pilot of an aircraft is killed.

Can occur either if the player is alive and crashes or if a weapon kills the pilot without completely destroying the plane. Have a look at the class Core.Event#EVENT as these are just the prototypes. initiator : The unit that the pilot has died in.

Defined in:

Parameter:

The EventData structure.

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

Have a look at the class Core.Event#EVENT as these are just the prototypes. NOTE: This is a workaround of a long standing DCS bug with the PLAYER_ENTER_UNIT event. initiator : The unit that is being taken control of.

Defined in:

Parameter:

The EventData structure.

Occurs when any player assumes direct control of a unit.

Note - not Mulitplayer safe. Use PlayerEnterAircraft. Have a look at the class Core.Event#EVENT as these are just the prototypes. initiator : The unit that is being taken control of.

Defined in:

Parameter:

The EventData structure.

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

Have a look at the class Core.Event#EVENT as these are just the prototypes. initiator : The unit that the player left.

Defined in:

Parameter:

The EventData structure.

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

Have a look at the class Core.Event#EVENT as these are just the prototypes. initiator : The unit that is receiving fuel.

Defined in:

Parameter:

The EventData structure.

Occurs when an aircraft is finished taking fuel.

Have a look at the class Core.Event#EVENT as these are just the prototypes. initiator : The unit that was receiving fuel.

Defined in:

Parameter:

The EventData structure.

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

There is no information on what values the score was changed to. Event is likely similar to player_comment in this regard. Have a look at the class Core.Event#EVENT as these are just the prototypes.

Defined in:

Parameter:

The EventData structure.

Occurs when any unit stops firing its weapon.

Event will always correspond with a shooting start event. Have a look at the class Core.Event#EVENT as these are just the prototypes. initiator : The unit that was doing the shooting.

Defined in:

Parameter:

The EventData structure.

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

Most common with aircraft cannons (GAU-8), autocannons, and machine guns. Have a look at the class Core.Event#EVENT as these are just the prototypes. initiator : The unit that is doing the shooting. target: The unit that is being targeted.

Defined in:

Parameter:

The EventData structure.

Occurs whenever any unit in a mission fires a weapon.

But not any machine gun or autocannon based weapon, those are handled by EVENT.ShootingStart. Have a look at the class Core.Event#EVENT as these are just the prototypes.

Defined in:

Parameter:

The EventData structure.

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

Have a look at the class Core.Event#EVENT as these are just the prototypes. initiator : The unit that tookoff place: Object from where the AI took-off from. Can be an Airbase Object, FARP, or Ships

Defined in:

Parameter:

The EventData structure.

Trigger zone.

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

Defined in:

Parameter:

The EventData structure.

Occurs when the game thinks an object is destroyed.

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

  • initiator: The unit that is was destroyed.

Defined in:

Parameter:

The EventData structure.

Schedule a new time event.

Note that the schedule will only take place if the scheduler is started. Even for a single schedule event, the scheduler needs to be started also.

Defined in:

Parameters:

#number Start

Specifies the amount of seconds that will be waited before the scheduling is started, and the event function is called.

#function SchedulerFunction

The event function to be called when a timer event occurs. The event function needs to accept the parameters specified in SchedulerArguments.

#table ...

Optional arguments that can be given as part of scheduler. The arguments need to be given as a table { param1, param 2, ... }.

Return value:

#string:

The Schedule ID of the planned schedule.

Schedule a new time event.

Note that the schedule will only take place if the scheduler is started. Even for a single schedule event, the scheduler needs to be started also.

Defined in:

Parameters:

#number Start

Specifies the amount of seconds that will be waited before the scheduling is started, and the event function is called.

#number Repeat

Specifies the interval in seconds when the scheduler will call the event function.

#number RandomizeFactor

Specifies a randomization factor between 0 and 1 to randomize the Repeat.

#number Stop

Specifies the amount of seconds when the scheduler will be stopped.

#function SchedulerFunction

The event function to be called when a timer event occurs. The event function needs to accept the parameters specified in SchedulerArguments.

#table ...

Optional arguments that can be given as part of scheduler. The arguments need to be given as a table { param1, param 2, ... }.

Return value:

#string:

The Schedule ID of the planned schedule.

Stops the Schedule.

Defined in:

Parameter:

#string SchedulerID

(Optional) Scheduler ID to be stopped. If nil, all pending schedules are stopped.

Set the Class Core.Event processing Priority.

The Event processing Priority is a number from 1 to 10, reflecting the order of the classes subscribed to the Event to be processed.

Defined in:

Parameter:

#number EventPriority

The Core.Event processing Priority.

Return value:

self

Set a state or property of the Object given a Key and a Value.

Note that if the Object is destroyed, set to nil, or garbage collected, then the Values and Keys will also be gone.

Defined in:

Parameters:

Object

The object that will hold the Value set by the Key.

Key

The key that is used as a reference of the value. Note that the key can be a #string, but it can also be any other type!

Value

The value to is stored in the object.

Return value:

The Value set.

Trace a function logic level 1.

Can be anywhere within the function logic.

Defined in:

Parameter:

Arguments

A #table or any field.

Trace a function logic level 2.

Can be anywhere within the function logic.

Defined in:

Parameter:

Arguments

A #table or any field.

Trace a function logic level 3.

Can be anywhere within the function logic.

Defined in:

Parameter:

Arguments

A #table or any field.

Trace all methods in MOOSE

Defined in:

Parameter:

#boolean TraceAll

true = trace all methods in MOOSE.

Set tracing for a class

Defined in:

Parameter:

#string Class

Class name.

Set tracing for a specific method of class

Defined in:

Parameters:

#string Class

Class name.

#string Method

Method.

Set trace level

Defined in:

Parameter:

#number Level

Set trace off.

Defined in:

Usage:

-- Switch the tracing Off
BASE:TraceOff()

Set trace on.

Defined in:

Usage:

-- Switch the tracing On
BASE:TraceOn()

Set trace on or off Note that when trace is off, no BASE.Debug statement is performed, increasing performance! When Moose is loaded statically, (as one file), tracing is switched off by default.

So tracing must be switched on manually in your mission if you are using Moose statically. When moose is loading dynamically (for moose class development), tracing is switched on by default.

Defined in:

Parameter:

#boolean TraceOnOff

Switch the tracing on or off.

Usage:


  -- Switch the tracing On
  BASE:TraceOnOff( true )

  -- Switch the tracing Off
  BASE:TraceOnOff( false )

UnSubscribe to a DCS event.

Defined in:

Parameter:

Event ID.

Return value:

Trace a function call.

This function is private.

Defined in:

Parameters:

Arguments

A #table or any field.

DebugInfoCurrentParam

DebugInfoFromParam

(Internal) Serialize arguments

Defined in:

Parameter:

#table Arguments

Return value:

#string:

Text

Trace a function logic.

Defined in:

Parameters:

Arguments

A #table or any field.

DebugInfoCurrentParam

DebugInfoFromParam

The main event handling function...

This function captures all events generated for the class.

Defined in:

Parameter:

DCS#Event event

Waypoint actions.

Field(s)

#string COORDINATE.WaypointAction.FlyoverPoint

Fly over point.

#string COORDINATE.WaypointAction.FromGroundArea

From ground area.

#string COORDINATE.WaypointAction.FromGroundAreaHot

From ground area hot.

#string COORDINATE.WaypointAction.FromParkingArea

From parking area.

#string COORDINATE.WaypointAction.FromParkingAreaHot

From parking area hot.

#string COORDINATE.WaypointAction.LandingReFuAr

Landing and refuel and rearm.

Function(s)

Waypoint altitude types.

Field(s)

#string COORDINATE.WaypointAltType.BARO

Barometric altitude.

#string COORDINATE.WaypointAltType.RADIO

Radio altitude.

Function(s)

Waypoint types.

Field(s)

#string COORDINATE.WaypointType.Land

Landing point.

#string COORDINATE.WaypointType.LandingReFuAr

Landing and refuel and rearm.

#string COORDINATE.WaypointType.TakeOff

Take off parking hot.

#string COORDINATE.WaypointType.TakeOffGroundHot

Take of from ground hot.

#string COORDINATE.WaypointType.TakeOffParking

Take of parking.

#string COORDINATE.WaypointType.TakeOffParkingHot

Take of parking hot.

#string COORDINATE.WaypointType.TurningPoint

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.

Defined in:

POINT_VEC2

Parameter:

#number x

The x coordinate.

Return value:

Add to the y coordinate of the POINT_VEC2.

Defined in:

POINT_VEC2

Parameter:

#number y

The y coordinate.

Return value:

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.

Defined in:

POINT_VEC2

Parameters:

DCS#Distance OuterRadius

DCS#Distance InnerRadius

Return value:

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.

Defined in:

POINT_VEC2

Parameters:

DCS#Vec2 Vec2

The Vec2 point.

LandHeightAdd

Return value:

Create a new POINT_VEC2 object from Vec3 coordinates.

Defined in:

POINT_VEC2

Parameter:

DCS#Vec3 Vec3

The Vec3 point.

Return value:

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).

Defined in:

POINT_VEC2

Parameter:

#number x

The x coordinate.

Return value:

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

Defined in:

POINT_VEC2

Parameters:

#number y

The y coordinate.

z

Return value:

Set the x coordinate of the POINT_VEC2.

Defined in:

POINT_VEC2

Parameter:

#number x

The x coordinate.

Return value:

Set the y coordinate of the POINT_VEC2.

Defined in:

POINT_VEC2

Parameter:

#number y

The y coordinate.

Return value:

The POINT_VEC3 class

Field(s)

#number POINT_VEC3.x

The x coordinate in 3D space.

#number POINT_VEC3.y

The y coordinate in 3D space.

#number POINT_VEC3.z

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.

Defined in:

POINT_VEC3

Parameters:

DCS#Distance OuterRadius

DCS#Distance InnerRadius

Return value:

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:

Create a new POINT_VEC3 object from Vec3 coordinates.

Defined in:

POINT_VEC3

Parameter:

DCS#Vec3 Vec3

The Vec3 point.

Return value:

Set the x coordinate of the POINT_VEC3.

Defined in:

POINT_VEC3

Parameter:

#number x

The x coordinate.

Return value:

Set the y coordinate of the POINT_VEC3.

Defined in:

POINT_VEC3

Parameter:

#number y

The y coordinate.

Return value:

Set the z coordinate of the POINT_VEC3.

Defined in:

POINT_VEC3

Parameter:

#number z

The z coordinate.

Return value:

RoutePoint Actions

Field(s)

Function(s)

RoutePoint AltTypes

Field(s)

Function(s)

RoutePoint Types

Field(s)

Function(s)