RedM Natives

GET_DISTANCE_BETWEEN_COORDS

If useZ is false, only the 2D plane (X-Y) will be considered for calculating the distance.

Hash0x0BE7F4E3CDBAFB28
Runtime nameGetDistanceBetweenCoords
NamespaceMISC
SideClient
NameOfficial
Docs
Since build1207
GTA V hash0xF1B760881820C952

Signature

float GET_DISTANCE_BETWEEN_COORDS(float x1, float y1, float z1, float x2, float y2, float z2, BOOL useZ);

Parameters

NameTypeDescription
x1float—
y1float—
z1float—
x2float—
y2float—
z2float—
useZBOOL—

Returns float

Description

If useZ is false, only the 2D plane (X-Y) will be considered for calculating the distance.

Consider using this faster native instead: BUILTIN::VDIST - DVIST always takes in consideration the 3D coordinates.

Usage

Lua
local retval = GetDistanceBetweenCoords(x1, y1, z1, x2, y2, z2, useZ)

-- always works, by hash
local retval = Citizen.InvokeNative(0x0BE7F4E3CDBAFB28, x1, y1, z1, x2, y2, z2, useZ, Citizen.ResultAsFloat())
JavaScript and C#
JavaScript
const retval = GetDistanceBetweenCoords(x1, y1, z1, x2, y2, z2, useZ);

// by hash
const retval = Citizen.invokeNative('0x0BE7F4E3CDBAFB28', x1 + 0.0000001, y1 + 0.0000001, z1 + 0.0000001, x2 + 0.0000001, y2 + 0.0000001, z2 + 0.0000001, useZ, Citizen.returnResultAnyway(), Citizen.resultAsFloat());
C#
float retval = Function.Call<float>((Hash)0x0BE7F4E3CDBAFB28, x1, y1, z1, x2, y2, z2, useZ);
  • Float parameters: Lua integers (10, or whole numbers decoded from NUI/JSON) are sent as ints and read as garbage. Write 10.0 or value + 0.0. The generated JS wrappers add 0.0000001 to non-zero floats for the same reason.

Sources

alloc8or RDR3 NativeDB

Something wrong or missing? Contribute a verified note — corrections ship through pull requests.