Skip to content

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.