Requirements
- A FiveM server already running cc_heistcontracts.
- ox_lib and oxmysql.
- A working
cc_libresource. - An inventory system (defaults assume ox_inventory).
- Streaming enabled on the server — the resource ships custom jammer assets.
Steps
Place the resource
Copy
cc_pacificheist into a resources directory the server loads. The repo ships under resources/[cc]/cc_pacificheist/. The stream/ folder must travel with it — the custom jammer props live there.Add the inventory items
- ox_inventory
- qb-inventory
Add the following items to Drop the matching item images into
ox_inventory/data/items.luaox_inventory/web/images/ (filenames must match the name of the item).The
weapon_digiscanner and weapon_assaultrifle requirements are standard ox_inventory weapons — no extra config needed if you’re on the stock weapons list.In the shipped Qbox
items.lua the thermite entry exists but is commented out at line ~830. Uncomment it before launching this heist.Configure gabz map-data
Changes need to be made in The
cfx-gabz-mapdata/gabz_entityset_mods1.luaReplace the gabz_sm_pb_milo entry with this:room16_vault_trolleys entry must be disabled — cc_pacificheist spawns its own trolley props during the run and the gabz set would duplicate them.Ensure after cc_heistcontracts
Order in
server.cfg:cc_pacificheist’s fxmanifest.lua already declares cc_heistcontracts as a dependency.Verify the jammer assets are streaming
The custom jammer props require the No error = good. If clients see invisible jammers, the
data_file 'DLC_ITYP_REQUEST' 'stream/cc_jammer.ytyp' line in fxmanifest.lua (already present). On first boot, watch the server console for:.ytyp isn’t being read — check that this_is_a_map 'yes' is still in fxmanifest.lua.(Optional) Tune the jammer difficulty
shared/config.lua:drainSeconds for a more forgiving fight; drop bumpAmount to make maintain runs more critical.Register the bank doors
- ox_doorlock
- qb-doorlock
Set
cfg.auto_insert_doors = true in shared/config.lua and the resource will insert its doors into the ox_doorlock table on first start (skipping any names already present). Leave it false if you manage doors manually.(Optional) Disable the bank manager
By default a manager ped (
IG_Avery) spawns at his PC armed with a pistol and shoots the crew. Set cfg.enable_manager = false in shared/config.lua to skip him.Verify in-game
- Grant a profile level 5 (
/heist:grantxp <playerId> 1500reaches level 5 on the default curve). - Open the dashboard via the
heist_tablet. Pacific Bank Heist drips into the marketplace at weight 0.2 — it’s rare. Lowerconfig.rotation.dripIntervalMsor temporarily bump the contractweightto 1.0 inshared/contract.luato test. - Buy it for 2,500 VICE, gather the items, drive to downtown.
Customising loot
shared/rewards.lua is the global loot table. When cfg.use_global_loot_table = true (default), totals are split across all lockers and all trolleys.
left, right, inside), each containing lockers and trolleys. The global table applies the rolled totals across every locker across every room, and similarly for trolleys. For per-room control, set use_global_loot_table = false and define rewards tables on each unit in shared/location.lua.