RedM Natives

_INVENTORY_GET_INVENTORY_ITEM_EQUIPPED_IN_SLOT_BY_REF

Hash0x22E590F108289A9D
Runtime nameInventoryGetInventoryItemEquippedInSlotByRef
NamespaceINVENTORY
SideClient
NameCommunity guess
Docs
Since build1207

Signature

BOOL _INVENTORY_GET_INVENTORY_ITEM_EQUIPPED_IN_SLOT_BY_REF(int inventoryId, Any* guid, Hash slotId, Any* outGuid);

Parameters

NameTypeDescription
inventoryIdint—
guidAny*—
slotIdHash—
outGuidAny*—

Returns BOOL

Usage

Lua
local retval, guid, outGuid = InventoryGetInventoryItemEquippedInSlotByRef(inventoryId, slotId)

-- always works, by hash
local retval, guid, outGuid = Citizen.InvokeNative(0x22E590F108289A9D, inventoryId, Citizen.PointerValueInt(), slotId, Citizen.PointerValueInt(), Citizen.ReturnResultAnyway())
JavaScript and C#
JavaScript
const [retval, guid, outGuid] = InventoryGetInventoryItemEquippedInSlotByRef(inventoryId, slotId);

// by hash
const [retval, guid, outGuid] = Citizen.invokeNative('0x22E590F108289A9D', inventoryId, Citizen.pointerValueInt(), slotId, Citizen.pointerValueInt(), Citizen.returnResultAnyway());
C#
var guid = new OutputArgument();
var outGuid = new OutputArgument();
bool retval = Function.Call<bool>((Hash)0x22E590F108289A9D, inventoryId, guid, slotId, outGuid);
// guid.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.