Merge remote-tracking branch 'origin/rolln/export'

This commit is contained in:
Rolln 2025-01-05 15:30:11 -07:00
commit 90bff1f4de
6 changed files with 1161 additions and 16 deletions

View File

@ -1,11 +1,161 @@
---@meta ---@meta
--- ## PREREQUISITE
--- - Always available in Export environment.
--- ___
---Returns the value of server.advanced.allow_object_export.
---___
---@return boolean isAllowed Is object export allowed.
function LoIsObjectExportAllowed() end
--- ## PREREQUISITE
--- - Always available in Export environment.
--- ___
---Returns the value of server.advanced.allow_sensor_export.
---___
---@return boolean isAllowed Is sensor export allowed.
function LoIsSensorExportAllowed() end
--- ## PREREQUISITE
--- - Always available in Export environment.
--- ___
---Returns the value of server.advanced.allow_ownship_export
---___
---@return boolean isAllowed Is ownership export allowed.
function LoIsOwnshipExportAllowed() end
--- ## PREREQUISITE
--- - Always available in Export environment.
--- ___
---Returns pilot name.
---___
---@return string pilotName Pilot name.
function LoGetPilotName() end function LoGetPilotName() end
function LoGetAltitude() end
function LoGetNameByType() end
function LoGeoCoordinatesToLoCoordinates() end --- ## PREREQUISITE
function LoCoordinatesToGeoCoordinates() end --- - Always available in Export environment.
--- ___
---Returns altitude above terrain surface in meters.
---___
---@param x number x coord in meters.
---@param z number z coord in meters.
---@return number altitude Altitude above terrain in meters.
function LoGetAltitude(x, z) end
--- ## PREREQUISITE
--- - Always available in Export environment.
--- ___
---Returns weapon name by given type.
---___
---@param level1 integer Level 1 type.
---@param level2 integer Level 2 type.
---@param level3 integer Level 3 type.
---@param level4 integer Level 4 type.
---@return string name Name of weapon.
function LoGetNameByType(level1, level2, level3, level4) end
---Lo coordinates.
---@class (exact) LoCoordinates
---@field x number x coordinate.
---@field y number y coordinate.
---@field z number z coordinate.
LoCoordinates = {}
--- ## PREREQUISITE
--- - Always available in Export environment.
--- ___
---Converts GEO coordinates to Lo coordinates.
---___
---@param longitude number GEO longitude.
---@param latitude number GEO latitude.
---@return LoCoordinates loCoordinates [LoCoordinates](lua://LoCoordinates)
function LoGeoCoordinatesToLoCoordinates(longitude, latitude) end
---Geo coordinates.
---@class (exact) GeoCoordinates
---@field longitude number Longitude.
---@field latitude number Latitude.
GeoCoordinates = {}
--- ## PREREQUISITE
--- - Always available in Export environment.
--- ___
---Converts Lo coordinates into GEO coordinates.
---___
---@param x number DCS x coordinate in meters.
---@param z number DCS z coordinate in meters.
---@return GeoCoordinates geoCoordinates [GeoCoordinates](lua://GeoCoordinates) Converted GEO coordinates.
function LoLoCoordinatesToGeoCoordinates(x, z) end
---DCS version information.
---@class (exact) VersionInfo
---@field ProductName string Name of product. i.e. DCS
VersionInfo = {
--- Product version details.
--- - `[1]`: Major
--- - `[2]`: Minor
--- - `[3]`: Revision
--- - `[4]`: Build
---@class (exact) ProductVersion
---@field [1] integer Major version.
---@field [2] integer Minor version.
---@field [3] integer Revision number.
---@field [4] integer Build number.
ProductVersion = {}, ---@diagnostic disable-line: inject-field
--- File version details.
--- - `[1]`: Major
--- - `[2]`: Minor
--- - `[3]`: Revision
--- - `[4]`: Build
---@class (exact) FileVersion
---@field [1] integer Major version.
---@field [2] integer Minor version.
---@field [3] integer Revision number.
---@field [4] integer Build number.
FileVersion = {} ---@diagnostic disable-line: inject-field
}
--- ## PREREQUISITE
--- - Always available in Export environment.
--- ___
---Returns DCS version information.
---___
---@return VersionInfo versionInfo [VersionInfo](lua://VersionInfo) DCS version information.
function LoGetVersionInfo() end function LoGetVersionInfo() end
--- ## PREREQUISITE
--- - Always available in Export environment.
--- ___
---TODO: What are the parameters?
---___
---@return number windVelocity Wind at given point in m/s.
function LoGetWindAtPoint() end function LoGetWindAtPoint() end
--- ## PREREQUISITE
--- - Always available in Export environment.
--- ___
---Returns current model time in seconds.
---___
---@return integer modelTime Model time in seconds.
function LoGetModelTime() end function LoGetModelTime() end
--- ## PREREQUISITE
--- - Always available in Export environment.
--- ___
---Returns mission start time in seconds.
---___
---@return integer missionStartTime Mission stert time in seconds.
function LoGetMissionStartTime() end function LoGetMissionStartTime() end

View File

@ -1,4 +1,67 @@
---@meta ---@meta
function LoGetObjectById() end ---Table of object data.
function LoGetWorldObjects() end ---@class (exact) ObjectInfo
---@field Name string Name of object.
---@field Country country.id [country.id](lua://country.id) See Scripts/database/db_countries.lua.
---@field Coalition string Coalition name.
---@field CoalitionID coalition.side [coalition.side](lua://coalition.side)
---@field Heading number Heading in radians.
---@field Pitch number Pitch in radians.
---@field Bank number Bank angle in radians.
---@field Position vec3 Position of object in internal DCS coordinates.
---@field PositionAsMatrix pos3 Matrix postion of object in DCS coordinates.
---@field UnitName string Unit name from mission (UTF8). Only for units (Planes, Helicopters, Tanks, etc).
---@field GroupName string Unit name from mission (UTF8) Only for units (Planes, Helicopters, Tanks, etc).
---@field Type wsType Object type.
ObjectInfo = {
---Position of object in GEO coordinates.
---@class (exact) LatLongAlt
---@field Lat number Latitude.
---@field Long number Longitude.
---@field Alt number Altitude.
LatLongAlt = {}, ---@diagnostic disable-line: inject-field
---Object flags.
---
---Only for units (Planes, Helicopters, Tanks, etc).
---@class (exact) Flags
---@field RadarActive boolean True if the unit has it's radar turned on.
---@field Human boolean True if the unti is human controlled.
---@field Jamming boolean True if the unit uses EMI jamming.
---@field IRJamming boolean True if the unit uses IR jamming.
---@field Born boolean True if the unit is activated.
---@field AI_ON boolean True if the unit's AI is active.
---@field Invisible boolean True if the unit is invisible.
---@field Static boolean True if the unit is a static object.
Flags = {}, ---@diagnostic disable-line: inject-field
}
--- ## PREREQUISITE
--- - Only available on clients (multiplayer) when [Export.LoIsObjectExportAllowed](lua://Export.LoIsObjectExportAllowed) is true.<br>
--- - Server must have 'Allow object export' enabled.
--- ___
---Returns an [ObjectInfo](lua://ObjectInfo) table of information of given object Id.
---___
---@param id integer Id of object to get information for.
---@return ObjectInfo objectInfo [ObjectInfo](lua://ObjectInfo)
function LoGetObjectById(id) end
---@alias WorldObjectTypes
---| `"units"`
---| `"ballistic"`
---| `"airdromes"`
--- ## PREREQUISITE
--- - Only available on clients (multiplayer) when [Export.LoIsObjectExportAllowed](lua://Export.LoIsObjectExportAllowed) is true.<br>
--- - Server must have 'Allow object export' enabled.
--- ___
---Returns an array of [ObjectInfo](lua://ObjectInfo) tables based on the given object type. <br>
---Object type and be one of the following: "units", ballistic" or "airdromes".
---
---Returned table index is the Id of the object.
---___
---@param objectType WorldObjectTypes [WorldObjectTypes](lua://WorldObjectTypes) Type of world objects to get.
---@return ObjectInfo[] objects Array of [ObjectInfo](lua://ObjectInfo).
function LoGetWorldObjects(objectType) end

View File

@ -1,38 +1,713 @@
---@meta ---@meta
--- ## PREREQUISITE
--- - Only available on clients (multiplayer) when [Export.LoIsOwnshipExportAllowed](lua://Export.LoIsOwnshipExportAllowed) is true.<br>
--- - Server must have 'Allow player export' enabled.
--- ___
---Returns the players plane Id.
---___
---@return integer playerPlayId Player's plane Id.
function LoGetPlayerPlaneId() end function LoGetPlayerPlaneId() end
--- ## PREREQUISITE
--- - Only available on clients (multiplayer) when [Export.LoIsOwnshipExportAllowed](lua://Export.LoIsOwnshipExportAllowed) is true.<br>
--- - Server must have 'Allow player export' enabled.
--- ___
---Returns the player's indicated airspeed in m/s.
---___
---@return number playerAirSpeed Player's indicated airspeed in m/s.
function LoGetIndicatedAirSpeed() end function LoGetIndicatedAirSpeed() end
--- ## PREREQUISITE
--- - Only available on clients (multiplayer) when [Export.LoIsOwnshipExportAllowed](lua://Export.LoIsOwnshipExportAllowed) is true.<br>
--- - Server must have 'Allow player export' enabled.
--- ___
---Returns the player's angle of attack in radians.
---___
---@return number playerAOA Player's angle of atack in radians.
function LoGetAngleOfAttack() end function LoGetAngleOfAttack() end
--- ## PREREQUISITE
--- - Only available on clients (multiplayer) when [Export.LoIsOwnshipExportAllowed](lua://Export.LoIsOwnshipExportAllowed) is true.<br>
--- - Server must have 'Allow player export' enabled.
--- ___
---Returns the player's angle of side slip in radians.
---___
---@return number playerAOSS Player's angle of side slip.
function LoGetAngleOfSideSlip() end function LoGetAngleOfSideSlip() end
---@class (exact) AccelerationUnits
---@field x number X acceleration in G.
---@field y number Y acceleration in G.
---@field z number z acceleration in G.
AccelerationUnits = {}
--- ## PREREQUISITE
--- - Only available on clients (multiplayer) when [Export.LoIsOwnshipExportAllowed](lua://Export.LoIsOwnshipExportAllowed) is true.<br>
--- - Server must have 'Allow player export' enabled.
--- ___
---Returns the player's table of [AccelerationUnits](lua://AccelerationUnits).
---___
---@return AccelerationUnits accelerationUnits Table of [AccelerationUnits](lua://AccelerationUnits).
function LoGetAccelerationUnits() end function LoGetAccelerationUnits() end
--- ## PREREQUISITE
--- - Only available on clients (multiplayer) when [Export.LoIsOwnshipExportAllowed](lua://Export.LoIsOwnshipExportAllowed) is true.<br>
--- - Server must have 'Allow player export' enabled.
--- ___
---Returns the player's verticle velocity in m/s.
---___
---@return number playerVerticleVelocity Player's verticle velocity in m/s.
function LoGetVerticalVelocity() end function LoGetVerticalVelocity() end
--- ## PREREQUISITE
--- - Only available on clients (multiplayer) when [Export.LoIsOwnshipExportAllowed](lua://Export.LoIsOwnshipExportAllowed) is true.<br>
--- - Server must have 'Allow player export' enabled.
--- ___
---Returns the player ADI in radians.
---___
---@return number playerADI Player's ADI in radians.
function LoGetADIPitchBankYaw() end function LoGetADIPitchBankYaw() end
--- ## PREREQUISITE
--- - Only available on clients (multiplayer) when [Export.LoIsOwnshipExportAllowed](lua://Export.LoIsOwnshipExportAllowed) is true.<br>
--- - Server must have 'Allow player export' enabled.
--- ___
---Returns the players true airspeed in m/s.
---___
---@return number playerTrueAirspeed Player's true airspeed in m/s.
function LoGetTrueAirSpeed() end function LoGetTrueAirSpeed() end
--- ## PREREQUISITE
--- - Only available on clients (multiplayer) when [Export.LoIsOwnshipExportAllowed](lua://Export.LoIsOwnshipExportAllowed) is true.<br>
--- - Server must have 'Allow player export' enabled.
--- ___
---Returns the players altitude above sea level in meters.
---___
---@return number playerASL Player's altitude above seal level in meters.
function LoGetAltitudeAboveSeaLevel() end function LoGetAltitudeAboveSeaLevel() end
--- ## PREREQUISITE
--- - Only available on clients (multiplayer) when [Export.LoIsOwnshipExportAllowed](lua://Export.LoIsOwnshipExportAllowed) is true.<br>
--- - Server must have 'Allow player export' enabled.
--- ___
---Returns the players altitude above ground level in meters.
---___
---@return number playerAGL Player's altitude above ground level in meters.
function LoGetAltitudeAboveGroundLevel() end function LoGetAltitudeAboveGroundLevel() end
--- ## PREREQUISITE
--- - Only available on clients (multiplayer) when [Export.LoIsOwnshipExportAllowed](lua://Export.LoIsOwnshipExportAllowed) is true.<br>
--- - Server must have 'Allow player export' enabled.
--- ___
---Returns the player's mach number.
---___
---@return number playerMachNumber Player's mach number.
function LoGetMachNumber() end function LoGetMachNumber() end
--- ## PREREQUISITE
--- - Only available on clients (multiplayer) when [Export.LoIsOwnshipExportAllowed](lua://Export.LoIsOwnshipExportAllowed) is true.<br>
--- - Server must have 'Allow player export' enabled.
--- ___
---Returns the player's radar altimeter in meters.
---___
---@return number radarAltimeter Player's radar altimeter in meters.
function LoGetRadarAltimeter() end function LoGetRadarAltimeter() end
--- ## PREREQUISITE
--- - Only available on clients (multiplayer) when [Export.LoIsOwnshipExportAllowed](lua://Export.LoIsOwnshipExportAllowed) is true.<br>
--- - Server must have 'Allow player export' enabled.
--- ___
---Returns the player's magnetic yaw in radians.
---___
---@return number playerMagneticYaw Player's magnetic yaw in radians.
function LoGetMagneticYaw() end function LoGetMagneticYaw() end
--- ## PREREQUISITE
--- - Only available on clients (multiplayer) when [Export.LoIsOwnshipExportAllowed](lua://Export.LoIsOwnshipExportAllowed) is true.<br>
--- - Server must have 'Allow player export' enabled.
--- ___
---Returns the player's glide deviation.
---___
---@deprecated Returns nil.
---@return number playerGlideDeviation Player's glide deviation.
function LoGetGlideDeviation() end function LoGetGlideDeviation() end
--- ## PREREQUISITE
--- - Only available on clients (multiplayer) when [Export.LoIsOwnshipExportAllowed](lua://Export.LoIsOwnshipExportAllowed) is true.<br>
--- - Server must have 'Allow player export' enabled.
--- ___
---Returns the player's side deviation.
---___
---@deprecated Returns nil.
---@return number playerSideDeviation Player's side deviation.
function LoGetSideDeviation() end function LoGetSideDeviation() end
--- ## PREREQUISITE
--- - Only available on clients (multiplayer) when [Export.LoIsOwnshipExportAllowed](lua://Export.LoIsOwnshipExportAllowed) is true.<br>
--- - Server must have 'Allow player export' enabled.
--- ___
---Retuens the player's slip ball position.
---___
---@deprecated Returns nil.
---@return number playerSlipBallPosition Player's slip ball position.
function LoGetSlipBallPosition() end function LoGetSlipBallPosition() end
--- ## PREREQUISITE
--- - Only available on clients (multiplayer) when [Export.LoIsOwnshipExportAllowed](lua://Export.LoIsOwnshipExportAllowed) is true.<br>
--- - Server must have 'Allow player export' enabled.
--- ___
---Returns the basic atmosphere pressure in mm hg.
---___
---@deprecated Returns nil.
---@return number basicAtmospherePressure Basic atmosphere pressure in mm hg.
function LoGetBasicAtmospherePressure() end function LoGetBasicAtmospherePressure() end
---@class (exact) ControlPanelHSI
---@field ADF_raw number ADF in radians.
---@field RMI_raw number RMI in radians.
---@field Heading_raw number Heading in radians.
---@field HeadingPointer number Heading pointer in radians.
---@field Course number Course in radians.
---@field BearingPointer number Bearing pointer in radians.
---@field CourseDeviation number Course deviation in radians.
ControlPanelHSI = {}
--- ## PREREQUISITE
--- - Only available on clients (multiplayer) when [Export.LoIsOwnshipExportAllowed](lua://Export.LoIsOwnshipExportAllowed) is true.<br>
--- - Server must have 'Allow player export' enabled.
--- ___
---Returns a table of the player's HSI data.
---___
---@deprecated Returns nil.
---@return ControlPanelHSI controlPanelHSI Player's [ControlPanelHSI](lua://ControlPanelHSI) data.
function LoGetControlPanel_HSI() end function LoGetControlPanel_HSI() end
--Engine related information.
---@class (exact) EngineInfo
---@field fuel_internal number Internal fuel quantity in kg.
---@field fuel_external number External fuel quantity in kg.
EngineInfo = {
---Left and right engine RPM percentage.
---@class (exact) EngineRPM
---@field Left number Percentage of left engine RPM.
---@field Right number Percentage of right enging RPM.
EngineRPM = {}, ---@diagnostic disable-line: inject-field
---Left and right engine temp in degrees celcius.
---@class (exact) EngineTemperature
---@field Left number Temp of left engine in degrees celcius.
---@field Right number Temp of right engine in degrees celcius.
EngineTemperature = {}, ---@diagnostic disable-line: inject-field
---Left and right engine hydraulic pressure in kg per square centimeter.
---@class (exact) EngineHydraulicPressure
---@field Left number Hydraulic pressure of left engin in kg per square centimeter.
---@field Right number Hydraulic pressure of right engine in kg per square centimeter.
EngineHydraulicPressure = {}, ---@diagnostic disable-line: inject-field
---Left and Right engine fuel consumption in kg/sec.
---@class (exact) EngineFuelConsumption
---@field Left number Fuel consumption of left engine in kg/sec.
---@field Right number Fuel consumption of right engine in kg/sec.
EngineFuelConsumption = {} ---@diagnostic disable-line: inject-field
}
--- ## PREREQUISITE
--- - Only available on clients (multiplayer) when [Export.LoIsOwnshipExportAllowed](lua://Export.LoIsOwnshipExportAllowed) is true.<br>
--- - Server must have 'Allow player export' enabled.
--- ___
---Returns the player's engine information.
---___
---@return EngineInfo engineInfo Player's [EngineInfo](lua://EngineInfo) table.
function LoGetEngineInfo() end function LoGetEngineInfo() end
--- ## PREREQUISITE
--- - Only available on clients (multiplayer) when [Export.LoIsOwnshipExportAllowed](lua://Export.LoIsOwnshipExportAllowed) is true.<br>
--- - Server must have 'Allow player export' enabled.
--- ___
---Returns an [ObjectInfo](lua://ObjectInfo) table for your own aircraft.
---
---Not depended on anti-cheat setting in Export/Config.lua
---___
---@return ObjectInfo objectInfo [ObjectInfo](lua://ObjectInfo) for your aircraft.
function LoGetSelfData() end function LoGetSelfData() end
--- ## PREREQUISITE
--- - Only available on clients (multiplayer) when [Export.LoIsOwnshipExportAllowed](lua://Export.LoIsOwnshipExportAllowed) is true.<br>
--- - Server must have 'Allow player export' enabled.
--- ___
---Returns the current camera position
---___
---@return pos3 cameraPosition Current camera position in .
function LoGetCameraPosition() end function LoGetCameraPosition() end
function LoSetCameraPosition() end
function LoSetCommand() end
--- ## PREREQUISITE
--- - Only available on clients (multiplayer) when [Export.LoIsOwnshipExportAllowed](lua://Export.LoIsOwnshipExportAllowed) is true.<br>
--- - Server must have 'Allow player export' enabled.
--- ___
---Sets the current camera position
---___
---@param position pos3 [pos3](lua://pos3) Position to set view camera.
function LoSetCameraPosition(position) end
--- ## PREREQUISITE
--- - Only available on clients (multiplayer) when [Export.LoIsOwnshipExportAllowed](lua://Export.LoIsOwnshipExportAllowed) is true.<br>
--- - Server must have 'Allow player export' enabled.
--- ___
---Sets a command value.
---___
---@param command number Number of the command to set.
---@param value number Command value from -1.0 to 1.0.
function LoSetCommand(command, value) end
---Aircrafts MCP state.
---@class (exact) MCPState
---@field LeftEngineFailure boolean
---@field RightEngineFailure boolean
---@field HydraulicsFailure boolean
---@field ACSFailure boolean
---@field AutopilotFailure boolean
---@field AutopilotOn boolean
---@field MasterWarning boolean
---@field LeftTailPlaneFailure boolean
---@field RightTailPlaneFailur boolean
---@field LeftAileronFailure boolean
---@field RightAileronFailure boolean
---@field CanopyOpen boolean
---@field CannonFailure boolean
---@field StallSignalization boolean
---@field LeftMainPumpFailure boolean
---@field RightMainPumpFailure boolean
---@field LeftWingPumpFailure boolean
---@field RightWingPumpFailure boolean
---@field RadarFailure boolean
---@field EOSFailure boolean
---@field MLWSFailure boolean
---@field RWSFailure boolean
---@field ECMFailure boolean
---@field GearFailure boolean
---@field MFDFailure boolean
---@field HUDFailure boolean
---@field HelmetFailure boolean
---@field FuelTankDamage boolean
MCPState = {}
--- ## PREREQUISITE
--- - Only available on clients (multiplayer) when [Export.LoIsOwnshipExportAllowed](lua://Export.LoIsOwnshipExportAllowed) is true.<br>
--- - Server must have 'Allow player export' enabled.
--- ___
---Returns a player's [MCPState](lua://MCPState) information.
---___
---@return MCPState playerMCPState Player's [MCPState](lua://MCPState) information.
function LoGetMCPState() end function LoGetMCPState() end
---@class (exact) WaypointTable
---@field this_point_num integer This waypoint's number.
---@field world_point vec3 Position of waypoint in meters.
---@field speed_req number Spoeed required at this waypoint in m/s.
---@field estimated_time number # ??? in seconds.
---@field next_point_num number Next waypoint number. If -1 then this is the end of the route.
---@field point_action string Name of action. (ATTACKPOINT, TURNPOINT, LANDING, TAKEOFF)
WaypointTable = {}
---@class (exact) RouteResult
---@field goto_point integer Next waypoint.
---@field route WaypointTable[] Array of waypoints.
RouteResult = {}
--- ## PREREQUISITE
--- - Only available on clients (multiplayer) when [Export.LoIsOwnshipExportAllowed](lua://Export.LoIsOwnshipExportAllowed) is true.<br>
--- - Server must have 'Allow player export' enabled.
--- ___
---Returns the player's [RouteResult](lua://RouteResult) waypoints.
---___
---@return RouteResult routeResult Player's [RouteResult](lua://RouteResult) information.
function LoGetRoute() end function LoGetRoute() end
---@alias NavSystemMasterMode string
---| `"NAV"` Navigation.
---| `"BVR"` Beyond visual range AA mode.
---| `"CAC"` Close air combat.
---| `"LNG"` Longitudinal mode.
---| `"A2G"` Air to ground mode.
---| `"OFF"` Mode is absent.
---@alias NavSystemSubMode string
---| `"ROUTE"` NAV Submode -
---| `"ARRIVAL"` NAV Submode -
---| `"LANDING"` NAV Submode -
---| `"OFF"` NAV Submode -
---| `"GUN"` BRV Submode - Gunmode
---| `"RWS"` BRV Submode - RangeWhileSearch
---| `"TWS"` BRV Submode - TrackWhileSearch
---| `"STT"` BRV Submode - SingleTrackTarget (Attack submode)
---| `"OFF"` BRV Submode -
---| `"GUN"` CAC Submode -
---| `"VERTICAL_SCAN"` CAC Submode -
---| `"BORE"` CAC Submode -
---| `"HELMET" ` CAC Submode -
---| `"STT"` CAC Submode -
---| `"OFF"` CAC Submode -
---| `"GUN"` LNG Submode -
---| `"OFF"` LNG Submode -
---| `"FLOOD"` LNG Submode - F-15 only
---| `"GUN"` A2G Submode -
---| `"ETS" ` A2G Submode - Emitter Targeting System On
---| `"PINPOINT"` A2G Submode -
---| `"UNGUIDED"` A2G Submode - unguided weapon (free fall bombs, dispensers , rockets)
---| `"OFF"` A2G Submode -
---@alias NavACSMode string
---| `"FOLLOW_ROUTE"`
---| `"BARO_HOLD"`
---| `"RADIO_HOLD"`
---| `"BARO_ROLL_HOLD"`
---| `"HORIZON_HOLD"`
---| `"PITCH_BANK_HOLD"`
---| `"OFF"`
---@class (exact) SystemMode
---@field master NavSystemMasterMode [NavSystemMasterMode](lua://NavSystemMasterMode).
---@field submode NavSystemSubMode [NavSystemSubMode](lua://NavSystemSubMode).
SystemMode = {
--- Required parameters of flight.
---@class (exact) NavSystemPREREQUISITE
---@field roll number Required roll.
---@field pitch number Required pitch.
---@field speed number Require speed.
---@field vertical_speed number Required vertical speed.
---@field altitude number Required altitude.
NavSystemPREREQUISITE = {}, ---@diagnostic disable-line: inject-field
---Current state of the Automatic Control System.
---@class (exact) NavACS
---@field mode NavACSMode [NavACSMode](lua://NavACSMode).
---@field autothrust boolean If autothrust is on or not.
NavACS = {}, ---@diagnostic disable-line: inject-field
}
--- ## PREREQUISITE
--- - Only available on clients (multiplayer) when [Export.LoIsOwnshipExportAllowed](lua://Export.LoIsOwnshipExportAllowed) is true.<br>
--- - Server must have 'Allow player export' enabled.
--- ___
---Returns the player's ACS [SystemMode](lua://SystemMode) information.
---___
---@deprecated Returns nil.
---@return SystemMode systemMode Player's ACS [SystemMode](lua://SystemMode) information.
function LoGetNavigationInfo() end function LoGetNavigationInfo() end
---Station information.
---___
---Stations may contain a container (i.e. a rack) or a weapon.
---___
---@class (exact) StationInfo
---@field CLSID string CLSID of container or item.
---@field container boolean Is item a container or not.
---@field count integer Number of weapons.
---@field weapon wsType [wsType](lua://wsType) of weapon.
---@field adapter wsType [wsType](lua://wsType) of adapter (only if station is a container).
---@field wstype wsType [wsType](lua://wsType) of container (only if station is a container).
StationInfo = {}
---Player's payload information
---@class (exact) PayloadInfo
---@field CurrentStation integer Current station.
---@field Stations StationInfo[] Array of [StationInfo](lua://StationInfo).<br>The index of the station is the station number on the aircraft.
PayloadInfo = {
---Cannon information.
---@class (exact) Cannon
---@field shells integer Number of shells.
Cannon = {} ---@diagnostic disable-line: inject-field
}
--- ## PREREQUISITE
--- - Only available on clients (multiplayer) when [Export.LoIsOwnshipExportAllowed](lua://Export.LoIsOwnshipExportAllowed) is true.<br>
--- - Server must have 'Allow player export' enabled.
--- ___
---Returns the player's [PayloadInfo](lua://PayloadInfo).
---___
---@return PayloadInfo payLoadInfo Player's [PayloadInfo](lua://PayloadInfo).
function LoGetPayloadInfo() end function LoGetPayloadInfo() end
---Player's wingman information.
---@class (exact) WingmenInfo
---@field ordered_task string Name of ordered task.
---@field current_task string Name of current task.
---@field ordered_target integer World Id of ordered target.
---@field current_target integer World Id of current target.
---@field wingmen_id number World Id of wingman.
---@field wingmen_position pos3 Position of wingmen.
WingInfo = {}
--- ## PREREQUISITE
--- - Only available on clients (multiplayer) when [Export.LoIsOwnshipExportAllowed](lua://Export.LoIsOwnshipExportAllowed) is true.<br>
--- - Server must have 'Allow player export' enabled.
--- ___
---Returns an array of [WingmenInfo](lua://WingmenInfo).
---___
---@return WingmenInfo[] wingmenInfo Array of [WingmenInfo](lua://WingmenInfo).
function LoGetWingInfo() end function LoGetWingInfo() end
---Mechanical information.
---@class (exact) MechInfo
MechInfo = {
---Canopy status.
---@class (exact) canopy
---@field status integer Canopy status.
---@field value number Canopy value.
canopy = {}, ---@diagnostic disable-line: inject-field
---Control surface status.
---@class (exact) controlsurfaces
controlsurfaces = { ---@diagnostic disable-line: inject-field
---Eleron status.
---@class (exact) eleron
---@field left number Left elron state.
---@field right number Right eleron state.
eleron = {}, ---@diagnostic disable-line: inject-field
---Elevator status.
---@class (exact) evelator
---@field left number Left elevator status.
---@field right number Right elevator status.
elevator = {}, ---@diagnostic disable-line: inject-field
---Rudder status.
---@class (exact) rudder
---@field left number Left rudder status.
---@field right number Right rudder status.
rudder = {}, ---@diagnostic disable-line: inject-field
},
---Flaps status.
---@class (exact) flaps
---@field status integer Flap status.
---@field value number Flap value.
flaps = {}, ---@diagnostic disable-line: inject-field
---Gear status.
---@class (exact) gear
---@field status number Gear status.
---@field value number Gear value.
gear = { ---@diagnostic disable-line: inject-field
---Nose rod status.
---@class (exact) nose
---@field rod number Nose gear rod status.
nose = {}, ---@diagnostic disable-line: inject-field
---Left gear status.
---@class (exact) left
---@field rod number Left gear rod status.
left = {}, ---@diagnostic disable-line: inject-field
---Right gear status.
---@class (exact) right
---@field rod number Right gear rod status.
right = {}, ---@diagnostic disable-line: inject-field
},
---Parachute status.
---@class (exact) parachute
---@field status integer Parachute status.
---@field value number Parachute value.
parachute = {}, ---@diagnostic disable-line: inject-field
---Refueling boom status.
---@class (exact) refuelingboom
---@field status integer Refueling boom status.
---@field value number Refueling boom value.
refuelingboom = {}, ---@diagnostic disable-line: inject-field
---Speed brakes status.
---@class (exact) speedbrakes
---@field status integer Speed brakes status.
---@field value number Speed brakes value.
speedbrakes = {}, ---@diagnostic disable-line: inject-field
---Wheel brakes status.
---@class (exact) wheelbrakes
---@field status integer Wheel brakes status.
---@field value number Wheel brakes value.
wheelbrakes = {}, ---@diagnostic disable-line: inject-field
}
--- ## PREREQUISITE
--- - Only available on clients (multiplayer) when [Export.LoIsOwnshipExportAllowed](lua://Export.LoIsOwnshipExportAllowed) is true.<br>
--- - Server must have 'Allow player export' enabled.
--- ___
---Returns the player's [MechInfo](lua:///MechInfo) information.
---___
---@return MechInfo mechInfo Player's [MechInfo](lua://MechInfo) information.
function LoGetMechInfo() end function LoGetMechInfo() end
---Radio beacon status data.
---@class (exact) RadioBeaconStatus
---@field airfield_near any
---@field airfield_far any
---@field course_deviation_beacon_lock any
---@field glideslope_deviation_beacon_lock any
--- ## PREREQUISITE
--- - Only available on clients (multiplayer) when [Export.LoIsOwnshipExportAllowed](lua://Export.LoIsOwnshipExportAllowed) is true.<br>
--- - Server must have 'Allow player export' enabled.
--- ___
---Returns the player's [RadioBeaconStatus](lua://RadioBeaconStatus) information.
---___
---@return RadioBeaconStatus radioBeaconStatus Player's [RadioBeaconStatus](lua://RadioBeaconStatus) information.
---@deprecated Returns nil.
function LoGetRadioBeaconsStatus() end function LoGetRadioBeaconsStatus() end
---Vector velocity in world axis.
---@class (exact) VectorVelocity
---@field x number x vector velocity (world axis).
---@field y number y vector velocity (world axis).
---@field z number z vector velocity (world axis).
--- ## PREREQUISITE
--- - Only available on clients (multiplayer) when [Export.LoIsOwnshipExportAllowed](lua://Export.LoIsOwnshipExportAllowed) is true.<br>
--- - Server must have 'Allow player export' enabled.
--- ___
---Returns [VectorVelocity](lua://VectorVelocity) of self velocity (world axis).
---___
---@return VectorVelocity vectorVelocity [VectorVelocity](lua://VectorVelocity) of self volcity (world axis).
function LoGetVectorVelocity() end function LoGetVectorVelocity() end
---Vector wind velocity in world axis.
---@class (exact) VectorWindVelocity
---@field x number x vector wind velocity (world axis).
---@field y number y vector wind velocity (world axis).
---@field z number z vector wind velocity (world axis).
--- ## PREREQUISITE
--- - Only available on clients (multiplayer) when [Export.LoIsOwnshipExportAllowed](lua://Export.LoIsOwnshipExportAllowed) is true.<br>
--- - Server must have 'Allow player export' enabled.
--- ___
---Returns [VectorWindVelocity](lua://VectorWindVelocity) of self velocity (world axis).
---___
---@return VectorWindVelocity vectorWindVelocity [VectorWindVelocity](lua://VectorWindVelocity) of self volcity (world axis).
function LoGetVectorWindVelocity() end function LoGetVectorWindVelocity() end
---Returns the player chaff and flare inventory.
---@class (exact) Snares
---@field chaff integer Current number of chaff.
---@field flare integer Current number of flare.
--- ## PREREQUISITE
--- - Only available on clients (multiplayer) when [Export.LoIsOwnshipExportAllowed](lua://Export.LoIsOwnshipExportAllowed) is true.<br>
--- - Server must have 'Allow player export' enabled.
--- ___
---Returns the player's [Snares](lua://Snares) (chaff and flare) inventory.
---___
---@return SystemMode systemMode Player's [Snares](lua://Snares) (chaff and flare) inventory.
function LoGetSnares() end function LoGetSnares() end
---Angular velocity euler angles , rad per sec.
---@class (exact) AngularVelocity
---@field x number x angular velocity (euler angles , rad per sec).
---@field y number y angular velocity (euler angles , rad per sec).
---@field z number z angular velocity (euler angles , rad per sec).
--- ## PREREQUISITE
--- - Only available on clients (multiplayer) when [Export.LoIsOwnshipExportAllowed](lua://Export.LoIsOwnshipExportAllowed) is true.<br>
--- - Server must have 'Allow player export' enabled.
--- ___
---Returns [AngularVelocity](lua://AngularVelocity) of self angular velocity euler angles , rad per sec.
---___
---@return AngularVelocity angularVelocity [AngularVelocity](lua://AngularVelocity) of self volcity (world axis).
function LoGetAngularVelocity() end function LoGetAngularVelocity() end
--- ## PREREQUISITE
--- - Only available on clients (multiplayer) when [Export.LoIsOwnshipExportAllowed](lua://Export.LoIsOwnshipExportAllowed) is true.<br>
--- - Server must have 'Allow player export' enabled.
--- ___
---Return value unkonwn number.
---___
---@return number heightWithObjects Unknown
function LoGetHeightWithObjects() end function LoGetHeightWithObjects() end
---Player flight model data.
---@class (exact) FMData
---@field pitch number Pitch.
---@field yaw number Yaw.
---@field roll number Roll.
FMData = {
---Speed
---@class (exact) speed
---@field x number x vector.
---@field y number y vector.
---@field z number z vector.
speed = {}, ---@diagnostic disable-line: inject-field
---Angular speed
---@class (exact) angular_speed
---@field x number x vector.
---@field y number y vector.
---@field z number z vector.
angualr_speed = {}, ---@diagnostic disable-line: inject-field
---Acceleration
---@class (exact) acceleration
---@field x number x vector.
---@field y number y vector.
---@field z number z vector.
acceleration = {}, ---@diagnostic disable-line: inject-field
---Angular acceleration
---@class (exact) angular_acceleration
---@field x number x vector.
---@field y number y vector.
---@field z number z vector.
angular_acceleration = {}, ---@diagnostic disable-line: inject-field
---G factor
---@class (exact) G_factor
---@field x number x vector.
---@field y number y vector.
---@field z number z vector.
G_factor = {}, ---@diagnostic disable-line: inject-field
}
--- ## PREREQUISITE
--- - Only available on clients (multiplayer) when [Export.LoIsOwnshipExportAllowed](lua://Export.LoIsOwnshipExportAllowed) is true.<br>
--- - Server must have 'Allow player export' enabled.
--- ___
---Returns the player's flight model [FMData](lua://FMData) information.
---___
---@return FMData fmData Player's flight model data [FMData](lua://FMData) information.
function LoGetFMData() end function LoGetFMData() end

View File

@ -1,8 +1,78 @@
---@meta ---@meta
---@deprecated Returns nil.
function LoGetTWSInfo() end function LoGetTWSInfo() end
--[[
flags = , -- field with constants detemining method of the tracking
-- whTargetRadarView = 0x0002; -- Radar review (BVR)
-- whTargetEOSView = 0x0004; -- EOS review (BVR)
-- whTargetRadarLock = 0x0008; -- Radar lock (STT) == whStaticObjectLock (pinpoint) (static objects,buildings lock)
-- whTargetEOSLock = 0x0010; -- EOS lock (STT) == whWorldObjectLock (pinpoint) (ground units lock)
-- whTargetRadarTrack = 0x0020; -- Radar lock (TWS)
-- whTargetEOSTrack = 0x0040; -- Radar lock (TWS) == whImpactPointTrack (pinpoint) (ground point track)
-- whTargetNetHumanPlane = 0x0200; -- net HumanPlane
-- whTargetAutoLockOn = 0x0400; -- EasyRadar autolockon
-- whTargetLockOnJammer = 0x0800; -- HOJ mode
]]
---Table of target information.
---@class (exact) TargetInfo
---@field ID integer World ID (may be 0 ,when ground point track).
---@field type wsType [wsTypeswsType](lua://) World database classification
---@field country country [country](lua://country)
---@field position pos3 Target position.
---@field velocity {x: number, y: number, z: number} Velocity of target in m/s.
---@field distance number Distance in meters.
---@field convergence_velocity number Closing speed in m/s.
---@field mach number Mach number.
---@field delta_psi number Aspect angle in radians.
---@field fim number Horizontal viewing angle from your body in radians.
---@field fin number Vertical viewing angle from your body in radians.
---@field flags table --TODO: Need to flush this out.
---@field reflection number Target cross section in square meters.
---@field course number Target course in radians.
---@field isjamming boolean Does target have ECM on or not.
---@field start_of_lock number Time of the beginning of lock.
---@field forces {x: number, y: number, z: number} Vector of targets acceleration units
---@field updates integer Number of radar updates.
---@field jammer_burned boolean Whether or not targets jammer is burned.
--- ## PREREQUISITE
--- - Only available on clients (multiplayer) when [Export.LoIsSensorExportAllowed](lua://Export.LoIsSensorExportAllowed) is true.<br>
--- - Server must have 'Allow sensor export' enabled.
---___
--- Returns an array of current targets.
---___
---@deprecated Returns nil.
---@return TargetInfo[] targetInfo Array of current targets. [TargetInfo](lua://TargetInfo).
function LoGetTargetInformation() end function LoGetTargetInformation() end
--- ## PREREQUISITE
--- - Only available on clients (multiplayer) when [Export.LoIsSensorExportAllowed](lua://Export.LoIsSensorExportAllowed) is true.<br>
--- - Server must have 'Allow sensor export' enabled.
---___
---Returns an array of current locked targets.
---___
---@deprecated Returns nil.
---@return TargetInfo[] targetInfo Array of current locked targets. [TargetInfo](lua://TargetInfo).
function LoGetLockedTargetInformation() end function LoGetLockedTargetInformation() end
---@deprecated Returns nil.
function LoGetF15_TWS_Contacts() end function LoGetF15_TWS_Contacts() end
---@deprecated Returns nil.
function LoGetSightingSystemInfo() end function LoGetSightingSystemInfo() end
--- ## PREREQUISITE
--- - Only available on clients (multiplayer) when [Export.LoIsSensorExportAllowed](lua://Export.LoIsSensorExportAllowed) is true.<br>
--- - Server must have 'Allow sensor export' enabled.
---___
---Returns an array of wingman target locations.
---___
---@return vec3[] wingTargets Array of wingman target locations.
function LoGetWingTargets() end function LoGetWingTargets() end

View File

@ -27,7 +27,7 @@ function net.force_player_slot(playerID, sideId, slotId) end
---Returns the name of a given player.<br>Is the same as `net.get_player_info(playerID, 'name')`. ---Returns the name of a given player.<br>Is the same as `net.get_player_info(playerID, 'name')`.
---@param playerID integer -- from `net.get_player_list()` ---@param playerID integer -- from `net.get_player_list()`
---@return string ---@return string playerName Name of player from given ID
function net.get_name(playerID) end function net.get_name(playerID) end
---Returns a table of players currently connected to the server. ---Returns a table of players currently connected to the server.
@ -75,7 +75,7 @@ function net.get_player_info(playerID, attribute) end
function net.get_stat(playerID, statID) end function net.get_stat(playerID, statID) end
---Converts a lua value to a JSON string. ---Converts a lua value to a JSON string.
---@param lua any ---@param lua any
---@return string ---@return string
function net.lua2json(lua) end function net.lua2json(lua) end
@ -90,6 +90,9 @@ function net.json2lua(json) end
---@return boolean ---@return boolean
function net.kick(playerId, message) end function net.kick(playerId, message) end
--- # SERVER ONLY
--- - Not available in the Mission scripting environment.
---___
---Loads the specified mission.<br> ---Loads the specified mission.<br>
---Example: Loads a mission from your saved games/missions folder. ---Example: Loads a mission from your saved games/missions folder.
---``` ---```
@ -99,6 +102,9 @@ function net.kick(playerId, message) end
---@return boolean -- True if the mission was successfully loaded, false otherwise. ---@return boolean -- True if the mission was successfully loaded, false otherwise.
function net.load_mission(fileName) end function net.load_mission(fileName) end
--- # SERVER ONLY
--- - Not available in the Mission scripting environment.
---___
---Loads the next mission from the server mission list. ---Loads the next mission from the server mission list.
---@return boolean -- True if the next mission was successfully loaded, false if at the end of the list. ---@return boolean -- True if the next mission was successfully loaded, false if at the end of the list.
function net.load_next_mission() end function net.load_next_mission() end
@ -113,4 +119,179 @@ function net.send_chat(message, all) end
---@param message string ---@param message string
---@param playerId number ---@param playerId number
---@param fromId number? ---@param fromId number?
function net.send_chat_to(message, playerId, fromId) end function net.send_chat_to(message, playerId, fromId) end
---Returns the playerID of the local player. Always returns 1 for server.
---___
---@return number playerID Id of local player.
function net.get_my_player_id() end
---Returns the playerID of the server. Currently always 1.
---___
---@return number playerID Id of server player.
function net.get_server_id() end
---Returns the sideId and slotId of a given player. Is the same as net.get_player_info(playerID, 'side') and net.get_player_info(playerID, 'slot')
---___
---@param playerID number ID of player.
---@return coalition.side sideID Players coalition side ID.
---@return number slotID Players slot ID
function net.get_slot(playerID) end
---net.log("string") will write an "INFO" entry to the DCS log file, with the message "LuaNET (Main): string"<br>
---The full set of arguments supported for net.log() are currently undocumented.
---@param msg string The string to write to log file.
function net.log(msg) end
---Receive chat message locally[, pretending it was sent by another player].
--- - from = 0 means from the system
---___
---@param message string Message to receive.
---@param from number If message should come from system.
function net.recv_chat(message, from) end
---@class chatHistory
---@field abstime number Chat time.
---@field side coalition.side Coalition chat is from.
---@field playerName string Name of player that sent chat.
---@field message string Chat message.
---Returns last chat messages starting from a given index.
---___
---Example:
---```lua
--- local chatIndex = 0;
--- local chatHistory = {}
--- chatHistory, chatIndex = net.get_chat_history(chatIndex)
---```
---@param from number Index to start getting chat history from.
---@return chatHistory[] chatHistory Chat history table.
---@return number chatIndex Index of chat.
function net.get_chat_history(from) end
---@class netBanPlayerInfo
---@field ucid string Unique Client Identifier.
---@field ipaddr string IP address string.
---@field name string Player name at the time of the ban.
---@field banned_from number Unix time of ban start.
---@field banned_until number Unix time of ban end.
--- # SERVER ONLY
--- - Not available in the Mission scripting environment.
---___
---Returns an array of active ban records.
---___
---Each record contains:
--- - 'ucid': Unique Client IDentifier
--- - 'ipaddr': IP address string
--- - 'name': player name at the time of the ban
--- - 'reason': ban reason string
--- - 'banned_from': unix-time of ban start
--- - 'banned_until': unix-time of ban end
---___
---@return netBanPlayerInfo[] netPlayerBans Array of netBanPlayerInfo tables.
function net.banlist_get() end
--- # SERVER ONLY
--- - Not available in the Mission scripting environment.
---___
---Adds a ban and kicks the player of 'id'. <br>
---'period' is the duration of ban in seconds.
---___
---@param id string UCID of player to ban.
---@param period integer Number of seconds to ban the player.
---@param reason string Why the player is getting banned.
---@return boolean success Was the player successfully banned.
function net.banlist_add(id, period, reason) end
--- # SERVER ONLY
--- - Not available in the Mission scripting environment.
---___
---Lifts the ban from a player with the given 'ucid'.
---___
---@param ucid string UCID of player to lift ban.
---@return boolean success Was the player successfully removed from the ban list.
function net.banlist_remove(ucid) end
---@class netMissionList
---@field listLoop boolean Is the missiion list looping.
---@field listShuffle boolean Does the mission list shuffle missions.
---@field missionList string[] Array of mission list names.
---@field current string Name of the current mission.
--- # SERVER ONLY
--- - Not available in the Mission scripting environment.
---___
---Returns a table with current mission list.
---___
---Fields:
--- - 'listLoop': bool
--- - 'listShuffle': bool
--- - 'missionList': array of mission filenames
--- - 'current' : index of the current mission
---___
---@return netMissionList missionList Table with the current mission list.
function net.missionlist_get() end
--- # SERVER ONLY
--- - Not available in the Mission scripting environment.
---___
---Adds a mission to the list.
---___
---@param miz_filename string Name of the file to add to the mission list.
---@return boolean success Was the mission successfully added to the list.
function net.missionlist_append(miz_filename) end
--- # SERVER ONLY
--- - Not available in the Mission scripting environment.
---___
---Deletes a mission from the list at the given index.
---___
---@param miz_index integer Index of mission to remove.
---@return boolean success Was the mission successfully removed from the list.
function net.missionlist_delete(miz_index) end
--- # SERVER ONLY
--- - Not available in the Mission scripting environment.
---___
---Moves a mission to a new location in the list.
---___
---@param old_index integer Index of mission to move.
---@param new_index integer Index to move the mission to.
---@return boolean success Was the mission successfully moved.
function net.missionlist_move(old_index, new_index) end
--- # SERVER ONLY
--- - Not available in the Mission scripting environment.
---___
---Set the server to shuffle, or not to shuffle, the mission list.
---___
---@param bool boolean Shuffle the list or not.
function net.missionlist_set_shuffle(bool) end
--- # SERVER ONLY
--- - Not available in the Mission scripting environment.
---___
---Set the server to loop, or not to loop, the mission list.
---___
---@param bool boolean Loop the list or not.
function net.missionlist_set_loop(bool) end
--- # SERVER ONLY
--- - Not available in the Mission scripting environment.
---___
---Runs a mission at the given index.
---___
---@param miz_index integer Index of mission to run.
---@return boolean success Was the mission successfully started or not.
function net.missionlist_run(miz_index) end
--- # SERVER ONLY
--- - Not available in the Mission scripting environment.
---___
---Clear the entire mission list.
---___
---@return boolean success Was the mission list successfully cleared.
function net.missionlist_clear() end

View File

@ -20,25 +20,31 @@
---@field weapon_name string? ---@field weapon_name string?
---`vec2.x = vec3.x = north`<br>`vec2.y = vec3.z = east` ---`vec2.x = vec3.x = north`<br>`vec2.y = vec3.z = east`
---@class vec2 ---@class (exact) vec2
---@field x number positive x is north ---@field x number positive x is north
---@field y number positive y is east ---@field y number positive y is east
---`vec3.x = north`<br>`vec3.y = up`<br>`vec3.z = east`<br> ---`vec3.x = north`<br>`vec3.y = up`<br>`vec3.z = east`<br>
---![](https://www.digitalcombatsimulator.com/upload/medialibrary/c96/Pos3_illustration2.jpg) ---![](https://www.digitalcombatsimulator.com/upload/medialibrary/c96/Pos3_illustration2.jpg)
---@class vec3 ---@class (exact) vec3
---@field x number positive x is north ---@field x number positive x is north
---@field y number positive y is up ---@field y number positive y is up
---@field z number positive z is east ---@field z number positive z is east
---A table describing how a unit's local nose, up, right axes translate to world axes using three unit vectors. Also contains its location.<br>`pos.x = vec3` unit vector of nose direction<br>`pos.y = vec3` unit vector of up direction<br>`pos.z = vec3` unit vector of right direction<br>`pos.p = vec3` location of the object<br> ---A table describing how a unit's local nose, up, right axes translate to world axes using three unit vectors. Also contains its location.<br>`pos.x = vec3` unit vector of nose direction<br>`pos.y = vec3` unit vector of up direction<br>`pos.z = vec3` unit vector of right direction<br>`pos.p = vec3` location of the object<br>
---![](https://www.digitalcombatsimulator.com/upload/medialibrary/c96/Pos3_illustration2.jpg) ---![](https://www.digitalcombatsimulator.com/upload/medialibrary/c96/Pos3_illustration2.jpg)
---@class pos3 ---@class (exact) pos3
---@field x vec3 nose unit vector ---@field x vec3 nose unit vector
---@field y vec3 up unit vector ---@field y vec3 up unit vector
---@field z vec3 right unit vector ---@field z vec3 right unit vector
---@field p vec3 location vector ---@field p vec3 location vector
---@class zone ---@class (exact) zone
---@field point vec3 ---@field point vec3
---@field radius number ---@field radius number
---@class (exact) wsType
---@field level1 integer Level 1 type.
---@field level2 integer Level 2 type.
---@field level3 integer Level 3 type.
---@field level4 integer Level 4 type.