fish-finsFishing

🎣 TSS-Fishing Documentation


⚙️ Setup Instructions

1. Installation

  1. Create a folder in your server resources called [tinysprite] (if not already created).

  2. Place the tss-fishing folder inside [tinysprite].

  3. Add the following to your server.cfg:

ensure [tinysprite]
  1. Import the items from _install/items into your item management system (OX Inventory, QB Inventory, etc.).

  2. Configure config.lua to suit your server’s preferences.


📁 Config Overview

The core settings can be found in config.lua. Example:

Config = {
    System = {
        Debug = true,            -- set true to view target/ped areas
        Menu = "ox",            -- "qb", "ox"
        Notify = "qb",            -- "qb", "ox", "esx, "okok", "gta"
        ProgressBar = "ox",     -- "qb", "ox"
        skillCheck = "ox",
    },
    Crafting = { --only here for bridge support
        showItemBox = true,--will only show if your inventory supports it
    },
    UseLevelSystem = false, --requires free script "tss-skills" link: https://github.com/TinySpriteScripts/tss-skills   (or configure your own in server/main/AddSkillXP)
    SkillCode = 'fishing', --must match a code from "tss-skills"
    DoubleXP = false, -- simply doubles the xp gained from fishing
    JobRequired = {
        Enable = false,
        Jobcode = 'fisherman',
        Label = "Fisherman",
    },
    FishAnywhere = true,-- if true will ignore table below
    FishingZones = {--ignored if Config.FishAnywhere = true
        {Coords = vector3(-198.2, 794.38, 198.11),Radius = 20.0},
    },
    FishingRelievesStress = true,
    StressReliefAmount = 1,
    MiniGame = true,
    CatchTime = {Min = 5,Max = 10},--how long from baiting rod to getting a "Bite"
    PutRodAwayTime = 60,--how many seconds of being idle before rod is put away
    FishingItems = {
        ['fishingrod'] = { -- item code
            Type = 'rod', --using 'rod' means you can use this item as fishing rod
            CatchMultiplier = 20, --in % so 20 mulitplier would mean a 20% increase in chance of catching the fish
        },
        ['fishingbait'] = {
            Type = 'bait', --using 'bait' means you can use this item as bait
            CatchList = { --items from Config.FishingRewards below
                "fish",           
                "stripedbass",    
                "bluefish",       
                "salmon",         
                "redfish",        
            },
        },
        ['fishingbait2'] = {
            Type = 'bait', 
            CatchList = {  
                "pacifichalibut", 
                "goldfish",       
                "largemouthbass", 
                "catfish",        
            },
        },
        ['fishingbait3'] = {
            Type = 'bait',
            CatchList = { 
                "tigersharkmeat", 
                "stingraymeat",   
                "killerwhalemeat",
            },
        },
    },
    FishingRewards = {
        ["fish"] =            {Chance = 90,     XPGive = 1},
        ["stripedbass"] =     {Chance = 70,     XPGive = 1},
        ["bluefish"] =        {Chance = 70,     XPGive = 1},
        ["salmon"] =          {Chance = 70,     XPGive = 1},
        ["redfish"] =         {Chance = 60,     XPGive = 1},
        ["pacifichalibut"] =  {Chance = 60,     XPGive = 1},
        ["goldfish"] =        {Chance = 60,     XPGive = 1},
        ["largemouthbass"] =  {Chance = 50,     XPGive = 1},
        ["catfish"] =         {Chance = 50,     XPGive = 1},
        ["tigersharkmeat"] =  {Chance = 30,     XPGive = 1},
        ["stingraymeat"] =    {Chance = 30,     XPGive = 1},
        ["killerwhalemeat"] = {Chance = 100,     XPGive = 1},
    },
}

🎣 How Fishing Works

  1. Stand near water.

  2. Use your rod item (e.g., fishingrod).

  3. You'll get a notification to apply bait.

  4. Wait for a bite, then complete the minigame (if enabled).

  5. Catch a fish from the matching bait list.

  6. Cancel fishing anytime by using the rod again.


🎒 Fishing Items Setup

Each rod or bait is defined in Config.FishingItems. Example:

You can create unlimited rods and bait combinations.


🐟 Reward Table

Set catch chances and XP for each fish in Config.FishingRewards.

Example:

  • Chance is the likelihood of being caught (higher = more common).

  • XPGive is the XP awarded if using a skill system.


🧠 Optional Skill System

You can track player fishing XP using:

Enable via:

Supports Double XP via DoubleXP = true.


🧩 Extras

  • Stress Relief: Set FishingRelievesStress = true to reduce stress per catch.

  • Fishing Zones: Set FishAnywhere = false and define zones under FishingZones.

  • Auto Rod Timeout: Rods are auto-stowed if idle for PutRodAwayTime seconds.


🖥️ UI & Menu Support

  • Fully supports both ox_lib and qb-menu.

  • Notifications, minigames, and progress bars are all configurable.

Adjust to match your server's framework or visual preferences.


📦 Dependencies

Required:

Jim_Bridge is a cross-framework tool used to support menus, notifications, minigames, and more. It can be extended to support other inventories or frameworks easily.


🔧 Developer Notes

  • No database required — zero DB queries used

  • Easy to extend with new rods, bait types, or reward logic

  • Modular by design — fishing logic is self-contained and performance optimised


© TinySprite Scripts — Building immersive and optimised roleplay tools for FiveM.

Last updated