Skip to main content

Configuration

wasabi_inventory separates shared, client, and server settings. Setting names are case-sensitive.

Shared configuration​

File: config/shared/config.lua

SettingPurpose
DebugEnables verbose diagnostic output. Disable in production.
UIColorHex accent color pushed to the inventory UI at runtime.
PlayerSlotsDefault player inventory slot count.
HotbarSlotsNumber of slots reserved for the quick-use hotbar.
PlayerMaxWeightDefault player capacity in grams.
WeaponClipSizesServer-owned base, extended, and drum magazine limits.
WeaponMaxAmmoMaximum ammunition tracked for a weapon.
DropSlots / DropMaxWeightDefault slot and weight limits for ground drops.
DropProximityClient interaction distance for a nearby drop.
DropOpenDistanceServer-side distance check applied when opening a drop.
DropStayDistanceDistance at which an open drop closes automatically.
DropProps / DropProp / DropMarkerGround-drop prop and marker presentation.
ShopProximity / ShopStayDistanceShop interaction and automatic-close distances.
VehicleTrunkDistanceClient trunk access-point distance in metres; default 1.5.
VehicleOpenDistanceServer maximum distance to the vehicle entity when opening normally; default 16.0 metres.
VehicleStayDistanceClient trunk stay-distance setting; default 2.0 metres. See the behavior note below.
TrimVehiclePlateRemoves all whitespace from plate keys when enabled; default true. Plates are uppercased regardless.
PoliceJobsJobs and minimum grades allowed to search living players.
PlayerLootEnables and configures looting an eligible or dead player.
PoliceSearchEnables and configures police inventory searches.
SafeSlotEnables the protected slot beneath the backpack area.
ItemNotifyEnables item-added and item-removed notifications.
AccountsFramework money accounts represented as inventory items.
ThrowingItem/weapon throwing, keybind, force, distance, cooldown, and pickup behavior.

Account items​

The default account entries are money and black_money. Each configured account must also have an item definition in data/items.lua.

QBCore and Qbox map money to the framework's cash account. ESX reads matching account names directly. Account synchronization is enabled separately with the server-side SyncAccounts option.

PoliceJobs, PlayerLoot, and PoliceSearch control how another player's inventory may be opened. Keep the server-side range and eligibility checks enabled in production and test integrations such as police searches and death looting.

Throwing​

Throwing is opt-in per item after the feature is enabled. Normal items require canThrow = true and a throwProp. Weapons use canThrow = true in data/weapons.lua; native grenade-style weapons use the separate throwable = true behavior.

Vehicle storage definitions​

File: data/vehicles.lua

This file defines trunk and glovebox capacities independently of stash definitions:

  • classes: entries with a numeric GTA vehicle-class id and optional trunk / glovebox capacity tables. Each capacity uses slots and maxWeight (grams).
  • models: model-hash entries overriding the class capacity for either compartment. A missing model override falls back to its class; a compartment with neither capacity is unavailable.
  • rules.blocked: models with neither storage compartment available.
  • rules.noTrunk / rules.noGlovebox: disable the specified compartment.
  • rules.frontTrunk: models whose trunk access point is at the front/hood.

Keep a model in only one rule list. The current lookup retains one rule per model, not a combination of flags.

For example, an entry inside models can override just the trunk while keeping the class glovebox capacity:

{
model = `sultan`,
trunk = { slots = 30, maxWeight = 120000 },
},

VehicleTrunkDistance is measured at the client access point, while VehicleOpenDistance is a server check against the entity position. They are not interchangeable. The current trunk monitor rechecks access and uses VehicleStayDistance + VehicleTrunkDistance as its movement threshold when that access check fails; it is not an exact independent two-metre cutoff. Glovebox access requires remaining in the vehicle.

Changing plate normalization or reducing storage capacities on an existing server requires a database backup and staging checks. See Installation.

Client configuration​

File: config/client/config.lua

SettingPurpose
interactSelects ox_target, qb-target, sleepless_interact, or drawText.
drawTextDistance and sprite options for the built-in world prompt fallback.
OpenKeyRebindable key used to open or close the inventory.
HotbarKeyRebindable key used to display the hotbar overlay.
ImagePathNUI path used to resolve item images.
EnableHotbarEnables the numbered hotbar slot keybinds.
WeaponAnimationsEnables inventory weapon equip/holster animations.
WeaponNotifyEnables weapon-related notifications.
WeaponAutoReloadControls automatic inventory weapon reload behavior.
WeaponMismatchEnforces inventory ownership of equipped weapons.
WeaponAttachTimeProgress duration for component attachment.
DisableNativeWeaponDropsBlocks ambient/native weapon and ammunition pickups.
GivePlayerListShows a nearby-player picker when multiple give targets are available.

If the selected interaction resource is unavailable, the client falls back toward the built-in draw-text interaction.

Server configuration​

File: config/server/config.lua

SettingPurpose
CheckForUpdatesChecks the Wasabi version endpoint during startup.
SaveIntervalInterval between saves of dirty inventories.
StashTableDatabase table used for persistent stashes. Defaults to ox_inventory so existing stash rows from common ox installs migrate; set another name for a fresh table.
SyncAccountsSynchronizes configured account-item counts with framework balances.
AdminRestrictedACE restriction passed to inventory administration commands.

The default ACE restriction is group.admin.