A fully-featured and optimized Banking System for FiveM servers. Allows players to manage their finances with ease β including deposits, withdrawals, transfers, and account balances. Comes with a modern and user-friendly UI, secure server-side handling of all transactions. Perfect for enhancing immersion and realism in your RP server
Features:
- Support ESX / QB / QBOX Framework [Open Source Files]
- Support ox_target / qb-target [Open Source Files]
- Support ox_inventory / qb-inventory / ps-inventory / jpr-inventory / qs-inventory / tgiann-inventory / codem-inventory [Open Source Files]
- Invoices System: You can let workers issue a invoices for customers with our script
- Loans System: Players can request a loan with required credit score
- Bank Cards: You can force player to use bank cards for ATM
- Card Hacking: Players are allowed to hack bank cards and stole some amount of money
- Shared Accounts: You can create shared accounts with your friends and manage their permissions
- Society Accounts: Script has society account of every job, as boss you can manage your business funds
- Account Logs: Logs for every action on bank account, very useful to recognize some activity
- Discord Logs: Script has also discord logs for every action, you can follow your players every step on server
Script Config
Config = {}
Config.Debug = false -- ENABLE DEBUG MODE? [SHOWS MORE INFO IN CONSOLE]
Config.Language = 'en' -- [en, de, pl, ru, es, fr, tr, ar]
Config.Logs = true -- ENABLE DISCORD LOGS? [SERVER/EDITABLE_FUNCTIONS.LUA]
Config.Bank = {
IBANLength = 10, -- IBAN LENGTH [AUTO-GENERATED]
societyAccounts = true, -- ENABLE SOCIETY ACCOUNTS? [FOR JOBS]
sharedAccountsLimit = 3, -- MAXIMUM NUMBER OF SHARED ACCOUNTS
accountLogs = true, -- ENABLE ACCOUNT LOGS?
locations = {
{coords = vec3(149.7, -1041.32, 29.7), radius = 0.65, blip = {name = "Fleeca Bank", sprite = 108, color = 2, scale = 0.8}}, -- FLEECA BANK [COORDS AND RADIUS OF TARGET]
{coords = vec3(-1212.7, -330.5, 37.8), radius = 0.65, blip = {name = "Fleeca Bank", sprite = 108, color = 2, scale = 0.8}}, -- FLEECA BANK [COORDS AND RADIUS OF TARGET]
{coords = vec3(-351.5, -49.5, 49.0), radius = 0.65, blip = {name = "Fleeca Bank", sprite = 108, color = 2, scale = 0.8}}, -- FLEECA BANK [COORDS AND RADIUS OF TARGET]
{coords = vec3(-2962.5, 482.5, 15.7), radius = 0.65, blip = {name = "Fleeca Bank", sprite = 108, color = 2, scale = 0.8}}, -- FLEECA BANK [COORDS AND RADIUS OF TARGET]
{coords = vec3(-112.5, 6469.5, 31.6), radius = 0.65, blip = {name = "Fleeca Bank", sprite = 108, color = 2, scale = 0.8}}, -- FLEECA BANK [COORDS AND RADIUS OF TARGET]
{coords = vec3(1175.5, 2706.5, 38.0), radius = 0.65, blip = {name = "Fleeca Bank", sprite = 108, color = 2, scale = 0.8}}, -- FLEECA BANK [COORDS AND RADIUS OF TARGET]
}
}
Config.ATM = {
allowDeposit = true, -- ALLOW PLAYERS TO DEPOSIT MONEY IN ATM
allowWithdraw = true, -- ALLOW PLAYERS TO WITHDRAW MONEY FROM ATM
models = {'prop_fleeca_atm', 'prop_atm_02', 'prop_atm_03', 'prop_atm_01'}, -- MODELS OF ATMS [FOR TARGET]
locations = {}, -- YOU CAN OPTIONALLY ADD ATM FOR COORDS [SAME LIKE BANK LOCATIONS :)]
onOpen = function(atmEntity) -- THIS FUNCTION IS EXECUTED WHEN PLAYER OPENS ATM
if atmEntity == 0 or not DoesEntityExist(atmEntity) then
return
end
local plyCoords = GetEntityCoords(cache.ped)
if #(plyCoords - GetEntityCoords(atmEntity)) > 2.5 then
return
end
local offset = GetOffsetFromEntityInWorldCoords(atmEntity, 0.0, -0.55, 0.0)
SetEntityCoordsNoOffset(cache.ped, offset.x, offset.y, plyCoords.z, true, true, true)
SetEntityHeading(cache.ped, GetEntityHeading(atmEntity))
TaskStartScenarioInPlace(cache.ped, 'PROP_HUMAN_ATM', 0, true)
Citizen.Wait(2000) -- WAIT FOR ANIMATION
end,
onClose = function() -- THIS FUNCTION IS EXECUTED WHEN PLAYER CLOSES ATM
ClearPedTasks(cache.ped)
end
}
Config.Invoices = {
menuCommand = 'createInvoice', -- COMMAND TO OPEN INVOICE MENU, set to false to disable
allowDebt = true, -- ALLOW PLAYERS TO PAY INVOICES IF THEY DOESNT HAVE ENOUGH MONEY
}
Config.Loans = {
isEnabled = true, -- ENABLE LOANS SYSTEM?
maxLoans = 1, -- MAXIMUM NUMBER OF LOANS PLAYER CAN HAVE
defaultCreditScore = 500, -- DEFAULT CREDIT SCORE FOR NEW PLAYERS [MAXIMUM 1000]
availableLoans = {
{
name = 'Bronze Loan',
amount = 10000,
repayment = 1.2, -- 120% repayment
requiredScore = 350,
duration = 30 -- 30 days
},
{
name = 'Silver Loan',
amount = 25000,
repayment = 1.1, -- 110% repayment
requiredScore = 550,
duration = 30 -- 30 days
},
{
name = 'Gold Loan',
amount = 50000,
repayment = 1.05, -- 105% repayment
requiredScore = 700,
duration = 30 -- 30 days
},
{
name = 'Diamond Loan',
amount = 250000,
repayment = 1.1, -- 110% repayment
requiredScore = 900,
duration = 30 -- 30 days
},
}
}
Config.BankCards = {
isEnabled = true, -- ENABLE BANK CARDS SYSTEM? [PLAYER WILL NEED TO HAVE BANK CARD TO USE ATM]
maxCardsPerAccount = 3, -- MAXIMUM NUMBER OF CARDS PER ACCOUNT
cardHacking = true, -- ENABLE BANK CARD HACKING? [PLAYER CAN HACK BANK CARDS FROM OTHER PLAYERS]
requiredHackItems = {
-- ['atm_device'] = 1
},
stoleAmount = {min = 100, max = 5000}, -- AMOUNT OF MONEY PLAYER CAN STEAL FROM HACKED CARD
cooldownType = 'global', -- global / account [global cooldown for all players or cooldown for hacked account]
cooldownTime = 30 * 60, -- COOLDOWN TIME IN SECONDS [30 MINUTES]
removeCardAfterHack = true, -- REMOVE BANK CARD AFTER HACKING? [PLAYER WILL NEED TO GET NEW CARD]
cardHackGame = function()
if lib.progressBar({
duration = 10000,
label = locale('preparing_device'),
useWhileDead = false,
canCancel = true,
disable = {car = true, move = true, combat = true},
anim = {dict = 'anim@scripted@player@mission@tunf_hack_keypad@heeled@', clip = 'hack_loop'},
}) then
if GetResourceState('p_minigames') == 'started' then
return exports['p_minigames']:StartGame('MathGame', {
preset = 'easy', -- easy / medium / hard / impossible
questionsAmount = 20,
maxFails = 3,
fallTime = 5000
})
else
return lib.skillCheck({'easy', 'easy', {areaSize = 60, speedMultiplier = 2}, 'hard'}, {'w', 'a', 's', 'd'})
end
else
return false
end
end
}
Links:
JOIN DISCORD FOR SUPPORT
VIDEO SHOWCASE
SCRIPT DOCUMENTATION
BUY HERE $19.99
USE CODE βNEWβ FOR -10% DISCOUNT ON FIRST-PURCHASE! 
Tags
fivem, esx, qbcore, qbox, banking, bank, bank system, banking system
Code is accessible | No (Bridge Files are Open Source) |
Subscription-based | No |
Lines (approximately) | 500+ |
Requirements | ox_lib, oxmysql |
Support | Yes |