Vector
The legacy global names (MSK.CoordsToString, MSK.VectorToVector, MSK.TableToVector) still work as exports, but the namespaced form MSK.Vector.* is the recommended way since v3.0.0.
MSK.Vector.CoordsToString
Converts the given coords to a vector string.
Parameters
coords - vector3, vector4 or table - Coordinates
Returns
vectorString - string - The given coordinates as a string
local vectorString = MSK.Vector.CoordsToString(coords)
-- Example
local vectorString = MSK.Vector.CoordsToString(GetEntityCoords(PlayerPedId()))
-- Output: "vector3(0.0, 0.0, 0.0)"
-- As an Export:
local vectorString = exports.msk_core:CoordsToString(coords)
MSK.Vector.VectorToVector
Converts vector4 to vector3.
Parameters
coords - vector4 - vector4 coordinates
Returns
coords - vector3 - The given vector4 coordinates as vector3
local vec3Coords = MSK.Vector.VectorToVector(vector4)
-- Example
local vec3Coords = MSK.Vector.VectorToVector(vector4(0.0, 0.0, 0.0, 0.0))
print(MSK.Vector.CoordsToString(vec3Coords)) -- Output: "vector3(0.0, 0.0, 0.0)"
-- As an Export:
local vec3Coords = exports.msk_core:VectorToVector(vector4)
MSK.Vector.TableToVector
Converts a table to a vector. The target type must be specified via toType.
Parameters
coords - table - Table coordinates
toType - string - The target type: 'vector3' or 'vector4'
Returns
coords - vector3 or vector4 - The given table coordinates as vector3 or vector4
local vecCoords = MSK.Vector.TableToVector(tableCoords, toType)
-- Example 1: vector3
local vec3Coords = MSK.Vector.TableToVector({x = 0.0, y = 0.0, z = 0.0}, 'vector3')
-- Example 2: vector4 (heading is read from h, w or heading)
local vec4Coords = MSK.Vector.TableToVector({x = 0.0, y = 0.0, z = 0.0, h = 0.0}, 'vector4')
-- As an Export:
local vecCoords = exports.msk_core:TableToVector(tableCoords, toType)