BUPA Weapon Bag
BUPA Weapon Bag
BUPA Weapon Bag is a tactical bag your players can actually put down. The bag is an ordinary inventory item; using it spawns a physical bag in front of the player, which they aim into place — turning it, raising it, pushing it further out — before dropping it on the ground, a table or a car boot. Target the placed bag to open it.
The interface shows the weapons the player is carrying on the left and the open bag on the right. You drag a weapon onto a pocket and it settles into that compartment, lying along it rather than pasted flat across it. Each pocket only accepts matching categories, so a rifle goes in a full-length pocket and a pistol goes in a sidearm slot.
Weapon metadata — ammo counts, attachments, serial numbers, durability — is preserved on the way in and on the way out. Pick the bag up and its contents are written into the item's own metadata, so a loaded bag travels in the player's inventory and comes back out loaded.
Key features
- Physical placement with a live preview — a translucent ghost bag follows the player until they are happy with it, tinted when it cannot be dropped where they are pointing.
- Fine placement controls — turn with the mouse wheel, raise and lower, push it nearer or further, hold SHIFT for fine steps, G to reset, E to place, X to cancel.
- Shaped pockets — ten pockets by default across primary, SMG, sidearm, melee, ammo, attachment and throwable categories, each defined as a rectangle on the bag picture in percentages.
- Category matching — weapons are sorted by name, so you never have to maintain a full weapon list; only the exceptions you care about.
- Stacked ammo pockets — an ammo pocket holds a whole stack and asks how many rounds to move.
- Metadata safe — ammo, attachments, serials and custom labels survive every transfer.
- Persistent — placed bags are stored in MySQL and are still there after a server restart.
- Ownership and raids — only whoever placed a bag can open it by default; police jobs can open any bag, and that is logged separately as a staff search.
- Its own sounds — GTA has no zipper in its sound banks, so the bag ships with one, played by the interface. No interact-sound, no xsound, no audio bank to install.
- 10 languages through
ox_lib's locale system, with English as the fallback.
Compatibility
Everything below is auto-detected on start. You only set these by hand if you run a renamed fork.
| Layer | Supported | Config override |
|---|---|---|
| Inventory | ox_inventory, qb-inventory (also lj-inventory / ps-inventory), qs-inventory, codem-inventory, tgiann-inventory, classic ESX inventories |
Config.Inventory |
| Targeting | ox_target, qb-target, qtarget |
Config.Target |
| Framework | QBox (qbx_core), QB-Core (qb-core), ESX (es_extended), standalone |
— |
Item pictures in the interface come straight from your own inventory's image folder, so weapons look exactly as players already recognise them.
Dependencies
| Resource | Required | Purpose |
|---|---|---|
ox_lib |
Yes | Callbacks, notifications, text UI and locales |
oxmysql |
Yes | Storing placed bags |
| A targeting resource | Yes | Interacting with a placed bag |
The database table is created automatically on first start — there is no SQL to import. The only manual step is registering the bag item in your inventory; ready-made entries for every supported inventory are in the install/ folder.