ATY Scripts Logo
ATY Scripts/Docs/Inventory/Exports

Exports

Exports

All server exports are on exports.aty_inventory. Client exports are on the same name, client-side.

Reading

Export Returns
GetInventory(inv) The whole container
GetInventoryItems(inv) Its items
GetInventoryWeight(inv) / GetInventoryMaxWeight(inv) Grams used / allowed
GetTotalWeight(items) / GetFreeWeight(inv) Grams in a qb-shaped item table / grams remaining
GetItem(inv, name) / GetItemByName(inv, name) First match
GetItemsByName(inv, name) All matches
GetItemBySlot(inv, slot) / GetSlot(inv, slot) What is in a slot
GetItemCount(inv, name) How many
GetSlots(inv) / GetSlotUsage(inv) Slot counts
GetSlotWithItem · GetSlotIdWithItem · GetSlotsWithItem · GetSlotIdsWithItem · GetSlotsByItem · GetFirstSlotByItem Slot lookups
HasItem(inv, name, count) Boolean
InventoryExists(inv) Boolean
Items() The item catalogue

Writing

Export Does
AddItem(inv, name, count, metadata) Add. Refused if it would not fit
RemoveItem(inv, name, count, metadata, slot) Remove
SetInventory(inv, items) Replace contents. Returns false and prints the item and the reason when anything could not be put back
ClearInventory(inv) / ClearStash(inv) Empty it
SetItemData(inv, name, key, value, slot) One metadata field on the first stack of that name, or on slot
SetMetadata(inv, slot, meta) Whole metadata
SetDurability(inv, slot, value) Condition
SetMaxWeight(inv, grams) / SetSlotCount(inv, n) Capacity

Capacity checks

Export Answers
CanAddItem(inv, name, count) Would this fit
CanCarryItem · CanCarryAmount · CanCarryWeight The carry rule, directly
Use these rather than computing capacity yourself. They call the same rule the transaction engine uses, so they cannot drift out of step with what a real move would decide.

Containers

Export Does
CreateInventory(id, opts) / RemoveInventory(id) Make / destroy
LoadInventory(src) / SaveInventory(src) qb's pair: the items in qb shape / a save (every commit already saves)
OpenInventory(src, id) / CloseInventory(src) Show a panel
forceOpenInventory(src, 'stash', id) Open a stash without standing at it; its job gate still applies. Only 'stash' is supported
RegisterStash(id, label, slots, maxWeight, owner, groups, coords, marker) Register a world stash
CreateDropFromPlayer(src) / CustomDrop(...) Ground drops

Items in play

Export Does
UseItem(name, ...) qb-inventory's call: raises aty_inventory:itemUsed for that name, with no player. To use a slot as the player would, StartConsume
RegisterUsable(name, fn) / UnregisterUsable(name) Custom use handler
StartConsume(src, slot, opts) · CancelConsume(src) · IsConsuming(src) The action bar — StartConsume takes the same path as the player's own key press
GetPortions · SetPortions · TakePortion Portions — every item is one use while Config.Portions.enabled is off, the default
GetLoadedAmmo(inv, slot) The special round loaded, and rounds in a weapon
GetOutfit(src, slot) / SetOutfit(src, slot, components) The outfit folded into an outfit item
PlaceItem(src, slot, coords, heading) Place in the world
SpawnAirdrop(coords, opts) Call a crate
Search(inv, search, items, metadata) ox's getter — search is 'slots' for the matching slots or 'count' for a total
RegisterSkillProvider(fn) Supply skill values

Client

Export Returns
GetPlayerItems() · GetItemCount(name) · HasItem(name) What you carry
GetPlayerWeight() / GetPlayerMaxWeight() Grams
GetWorn() Worn clothing
IsConsuming() Action bar state
openInventory() / closeInventory() The panel
Items() Catalogue
PlacedReport() Placed props near you
RegisterWearProvider({ apply = fn }) Own the wear system: apply gets the worn kit and the watchdog stands down

Compatibility names

Also exported under the other inventories' names, so existing code keeps working:

qb_AddItem  qb_RemoveItem  qb_GetInventory  qb_GetItemCount
qb_ClearInventory  qb_GetPlayerItems

The full ox_inventory surface — the entire ox server and client API, signature-for-signature — lives separately in server/api/ox.lua and is listed in full in Compatibility, not repeated here because it is over fifty server exports and 26 client exports long.

ATY Scripts LogoATY SCRIPTS

Des scripts FiveM hautement optimisés pour QBCore & ESX. Performance maximale, code précis, zéro lag.

Rejoindre la communauté

Partenaire

Partenaire officiel de Tebex. Paiement sécurisé et intégration Cfx.re Keymaster.

Mentions légales

Non affilié à Rockstar Games, Cfx.re, FiveM ou Take-Two Interactive. Les achats sont soumis aux CGU de Tebex.

© 2026 ATY SCRIPTS. Tous droits réservés.