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. Restartcc_fishing after editing.
Treasure minigame
Cracking a sunken safe runs a minigame defined inclient/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:
cc_minigames safe-cracker works underwater (needs cc_minigames running):
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.