Spark Scripts

ATM Robbery

ATM Robbery

€10.00

Add to Basket

💻 ATM Hack ESX — Clean Cash Heist (ox_target + ox_lib + optional bl_ui)

Turn any ATM into a high-risk, high-reward mini-heist for ESX. Sleek ox_target interaction, ox_lib UI/minigame (with optional bl_ui:MineSweeper), clean cash only, strong server-side checks, per-ATM cooldowns, dispatch hook, and a cinematic cash-collection phase.

Highlights

  • 🎯 ox_target interaction on ATMs (prop_atm_01, prop_atm_02, prop_fleeca_atm, prop_atm_03)

  • 🧩 Minigame: ox_lib skill check (fallback) or bl_ui:MineSweeper automatically if present

  • 💸 Clean money reward (no black_money): auto-uses addMoney() / addAccountMoney('money')

  • ⏱️ Per-ATM cooldown (not global) — fully configurable & server-clamped

  • 🎬 Collection phase after success: grab-cash animation + progress bar (bottom); payout only after completion

  • 🚓 Dispatch hook: plug ps-dispatch / cd_dispatch / custom; alert includes the exact ATM location

  • 🧰 Item requirement: use any ox_inventory item (and optionally consume it on attempt start)

  • 🛡️ Anti-exploit: distance & model checks, rate-limit, 2-step success (begin → arm → collect), server-only payout

  • ⚙️ Zero blocking loops; ESX Legacy & newer compatible; Lua 5.4

📦 What’s included

  • fxmanifest.lua

  • config.lua (server toggles & safety clamps)

  • client.lua (targeting, minigame flow, collection, notifications)

  • client_editable.lua (buyer-friendly settings: item, ATM cooldown, collection time, dispatch)

  • locales/en.lua (English texts)

  • server.lua (validations, reward logic, cooldowns, anti-exploit)

  • README.md (quick setup)

🧑‍🔧 Easy configuration (edit client_editable.lua)

  • 🔑 ATMROB.RequiredItem — required item key (must exist in ox_inventory)

  • 🕒 ATMROB.MachineCooldownSecondsper-ATM cooldown

  • ATMROB.CollectDurationMs — cash collection time (progress bar)

  • 🚨 ATMROB.DispatchEnabled + ATMROB.DispatchMessage

  • 🧭 Dispatch hook:

    -- ctx = { coords=vector3, street=string, amount=number, model=hash } function ATMROB_OnDispatchAlert(ctx) -- ps-dispatch example: -- exports['ps-dispatch']:CustomAlert({ -- coords = ctx.coords, message = ATMROB.DispatchMessage, -- dispatchCode = '10-90', radius = 0, sprite = 500, color = 1 -- }) -- cd_dispatch example: -- TriggerServerEvent('cd_dispatch:AddNotification', { -- job_table = {'police'}, coords = ctx.coords, title = 'ATM Robbery', -- message = ('%s (%s)'):format(ATMROB.DispatchMessage, ctx.street or ''), -- blip = { sprite=500, scale=1.0, colour=1, text='ATM Robbery' }, sound = 1 -- }) end 

🔒 Server safety (in config.lua)

  • 👤 EnablePlayerCooldown (default off) — turn on if you also want a global per-player cooldown

  • 🧮 AllowClientMachineCooldownOverride = true + min/max clamp

  • 🪙 RequireItem = true + ConsumeItemOnAttempt = true (removes item at attempt start)

  • 🧷 AllowClientItemOverride = true + AllowAnyClientItem = true (trust any item key; server still verifies possession)

🧩 Requirements

  • es_extended (ESX)

  • ox_lib

  • ox_target

  • (optional) bl_ui (for Minesweeper)


    Preview

    2967b2e78416e4d45867a8c948c548d558d01752.png

    67c28d16bfbeeb7c6f5a7178e51b29d43421ff83.png


    af14d49dfca12b5fd3d709c58d21bfe3c3b29f24.png



    f3ef0800e63849a0277e42ce730f74c01c91e634.png



    7bd527cd292748280a572325ee35a0b0876723ed.png


Back to category