ts_esx-Storage
Warehouse and storage system for ESX with purchasable warehouses, access lists, stash inventories, and optional break-ins. Includes storage boxes and RageUI menus.
Features
- Buyable warehouses with interior IPLs.
- Access list management for owners.
- Shared stash inventories per warehouse.
- Storage boxes with their own inventories.
- Optional dispatch alerts and robbery flow.
Requirements
- FiveM server with cerulean fx_version.
- es_extended (ESX).
- oxmysql.
- esx_addoninventory (with the refresh hook in imports/import.lua).
- RageUI (included in this resource).
- Optional: cd_dispatch (if Config.CD_Disptach.Enable = true).
Installation
1. Place ts_esx-Storage in your resources folder (example: resources/[custom]/ts_esx-Storage).
2. Import the database schema and item:
```
imports/import.sql
```
3. Add the refresh hook to esx_addoninventory:
- Copy the contents of imports/import.lua into your esx_addoninventory server file as noted.
4. Ensure dependencies load before this resource.
5. Add to server.cfg:
```
ensure ts_esx-Storage
```
Configuration
Edit config.lua.
Core
- Config.BoxItem: Item name used for storage boxes.
- Config.BoxModel: World prop model for boxes.
- Config.BoxLimit: Max items in a box inventory.
IPL interiors
Config.IPL defines interior coordinates for small, medium, and big warehouses.
Dispatch / robbery
- Config.CD_Disptach.Enable: Use cd_dispatch integration.
- Config.CD_Disptach.Jobs: Jobs to receive alerts.
- Config.NeededCopsToRob: Minimum cops online to allow a robbery.
- Config.RobItems: Items required to break in.
- Config.RobTime: Min/max time (seconds) for each robbery stage.
Stashes
Config.Stashes defines shared stashes with group access (job/grade).
Warehouses
Config.Warehouse defines all buyable warehouses:
- Name: Display name.
- price: Purchase price.
- IPL: small, medium, or big.
- Stash.slots: Storage capacity.
- coords: Entrance coords.
Localization
Set Config.Locale and edit Config.Text for translations. All UI prompts and notifications use the translation table.
Events and callbacks
Server callbacks
- Trusted:Storage:CanAfford
- Trusted:Storage:UpdateWarehouseData
- Trusted:Storage:GetWarehouseData
- Trusted:Storage:WarehouseRing
- Trusted:Storage:HaveItems
- Trusted:Storage:GetEmployeeDataList
- Trusted:Storage:RemovePersonFromAccessList
- Trusted:Storage:AddPersonToAccessList
- Trusted:Storage:WasInWarehouse
- Trusted:Storage:CanRob
Client events
- Trusted:Storage:RegisterDispatch
- Trusted:Storage:UpdateWarehouseObject
- Trusted:Storage:CreatePropObject
Troubleshooting
- Warehouse menu not opening: verify IPL coords and Config.Warehouse entries.
- Inventory errors: confirm esx_addoninventory refresh hook is installed.
- Dispatch not working: ensure cd_dispatch is running or disable it in config.
