RedM Natives

_ADD_BOX_VOLUME_TO_VOLUME_AGGREGATE

Adds a box (position, rotation, scale) to a volume aggregate. An aggregate holds at most 32 boxes.

Hash0x39816F6F94F385AD
Runtime nameAddBoxVolumeToVolumeAggregate
NamespaceVOLUME
SideClient
NameCommunity guess
Docs
Since build1207

Signature

void _ADD_BOX_VOLUME_TO_VOLUME_AGGREGATE(Volume aggregate, float x, float y, float z, float rotX, float rotY, float rotZ, float scaleX, float scaleY, float scaleZ);

Parameters

NameTypeDescription
aggregateVolume

Handle from CREATE_VOLUME_AGGREGATE.

xfloat

Box centre X.

yfloat

Box centre Y.

zfloat

Box centre Z.

rotXfloat

Rotation X in degrees.

rotYfloat

Rotation Y in degrees.

rotZfloat

Rotation Z (heading) in degrees.

scaleXfloat

Size along X in metres.

scaleYfloat

Size along Y in metres.

scaleZfloat

Height in metres.

Returns void

Verified notes

Reviewed in this portal's repository · by borderline-rp

Boxes beyond the 32nd are discarded without an error. All nine values are floats: pass x + 0.0 when they come from integers (JSON, NUI, database).

Parameter order verified in game by drawing rotated boxes on the pause map with _BLIP_ADD_FOR_VOLUME (Borderline RP, September 2026).

Usage

Lua
AddBoxVolumeToVolumeAggregate(aggregate, x, y, z, rotX, rotY, rotZ, scaleX, scaleY, scaleZ)

-- always works, by hash
Citizen.InvokeNative(0x39816F6F94F385AD, aggregate, x, y, z, rotX, rotY, rotZ, scaleX, scaleY, scaleZ)
JavaScript and C#
JavaScript
AddBoxVolumeToVolumeAggregate(aggregate, x, y, z, rotX, rotY, rotZ, scaleX, scaleY, scaleZ);

// by hash
Citizen.invokeNative('0x39816F6F94F385AD', aggregate, x + 0.0000001, y + 0.0000001, z + 0.0000001, rotX + 0.0000001, rotY + 0.0000001, rotZ + 0.0000001, scaleX + 0.0000001, scaleY + 0.0000001, scaleZ + 0.0000001);
C#
Function.Call((Hash)0x39816F6F94F385AD, aggregate, x, y, z, rotX, rotY, rotZ, scaleX, scaleY, scaleZ);
  • 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.
  • The name is a community guess and may change. If the named call is missing in your client build, use InvokeNative with the hash — it always works.

See also

Sources

alloc8or RDR3 NativeDB · RedM Natives (verified notes)

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