3M Weapon Menu

Documentation

At documentation file you can search for guidelines, error fixes and find answers to your questions.

https://3m-studio.gitbook.io/3m-documentation/

Weapon Menu (ESX + QBCore) — ox_inventory / qb-inventory Support

Preview

A lightweight, plug-and-play weapon menu for FiveM that works on both ESX and QBCore with automatic inventory detection. If you’re running ox_inventory or qb-inventory, weapons are added as proper items . If no inventory is found, the script safely falls back to direct give. Includes an anti-cheat whitelist (server-side) so only configured weapons can be spawned.

Why this script?

  • Dual framework: Auto-detects ESX or QBCore.

  • Dual inventory: Works with ox_inventory and qb-inventory out of the box.

  • Works without inventory for native radial weapon menu also

  • Safe by design: Server checks against your configured weapon list before granting.

  • Zero friction: One keybind to open (default L), or use the command.

  • NUI ready: Simple UI hook already wired (you provide the HTML/CSS).


Features

  • ✅ ESX & QBCore autodetect (or force via config)

  • ✅ ox_inventory → ammo stored in metadata

  • ✅ qb-inventory → uses shared items (weapon_*)

  • ✅ Fallback to direct give (if no inventory is running)

  • ✅ Server-side whitelist (anti-cheat) using Config.WeaponCategories

  • ✅ Customizable default ammo amount

  • ✅ Key mapping: change the open key without touching controls

  • ✅ Small, clean codebase (client/server/config)


Requirements

  • One of the following frameworks:

    • ESX (1.2+ / legacy)

    • QBCore

  • Optional inventories (auto-detected):

    • ox_inventory

    • qb-inventory