nc-banking
$50$25 Early Access | Purchase on Tebex | Discord Support
A full-featured banking system for FiveM with NPC dialog, ATM 3D overlay, multi-account management, loans, credit scoring, multi-language support, and modern Vue 3 UI.
Overview
nc-banking provides a complete banking experience with an immersive NPC dialog system, 3D ATM UI overlays, and comprehensive financial management — from basic deposits to credit-scored loans. Built with Vue 3 + Vite for a modern, responsive NUI.
Key Features
- NPC Bank Tellers — Interactive dialog with camera animation at 8 bank locations (17 NPCs)
- 3D ATM Overlay — Model-calibrated NUI buttons rendered on ATM screens
- Multi-Account System — Main, Personal, Savings, Business, Shared accounts
- Loan System — Credit-score-based loans with auto-pay, grace periods, penalties
- Invoice / Billing — Send, receive, pay invoices; job billing auto-deposits to business accounts
- Bank Card System — Account-linked cards with inventory item + DB dual tracking
- PIN Security — SHA-256 hashed PINs with lockout protection
- Admin ATM Spawner — Keyboard-based 3D placement with wall snap & DB persistence
- Transfer Security — Cooldown, brute-force protection, offline transfer policy, account number auto-prefix
- Dual Transfer Mode — Transfer by Account Number or Server ID across ATM, NPC, and Billing App
- Auto Business Accounts — Configurable jobs auto-create business accounts on server start
- Multi-Framework — QBCore, QBox, ESX, OX Core auto-detection
- Multi-Inventory — ox_inventory, qb-inventory, qs, ps, codem, core_inventory
- Multi-Language (i18n) — English, German, Spanish, French, Portuguese (extensible)
- Modern NUI — Vue 3 SFC + Vite with 4 modular apps (Dialog, ATM, Bank, Billing)
Requirements
| Resource | Required | Notes |
|---|---|---|
| ox_lib | ✅ | Callbacks, UI utilities |
| oxmysql | ✅ | Database driver |
| Framework | ✅ | QBCore / QBox / ESX / OX Core (one of) |
| Target System | ❌ | ox_target / qb-target / qtarget (falls back to E key) |
| Inventory | ❌ | Needed only if BankCard.useInventory = true |
Quick Start
ensure oxmysql
ensure ox_lib
ensure qb-core # or es_extended, ox_core, qbx_core
ensure nc-banking
⚠️ nc-banking must start after your framework and ox_lib.
Supported Frameworks
| Framework | Bridge | Auto-Detect |
|---|---|---|
| QBCore | bridge/frameworks/qbcore.lua |
✅ |
| QBox | bridge/frameworks/qbox.lua |
✅ |
| ESX | bridge/frameworks/esx.lua |
✅ |
| OX Core | bridge/frameworks/ox.lua |
✅ |
The framework is auto-detected at startup. You can also set it manually via Config.Framework.
Feature Summary
| Category | Features | Status |
|---|---|---|
| Banking | Balance, Deposit, Withdraw, Transfer, Transaction History, Stats | ✅ |
| PIN | SHA-256 hash, attempt limit, lockout, change | ✅ |
| Savings | Create, deposit, withdraw, close, interest, goals | ✅ |
| Personal | Sub-accounts without interest | ✅ |
| Business | Job-linked, boss-managed accounts | ✅ |
| Shared | Multi-user joint accounts with owner/member roles | ✅ |
| Loans | Apply, repay, auto-pay, grace period, late penalty, default, calculator | ✅ |
| Credit Score | 300–850 score, 7 factors, 5 tiers affecting loan terms | ✅ |
| Invoices | Send, receive, pay, decline, bulk pay, auto-expire, job billing → business account | ✅ |
| Billing App | Standalone NUI, keybind (F6), transfers | ✅ |
| Bank Cards | Account-linked, inventory item + DB, useInventory toggle | ✅ |
| NPC Dialog | Camera animation, configurable options tree, typing effect | ✅ |
| ATM | 3D NUI overlay, model presets, PIN pad, calibration | ✅ |
| ATM Spawner | Keyboard placement (Q/E/Z/C/F/G), wall snap (left click), DB persistence, blips | ✅ |
| External UI Toggle | Auto-hide other resource UIs when banking opens | ✅ |
| Auto Business Accounts | Configurable auto-create on server start + isBoss owner update | ✅ |
| Transfer Security | Cooldown, brute-force protection, offline policy, account number auto-prefix | ✅ |
| Dual Transfer Mode | Account Number + Server ID toggle in ATM, NPC dialog, and Billing App | ✅ |
| Auto DB Setup | Schema install + upgrade migrations on first start | ✅ |
| Multi-Language | 5 locales (en, de, es, fr, pt) with server + NUI i18n | ✅ |
File Structure
nc-banking/
├── fxmanifest.lua
├── atm_coords.json # ATM calibration data (auto-generated)
├── config/
│ └── config.lua # All configuration
├── bridge/
│ ├── loader.lua # Auto-detect framework & load bridge
│ └── frameworks/
│ ├── qbcore.lua # QBCore bridge
│ ├── qbox.lua # QBox bridge
│ ├── esx.lua # ESX bridge
│ └── ox.lua # OX Core bridge
├── shared/
│ ├── utils.lua # Shared utility functions
│ └── locale.lua # Server-side i18n system
├── locales/
│ ├── en.lua # English
│ ├── de.lua # German
│ ├── es.lua # Spanish
│ ├── fr.lua # French
│ └── pt.lua # Portuguese
├── server/
│ ├── main.lua # Server logic
│ └── discord.lua # Discord webhook logging
├── client/
│ ├── main.lua # Client core
│ ├── billing.lua # Billing phone app
│ ├── atm_spawn.lua # Admin ATM spawner (keyboard + wall snap)
│ └── atm_calibration.lua # ATM screen calibration
├── web/ # Vue 3 + Vite NUI source
│ ├── vite.config.js
│ ├── src/
│ │ ├── main.js # Vue app entry
│ │ ├── apps/
│ │ │ ├── DialogApp.vue # NPC dialog UI
│ │ │ ├── AtmApp.vue # ATM overlay UI
│ │ │ ├── BankApp.vue # Main banking UI
│ │ │ └── BillingApp.vue # Billing/invoice UI
│ │ ├── utils/
│ │ │ ├── bridge.js # Lua ↔ NUI message router
│ │ │ └── locale.js # NUI-side i18n
│ │ └── styles/
│ │ └── global.css
│ └── public/
├── html/ # Built NUI output
│ ├── index.html
│ ├── assets/ # Vite build output (JS/CSS)
│ ├── card.png / dollar.png
│ └── money-counter.ogg / money-counter-end.ogg
└── sql/
└── install.sql # Database schema (13 tables)
Database Tables
| Table | Purpose |
|---|---|
nc_banking_accounts |
Player accounts (PIN, lockout) |
nc_banking_transactions |
Transaction log (24 types) |
nc_banking_savings |
Savings accounts |
nc_banking_savings_goals |
Savings goals |
nc_banking_interest_history |
Interest payout log |
nc_banking_personal |
Personal sub-accounts |
nc_banking_business |
Job-linked business accounts |
nc_banking_shared |
Shared joint accounts |
nc_banking_shared_members |
Shared account members |
nc_banking_loans |
Loans |
nc_banking_invoices |
Invoices / bills |
nc_banking_atms |
Admin-spawned ATMs |
nc_banking_cards |
Issued bank cards |
Support
- Discord: noxcore.me
- Store: noxcore.tebex.io