Requirements
- A FiveM server running ox_lib and oxmysql.
- A working
cc_libresource (provides Core, Groups, Inventory, Target, and TaskUI wrappers). - Optional: cc_minigames if you want the default training sandbox entries to work.
Steps
Place the resource
Copy the
cc_heistcontracts folder into a resources directory the server already loads. The repo ships under resources/[cc]/cc_heistcontracts/.Install the database schema
config.autoInstallDatabase in shared/config.lua is true by default — the resource auto-runs sql/install.sql on first start and creates the heist_profiles table if it doesn’t exist. Leave it on for a hands-off install.If you’d rather apply the schema yourself, set config.autoInstallDatabase = false and run the file manually:Ensure after the dependencies
Order matters in Heist resources that integrate with Without this, a heist resource that boots before
server.cfg:cc_heistcontracts should declare it as a dependency in their fxmanifest.lua so FXServer starts them in the right order:cc_heistcontracts will hit SCRIPT ERROR: No such export RegisterContract in resource cc_heistcontracts.Register the heist_tablet item
The dashboard is opened by using an inventory item, not a key or chat command. With ox_inventory, the shipped definition is:
Verify in-game
Join the server, give yourself a
heist_tablet (Contracts Tablet) item, and use it from your inventory. The dashboard should open and prompt you to pick an alias. The marketplace starts empty on a fresh boot — listings drip in one at a time on the configured interval (3 minutes by default), so the first contract appears after the first interval has elapsed.