Skip to main content
Everything cc_fishing exposes for tuning lives in shared/config.lua unless noted. Paths are relative to the resource root. Restart cc_fishing after editing.

Module toggles

cfg.modules. Flip any to false to disable that feature entirely — its NPCs, blips, target options, useable items, menu entries, and background loops all go dormant. Core fishing (the fishing NPC, casting, and selling fish) is always on.
Disabling treasure stops new treasure maps from dropping, but players can still sell treasure loot they already hold.

NPC placement

cfg.npc. Change the model or coords and restart; blips, peds, and target zones rebuild from this block.

Payment sources

cfg.money. Each entry is 'cash' or 'bank'.

Key tunables

Offline weekly-tournament winners are paid on their next login. Offline daily-tournament winners forfeit — daily events are live, in-zone only.

Editable Lua files

Each file is a plain Lua list — add, remove, reorder. Restart cc_fishing after editing.
These files are not escrow-locked, but renaming a fish or item id means also renaming its inventory item (see installation). Keep the ids in sync.

Treasure minigame

Cracking a sunken safe runs a minigame defined in client/minigames.lua (escrow-ignored). It returns true on success, false on fail/cancel — swap the body for anything with that contract and nothing else changes. Out of the box there’s no minigame — the safe opens on interact:
Safes are opened underwater, where the ox_lib skill check cancels itself instantly, so it’s not the default. Both alternatives ship commented in the file. To add a real gate, pick one. The cc_minigames safe-cracker works underwater (needs cc_minigames running):
The ox_lib skill check works only for land-based safes:
cfg.treasure.safe_difficulty ('easy' | 'medium' | 'hard') feeds either one. For a longer, multi-stage crack, pass an array — e.g. lib.skillCheck({ 'easy', 'easy', 'hard' }). Or use any other cc_minigames export — see the minigames reference.