[ESX/QBCORE/QBOX/STANDALONE] GZ Beach Detector — Premium Treasure Hunting Experience (Sonar, Treasure Maps, Leaderboard, Levels)

Treasure reveal

GZ Beach Detector

A complete treasure hunting experience for the beaches of Los Santos.

I built this script because I wanted prospecting to feel like an actual gameplay loop, not a “press E on a glowing thing” mini-game.

So I started from scratch: real metal detector prop in hand, directional sonar that gets louder as you close in, cinematic dig animations with skill check, physical chests that pop out of the sand with slow-mo on legendary finds.
Then I added a full progression system on top — 10 levels, 7 trophies, 9 daily quests rotating every day at 4 AM.
Then treasure maps as rare drops that send you off-beach to hidden spots across the map.
Then a weekly leaderboard.
Then an NPC merchant at Del Perro Pier who buys, sells and upgrades detectors.
Then a multi-framework bridge so it works on QBCore, QBox, ESX Legacy or standalone.

It’s been about 6 months of development and rewrites. I think it’s ready.


:television: See it in action

Preview - How it’s work

Preview 2 - Quest example

Preview 3 - Vendor example

Panel

Process

Treasure reveal

Treasure alert

Quest Notification

No signal


What you get

:bullseye: Core gameplay loop

  • 3 detector tiers with different stats (range, battery, signal quality)
  • 4-phase cinematic dig: sweep → dig → kneeling skill check → reward chest
  • Directional sonar HUD with intensity beeps (faint → strong → locked)
  • Physical chests that spawn from the sand based on rarity, with VFX and camera shake on legendaries

:trophy: Full progression system

  • 10 XP levels with unlockable zones, battery bonuses, rare-find bonuses
  • 7 trophies with cash + XP rewards (and you can add your own)
  • 9 daily quests rotating every day (and you can add your own types)
  • Weekly leaderboard with gold/silver/bronze medals and automatic reset
  • All progress persisted in MySQL, survives restarts

:world_map: Treasure maps

  • Rare drop chance on regular digs
  • GPS auto-waypoint + dedicated “ancient map unrolled” reveal banner
  • Hot/cold gauge with 5 intensity levels as you approach
  • 10 hidden spots across the map, deliberately placed far from beach zones to avoid overlap

:shopping_bags: NPC Merchant

  • Located at Del Perro Pier (configurable)
  • Buys items at configurable prices
  • Sells consumables, batteries, treasure maps
  • Sells detector upgrades

:control_knobs: Truly extensible

Not just configurable — extensible. Three hooks let you plug your own server-side logic into the gameplay loop:

  1. Custom trophy conditions — write a function, reference it in a trophy. Example: “100 digs at Vespucci specifically”.
  2. Custom quest types — write a tracker, reference it in a quest. Example: “Find 5 items between 8 PM and midnight”.
  3. Custom zone access rules — restrict zones by job, job grade, gang, or your own check function. Server-side enforced, anti-cheat by design.

Each hook ships with documented example code commented in config.lua. Copy, adapt, ship.

:globe_showing_europe_africa: Internationalization

  • EN + FR included
  • Easy to add other languages (one file per locale, around 130 keys)

:high_voltage: Performance & quality

  • Idle below 0.01ms - Working about 0.10ms
  • Server-authoritative for all rewards (no client-side cash injection)
  • Full audit log of digs, level-ups, trophies — for debugging or transparency

Frameworks supported

Framework Status
QBCore :white_check_mark: Fully supported
QBox :white_check_mark: Fully supported
ESX Legacy :white_check_mark: Fully supported
Standalone :white_check_mark: Works without any framework

The script auto-detects your framework via the bridge system. No config needed.


Dependencies

Required:

Recommended:

  • ox_inventory (also works with qb-inventory and esx_inventory)
  • ox_target (for merchant + chest interactions)
  • gz_ui (for the premium themed menus — falls back to ox_lib dialogs if absent)

What this version gives you

Escrow Open Source
Use on your server :white_check_mark: :white_check_mark:
Edit config.lua :white_check_mark: :white_check_mark:
Edit locales :white_check_mark: :white_check_mark:
Edit the HUD theme :white_check_mark: :white_check_mark:
Edit core gameplay logic :cross_mark: :white_check_mark:
Read the full source code :cross_mark: :white_check_mark:
Lifetime updates :white_check_mark: :white_check_mark:
Discord support :white_check_mark: :white_check_mark:

If you just want to deploy it and configure beaches/loot/economy → Escrow is enough.
If you want to audit the code, integrate it deeply, or modify the core gameplay → Open Source.


Support

  • Discord: join the GZ Scripts community
  • Bug reports: open a ticket on Discord
  • Suggestions: suggestions channel on Discord
  • Community forum: customers share their custom configurations and snippets

I read every message. Response times can vary because I’m also a full-time dev with other projects, but I do read everything.


:heavy_dollar_sign:​Purchase

Tebex - Escrow

Tebex - Open Source


A word from me

I’m not a big studio. I’m one dev who builds scripts on the side while juggling a day job and two SaaS products. Every script I release is something I actually wanted for my own server and decided to share. If you buy it and you have feedback (good or bad), tell me — that’s how the next versions get better.

Thanks for reading this far.

— GrapsZ


Changelog

v3.5.2 — Chest model fallback chain, no more “model failed to load” errors
v3.5.1 — Critical fix: trophies persistence (Lua scoping bug in JSON deserialization)
v3.5.0 — Extensibility hooks (custom trophies, quests, zone access rules)
v3.4.0 — Zone cache validation, resource-stop flush
v3.3.0 — “NO SIGNAL” out-of-zone realistic detector behavior
v3.2.x — Treasure map premium UX (banner, hot/cold gauge, GPS)
v3.1.x — Queue notifications + burst mode
v3.0.0 — Initial public release

Code is accessible Yes (Open Source)/No (Escrow)
Subscription-based No
Lines (approximately) ≈ 11000 lines
Requirements Cf in ## Dependencies section
Support Yes