A comprehensive fishing system for FiveM ESX servers featuring dynamic pricing, leveling system, multiple fishing zones, and various types of fish and equipment.
-
Dynamic Fishing System:
- Multiple fishing zones across the map
- Realistic fishing animations
- Auto-fishing with configurable cooldowns
- Level-based progression system
- XP-based rewards
-
Advanced Market System:
- Real-time dynamic pricing
- Configurable price fluctuations
- Visual price trends (up/down indicators)
- Modern selling interface
- Multiple fish species with different values
-
Equipment System:
- 3 types of fishing rods (upgradeable)
- Level-based equipment restrictions
- Catch rate bonuses per rod
- XP multipliers based on equipment
-
Progression System:
- Experience-based leveling
- Persistent catch statistics
- Individual progress tracking
- Statistics command
- ESX Framework
- MySQL Async
- FiveM Server Build 2802 or higher
- Clone this repository into your server's
resourcesdirectory
cd resources
git clone https://github.com/FourTwentyDev/fishing- Import the included SQL file:
CREATE TABLE IF NOT EXISTS fourtwenty_fishing (
identifier VARCHAR(50) PRIMARY KEY,
level INT DEFAULT 1,
xp INT DEFAULT 0
);
CREATE TABLE IF NOT EXISTS fourtwenty_fishing_catches (
identifier VARCHAR(50),
fish_name VARCHAR(50),
fish_count INT DEFAULT 0,
PRIMARY KEY (identifier, fish_name)
);- Add
ensure fourtwenty_fishingto yourserver.cfg - Configure using
config.lua - Start/restart your server
Config = {
Locale = 'en', -- Available: 'en', 'de'
Debug = false -- Enable debug logs and features
}Config.FishingSettings = {
autoFishing = true, -- Toggle automatic fishing after catch
autoCooldown = 5000, -- Time between auto-fishing attempts (ms)
cancelKey = 177, -- Key to stop fishing (BACKSPACE)
startKey = 38, -- Key to start fishing (E)
}Config.DynamicPricing = {
enabled = true, -- Enable/disable dynamic market
updateInterval = 10000, -- Price update frequency (ms)
priceFluctuation = {
min = 0.7, -- Minimum price (70% of base)
max = 1.3 -- Maximum price (130% of base)
},
maxPriceChangePercent = 15 -- Max price change per update
}-
Fishing Zones:
- Add/remove zones in
Config.FishingZones - Customize zone size, location, and blip settings
- Each zone needs:
{ name = "Zone Name", coords = vector3(x, y, z), radius = 50.0, blipColor = 26, blipAlpha = 64 }
- Add/remove zones in
-
Fishing Rods:
- Modify existing or add new rods in
Config.FishingRods - Customizable properties:
{ name = "Rod Name", item = "item_name", catchChance = 0.6, -- 0.0 to 1.0 xpMultiplier = 1.0, -- XP gain multiplier requiredLevel = 1 -- Level needed to use }
- Modify existing or add new rods in
-
Fish Types:
- Add/modify fish in
Config.Fish - Configurable attributes:
{ name = "Fish Name", item = "item_name", price = 100, -- Base price xp = 10, -- XP awarded rarity = 3 -- 1 (common) to 5 (rare) }
- Add/modify fish in
Add these items to your ESX items table:
INSERT INTO `items` (`name`, `label`, `weight`) VALUES
('fishing_rod_wood', 'Wooden Fishing Rod', 1),
('fishing_rod_carbon', 'Carbon Fishing Rod', 1),
('fishing_rod_pro', 'Professional Fishing Rod', 1),
('fish_mackerel', 'Mackerel', 1),
('fish_bass', 'Bass', 1),
('fish_salmon', 'Salmon', 1),
('fish_tuna', 'Tuna', 1),
('fish_swordfish', 'Swordfish', 1),
('fish_shark', 'Shark', 1),
('fish_anchovy', 'Anchovy', 1),
('fish_lobster', 'Lobster', 1);/fishingstats- Shows your fishing level, XP, and catch statistics
Add or modify languages in the locales folder. Example:
Locales['en'] = {
['press_sell_fish'] = 'Press ~INPUT_CONTEXT~ to sell fish',
['fish_caught'] = 'You caught a %s!',
['level_up'] = 'Fishing level increased to %s!',
['fish_sold'] = 'You sold your fish for $%s'
}For support:
- Join our Discord
- Visit fourtwenty.dev
- Create an issue on GitHub
This project is licensed under the MIT License - see the LICENSE.md file for details.
Made with ❤️ by FourTwentyDev
This README now includes:
- Detailed setup instructions
- Complete SQL setup
- All configurable elements
- Required items for ESX
- Clear examples of customization options
- Explanation of the dynamic pricing system
- Command list
- Localization guide
Would you like me to expand any section further?