From the reference libraryFiveM

Activate specific event handlers and functions (supported: ox, esx, qbx, nd)

ox/ox_inventory/index.mdx

Activate specific event handlers and functions (supported: ox, esx, qbx, nd)

setr inventory:framework "esx"

Number of slots for player inventories

setr inventory:slots 50

Maximum carry capacity for players, in grams (frameworks may override this)

setr inventory:weight 30000

Number of slots for drop inventories

setr inventory:dropslots 50

Maximum drop capacity, in grams

setr inventory:dropweight 30000

Integrated support for qtarget/ox_target stashes, shops, etc

Note: qtarget is deprecated, a future update may drop support (ox_target only, or gated features)

setr inventory:target false

Jobs with access to police armoury, evidence lockers, etc

setr inventory:police ["police", "sheriff"]

Set dumpsters as networked entities. Not recommended due to CNetObj limits and entity lockdown.

setr inventory:networkdumpsters 0

Client

The URL to load item images from

setr inventory:imagepath "nui://ox_inventory/web/images"

Weapons will reload after reaching 0 ammo

setr inventory:autoreload false

Blur the screen while accessing the inventory

setr inventory:screenblur true

Default hotkeys to access primary and secondary inventories, and hotbar

setr inventory:keys ["F2", "K", "TAB"]

Enable control action when inventory is open

setr inventory:enablekeys [249]

Weapons must be aimed before shooting

setr inventory:aimedfiring false

Show a list of all nearby players when giving items

setr inventory:giveplayerlist false

Toggle weapon draw/holster animations

setr inventory:weaponanims true

Toggle item notifications (add/remove)

setr inventory:itemnotify true

Toggle weapon item notifications (equip/holster)

setr inventory:weaponnotify true

Disable drop markers and spawn a prop instead

setr inventory:dropprops true

Set the default model used for drop props

setr inventory:dropmodel "prop_med_bag_01b"

Disarm the player if an unexpected weapon is in use (i.e. did not use the weapon item)

setr inventory:weaponmismatch true

Ignore weapon mismatch checks for the given weapon type (e.g. ['WEAPON_SHOVEL', 'WEAPON_HANDCUFFS'])

setr inventory:ignoreweapons []

Suppress weapon and ammo pickups

setr inventory:suppresspickups 1

Disables weapons for all players

setr inventory:disableweapons 0

Enable /steal command registration

setr inventory:enablestealcommand 1

Disable inventory setup notification (Inventory is ready to use)

setr inventory:disablesetupnotification 0

Server

Compare current version to latest release on GitHub

set inventory:versioncheck true

Stashes will be wiped after remaining unchanged for the given time

set inventory:clearstashes "6 MONTH"

Stashes will be saved in groups and not individually per query

set inventory:bulkstashsave 1

Discord webhook url, used for imageurl metadata content moderation (image embeds)

set inventory:webhook ""

Logging via ox_lib (0: Disable, 1: Standard, 2: Include AddItem/RemoveItem, and all shop purchases)

set inventory:loglevel 1

Item prices fluctuate in shops

set inventory:randomprices true

Loot will randomly generate inside unowned vehicles and dumpsters

set inventory:randomloot true

Minimum job grade to remove items from evidence lockers

set inventory:evidencegrade 2

Trim whitespace from vehicle plates when checking owned vehicles

setr inventory:trimplate true

Set the contents of randomly generated inventories

[item name, minimum, maximum, loot chance]

set inventory:vehicleloot [ ["cola", 1, 1], ["water", 1, 1], ["garbage", 1, 2, 50], ["panties", 1, 1, 5], ["money", 1, 50], ["money", 200, 400, 5], ["bandage", 1, 1] ]

set inventory:dumpsterloot [ ["mustard", 1, 1], ["garbage", 1, 3], ["money", 1, 10], ["burger", 1, 1] ]

Used to enforce custom item images set in item metadata

Only enforced when inventory:webhook is set to a valid discord webhook url

set inventory:validhosts { "r2.fivemanage.com": true, "i.fmfile.com": true }

Set the markers for the various drops, stashes, shops

These all follow the same strucutre, if the json strings are invalid it will fallback to a generic marker

setr inventory:dropmarker { "type": 2, "colour": [150, 30, 30], "scale": [0.3, 0.2, 0.15] }

setr inventory:shopmarker { "type": 29, "colour": [30, 150, 30], "scale": [0.5, 0.5, 0.5] }

setr inventory:evidencemarker { "type": 2, "colour": [30, 30, 150], "scale": [0.3, 0.2, 0.15] }

setr inventory:craftingmarker { "type": 2, "colour": [150, 150, 30], "scale": [0.3, 0.2, 0.15] }

Set items to sync with framework accounts

set inventory:accounts ["money"]


## Framework incompatibilities

- Any frameworks with their own built-in inventory, item, or weapon systems are expected to have compatibility issues.
- Money as an item may conflict with banking/account systems.
  - You can sync these values with [server.syncInventory](https://github.com/overextended/ox_inventory/blob/aff8ef9e9ee3f93f177ce03b3f37895ff5781800/modules/bridge/nd/server.lua#L64-L77).

Refer to issue [#1297](https://github.com/overextended/ox_inventory/issues/1297) for known compatibility issues.

## Using an unsupported framework

If your framework does not have official support you'll have to implement it yourself.  
If you're replacing an existing/built-in inventory system this may be complicated, but is a fairly simple task otherwise.

This setup is highly opinionated and rigid, so it's up to your own ability as a developer to make it work.

### Setup a bridge submodule [step]

You'll want to set the target framework first - this could be the name, an acronym, or just "custom".

```bash
setr inventory:framework "custom"

Copy the ox directory from the bridge directory and give it the name you used above.

The bare minimum functions and event handlers are added here, but you'll need to change them to match your framework; we can't provide any help here. You can refer to the other framework bridges if you need inspiration.

Setup database references [step]

Take a look at the mysql module. You'll need to reference your player/vehicle tables and id columns.

elseif shared.framework == 'custom' then
    playerTable = 'characters' -- table storing player / character data
    playerColumn = 'charid'    -- primary key for identifying the character (i.e. identifier, citizenid, id)
    vehicleTable = 'vehicles'  -- table storing owned vehicle data
    vehicleColumn = 'id'       -- primary key for identifying the vehicle (i.e. plate, vin, id)
end
Back to documentation