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, transferable cards | ā |
| 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 āāā 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