RedM Natives

_INVENTORY_UPDATE_INVENTORY_ITEM

Hash0xD80A8854DB5CFBA5
Runtime nameInventoryUpdateInventoryItem
NamespaceINVENTORY
SideClient
NameCommunity guess
Docs
Since build1207

Signature

BOOL _INVENTORY_UPDATE_INVENTORY_ITEM(int inventoryId, Any* guid1, Any* guid2, int p3);

Parameters

NameTypeDescription
inventoryIdint—
guid1Any*—
guid2Any*—
p3int—

Returns BOOL

Description

Usage

Lua
local retval, guid1, guid2 = InventoryUpdateInventoryItem(inventoryId, p3)

-- always works, by hash
local retval, guid1, guid2 = Citizen.InvokeNative(0xD80A8854DB5CFBA5, inventoryId, Citizen.PointerValueInt(), Citizen.PointerValueInt(), p3, Citizen.ReturnResultAnyway())
JavaScript and C#
JavaScript
const [retval, guid1, guid2] = InventoryUpdateInventoryItem(inventoryId, p3);

// by hash
const [retval, guid1, guid2] = Citizen.invokeNative('0xD80A8854DB5CFBA5', inventoryId, Citizen.pointerValueInt(), Citizen.pointerValueInt(), p3, Citizen.returnResultAnyway());
C#
var guid1 = new OutputArgument();
var guid2 = new OutputArgument();
bool retval = Function.Call<bool>((Hash)0xD80A8854DB5CFBA5, inventoryId, guid1, guid2, p3);
// guid1.GetResult<int>()
// guid2.GetResult<int>()
  • 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.