Premium Pipe-Dream-style hacking minigame for FiveM. Free, open-source, framework-agnostic.
- Pipe Dream visual paradigm — instantly recognisable, zero learning curve for players
- 3 difficulty tiers — Easy (4×4), Medium (6×6), Hard (8×8) with auto-balanced grids
- API v2 — 5 callbacks (
onStart/onSuccess/onFail/onCancel/onCooldown), context tracking, custom configs - Server hooks —
vzu-circuit-hack:onStart/:onSuccess/:onFail/:onCancelfor cross-resource integration - Cooldown system — Per-context cooldowns (
atm: 60s,vehicle: 15s,safe: 120s, fully configurable) - Player stats — Attempts, success rate, average time, leaderboards via
GetTopPlayers - Optional persistence — Stats, cooldowns, and per-attempt history via
oxmysql - Anti-cheat — Server-side validation, session nonce, rate limiting, min-time guard
- Tablet animation — Player ped raises a tablet (with prop) before the puzzle opens
- 6 SFX included — Tile rotate, partial connect, full connect, lock-in loop, success, fail
- Locale system — English default, PT-BR included, easily extensible
- Test zone resource —
/vzutestchains every scenario for QA passes and promo capture - 5 ready-to-use examples — ATM robbery, vehicle lockpick, door breach, computer hack, safe crack
ensure ox_lib
ensure vzu_circuit_hackIn-game:
/circuithack medium
The minigame opens, the player ped raises a tablet, the puzzle plays. That's it.
-- v1 — simple, success-only callback
exports['vzu_circuit_hack']:Start('medium', function(success)
if success then print('Hack completed!') end
end)-- v2 — full callbacks + context (recommended)
exports['vzu_circuit_hack']:StartAdvanced({
difficulty = 'medium',
context = {
type = 'atm',
targetId = 'atm_pacific_01',
description = 'Pacific Standard ATM',
},
callbacks = {
onSuccess = function(d)
print(('Hack succeeded in %dms with %d clicks'):format(d.timeMs, d.clickCount))
end,
onFail = function(d)
print(('Hack failed: %s'):format(d.reason))
end,
onCooldown = function(cd)
print(('On cooldown: %dms remaining'):format(cd.remainingMs))
end,
},
})Using Claude Code, Cursor, Copilot, or another AI assistant to integrate?
Paste LLM_CONTEXT.md into your AI conversation as context. It contains the complete API reference, integration patterns, and common pitfalls — optimized for AI consumption (real config values, named anti-patterns, lockpick canonical reference).
Example prompt:
Read LLM_CONTEXT.md from this repo. I want to add an ATM hack to my
Qbox server with a police alarm 30s after start and a $1500 reward
on success.
The AI will produce production-ready code without hallucinating non-existent exports.
- Installation — setup, dependencies, persistence, test zone
- Configuration — every option in
shared/config.lua - API Reference — exports, type definitions, function-ref note
- Events & Hooks — public events with integration patterns
- Integration Examples — patterns: per-target cooldown, tier rewards, hack chains, co-op, adaptive difficulty
- Troubleshooting — common issues and lessons from the lockpick walkthrough
- Migration Guide — coming from
mhacking,qb-skillbar,ox_lib skillCheck, custom skill checks - FAQ — quick answers
- Changelog — release history
- Contributing — bug reports, PRs, dev setup
| Framework | Status |
|---|---|
| Qbox | Native |
| QBCore | Bridge (auto-detected) |
| ESX | Bridge (auto-detected) |
| Standalone | Works without any framework |
| Inventory | Status |
|---|---|
ox_inventory |
Recommended |
qb-inventory |
Compatible (via fallback) |
esx_inventoryhud |
Compatible (via fallback) |
- Required:
ox_lib - Optional:
oxmysql(persistence),ox_target(examples),ox_inventory(examples)
- Idle: 0.00ms server, 0.00ms client (no resmon impact)
- Active hack: ~0.05ms client (NUI rendering only)
- Network: 1 callback round-trip on submit, no per-frame events
The examples/ folder contains 5 production-ready integrations:
- ATM Robbery — Hack ATMs with cooldown, marked bills, optional Discord webhook
- Vehicle Lockpick — Difficulty modulated by vehicle class. Canonical reference (see API.md)
- Door Breach — Electronic doors with optional keycard skip path
- Computer Hack — 3 tiers (residential / corporate / military) with loot tables
- Safe Crack — Safes with low/mid/high tier loot pools
Each example is copy-paste ready, framework-agnostic, and
includes a fxmanifest.lua snippet. See examples/README.md.
The examples/_test_zone/ folder is a drop-in test rig with one
command (/vzutest) that teleports the player to a known spot, sets up
the scenario (spawning props as needed, attaching ox_target prompts),
and triggers the hack. Built specifically for QA passes and promo
captures.
/vzutest atm | lockpick | door | pc <tier> | safe <tier>
/vzutest god # invincibility
/vzutest revive # heal + revive (qbx_medical-aware)
/vzutest clear # wipe spawned props + reset cooldowns
See examples/TEST_ZONE.md for the full
walkthrough including suggested promo shot list.
VZU is an independent FiveM script studio focused on premium quality, polished UX, and developer-first APIs. This is our first public release — Circuit Hack will always be free.
Coming next:
- VZU Heist Pack — Yacht, Bank, Casino vault heists
- VZU Underground Apps — Drug dealer, stock trading, marketplace LB Phone apps
- VZU Circuit Hack PRO — Themed variants (cyberpunk, retro, military), advanced callbacks
MIT — free to use, modify, and redistribute. Attribution appreciated.
See LICENSE for the full text.
- Pipe Dream paradigm — Lucasfilm Games (1989), the original gameplay design that inspired this minigame
- GTA V Tablet animations — Rockstar Games
- ox_lib — Overextended team for the foundational FiveM utilities
- Community — Every server owner who tested, broke, and improved this build