RedM Natives

_INVENTORY_SWAP_INVENTORY_ITEM

Hash0xF2753D691BCDA314
Runtime nameInventorySwapInventoryItem
NamespaceINVENTORY
SideClient
NameCommunity guess
Docs
Since build1207

Signature

BOOL _INVENTORY_SWAP_INVENTORY_ITEM(int inventoryId, Any* guid1, Any* guid2);

Parameters

NameTypeDescription
inventoryIdint—
guid1Any*—
guid2Any*—

Returns BOOL

Usage

Lua
local retval, guid1, guid2 = InventorySwapInventoryItem(inventoryId)

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

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