nc-atm

💎 PAID | Purchase on Tebex | Discord Support

A standalone ATM system for FiveM featuring a 3D NUI overlay directly on ATM screens, PIN security, transfers, transaction history, ATM spawner, and model-specific calibration. Built with Vue 3 + Vite.

Overview

nc-atm provides a fully immersive ATM experience by rendering a NUI interface directly over the in-game ATM screen. Players interact using the physical keypad and side buttons on the ATM model — no separate HUD.

Key Features

  • 3D NUI Overlay — Buttons and PIN pad rendered directly on the ATM screen
  • PIN Security — SHA-256 hashed PINs, lockout protection, in-ATM PIN change
  • Deposit / Withdraw — Preset amounts or custom input with cash animation
  • Transfer — Send money to another player by Server ID
  • Transaction History — View recent transactions on-screen
  • Admin ATM Spawner — 3D gizmo placement (object_gizmo) with DB persistence
  • ATM Calibration — Per-model NUI position fine-tuning with /atmcalibrate
  • Multi-Framework — QBCore, QBox, ESX, OX Core auto-detection
  • Multi-Language — Locale system with English included (extensible)
  • Camera System — Per-model depth-of-field camera with smooth transition

Requirements

ResourceRequiredNotes
ox_libCallbacks
oxmysqlDatabase driver
object_gizmoATM placement gizmo
FrameworkQBCore / QBox / ESX / OX Core (one of)
Target Systemox_target / qb-target / qtarget (falls back to E key)

Quick Start

ensure oxmysql ensure ox_lib ensure object_gizmo ensure qb-core # or es_extended, ox_core, qbx_core ensure nc-atm

⚠️ nc-atm must start after oxmysql, ox_lib, object_gizmo, and your framework.

Supported Frameworks

FrameworkBridgeAuto-Detect
QBCorebridge/qbcore.lua
QBoxbridge/qbox.lua
ESXbridge/esx.lua
OX Corebridge/ox.lua

Framework is auto-detected at startup (qbx_core → qb-core → es_extended → ox_core). Set manually with Config.Framework.

Database Tables

TablePurpose
nc_atm_pinsPIN hashes, attempt counters, lockout timestamps
nc_atm_spawnedAdmin-spawned ATM positions and models
nc_atm_transactionsPer-player deposit/withdraw/transfer history

All tables are created automatically on first start when Config.AutoInstallSQL = true.