RedM Natives

_INVENTORY_MOVE_INVENTORY_ITEM

Hash0xDCCAA7C3BFD88862
Runtime nameInventoryMoveInventoryItem
NamespaceINVENTORY
SideClient
NameCommunity guess
Docs
Since build1207

Signature

BOOL _INVENTORY_MOVE_INVENTORY_ITEM(int inventoryId, Any* guid1, Any* guid2, Hash slotId, int quantity, Any* outGuid);

Parameters

NameTypeDescription
inventoryIdint—
guid1Any*—
guid2Any*—
slotIdHash—
quantityint—
outGuidAny*—

Returns BOOL

Description

guid1: old parent GUID
guid2: new parent GUID
guid3: new item GUID (out param)

Usage

Lua
local retval, guid1, guid2, outGuid = InventoryMoveInventoryItem(inventoryId, slotId, quantity)

-- always works, by hash
local retval, guid1, guid2, outGuid = Citizen.InvokeNative(0xDCCAA7C3BFD88862, inventoryId, Citizen.PointerValueInt(), Citizen.PointerValueInt(), slotId, quantity, Citizen.PointerValueInt(), Citizen.ReturnResultAnyway())
JavaScript and C#
JavaScript
const [retval, guid1, guid2, outGuid] = InventoryMoveInventoryItem(inventoryId, slotId, quantity);

// by hash
const [retval, guid1, guid2, outGuid] = Citizen.invokeNative('0xDCCAA7C3BFD88862', inventoryId, Citizen.pointerValueInt(), Citizen.pointerValueInt(), slotId, quantity, Citizen.pointerValueInt(), Citizen.returnResultAnyway());
C#
var guid1 = new OutputArgument();
var guid2 = new OutputArgument();
var outGuid = new OutputArgument();
bool retval = Function.Call<bool>((Hash)0xDCCAA7C3BFD88862, inventoryId, guid1, guid2, slotId, quantity, outGuid);
// guid1.GetResult<int>()
// guid2.GetResult<int>()
// outGuid.GetResult<int>()
  • Hash parameters: the named function also accepts a string and hashes it for you; Citizen.InvokeNative needs the number — pass joaat("name") or a backtick literal like `name`.
  • Pointer (out) arguments are not passed in Lua/JS: their values are returned after the result, in order.
  • Any* arguments are often structs. Build them with a DataView buffer and pass it with :Buffer() — see the examples and notes below.
  • 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.

Sources

alloc8or RDR3 NativeDB

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