{"hash":"0x39816F6F94F385AD","ns":"VOLUME","name":"_ADD_BOX_VOLUME_TO_VOLUME_AGGREGATE","slug":"_ADD_BOX_VOLUME_TO_VOLUME_AGGREGATE","official":false,"named":true,"luaName":"AddBoxVolumeToVolumeAggregate","game":"rdr3","apiset":"client","returnType":"void","params":[{"name":"aggregate","type":"Volume","description":"Handle from CREATE_VOLUME_AGGREGATE."},{"name":"x","type":"float","description":"Box centre X."},{"name":"y","type":"float","description":"Box centre Y."},{"name":"z","type":"float","description":"Box centre Z."},{"name":"rotX","type":"float","description":"Rotation X in degrees."},{"name":"rotY","type":"float","description":"Rotation Y in degrees."},{"name":"rotZ","type":"float","description":"Rotation Z (heading) in degrees."},{"name":"scaleX","type":"float","description":"Size along X in metres."},{"name":"scaleY","type":"float","description":"Size along Y in metres."},{"name":"scaleZ","type":"float","description":"Height in metres."}],"summary":"Adds a box (position, rotation, scale) to a volume aggregate. An aggregate holds at most 32 boxes.","descriptions":[],"examples":[],"aliases":[],"enums":[],"related":["0xA6EF0C54A3443E70","0x59F6F5C1D129F106"],"build":"1207","sources":["alloc8or","overlay"],"doc":3,"overlayFile":"overlay/natives/0x39816F6F94F385AD.md","noteMeta":{"contributors":["borderline-rp"],"tags":["volume","map"]},"notes":"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).\n\nParameter order verified in game by drawing rotated boxes on the pause map with `_BLIP_ADD_FOR_VOLUME` (Borderline RP, September 2026).","url":"https://natives.borderlinerp.com/natives/VOLUME/_ADD_BOX_VOLUME_TO_VOLUME_AGGREGATE","markdownUrl":"https://natives.borderlinerp.com/natives/VOLUME/_ADD_BOX_VOLUME_TO_VOLUME_AGGREGATE.md","snippets":{"lua":"AddBoxVolumeToVolumeAggregate(aggregate, x, y, z, rotX, rotY, rotZ, scaleX, scaleY, scaleZ)","luaInvoke":"Citizen.InvokeNative(0x39816F6F94F385AD, aggregate, x, y, z, rotX, rotY, rotZ, scaleX, scaleY, scaleZ)","js":"AddBoxVolumeToVolumeAggregate(aggregate, x, y, z, rotX, rotY, rotZ, scaleX, scaleY, scaleZ);","jsInvoke":"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);","csharp":"Function.Call((Hash)0x39816F6F94F385AD, aggregate, x, y, z, rotX, rotY, rotZ, scaleX, scaleY, scaleZ);","notes":["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."]}}