🤿 Medit8z Diving | Scuba & Underwater Crate Hunting for QBX Core
A scuba script with stakes — real oxygen pressure, server-side loot rolls, and contested crate spawns that other players can race you to.
Built for QBX Core servers running Ox Inventory, medit8z Diving turns the GTA V coastline into live, contested loot space. Seven always-active dive zones, four crate tiers, persistent boat rentals, and ambient hazards turn diving from a one-off animation into a real recurring activity that players will actually log in for.
🎬 Preview
Preview drops soon — first footage in Discord.
💨 Real Oxygen Management
Metadata-tracked scuba tanks with both oxygen and durability. Tanks drain while you're underwater and need refilling on land — and rough use wears them out over time. Run dry at depth and you start taking damage.
Metadata-tracked tanks — oxygen and durability persist on the item
Drain underwater, refill on land — drain rate fully configurable
Custom HUD — real-time oxygen display with animated welcome screen
Server-validated drain — clients can't fake their reserves
🌊 Seven Always-Active Dive Zones
All seven dive zones have map blips from the moment a player connects — no mission start, no NPC handshake. Each zone holds 10–20 randomized crate spawns at pre-scouted ocean-floor positions.
Default zones — Paleto Wreck, Procopio Beach, Chumash Reef, East Deep, Vespucci Shallows, Pacific South, Pacific East
10–20 crates per zone — randomized per spawn cycle
1-hour respawn timer — kicks off when the first crate in a zone is searched
Blips always visible — instant accessibility for new players
📦 Four Crate Tiers
Four distinct crate types, each with their own opening mechanic. Regular crates are free loot. Rare crates demand a lockpick and a harder minigame — and failure destroys the crate, loot included.
Regular — free loot, just search
Medical — crowbar required to open
Locked — lockpick plus a standard minigame
Rare — lockpick plus a harder minigame; failure destroys the crate
⚔️ First Come, First Served
Crates are shared world objects, visible to all players in the zone. When someone loots or destroys a crate, it's gone for everyone until the zone resets. The ocean isn't a single-player sandbox — it's contested space.
Shared crate state — multiple players race the same zone
Server-authoritative — loot rolls and state transitions happen server-side
Race or lose — speed and timing matter as much as the lockpick
🛥️ Persistent Boat Rentals
Rent boats at the shop and keep them for the session. Toggle the anchor with G to hold position over a dive site. Boats persist across disconnects and restarts; abandoned rentals auto-clean after a configurable timeout so the bay never clutters.
Persistent across restarts and disconnects
Anchor system — toggle with G to hold position over a wreck
One-rental-per-player limit — server-validated
Auto-cleanup — abandoned boats removed after a tunable maxAge
🦈 Ambient Underwater Hazards
The ocean itself is a hostile environment. Underwater currents push divers off course. Low-visibility zones obscure the crates you came for. Sharks circle for atmosphere and aggression. Every dive feels alive, not safe.
Underwater currents — push divers off course in defined zones
Low-visibility zones — fog effects that obscure crate locations
Sharks — ambient predator spawns for atmosphere and threat
All hazards configurable per server
🛡️ Built for Production
Server-side authority — every loot roll, crate state transition, and minigame result validated server-side
Timing-validated minigames — impossibly fast completions are rejected
Depth-verified interaction — players can't loot crates they aren't actually near
Auto-migrating schema — diving_boats table created on first start, no manual SQL
Asset-escrow protected — config.lua remains editable post-escrow
📦 Dependencies
qbx_core
ox_lib
ox_inventory
ox_target
oxmysql
qbx_vehiclekeys
Stake your claim. medit8z Diving — because the ocean shouldn't be a fish tank.