Fishing
🎣 TSS-Fishing Documentation
⚙️ Setup Instructions
1. Installation
Create a folder in your server resources called
[tinysprite]
(if not already created).Place the
tss-fishing
folder inside[tinysprite]
.Add the following to your
server.cfg
:
ensure [tinysprite]
Import the items from
_install/items
into your item management system (OX Inventory, QB Inventory, etc.).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, -- Show fishing zone debug markers
Menu = "ox", -- "qb" or "ox"
Notify = "qb", -- "qb", "ox", "esx", "okok", "gta"
ProgressBar = "ox", -- "qb" or "ox"
skillCheck = "ox", -- Skillcheck source: "ox" or "qb"
},
UseLevelSystem = false, -- Enables XP tracking via tss-skills or your own system
SkillCode = 'fishing', -- Used for XP type matching
DoubleXP = false, -- Enable to double the XP awarded per catch
JobRequired = {
Enable = false,
Jobcode = 'fisherman',
Label = "Fisherman",
},
FishAnywhere = true, -- Allow fishing anywhere, or restrict to zones
FishingZones = {
{Coords = vector3(-198.2, 794.38, 198.11), Radius = 20.0},
},
FishingRelievesStress = true,
StressReliefAmount = 1,
MiniGame = true, -- Enables the bite skillcheck minigame
CatchTime = {Min = 5, Max = 10},
PutRodAwayTime = 60, -- Seconds before auto-holstering rod
}
🎣 How Fishing Works
Stand near water.
Use your rod item (e.g.,
fishingrod
).You'll get a notification to apply bait.
Wait for a bite, then complete the minigame (if enabled).
Catch a fish from the matching bait list.
Cancel fishing anytime by using the rod again.
🎒 Fishing Items Setup
Each rod or bait is defined in Config.FishingItems
. Example:
['fishingrod'] = {
Type = 'rod',
CatchMultiplier = 20, -- % chance bonus
},
['fishingbait'] = {
Type = 'bait',
CatchList = { "fish", "stripedbass", "salmon" }
}
You can create unlimited rods and bait combinations.
🐟 Reward Table
Set catch chances and XP for each fish in Config.FishingRewards
.
Example:
["salmon"] = {
Chance = 70,
XPGive = 1
},
["tigersharkmeat"] = {
Chance = 30,
XPGive = 1
}
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:
tss-skills
(free)Your own skill tracker via
server/main/AddSkillXP()
Enable via:
UseLevelSystem = true,
SkillCode = 'fishing',
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 underFishingZones
.Auto Rod Timeout: Rods are auto-stowed if idle for
PutRodAwayTime
seconds.
🖥️ UI & Menu Support
Fully supports both
ox_lib
andqb-menu
.Notifications, minigames, and progress bars are all configurable.
System = {
Menu = "ox",
Notify = "qb",
ProgressBar = "ox",
skillCheck = "ox",
}
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