Skip to content

Usage

How to fish

  1. Equip a fishing rod from your inventory.
  2. Stand near water and face it - the resource checks that water is in front of you.
  3. Use the rod item to cast your line.
  4. Wait for a bite, then interact to reel in.

By default, players can only fish inside designated fishing zones. Set AllowFishingOutsideZones = true in configs/zones.lua to allow fishing anywhere near water with reduced loot (common and uncommon only). Toggle zone blips at the Fishery NPC to find them on the map.

Zones

There are two zone types, each requiring a different bait:

Zone typeRequired baitNotable catches
Freshwaterfishing_bait_wormBullhead, Carp, Catfish, Perch, Rainbow Trout, Northern Pike, Jellyfish
Saltwaterfishing_bait_lugwormCroaker, Flounder, Sardine, Salmon, Tuna, Barracuda, Coral Grouper, Jellyfish

Zones on the map

Fishing zone blips can be toggled from the Fishery NPC (Selling Station).

Catch rates

Weighted catch probability within a designated zone:

RarityFreshwaterSaltwater
Common~70%~76%
Uncommon~20%~20%
Rare~9%~3%
Very Rare~1%~0.9%
Treasure (case)~0.1%~0.1%

Outside a zone the pool is limited to common and uncommon only.

Fishing rods

Higher-tier rods increase the weight of fish caught (heavier = higher sell price) and last longer before breaking.

RodRarityWeight modDurability loss/castShop price
BasicUncommon×0.81%$100
SportRare×1.00.5%$200
ProfessionalEpic×1.20.2%$550
AquaEpic×1.50.15%$750
GoldenLegendary×1.50.1%$1,000
Prodigy / SunsetEpic×1.4 / ×1.50.15%Tournament/challenge reward

Trash loot

Alongside fish, you can occasionally reel in trash items such as a fishing boot or a plastic cup. Using a fishing boot from your inventory opens a random loot roll:

ItemChanceAmount
Scrapmetal35%1–2
Rubber20%1–3
Gold Coins15%3–7
Ring10%2–5

Selling

Bring caught fish to a Selling Station and interact with the NPC to sell. Price is calculated from the fish's base value multiplied by its actual weight.

Daily challenges

Three challenges are generated each day. Challenge types:

TypeDescription
Catch X amountCatch a total of X fish
Catch X of a speciesCatch X fish of a specific species
Catch X kgCatch fish totalling X kg

Completing a daily challenge pays a cash reward ($250–$1,500 depending on difficulty). Progress and rewards are tracked at the Fishing Profile Board NPC.

Weekly & monthly rewards

The top fishers over a week or month earn prizes delivered to their personal winnings stash:

PeriodTop prize
WeeklyGolden fishing rod + $2,000 cash
MonthlyTrophy + Golden fishing rod + $5,000 cash

Configuration

configs/zones.lua

Each zone entry follows this structure:

lua
{
    name   = "Zone Name",
    coords = vector3(x, y, z),  -- centre of the zone
    radius = 150.0,              -- zone radius in metres
    bait   = "fishing_bait_worm",
    loot   = FreshwaterLoot,     -- or SaltwaterLoot
    zone   = "Freshwater",       -- or "Saltwater"
}

configs/loot.lua

Key variables:

VariableDescription
FishingLootAll fish species with weight range, model and base price
FishingLootTablesFish assigned to rarity tiers per zone type
FreshwaterLoot / SaltwaterLootWeighted rarity chances per zone type
PricesSell price per rarity tier per zone type

configs/fishing_rods.lua

Each rod entry:

lua
rod_item_name = {
    weight  = 1.0,      -- catch weight multiplier
    consume = 0.005,    -- durability lost per cast (1.0 = fully broken)
    price   = 200,      -- shop price (omit for non-purchasable rods)
    rarity  = "RARE",
    model   = `pr_fishingrod_03`,
}

configs/challenges.lua

VariableDescription
DailyChallengesNumber of daily challenges generated (default: 3)
ChallengesChallenge types with step amounts and cash rewards
Rewards.weekly / Rewards.monthlyItem + cash reward pool for tournament winners

configs/stations.lua

VariableDescription
SellingStationsList of selling station locations and headings
FishingProfileNPCPosition and blip settings for the profile board NPC