Showcase: https://www.youtube.com/watch?v=4Ei3ub9WfrE
A comprehensive banking system for FiveM servers that supports both ESX and QB Core frameworks.
Update your police job to use omes_banking instead of qb-banking. You'll need to find this line in your police job server files:
exports['qb-banking']:AddMoney(source, 'bank', amount, reason)
And change it to:
exports['omes_banking']:AddMoney(source, 'bank', amount, reason)
- Framework Compatibility: Supports both ESX and QB Core frameworks
- Banking Operations: Deposit, withdraw, and transfer money
- Savings Accounts: Open and manage savings accounts
- ATM Support: Use ATMs with PIN verification
- Transaction History: Track all banking transactions
- Balance Charts: Visual representation of balance history
- Notification System: Supports ESX, QB Core, and OX Lib notifications
- Multi-language Support: Supports 6 languages with easy expansion system
- Download and place the resource in your
resourcesfolder - Add
ensure omes_bankingto yourserver.cfg - Import the SQL file to create the required database tables
- Configure the script in
config.lua
In config.lua, set your framework:
Config.Framework = 'esx' -- Options: 'esx', 'qb'Choose your notification system:
Config.NotificationType = 'ox' -- Options: 'esx', 'ox'The banking system supports multiple languages. Set your preferred language:
Config.DefaultLanguage = 'en' -- Options: 'en', 'es', 'fr', 'ar', 'de', 'pt'Available Languages:
- English (
en) - Default language - Spanish (
es) - Español - French (
fr) - Français - Arabic (
ar) - العربية - German (
de) - Deutsch - Portuguese (
pt) - Português
Configure banking limits and features:
Config.Banking = {
enableATM = true,
enableBankerPed = true,
enableNUI = true,
defaultAccount = 'bank',
maxTransferAmount = 1000000,
minTransferAmount = 1,
transferFee = 0, -- Percentage fee for transfers (0 = no fee)
enableTransactionHistory = true,
maxHistoryEntries = 50
}The script requires the following database tables:
-- Banking transactions
CREATE TABLE IF NOT EXISTS `banking_transactions` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`identifier` varchar(50) NOT NULL,
`type` varchar(50) NOT NULL,
`amount` int(11) NOT NULL,
`description` text,
`date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
);
-- Banking savings accounts
CREATE TABLE IF NOT EXISTS `banking_savings` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`identifier` varchar(50) NOT NULL,
`balance` int(11) NOT NULL DEFAULT 0,
`status` varchar(20) NOT NULL DEFAULT 'active',
PRIMARY KEY (`id`)
);
-- Banking PINs
CREATE TABLE IF NOT EXISTS `banking_pins` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`identifier` varchar(50) NOT NULL,
`pin` varchar(4) NOT NULL,
PRIMARY KEY (`id`)
);- Uses
identifierfor player identification - Money management through ESX account system
- ESX notification system support
- Uses
citizenidfor player identification - Money management through QB Core money system
- QB Core notification system support
/bank- Opens the banking interface (admin/testing)
To add a new language to the banking system:
- Open
config.luaand locate theConfig.Translationstable - Add your language code to the
Config.DefaultLanguagecomment options - Create a new translation table following this structure:
['your_lang_code'] = {
-- General
['bank_name'] = 'Your Bank Name',
['welcome'] = 'Welcome Message',
['balance'] = 'Balance',
['account'] = 'Account',
['amount'] = 'Amount',
['confirm'] = 'Confirm',
['cancel'] = 'Cancel',
['close'] = 'Close',
-- ... (continue with all translation keys)
}- Copy all translation keys from the English (
en) section to ensure completeness - Translate each value to your target language
- Update the default language in config if desired:
Config.DefaultLanguage = 'your_lang_code'Translation Keys Include:
- General UI elements (buttons, labels, messages)
- Account management terms
- Transaction types and messages
- ATM and PIN related text
- Savings account terminology
- Admin panel text
- Error messages and notifications
Note: The system automatically falls back to English if a translation key is missing in your selected language.
- ESX Legacy (if using ESX framework)
- QB Core (if using QB Core framework)
- OX Lib (optional, for enhanced notifications)
- MySQL-Async or oxmysql
For support and updates, please visit our GitHub repository or Discord server.
This project is licensed under the MIT License.