Comprehensive fishing and scuba diving career system for FiveM roleplay servers
FX-Fishing is a production-ready fishing and scuba diving career system supporting QBCore, Qbox, and ESX frameworks. It features a complete fishing loop with skill checks, night-only poaching with police heat mechanics, boat rental with anchor system, and an entirely separate scuba diving career with mission-based treasure hunting.
The system includes a Career Panel with story missions, achievements, quests, battle pass, and a live dynamic market with price charts. All economy systems are fully server-authoritative with self-installing database support.
0112 fish species across 6 fishing zones with level requirements and weighted catch pools
024 fishing rods and 3 bait types with level gating and trader progression
03Night-only poaching system with 0-100 heat meter and police dispatch alerts
04Black market buyer paying above legal traders with special rod and bait requirements
05Full anchor system that freezes boats at calm water level with auto-anchor on cast
06Independent scuba diving career with 9 dive sites across 5 difficulty tiers
07Mission-based treasure crates with seabed raycast placement and per-character cooldowns
08Oxygen system with tanks, automatic swap, warning thresholds, and safe auto-surface
09Diving crews up to 8 players with leader, admin, and member roles
1031 story missions (22 fishing, 9 diving) and 18 achievements
11Monthly seasons with automatic point resets and 9-tier fisher pass
12Daily and weekly quests with deterministic selection across all players
13Dynamic market with server-wide price drift, live charts, and demand indicators
14Weekly and all-time leaderboards with collection log and statistics
156 built-in panel themes switchable by player
16Fully server-authoritative economy with no client-side price or loot data
Supported Frameworks
QBCore
Qbox
ESX
Fishing System
Complete fishing loop with ox_lib skill check, cast timing, and weather-based rare species boost
12 fish species across 6 fishing zones with per-zone level requirements and weighted catch pools
4 fishing rods and 3 bait types with level gating and full trader progression
5 NPC traders with boat rental, spawn/return points, and proximity-verified transactions
Poaching System
Night-only poaching with 0-100 heat meter, police dispatch alerts, and catch confiscation
Hidden black market buyer paying far above legal traders (requires black market rod and illegal bait)
Boat System
Full anchor system that freezes the boat at calm water level
Auto-anchor on cast
Scuba Diving System
Independent scuba diving career with separate level track
9 dive sites across 5 difficulty tiers, including 2 illegal wrecks with dispatch risk
Mission-based treasure crates with players unable to steal each other's loot
Seabed raycast crate placement and per-character cooldowns that reconnecting cannot reset
Oxygen system with tanks, automatic tank swap, warning thresholds, and safe auto-surface fallback
Diving crews up to 8 players with leader, admin, and member roles (invite, kick, promote, transfer)
Live crew HUD with health, oxygen, distance panel, 3D markers, and zone-only blips
Career Progression
Career panel with 31 story missions (22 fishing and 9 diving) and 18 achievements
Monthly seasons with automatic point resets and 7-day login streak
9-tier fisher pass
Daily and weekly quests picked deterministically (identical for every player on the server)
Market and Economy
Live dynamic market with server-wide price drift, live charts, and demand indicators
Weekly and all-time leaderboards
Full collection log and detailed statistics pages
Fully server-authoritative economy with prices, catch chances, and loot tables never sent to client
User Interface
6 built-in panel themes switchable by player and remembered locally
Full-screen progression hub with seasons, story missions, achievements, quests, and battle pass
Security and Data
Treasure radar sends only angle and 0-1 heat value; crate coordinates never leave the server
Fully server-authoritative economy
Player fix commands (/rodfix, /divefix) and ACE-based admin level commands (/fxlevel)
Installation and Compatibility
Self-installing database with automatic table and column creation on first start
Framework, inventory, and target system auto-detected (QBCore/Qbox/ESX)
Optional resources (target, dispatch, fuel, vehicle keys, appearance) detected at runtime and skipped when missing
Ready-to-paste item definitions for ox_inventory, qb-inventory, qs/tgiann-inventory, and ESX
FX-CHAT replaces the default chat with something people actually want to type in.
FiveMQBCoreESX· 7 days ago
€10.00
fx-djDj
FX-Dj
FX-DJ is a club music system built on FX-SOUND, which means the audio is a real Web Audio graph rather than a volume slider.
FiveMQBCoreESX· 7 days ago
€79.00
fx-soundSound
FX-Sound
FX-SOUND is a 3D spatial audio backend for FiveM built on the Web Audio API — a drop-in alternative to xSound that can do what a plain audio element physically
FiveMQBCoreESX· 7 days ago
€20.00
The client bridge now accepts three use paths (ox client.event, ox_inventory:usedItem as a fallback, and the qb/qbx/esx usable item) with a 750 ms debounce, so no setup can trigger a cast twice. diving_suit is routed through the same point, which also fixes the suit being equipped and unequipped in one click on ox.
PANEL FIX - the career panel opened empty for some players, showing raw locale keys (nav_market, GUIDE_RODS, page_market_sub) and empty shop lists. The NUI init message was sent on a fixed 500 ms timer and was lost whenever the browser had not finished loading, which only happened on slower machines or busy servers. The UI now announces itself with a uiReady callback and the data is sent on demand, re-sent if the ping is missed, and re-checked every time the panel opens.
CRASH FIX - a missing command name in the config made RegisterCommand throw 'native 0x5FA79B0F: Argument at index 0 was null', which killed the rest of that client file (the diving system in particular). Command registration is now nil-safe: an empty name is skipped with a console warning, and setting a command key to false disables it silently on purpose.