General Questions
What frameworks are supported?
What frameworks are supported?
The script supports QBCore, Qbox, and ESX through the Project X Bridge. Set
Framework to 'auto' in the bridge config and it will detect your framework automatically.Do I need the Project X Bridge?
Do I need the Project X Bridge?
Yes. The bridge is required for this script to function. It handles framework detection, inventory, dispatch, notifications, progressbars, XP, evidence, logs, and global cooldowns. See the Bridge Installation page for setup instructions.When you purchase FM Ammunation Robbery, the
projectx-bridge asset is automatically delivered to your CFX portal.What dispatch systems are supported?
What dispatch systems are supported?
The bridge supports 25+ dispatch systems including PS Dispatch, CodeSign, LB Tablet, FD Dispatch, Wasabi MDT, Sonoran CAD, and many more. Set
Dispatch to 'auto' in the bridge config for automatic detection. See the Bridge Overview for the full list.What location types are included?
What location types are included?
The script supports two location types:
- Shooting Ranges — Large locations such as Pillbox Hill and Cypress Flats
- Gun Stores — Smaller Ammunation locations across the map
Config.ShootingRanges and Config.GunStores.What is the difference between loud and silent approaches?
What is the difference between loud and silent approaches?
The loud approach involves threatening the employee with an allowed weapon. Dispatch can trigger immediately when the loud approach begins.The silent approach focuses on hacking, lockpicking, and stealth interactions. Dispatch timing is controlled by
DispatchLocation.How do I change which minigames are used?
How do I change which minigames are used?
Open
opensource/client/client.lua and find the projectx-ammunationrobbery-fm:client:Minigames callback. Each robbery step has its own elseif block where you can swap the minigame export for any resource you prefer. You can also return true inside any block to skip that minigame entirely.See the Open Source page for the full callback code and a table of the default minigame assignments.Configuration Questions
How do I require a minimum number of police?
How do I require a minimum number of police?
Set
MinimumPolice to the number you want in config/config.lua, and make sure the correct jobs are listed in PoliceJobs.How do I gate robberies behind an XP or level requirement?
How do I gate robberies behind an XP or level requirement?
Set
SkillSystem to true and configure MinimumLevel in config/config.lua. You also need a compatible XP system integrated in the bridge config (XPSystem).Supported systems include pickle_xp, sd-levels, cw-rep, and OT_skills.How do I set up bonus items at the end of a robbery?
How do I set up bonus items at the end of a robbery?
Enable
Bonus.Status and configure the Bonus.Items table in config/config.lua. Each item has a Chance percentage and an Amount range.How do I use global vs per-location cooldowns?
How do I use global vs per-location cooldowns?
Set
Cooldown.Global to true to lock all Ammunation locations when one is robbed. Set it to false for individual per-location cooldowns. Adjust the duration with Cooldown.Timer (in minutes).Troubleshooting
The script won't start
The script won't start
Make sure you have all required dependencies started before the script in your
server.cfg (projectx-bridge, ox_lib, minigames).Minigames fail immediately
Minigames fail immediately
Verify all minigame resources (
boii_minigames, bl_ui, pure-minigames, SN-Hacking) are started and placed outside the robbery script folder. The bridge’s MinigameCheck will return false if a minigame resource is missing.