DirkScripts Logo

Login With FiveM

Login

๐ŸŽฃ Fishing Sim
โ€บ

Configuring Fishing

Configuring Fishing

Every fish, zone, permit, shop, tool, dig spot and player level in dirk_fishing is editable from the in-game Config Studio panel. Changes save to the dirk_scriptConfig database table and apply live โ€” no SQL imports, no Lua edits, no resource restart.

โœ… Opening the panel

You have two options, both registered by dirk_lib:

  • /dirk_fishing โ€” opens Config Studio straight to fishing's page.
  • /dirk_config โ€” opens the same panel with every dirk script on the server listed in the left rail, so you can move between them without closing it.

Only players with the configured admin permission (set up via dirk_lib) can access either command.

Fishing's settings inside Config Studio

Fishing's own page inside Config Studio, shared with every other dirk script.


  • Undo / Redo โ€” step back and forward through this session's edits.
  • Save โ€” persist pending changes. Nothing is written until you press it; a badge shows how many edits are staged.
  • Discard โ€” drop the staged edits.
  • Change history โ€” timestamped audit log of every change, who made it, and the old vs new values.
  • View or import JSON โ€” the whole config as raw JSON, and a way to paste one back in.
  • Reset everything to defaults โ€” wipe and reload the shipped defaults, with confirmation.

Sections

Fishing's page has these sections, listed down the left:

Players ยท General ยท Controls ยท Theme ยท Casting ยท Levels ยท Anchor ยท Fish Finder ยท Traps ยท Gutting ยท Permits ยท Tournaments ยท Daily Challenges ยท Logging ยท Basic ยท Fish ยท Equipment ยท Bait Dig ยท Zones ยท Stores

Access is no longer one of them โ€” who can open and edit fishing is set in /dirk_config โ†’ Admins, alongside every other script.


Players

Search and manage every player's fishing data. Each row shows character name, player name, online status, server ID, XP and level. Click a player to edit their level โ€” XP recalculates automatically. Permits can also be viewed and revoked here.

The Players page

Every angler on the server, what they have earned, and their pots and permits. Captured outside the game, so the character names and IDs shown are placeholders โ€” the layout and figures are real.


General

Server-wide behaviour and units โ€” five settings, and nothing that belongs to a feature.

  • Debug Mode โ€” debug logging, and it bypasses the rod setup requirement.
  • Interaction โ€” interact or target for store NPCs. interact is more immersive, target is more compatible.
  • Weight Unit and Distance Unit โ€” how catches and distances read to a player.
  • Stock Reset Interval โ€” how often equipment store stock is restocked. Only applies to items with a maxStock; unlimited items are unaffected.
The General section

Units, the interaction system, and how often shops restock.

โ„น๏ธ There used to be one Basic tab with six sub-tabs behind it. Everything in it now sits with the feature it belongs to: keybinds in Controls, cast behaviour in Casting, the XP curve in Levels, trap limits in Traps, licences in Permits, and the anchor, fish finder and gutting items each in their own section. Nothing was removed โ€” the values and their paths are unchanged, so exports, watchers and saved configs all still work.


Controls

The keys fishing actions start on. These are defaults the server hands out โ€” each player can rebind any of them for themselves in the pause menu under Settings โ€บ Key Bindings โ€บ FiveM, and their choice wins.

Separately, Keys While Fishing lists the GTA control IDs that stay usable while the rod UI is up. The UI normally disables everything, which also blocks voice โ€” 249 is push-to-talk, and that is why it is there by default.

The Controls section

Default bindings, and the keys that stay live while fishing.


Theme

Override the global dirk_lib theme just for fishing's panels. Pick a Mantine palette key plus a shade index, or pick custom and build your own from a base colour โ€” so fishing can match your server's look without touching every other dirk script.

Use Override is the master switch. While it is off, fishing follows the global theme, and the setting carries a link straight to it โ€” no hunting for which script owns the colour. The map icon colours (equipment, fish market, zone) live here too.

The Theme section

Fishing's own palette, and the switch that decides whether it is used at all.


Casting

How a cast behaves, and how hard a fish is to land.

  • Time To Cast โ€” seconds a player has to finish the casting minigame before it fails. Default 10.
  • Remove Bait On Fail โ€” the chance bait is consumed when a cast runs out with no bite. Default 100%, so a failed cast always costs bait; drop it if that feels punishing.
  • Spook Per Catch โ€” how much each catch dampens the odds of the same species biting again in that spot. Default 0.025, so a patch of water gradually goes quiet and players move on rather than farming one rock.
  • Cell Fish Density โ€” how many fish spawn per map cell, as a [min, max] range. Default [30, 60].
  • Max Artificial Depth โ€” the deepest reading reported for water GTA has no real depth for, like a rooftop or MLO pool. Default 4m, which keeps deep-water species out of a swimming pool.

Fight Difficulty is its own block, and it is off by default. Left off, every fish of a species fights identically no matter its size. Switched on, the three sliders below it scale with how close the hooked fish is to that species' maximum weight:

  • Zone Tighten โ€” how much smaller the good-zone gets. 0.15 = up to 15% tighter for a record fish.
  • Speed Boost โ€” how much faster it darts. 0.25 = up to 25% quicker.
  • Drain Boost โ€” how much faster the bar drains while you are off-target. 0.2 = up to 20% faster.

All three read 0 as "no change", so you can turn the feature on and bring in one dimension at a time.

Casting settings

How a cast behaves, and how hard a fish is to land.


Levels

The XP curve, and what a level unlocks. This is what gates higher-tier zones, gear and species.

Fishing's levels are now part of dirk_lib rather than fishing's own arithmetic, so any dirk script can have levels and every one of them is worked out the same way. The game, the panel and the guidebook all read the one calculation.

Levelling style is the shape of the climb, and it is a choice rather than a fixed curve:

  • Long haul โ€” early levels fly past, the last few are a project. What fishing has always used, and still the default.
  • Steady โ€” every level costs the same. Predictable, and flat at the top.
  • Classic RPG โ€” cost grows with the square. A real climb, without the cliff.
  • Reachable โ€” steep to begin with, easing near the ceiling, for a ladder players are meant to finish.

โ„น๏ธ Changing the curve never takes anyone's XP. A level is worked out from XP every time it is asked for and is never stored, so a new shape simply re-reads everyone against it. The same goes for Max Level and Modifier โ€” retune whenever you like.

The block draws the curve you are describing as you drag it: the climb, what a few real levels cost, the total to max, and how that compares with the default pace. Four numbers on their own cannot be read โ€” nobody looks at "modifier 1.4" and pictures how long level 10 takes.

Strict Catch Level sits at the top, because it decides whether the rest of the section applies to a fish at all. On, players only catch fish at or below their level โ€” matching the level needed to sell one. Off, fish up to ten levels above can still be caught at a reduced rate, but cannot be sold, which leaves players holding stock they cannot shift.

The Levels section

The XP curve behind levels, gating and gear.


Anchor

Holding a boat still while fishing from it, so a cast is not ruined by drift.

  • Using Anchor โ€” the master switch. Off, the whole feature disappears and boats behave as GTA leaves them.
  • Anchor Item โ€” the inventory item a player needs. Default anchor.
  • Anchor Toggle Time โ€” seconds to drop or raise it. Default 5, which is long enough to be a decision rather than a reflex.

Fish Finder

The sonar tablet that shows what is under the boat, and the item that opens it.

  • Fish Finder Item โ€” the inventory item. Default fishfinder.
  • Fish Finder Tablet Model โ€” the prop held while it is open. Default prop_cs_tablet.

โš ๏ธ Change the tablet model and you must make sure that prop is streamed on your server. An unstreamed model does not error โ€” the player simply holds nothing, which reads as the feature being broken.


Traps

Crab pots: passive fishing that runs while the player is doing something else.

  • Max Traps Per Player โ€” how many one player may have out at once. Default 10.
  • Min Trap Distance โ€” how far apart two pots must be. Default 15 units, which stops a player carpeting one bay.
  • Trap Max Depth โ€” the deepest water a pot may be dropped in. Default 50m, so pots cannot be lost somewhere they can never be pulled from.
  • Trap Catch Rate โ€” a multiplier on the per-tick catch chance. A trap ticks every 90 seconds, and missed ticks are caught up when it is opened, capped at two hours so a pot left for a week does not empty the ocean into one haul.
  • Trap Stale Time Hours โ€” how long an unchecked pot survives before it is cleared away. Default 48, which keeps a server from filling with pots belonging to players who left months ago.
  • Show Trap Blips โ€” minimap blips for a player's own pots. Other players' pots are never shown, so this cannot be used to find someone else's gear.
  • Trap Pull Timeout โ€” seconds allowed for the pull minigame. 0 removes the timer.

A broken pot can still be pulled in โ€” the player keeps whatever it caught, and the pot itself is consumed.

Trap settings

Crab pots โ€” limits, fill rates, break chance and stale time.


Gutting

Turning a catch into meat. There are two minigames behind one system: cut for fish, crush for crustaceans and shelled species. Both produce the same meat item.

Items

  • Fish Gutting Item โ€” needed for the cut. Default fish_knife.
  • Crushing Item โ€” needed for the crush. Default meat_mallet.
  • Fish Meat Item โ€” what comes out of either. Default fish_meat.

How much meat you get

Yield is a fraction of the raw fish's weight, and where it lands between two bounds is decided by the player's fishing skill:

  • Min Weight Fraction โ€” what a complete beginner keeps. Default 0.4, so 40%.
  • Max Weight Fraction โ€” what a maxed-out player keeps. Default 0.9.
  • Minigame Accuracy Weight โ€” how far a well-played minigame can push the yield above the skill baseline. Default 0.5.

So skill sets the floor and accuracy earns the rest. A new player who plays perfectly still does not out-cut a veteran.

The minigame

  • Use Minigame โ€” off gives a silent, skill-only cut with no interaction at all.
  • Skill Easing โ€” how much fishing skill softens the game: slower pulse, wider tolerance. Default 0.6.
  • Rarity Difficulty โ€” how much a rare species hardens it: faster pulse, longer cut path. Default 0.5.
  • Cut Forgiveness โ€” how close to the line still counts. Default 0.55.

Between them, easing and rarity mean a novice gutting a trophy fish has a genuinely hard time and a veteran gutting a minnow barely notices it.

Tools and selling

  • Tools Break โ€” off by default. On, the knife and mallet consume a use per action and are removed when spent.
  • Fish Knife Uses / Meat Mallet Uses โ€” how many actions a fresh tool has. Defaults 50 and 40. Both only apply while Tools Break is on.
  • Sell Meat โ€” whether the fish market buys meat at all.
  • Meat Sell Bonus โ€” a multiplier on the source species' price. Default 1.25, so gutting is worth +25% over selling the fish whole โ€” the reason to bother.
  • Random Rewards โ€” items that may drop on a successful gut, rolled per fish and independent of how well the minigame was played.

Settings that only affect the minigame grey out when it is switched off, so the section always reflects what is actually in play.

Gutting settings

Meat yield, tool wear, and the cutting minigame.


Permits

The licence system: a global permit to sell at all, plus per-zone and per-fish permits set on those zones and species.

  • Disable Permits โ€” turns the lot off in one toggle: the market licence, every zone and fish permit, and the Manage Permits option in stores. Useful if you run your own licensing and want fishing to stay out of it.
  • Permit Item โ€” the card in the player's inventory. Default fishing_permit.
  • Permit Price โ€” what the global permit costs. Default $500.
  • Permit Interval โ€” how long it lasts, in hours. Default 168 (one week); 720 is roughly a month.
  • Permit Accounts โ€” which accounts can pay. Default cash and bank.
  • Replace Permit Price โ€” the cost of replacing a lost card. Default $100.
  • Permit Revokers โ€” jobs or gangs that can take a player's permits away, each with a minimum grade. Ships as police at grade 2, so a junior officer cannot revoke on a whim.

โ„น๏ธ Revoking is a roleplay tool, not a punishment system โ€” it is logged like any other event, so /dirk_config โ†’ Logs will show who revoked what and when.

Permit settings

Licences, per-zone and per-fish permits, and the master off-switch.


Tournaments

Scheduled competitions that run themselves. The server handles the schedule, signup, scoring and payout; you describe the event and it takes care of the rest. Players see it in the Guidebook's Tournaments tab.

Ten are configured out of the box โ€” from the free Daily Open and Beginner's Bell up to Apex Predators, a weekly $10,000-entry hunt for marlin and tuna โ€” so there is a working ladder on a fresh install and something to copy when you write your own.

Each tournament sets:

  • Scoring โ€” weight (heaviest single catch) or count (most fish landed).
  • Fish โ€” restrict it to named species, or leave empty for anything.
  • Location โ€” restrict it to one zone, or leave empty for anywhere.
  • Prize mode โ€” fixed pays a pool you set; pot builds the pool from entry fees, so a busy event pays better.
  • Prize split โ€” percentages down the placings, e.g. [60, 30, 10].
  • Entry fee, and min / max participants โ€” an event that does not reach its minimum does not run.
  • Recurring โ€” daily, weekly (on chosen days) or monthly, with a start hour and a duration in minutes.
Tournament settings

Scheduled competitions, scoring and prizes.

***

Daily Challenges

A rotating objective per player per day, drawn from templates you write.

  • Enabled โ€” the feature switch.
  • Reset At โ€” the server-local hour the day rolls over. Default 0, midnight.
  • Reward Multiplier โ€” a single global scale on every challenge reward, XP and money alike. The knob to turn when the whole economy feels off, rather than editing every template.
  • Templates โ€” the challenges themselves.

Each template carries a level band, and the daily roll only considers templates whose band includes that player's level โ€” so a level 3 player is never handed "land a bluefin tuna". Between them the bands need to cover every level a player can reach; a gap means somebody rolls nothing.

A template's goal is one of three types โ€” catch count (any fish), catch species (one named species) or catch weight (a total across the day) โ€” plus a target range, a reward, and the band it belongs to.

The daily pick is seeded on the player and the date, so it cannot be re-rolled by relogging, and a species challenge prefers something that player has not caught yet.


Logging

Two settings here; where the lines actually go is set once in dirk_lib rather than per script.

  • Enabled โ€” whether fishing logs its events at all.
  • Suspicious sale threshold โ€” any sale paying out over this is flagged, so abuse stands out at a glance.

Everything else lives in /dirk_config โ†’ Logs: every dirk script's lines are kept on your own server and searchable by script, event, player or text, and redirects send matching lines on to Discord as well โ€” to a channel your bot posts in, or to a webhook URL, filtered by script, event or level.

Fishing used to carry its own webhook and event toggles. If you had one set, it is carried over into a redirect the first time the script loads โ€” nothing to re-enter.


Basic

One list: Misc Items โ€” the loose items fishing installs that have no section of their own. Anything configured elsewhere (the gutting knife, the permit, the anchor) is set there, not here.


Fish

Full create / edit / delete for every species. Each fish has four sub-tabs:

  • General โ€” name, label, description, permit toggle, info-unlock level.
  • Stats โ€” bite chance (rarity slider), weight range, strength per kg, fight chance, abundance.
  • Ecology โ€” water types, depth range, accepted bait types (each with a per-bait preference weight), fixed base sell price ($/kg).
  • Gutting โ€” chance of finding worms, plus reward items with min/max amount and drop chance.

โ„น๏ธ The chance and rarity sliders read as words rather than numbers โ€” Rarely / Sometimes / Often for a chance, Very rare through Everywhere for abundance. Nobody can picture what 0.42 means for how often a fish bites; the number is still there underneath and still what gets saved.

The fish list

Every species, with its own weights, depths, bite chance and rewards.

***

Equipment

Seven categories: Rods, Reels, Lines, Hooks, Bait, Weights and Traps. Common fields are name, label, level requirement and description. Category-specific:

CategoryExtra Fields
RodsStrength, cast distance range, prop model
ReelsStrength, depth limit
LinesStrength
HooksWeight range it can handle
WeightsWeight value (grams)
BaitDig toggle, dig quantity, per-ground-type chance sliders (21 materials)
TrapsCapacity, prop model, trap-only fish list

The anchor, fish finder, gutting knife, guidebook and permit are not here โ€” each is set in its own section, and they surface read-only under Basic โ†’ Misc Items so you can see them in one place.

The equipment lists

Rods, reels, lines, hooks, bait, weights and traps.

***

Bait Dig

Three sub-tabs: Settings, Random Items, Tools.

  • Settings โ€” regen time for dug spots, random-item chance, grid density range.
  • Random Items โ€” bonus drops in dig spots (item or account, chance, amount range).
  • Tools โ€” per-tool stamina cost, dig time and durability.
Bait dig settings

Where bait can be dug, with what, and how it regenerates.

***

Zones

Interactive map editor with three layers:

  • Fishing Zones โ€” drawn polygons with info, level requirement, bite timing, density / abundance / weight modifiers, permit toggle and per-fish overrides.
  • Depth Overrides โ€” force a specific water depth in areas where GTA gets it wrong (use depth 0 to mark unfishable).
  • Sea Boundary โ€” a single polygon separating freshwater (inside) from saltwater (outside).

Layer visibility toggles let you focus on one type at a time while editing.

The zones map

Every area is drawn on the map, never typed as coordinates.

***

Stores

CRUD for equipment shops, fish markets and the bait market. Every store has four tabs:

  • Basic โ€” ID, name, level requirement, type (Equipment / Fish Market / Bait Market), NPC models, payment methods, opening hours, map blip.
  • Locations โ€” every NPC spawn point as (x, y, z, heading).
  • Categories โ€” item groupings used in the store UI.
  • Stock โ€” per-item price. Equipment stock takes a flat $ price per item. Fish market stock takes a variance range as signed percentages (e.g. -5%โ€ฆ+5% or +5%โ€ฆ+20%) applied to the fish's base price โ€” a live $/kg preview shows the exact resulting range. Individual stock items can be level-locked so high-tier gear unlocks gradually.
The stores list

Shops, their stock, categories and opening hours.

***

Access

Fishing no longer has its own Access tab. Who can open and edit it is set in /dirk_config โ†’ Admins, along with every other script โ€” grant a person or an ACE group, at edit or view level, scoped to particular scripts if you want.

Any per-resource grants you had are folded into that page automatically the first time fishing loads.


Manual JSON Editing

Click View or import JSON to open the entire configuration in a validated JSON editor. Useful for:

  • Bulk edits
  • Backing up config
  • Transferring settings between servers

A pasted config is checked against the same rules as the form โ€” a number out of bounds, an enum spelled wrong or a required field left blank is caught here too, rather than applying silently. Only changed keys are saved (the panel diffs against current state).


History / Audit Log

Every change is logged with:

  • Timestamp
  • Admin who made it
  • Setting path, old value, new value

Filter by admin name or setting path to find specific changes.


Storage

Everything persists to the dirk_scriptConfig table โ€” a single source of truth. No server restart is ever required to apply config changes.

Last updated on 30 September 2026

Copyright ยฉ 2026 DirkScripts.

Not affiliated with or endorsed by Rockstar North, Take-Two Interactive, or any other rights holders. FiveM is a copyright and registered trademark of Take-Two Interactive Software, Inc.
Our checkout system is provided by Tebex Limited, who manage payment processing, product delivery, and billing support. Prices shown in currencies other than GBP are approximate conversions updated daily. All purchases are processed in GBP, so the final amount charged may vary depending on your bank or payment providerโ€™s exchange rate.