Skip to main content
cc_heistcontracts is the central hub other heist resources plug into. It contains:
  • The player profile (level, XP, VICE balance, contract slots, completion stats, alias).
  • The dashboard NUI — opened by using the heist_tablet (Contracts Tablet) inventory item — where players see available contracts, manage slots, shop the marketplace, and practice in the training sandbox.
  • The marketplace listings — new contract listings drip into the marketplace one at a time, weighted by each contract’s rarity. Old listings get culled after a configurable expiry.
  • The slot economy — players hold up to 3 (configurable) purchased contracts. Starting one marks the slot active; finishing or giving up consumes it.
  • The active-heist tracking — one heist per player at a time. The dashboard shows live state for the active slot and exposes a Give Up button that asks the heist resource to tear the run down.
  • 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.

Capabilities at a glance

Register contracts

One RegisterContract call with optional cancel + reset callbacks in opts. Plus FinishHeist/FinishContract to signal completion, and ApplyCooldown for server-wide locks.

Configure listings, 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

Opened by using the heist_tablet inventory item. Sync, alias gating, contracts, marketplace, active-heist panel, 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 logging, SQL recipes for profile resets and stuck slots.

Dependencies

  • ox_lib
  • oxmysql
  • cc_lib (Core, Groups, Inventory, Target, TaskUI wrappers)
  • cc_minigames — only required if you wire training entries to them (the default config does)