Documentation Index
Fetch the complete documentation index at: https://docs.cc-scripts.com/llms.txt
Use this file to discover all available pages before exploring further.
cc_heistcontracts is the central hub other heist resources plug into. It owns:
- The player profile (level, XP, VICE balance, contract slots, completion stats, alias).
- The dashboard NUI (
F6by default, or/heist) — where players see available contracts, manage slots, shop the marketplace, and practice in the training sandbox. - The rotation — every 20 minutes (configurable) it picks a fresh subset of all registered contracts and exposes them as “available for purchase”.
- The slot economy — players hold up to 3 (configurable) purchased contracts; starting one consumes the slot and invokes the registered contract’s entry point.
- A VICE economy with a server-authoritative ledger.
- A marketplace for heist-prep items with timed pickup locations.
- A training sandbox that gates cc_minigames games behind level + VICE unlocks.
- A crew (group) layer wrapping
cc_lib.Groups.
Mental model
The single thing other resources actually need to do is register their heists:entry_point callback fires — that’s where your heist resource takes over.
Capabilities at a glance
Register contracts
Two exports —
RegisterContract and (legacy) StartContract. Your heist resource only needs the first.Configure rotation, slots, XP
Three config files:
shared/config.lua, shared/marketplace_config.lua, shared/training_config.lua. All hot-editable; restart the resource to apply.Dashboard NUI
F6 /
/heist. Sync, alias gating, contracts, rotation, slots, ledger, training. React/Vite app served from web/.Marketplace + pickups
VICE checkout, server-rolled pickup locations with time windows, ox_target zone with a “Knock” interaction.
Training sandbox
Practice cc_minigames games for free (no rewards, no penalty). Access fee + per-minigame unlocks behind level requirements.
Admin tools
/heist:grantxp (ACE-gated), debug seed contracts, log lines.Dependencies
ox_liboxmysqlcc_lib(Core, Groups, Inventory, Target wrappers)cc_minigames— only required if you wire training entries to them (the default config does)