Vulkan Scripts Β· Docs

Build with confidence.

Everything you need to install, configure, and ship Vulkan Scripts on your FiveM server. Battle-tested, performance-tuned, and documented like we'd want it ourselves.

Start here

Introduction

Vulkan Scripts are premium FiveM resources built for performance, stability, and clean integration with ESX Legacy, QBCore and Qbox. Each script ships with a documented config, multi-language locales, and active Discord support.

What you get

  • Optimized Lua β€” every loop, thread and event audited for production load.
  • ESX Legacy 1.13+, QBCore & Qbox β€” multi-framework, auto-detected.
  • Escrow + open config β€” locked logic, fully editable settings.
  • Real Discord support β€” devs reply, not bots.
Already bought? Your purchases are auto-delivered to your CFX.re Keymaster β€” no extra step required.
v1.0 ESX Legacy 1.13+ QBCore Qbox Escrow ready 5 languages resource: vDetector

vDetector β€” Metal Detector & Treasure Hunt Job

Become a beach treasure hunter. A complete, polished and highly customizable job script with a native two-handed digiscanner, weekly leaderboards, treasure chests, and a rich Vulkan-style UI. Built for ESX Legacy, QBCore and Qbox.

Quick install

  1. Drop the resource into your server.

    Place the unzipped vDetector folder inside resources/[vulkan]/.

  2. Import the SQL manually.

    Open the included install.sql and run it in your database (phpMyAdmin, HeidiSQL, DBeaver, etc.). Do not skip this step β€” the script will not auto-create its tables on first launch.

    SQL must be imported manually before starting the resource. Auto-migration is currently disabled.
  3. Add the line to your server.cfg.
    server.cfg
    # ESX Legacy + dependencies first…
    ensure oxmysql
    ensure ox_lib
    ensure es_extended
    
    # vDetector
    ensure vDetector
  4. Tune the configs and restart.

    Edit config.lua, detectors.lua, zones.lua, loot.lua & the locale of your choice β€” then reboot the server.

Configs & locales are listed in escrow_ignore β€” fully editable on escrow-protected installs.

Core gameplay

  • Native GTA V digiscanner β€” real two-handed weapon with working scaleform on the prop screen (just like the Treasure Hunt mission).
  • 3 detector tiers β€” Basic, Pro, Legendary (40 m / 70 m / 120 m range).
  • 6 search zones across San Andreas, on 3 difficulty tiers.
  • Distance-based beep with progressive bars and color shifts (red β†’ yellow β†’ green).
  • Realistic dig animation with shovel prop attached to the player's hand.
  • Auto-stow β€” detector unequips when entering a vehicle, dying, swimming, ragdolling or falling.

Detector tiers

DetectorPriceLvlRangeScan rateLoot tiers
🟒 Basic$5001+40 m250 msCommon 70% Β· Uncommon 25% Β· Rare 5%
πŸ”΅ Pro$5,00010+70 m200 msCommon 50% Β· Uncommon 30% Β· Rare 15% Β· Epic 5%
🟑 Legendary$25,00020+120 m150 msCommon 30% Β· Uncommon 30% Β· Rare 25% Β· Epic 12% Β· Mythic 3%

All three tiers share the same prop (w_am_digiscanner β€” the real GTA V Treasure Hunt scanner) and the same shovel item (shovel, $50). What changes is the rarity weight table for loot rolls, the range, and the scan rate.

detectors.lua β€” Config.Detectors.legendary
legendary = {
    label    = _U('detector_legendary_label'),
    item     = 'metal_detector_legendary',
    prop     = 'w_am_digiscanner',
    price    = 25000,
    range    = 120.0,                    -- meters
    scanRate = 150,                       -- ms between beep updates
    rarityWeights = {
        [1] = 30,                       -- common
        [2] = 30,                       -- uncommon
        [3] = 25,                       -- rare
        [4] = 12,                       -- epic
        [5] = 3,                        -- mythic
    },
    requiredLevel = 20,
}

Search zones

TierZoneMin levelRadiusLoot pool
1Chumash Beach (-3246.76, 1193.81, 2.91)Lvl 1+30 mCommon β†’ Rare
1Vespucci Beach (-2119.53, 2527.48, 3.20)Lvl 1+120 mCommon β†’ Rare
2Paleto Bay (3848.20, 4391.27, 4.78)Lvl 10+30 m+ Epic
2North Bay (1530.35, 6615.68, 2.31)Lvl 10+30 m+ Epic
3Sandy Shores (219.60, 7036.61, 3.73)Lvl 20+40 m+ Mythic + 🎁 Chest
3Cypress Flats (2803.28, -635.91, 3.55)Lvl 20+30 m+ Mythic + 🎁 Chest

Treasure chest system

  • Ultra-rare drop in Tier 3 zones only β€” pry open with a crowbar (treasure_crowbar, $2,000 at the shop).
  • Custom prop placed on the ground (m23_1_prop_m31_roostercrate_01a), opened via ox_target with key proximity fallback (range 2 m).
  • Open animation : kneeling medic clip, 6 s hold time.
  • 15% fail chance (configurable) β€” crowbar consumed, no reward.
  • On success : $4,000–$12,500 cash + independent rolls on bonus items :
    • 40% chance Γ— 1–2 gold nuggets
    • 15% chance Γ— 1 vintage Rolex
    • 5% chance Γ— 1 pirate doubloon
  • Auto-despawn 5 s after the player picks the loot.
config.lua β€” Config.Chest.rewards
rewards = {
    moneyMin = 4000,
    moneyMax = 12500,

    items = {
        { item = 'gold_nugget',     chance = 0.40, qtyMin = 1, qtyMax = 2 },
        { item = 'rolex_vintage',   chance = 0.15, qtyMin = 1, qtyMax = 1 },
        { item = 'pirate_doubloon', chance = 0.05, qtyMin = 1, qtyMax = 1 },
    },
}

XP / Level / Progression

  • 30 levels with configurable XP curve.
  • Per-rarity XP gains β€” common = 10 XP, mythic = 50 XP.
  • Custom in-game level-up notification β€” Vulkan-style, glassmorphic, animated bar with shimmer.
  • Native particle FX + screen flash on rare/mythic finds.

Weekly leaderboard

  • Top hunters of the week, auto-resetting every Monday (ISO week tracking β€” no cron job needed).
  • Beautiful 3-place podium + scrollable full ranking.
  • You tag highlights your position.

Antiquaire / Detector shop

  • Custom Vulkan-style 3-column NUI β€” Sell / Buy / Leaderboard side-by-side.
  • Animated number counters, gold particle effects on rare sales.
  • Sell-all-at-once button with shimmer animation.
  • Items locked / unlocked based on level + money.
  • Toast notifications & sound effects on every action.
NPCCoordsPed modelBlip
Antiquaire (sell) (-43.96, -1748.81, 29.42) s_m_m_dockwork_01 Sprite 431, color 46, scale 0.5
Detector Shop (buy) (-2188.20, -408.58, 13.18) a_m_y_beach_01 Sprite 365, color 5, scale 0.75
Price multiplier : Config.Antiquaire.priceMultiplier = 0.5 by default β€” every sell price in loot.lua is halved at runtime (tighter economy). Set to 1.0 for raw values, 1.5 for promo events.

Loot

  • 30+ items β€” coins, rings, gold chains, gold nuggets, vintage Rolex, pirate doubloons…
  • 8 junk items for RP humor β€” old shoe, broken bottle, lost dentures, dried fish…
  • 5 rarity tiers (Common β†’ Mythic), per-tier loot tables, weighted picks.

Multi-language support

Locales bundled in locales/<lang>.lua, 128 translation keys, zero hardcoded strings. Add a new language = duplicate one of the bundled files. Switch language with Config.Locale = 'fr' in config.lua.

  • πŸ‡¬πŸ‡§ English (en.lua)
  • πŸ‡«πŸ‡· French (fr.lua)
  • πŸ‡©πŸ‡ͺ German
  • πŸ‡ͺπŸ‡Έ Spanish
  • πŸ‡§πŸ‡· Brazilian Portuguese

Sound design

  • Frontend sounds for every action (menu open/close, buy, sell, dig success per rarity, level up, chest place/open).
  • Rarity-based dig sounds β€” common to mythic = different audio cue.
  • Native digiscanner beep with distance-based cadence.

Security & anti-cheat

  • All callbacks rate-limited (configurable cooldowns per action β€” see table below).
  • Server-side validation on every dig β€” zone, distance, detector ownership, point existence, inventory capacity.
  • XY tolerance of 3.0 m between server-known dig point and client-claimed position. Above that = rejected.
  • Chest opening requires placed chest state server-side (anti money-print exploit).
  • Suspicious attempts logged to a Discord webhook with player identifier (configurable minRarityForLog, default rarity β‰₯ 3).
  • Per-player webhook rate-limit (WebhookCooldown = 3000 ms) to prevent spam.
ActionCooldownConfig key
Dig1500 msConfig.Cooldowns.dig
Open chest3000 msConfig.Cooldowns.chest
Buy in shop500 msConfig.Cooldowns.buy
Sell to antiquaire500 msConfig.Cooldowns.sell
Scan (detector beep)250 msConfig.ScanCooldown
Discord webhook3000 msConfig.WebhookCooldown

UI / UX

  • Responsive design β€” auto-scales from 800Γ—600 to 4K, ultrawide.
  • 10 theme colors exposed via Config.UITheme β€” change them without touching CSS.
  • All UI texts loaded from the locale bundle β€” zero hardcoded strings.
  • Smooth animations, slide-ins, glassmorphism effects.
config.lua β€” Config.UITheme
Config.UITheme = {
    background  = '#0a0a0c',   -- panel background
    accent      = '#94a3b8',   -- accent (text, hover, bars)
    accentDark  = '#475569',   -- darker accent (gradients)
    gold        = '#f1c40f',   -- prices, podium, mythic items
    success     = '#2ecc71',   -- successful sale, money gained
    danger      = '#e74c3c',   -- errors, money lost, close button
    info        = '#3498db',   -- rarity 2 (uncommon, blue)
    warning     = '#e67e22',   -- rarity 4 (epic, orange)
    text        = '#ffffff',   -- main text
    textDim     = '#71717a',   -- secondary text
}

Performance

  • < 0.05 ms client-side when active, < 0.01 ms idle.
  • Idle threads use 1000–1500 ms waits.
  • Cached zone & loot label lookups (O(1)).
  • Debug threads early-return when Config.Debug = false (zero cost in prod).

Compatibility

  • ESX Legacy 1.13+, QBCore & Qbox (auto-detect via Config.Framework)
  • ox_inventory or framework inventory (auto-detect via Config.Inventory)
  • ox_target + key proximity fallback (Config.Target)
  • ox_lib β€” progressBar, notify, requestModel, requestAnimDict
  • oxmysql for database
  • 1 SQL file to install (manual import β€” see install steps)
Multi-framework : ships with native support for ESX Legacy, QBCore and Qbox β€” auto-detected, no extra setup required.

Global configuration cheatsheet

Most servers only need to tweak a handful of values in config.lua. Here's the full list of the most useful keys :

KeyDefaultDescription
Config.Locale'en'Active language (en, fr, …)
Config.Inventory'esx''ox_inventory' or 'esx'
Config.Notify'ox_lib''ox_lib' or 'esx'
Config.Target'ox_target''ox_target' or 'key' proximity fallback
Config.InteractionKey38Key code when Target = 'key' (38 = E)
Config.DebugfalseVerbose prints + treasure point markers
Config.PointsPerZone6Hidden treasure points spawned per zone
Config.MaxBeepDistance20.0Distance (m) at which the detector starts beeping
Config.DigDistance1.5Distance (m) at which the player can dig
Config.ScanCooldown250ms between two scans
Config.DigDuration.basic8000Dig animation length (ms) per detector tier
Config.DigDuration.pro6000Dig animation length β€” Pro
Config.DigDuration.legendary4500Dig animation length β€” Legendary
Config.MaxLevel30Cap for player progression
Config.XP.base100Base XP β€” formula : base Γ— (level ^ curve)
Config.XP.curve1.6Exponent of the XP curve
Config.XPPerFind10Base XP per dig (multiplied by item rarity)
Config.LeaderboardCommand'treasuretop'Chat command to open the leaderboard
Config.LeaderboardLimit10Number of players shown in the leaderboard
Config.Webhook.enabledfalseEnable Discord logging
Config.Webhook.url''Your Discord webhook URL
Config.Webhook.minRarityForLog3Only items β‰₯ this rarity are logged to Discord
Config.AutoInstallSQLtrue⚠️ Currently disabled β€” import install.sql manually

Discord webhook

config.lua β€” Config.Webhook
Config.Webhook = {
    enabled = true,
    url     = 'https://discord.com/api/webhooks/...',
    botName = 'vDetector',
    avatar  = 'https://i.imgur.com/4M34hi2.png',
    color   = 16766720,                    -- gold
    minRarityForLog = 3,                   -- log items rarity β‰₯ 3 only
}

Customization

7 config files separated by concern: config.lua, detectors.lua, zones.lua, loot.lua + 5 locale files.

  • Add a new zone in 1 block β€” coords + radius + tier + level + blip.
  • Add a new detector tier with custom rarity weights.
  • Add a new loot item in 1 line.
  • Tune XP curve, sell prices, cooldowns, webhook, theme colors.
  • Asset Escrow ready β€” configs & locales in escrow_ignore.

Add a new search zone

zones.lua
-- zones.lua β€” append to Config.Zones
{
    name          = 'zone_sandy_shores',
    label         = _U('zone_sandy'),         -- locale key
    center        = vector3(219.60, 7036.61, 3.73),
    radius        = 40.0,
    tier          = 3,                       -- 1 | 2 | 3 (loot table)
    requiredLevel = 20,
    blip          = { sprite = 568, color = 46, scale = 0.5 },
},

Add a new loot item

loot.lua
-- loot.lua β€” append to Config.Loot[tier]
{
    item   = 'pirate_doubloon',
    label  = _U('loot_doubloon'),       -- locale key
    rarity = 5,                        -- 1 common .. 5 mythic
    sell   = { 8000, 15000 },             -- min/max antiquaire price
    weight = 2,                        -- weight inside its rarity bucket
    -- noSell = true,                  -- set on items that should never appear in the shop
},

Database

  • 1 table β€” treasure_hunter_data with 4 indexed columns.
  • Manual SQL install via the bundled install.sql file (no auto-migration).
  • Persistent XP / level / total finds / weekly finds.
v1.0 ESX Legacy QBCore Qbox Escrow ready 5 languages resource: vTablet

vTablet β€” Illegal Darkweb Tablet & NPC Delivery

A standalone illegal darkweb tablet for FiveM. Players create an encrypted DarkNet account, buy hidden .onion market links from NPC dealers, and order drugs, weapons or gear β€” delivered through a fully immersive NPC truck drop (van + armed guards + cargo search). Includes a live criminal forum and a complete in-game admin panel. Multi-framework, 5 languages, no ox_lib required.

Quick install

  1. Drop the resource into your server.

    Place the vTablet folder inside resources/ and add the ensure line to your server.cfg.

    server.cfg
    # dependencies first…
    ensure oxmysql
    
    # vTablet
    ensure vTablet
  2. Import the SQL.

    Run sql/install.sql in your database β€” it creates the tables and the default catalog.

  3. Register the tablet item.

    Use sql/esx_items.sql, or the provided .lua.snippet for QBCore / ox_inventory.

  4. Grant admin access.
    server.cfg β€” ACE permission
    add_ace group.admin vtablet.admin allow

    Or list admins directly in Config.AdminIdentifiers (license / steam / discord id).

  5. Add your Discord webhooks & restart.

    Paste your webhook URLs in config/secrets.lua, then reboot the server.

Per-framework guides included : INSTALL_ESX.md, INSTALL_QBCORE.md and INSTALL_QBOX.md ship in the resource β€” step-by-step for each framework.

Core features

  • πŸ“± Real tablet OS UI β€” home screen, apps, dock, custom glitch boot intro (pure React, no ds_bundle).
  • πŸ”’ Encrypted DarkNet account β€” register / login, DB-persisted, forgot-password recovery.
  • πŸ§… Hidden .onion markets β€” locked until you buy the address (404 otherwise).
  • πŸ•΅οΈ 3 NPC brokers sell the .onion links (drugs / guns / gear).
  • πŸ›’ Database-driven catalog + cart β€” add / remove, quantities, one-click checkout.
  • πŸ“¦ Immersive NPC delivery β€” random meeting point, GPS route, van + guards + cargo search animation.
  • πŸ’¬ Live multiplayer forum β€” configurable channels, post / edit / delete in real time.
  • βš™οΈ Full in-game admin panel β€” items, prices, stock, images by link, clear forums (no code editing).
  • πŸ”‘ Admin by ACE or identifier β€” gamemode-independent.
  • πŸ”” 2 Discord webhooks β€” orders & deliveries / forum.
  • 🎡 Native GTA V sound design + configurable open animation.
  • πŸ›‘οΈ Server-side anti-cheat β€” ownership & distance checks.
  • 🌍 5 languages β€” EN, FR, DE, ES, PT-BR (fully translatable).
  • 🧩 Fully modular config β€” cooldowns, account rules, meeting points, NPC skins & more.

Compatibility

  • ESX Legacy Β· QBCore Β· Qbox (auto-detected via Config.Framework)
  • ox_inventory, qb-inventory or ESX inventory (auto-detect)
  • ox_target / qb-target with [E] key fallback
  • Requires oxmysql β€” no ox_lib needed

Key configuration

KeyDefaultDescription
Config.Locale'en'en / fr / de / es / pt-BR
Config.Framework'auto'ESX / QB / Qbox auto-detect
Config.Account'black_money'Payment account (QB/Qbox: 'bank')
Config.RequireItemtrueRequire the tablet item to open
Config.Interaction.target'auto'ox_target / qb-target / key
Config.AdminIdentifiers{}Admins by license / steam / discord id

Delivery meeting points

Each order is dropped at a random point from this list β€” a vector4 (x, y, z, heading). Add as many as you want.

config.lua β€” Config.MeetingPoints
Config.MeetingPoints = {
    vector4(-586.19, -1637.08, 19.81, 69.66),
    vector4(112.39, -2260.76, 6.08, 178.93),
    vector4(1509.04, -2147.13, 77.13, 97.88),
}

Database

  • Manual SQL install via the bundled sql/install.sql (tables + default catalog).
  • Tablet item registered through sql/esx_items.sql or the QB / ox .lua.snippet.
  • Persistent DarkNet accounts, catalog, orders & forum posts.

Troubleshooting

Common issues and how to solve them. If you don't find your problem here, ping us on Discord β€” bring the server console output and we'll get it fixed.

Resource fails to start

  • Check your FXServer artifact build β€” minimum 6500+ recommended.
  • Verify es_extended, oxmysql and ox_lib all start before vDetector in your server.cfg.
  • Make sure the SQL has been imported manually (auto-install is currently disabled).
  • Open a Discord ticket with your server console output.

Translation strings show as raw keys

If the UI displays things like loot_old_coin instead of the translated label, your locale is missing or mistyped. Each script ships with locales/en.lua and locales/fr.lua β€” duplicate one to add a new language and update Config.Locale in config.lua.

NPC doesn't react to interaction

  • If you use ox_target: confirm it's started before vDetector, and that Config.Target = 'ox_target' in config.lua.
  • If you use the key fallback: set Config.Target = 'key' and check Config.InteractionKey (default 38 = E).

Detector won't equip / no scaleform on screen

The script uses the native WEAPON_DIGISCANNER. Make sure your server doesn't blacklist it via your anti-cheat or weapon whitelist. The prop used is w_am_digiscanner β€” must be loadable on your build.

Still stuck?

Open a ticket on our Discord β€” real developers, average reply under 10 minutes.

Join the Discord
Your cart Review your items before checkout
Your cart is empty

Your cart is empty.

Browse scripts