A focused follow-up to the first beta haul. Runtime shops now carry restrictions and open from your scripts, the player-search system is fully configurable, dynamic clothing is locked to its ped model, and a stack of fixes landed. Scroll to Updating for exactly which files to replace, add, and remove.
⚠️ Before you update
RegisterShopopens viaOpenInventoryonly. Runtime-registered shops no longer place a world marker or E-to-open prompt. Open them from your own script withOpenInventory(src, 'shop', name). SeeRegisterShop.- Dynamic clothing is now locked to its ped model. A piece created for one freemode model (for example
mp_m_freemode_01) can no longer be equipped on the other. The model it was made for is saved with the item, and its icon and equip resolve from that saved model instead of the wearer's current ped.
✨ Added
- Player search configuration. A new config section for the search-player system: turn the whole system on or off, choose which jobs can search, and allow searching based on the target's state (searchable, cuffed, dead), each toggleable. Leaving the allowed-jobs list empty hides the search option from everyone.
🔌 Exports
RegisterShop(server): now opened only throughOpenInventory(no world marker or E prompt), and supportsjob,gangandlicenserestrictions. ox_inventory'sgroupsmap onto our jobs for backwards compatibility.
🛠️ Fixed
- ox_inventory
RegisterShop(name, shopDetails)now uses the firstnameargument even whenshopDetailsalso carries aname; the explicit argument wins. - Editing a stash's slot count or max weight in the admin panel now applies live, instead of only after a restart.
- Cancelling an item use no longer leaves the inventory stuck in a locked state.
- Headshots in the give menu now load independently instead of waiting on one another.
- Restricted license points now hide when you lack access, matching shops, stashes and crafting, instead of showing but refusing to open.
- While searching another player, changing their clothing now applies to that player. Previously your own character played the animation and received the clothing.
- Player search no longer shows for players who shouldn't see it; it now respects the allowed jobs and the target's state.
- Removed leftover target-zone debug drawing on stashes (and any others left enabled).
♻️ Changed
- Shop items no longer show their label in the grid: the image, stock and price are enough, and the label is still in the context menu.
- Shops priced in cash or black money now show that currency's item image instead of a generic icon, using the item set in your config.
- An item that's usable through both our config and a framework-registered callback now runs both, instead of one blocking the other.
📦 Updating
Back up your install first. folder/* below means every file in that folder.
Replace with the new build:
fxmanifest.luaclient/main.lua,client/utils.lua,client/compat/*,client/modules/*server/main.lua,server/utils.lua,server/classes/*,server/compat/*,server/modules/*web/dist/*locales/*(keys were added and changed across every locale file). Replace wholesale, or merge with a diff tool if you maintain custom languages.
No files were added or removed this release, and no open-source integration files (server/integrations/, client/integrations/) changed, so there is nothing to merge by hand.
Restart the server fully after updating. Restarting one_inventory on its own from in-game disables the backwards-compatibility exports until the next full restart.
Looking for the developer API? See the documentation. 📚
