Skip to main content

General Questions

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.
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 Sandy Bank Robbery, the projectx-bridge asset is automatically delivered to your CFX portal.
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.
Yes. Set Disable2PlayerPuzzles to true in config/config.lua to disable all two-player puzzles. You can then complete the entire robbery alone.
The silent approach is higher risk but offers a higher potential reward. Failing minigames during silent accumulates strikes, which reduce the number of trolleys available at the end. The loud approach is lower risk with a fixed trolley count controlled by StrikeLoud, but may trigger dispatch immediately.
Open opensource/client/client.lua and find the projectx-sandybankrobbery-prompt: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.
Use the /projectxsandybank in-game command (requires admin permissions), or call the Reset() server export from another resource:
exports['projectx-sandybankrobbery-prompt']:Reset()
See the Commands and Exports pages for more details.

Configuration Questions

Set MinimumPolice to the number you want in config/config.lua, and make sure the correct jobs are listed in PoliceJobs.
MinimumPolice = 2,
PoliceJobs = {["police"] = true, ["fbi"] = true}
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.
Enable Bonus.Status and configure the Bonus.Items table in config/config.lua. Each item has a Chance percentage and an Amount range.
Bonus = {
    Status = true,
    BonusChance = 15,
    ItemCount = 1,
    Items = {
        {Name = "x_device", Chance = 30, Amount = {min = 1, max = 1}},
    }
}

Troubleshooting

Make sure you have all required dependencies started before the script in your server.cfg (projectx-bridge, ox_lib, minigames).