βοΈConfiguration
Configuration for KS-Bank
π Locale & NotificationsΓΉ
Config.Locale = 'en'
Config.NotificationSystem = 'custom' -- Options: 'esx', 'ox', 'custom'
π£οΈ Locale Selection
You can choose the language of the interface and system messages. By default, we provide the following languages:
en β English
it β Italian
Set Config.Locale = 'en' or Config.Locale = 'it' depending on your server's target audience.
π Notification System
You can choose the notification system used to display messages to players:
ox β Uses ox_lib for styled notifications.
esx β Uses native esx:showNotification.
custom β Triggers a client event (showNotification) that you can customize yourself.
π§© Custom Types
You can define the notification types and functions under:
Config.NotificationTypes = {
error = 'errore',
success = 'successo',
}
You can also override how each type is handled using:
Config.NotificationFunctions = {
ox = function(src, type, message, duration)
TriggerClientEvent('ox_lib:notify', src, {
description = message,
duration = duration,
type = type or 'inform'
})
end,
esx = function(src, _, message)
TriggerClientEvent('esx:showNotification', src, message)
end,
custom = function(src, type, message, duration)
TriggerClientEvent('showNotification', src, type, message, duration)
end,
}
Config.NotificationFunctionsClient = {
ox = function(_, type, message, duration)
lib.notify({
description = message,
duration = duration,
type = type
})
end,
esx = function(_, _, message)
ESX.ShowNotification(message)
end,
custom = function(_, type, message, duration)
TriggerEvent('showNotification', type, message, duration)
end,
}
π§Ύ Billing System
Config.BillingSystem = true -- or you can set false for custom billing
This enables or disables the built-in billing system. If set to false, you can integrate your own custom system.
π Billing System Locations
Config.BillingSystemLocation = {
{
coords = vec3(246.6120, 214.0744, 106.2868),
job = "police",
grades = {1, 2, 3}
},
{
coords = vec3(241.8473, 214.9330, 106.2868),
job = "ambulance",
grades = {2, 4}
}
}
This defines locations where authorized jobs can access the billing system.
function AddMoneyToSocietyAccount(job, amount)
TriggerEvent('esx_addonaccount:getSharedAccount', ('society_%s'):format(job), function(account)
if account then
account.addMoney(amount)
end
end)
end
This server-side utility function adds money to a society (shared) account for a given job, using the esx_addonaccount system.
π° Starting Balances
Config.StartingBalance = {
['personal'] = 1000,
-- ['savings'] = 5000, -- (Work in progress)
-- ['business'] = 10000 -- (Work in progress)
}
Config.StartingCrypto = 0.000000
Config.MaxAccountsPerLicense = 1
π¦ Account Balance
Config.StartingBalance: Defines the starting balance for new accounts. Currently, only the personal (personal) account type is supported. Other types like savings (savings) and business (corporate) are under development and will be added in future updates.
πͺ Crypto Balance
Config.StartingBalance: Sets the initial amount of cryptocurrency a user will have when their bank account is created.
π Max Accounts Per License
Config.StartingBalance: Limits the number of bank accounts that can be created per FiveM license. Default is 1 β this means each player can only register one bank account.
π€ Default Avatar
Config.DefaultAvatar = "https://r2.fivemanage.com/sgW1Sxe8xwnGFvfmYHOpZ/logo_discord_bot.png"
URL used when a user does not upload a profile picture.
π³ Card System
The banking system supports the use of multiple card types, including debit, prepaid, and credit cards. It includes generation cooldowns, configurable spending and balance limits, and custom metadata for identity documents.
π Card Regeneration Cooldowns
Config.CardRegeneration = {
EnableCooldown = true,
CooldownTime = 600, -- in seconds
CardSpecificCooldowns = {
debit = { enabled = true, time = 600 },
creditCard = { enabled = true, time = 600 },
prepaidCard = { enabled = true, time = 600 }
}
}
Prevents users from generating cards too frequently.
You can enable cooldowns globally or per card type.
Cooldown time is in seconds (e.g., 600 = 10 minutes)
π΄ Card Item Identifiers
Config.CardItem = {
DebitCard = 'debit_card',
PrepaidCard = 'prepaid_card',
CreditCard = 'credit_card'
}
These item names must match those registered in your inventory system
πΈ Spending & Balance Limits
Config.CardSpendingLimit = {
PrepaidCard = 5000,
CreditCard = 6000,
}
Config.CardBalanceLimit = {
PrepaidCard = 20000,
CreditCard = 60000,
}
CardSpendingLimit: Maximum amount that can be spent using the card before reset.
CardBalanceLimit: Maximum amount that a card can hold in total.
β»οΈ Automatic Limit Reset
Config.ResetCardLimitsInterval = 3600 -- in seconds
Automatically resets the card's ShopDispo (available spending amount) every defined interval.
πͺͺ Document System
Config.DocumentItem = {
idcard = 'idcard',
vhlicense = 'patente',
}
These item names must match those registered in your inventory system
When a card is issued, the corresponding item is added to the player's inventory.
πͺͺ Document Metadata Fields
Config.MetadataFields = {
firstname = 'firstname',
lastname = 'lastname',
falso = 'falso',
placeOfBirth = 'placeOfBirth',
dob = 'dob',
photo = 'photo'
}
This configuration defines the field mapping for metadata stored on document items such as ID cards, driver's licenses.
π Logging (Discord Webhooks)
Config.Log = {
CreationAccount = '',
BuyWareHouse = '',
BankTransiction = '',
RichargeCard = '',
BlockCard = '',
SendMoneyDashboard = '',
DepositMoneyDashboard = '',
TransferMoneyQuickDashboard = '',
BlockCardBot = '',
ChangePassword = '',
DeleteCredential = '',
SignOutAll = '',
AddAccount = '',
DeleteAccountPerma = '',
WithdrawAtm = '',
DepositAtm = '',
SellCrypto = '',
BuyCrypto = '',
PinChangePrepaidCard = '',
PinChangeDebitCard = '',
PinChangeCreditCard = '',
}
Every critical action (withdrawal, card generation, money transfers, etc.) has its own webhook for audit logs.
π¦ Account Options
Config.CreationBankAccount = true
Config.BankSavingsAccount = false -- (WIP)
Config.JobBankAccount = false -- (WIP)
Enable/disable account types (more coming soon).
π§ͺ Debug Mode
Config.BankDebugZone = false
Set to true to enable debug zone for bank locations.
ποΈ Bank Locations
Config.BankLocation = {
Pacific = vec4(242.4305, 225.6224, 106.2779, 157.3414),
Pacific2 = vec4(247.7906, 224.0964, 106.2779, 158.2072),
Pacific3 = vec4(252.9351, 222.1956, 106.2779, 163.3276),
Fleeca1 = vec4(149.6765, -1041.7236, 29.7347, 337.5768),
Fleeca2 = vec4(-1212.1538, -331.6609, 37.8033, 24.3511),
Fleeca3 = vec4(-351.2033, -50.9305, 49.0582, 343.0009),
Fleeca4 = vec4(1174.9958, 2707.8840, 38.1096, 179.3972),
Blaine = vec4(-112.2057, 6471.0278, 31.6267, 129.5908),
}
Define accessible bank locations where players can open the Bank.
π§ ATM Configuration
Config.ATMModels = {
'prop_atm_01',
'prop_atm_02',
'prop_atm_03',
'prop_fleeca_atm'
}
Config.ATMInteractRange = 1.5
Define ATM models and interaction range.
π± Warehouse Seller NPC
Config.CryptoMine = {
["Buy"] = {
ActivateNpc = true,
Npc = 's_m_m_highsec_02',
LocationNPC = vector4(227.3799, 219.2854, 104.5499, 161.1501),
},
}
π§ NPC for Warehouse Purchase
This NPC allows players to buy warehouses from a designated in-game location.
ActivateNpc: Enables or disables the NPC interaction system.
Npc: The ped model used for the warehouse seller.
LocationNPC: Coordinates and heading where the NPC will be spawned.
π Job Bank Access (Work in Progress)
Config.JobBankGrade = {
police = 'boss',
}
π Authorized Job-Based Account Creation
This configuration defines which jobs and job grades are allowed to create business bank accounts (also known as "business".
The key is the job name ('police')
The value is the required grade to access this feature ('boss')
β οΈ Note: This feature is currently under development and may not be fully functional in the current version.
π¦ Warehouses
Config.warehouses = {
{
id = 1,
name = "Warehouse #1",
description = "Sandy Shores Oasis Storage. Rural charm with all the modern amenities.",
size = "Big",
price = 750000,
coords = vector3(173.1273, -26.0479, 68.3470)
},
-- More warehouses...
}
ποΈ Warehouse Configuration
Each warehouse entry defines a location that can be purchased by players. The following fields must be set:
id: A unique identifier for the warehouse (must be unique)
name: The name of the warehouse (must also be unique)
description: A short description shown in the UI
size: Can be "Small" (12 slot), "Medium" (42 slot), or "Big" (74 slot) (used for display or logic)
price: The cost of purchasing the warehouse
coords: The in-game position where the warehouse is located
β οΈ Important: Both the id and name must be unique. Duplicates may cause data conflicts, purchase errors, or UI issues.
πͺ Warehouse Equipment & Crypto Mining
π¦ Crate and Rig Pricing
Config.CratePrice = 1000
Config.RigPrice = 5000
These values define the purchase cost for equipment used in warehouses:
Config.CratePrice: The price (in $) to buy a crate, which expands warehouse storage.
Config.RigPrice: The price (in $) to buy a mining rig, which allows passive cryptocurrency generation.
β‘ Energy Cost & Crypto Yield
Config.PriceKw = 100
Config.CryptoProfitForMinuteForRig = 10
These values are used for managing the cost and yield of mining rigs:
Config.PriceKw: Price per kilowatt of power consumption. Used to simulate rig electricity costs.
Config.CryptoProfitForMinuteForRig: Amount of cryptocurrency generated per minute per rig.
π‘ Example: If a player owns 2 rigs, they will earn 20 crypto per minute (assuming 10 per rig), and be charged accordingly based on power consumption logic (if implemented).
πΈ Ads & Calendar Images
π’ Server Advertisement Banners
Config.AdsImage = {
mangeaccountads = "IMAGE_URL",
walletads = "IMAGE_URL"
}
These are image URLs used as banner ads inside the bank UI. You can use them to promote your server, events, or community content.
mangeaccountads: Displayed on the Manage Account page.
walletads: Displayed in the Exchange / Wallet section.
π
Calendar Monthly Images
Config.CalanderImage = {
January = "",
February = "",
March = "",
April = "",
May = "",
June = "",
July = "",
August = "",
September = "",
October = "",
November = "",
December = ""
}
These images are used to decorate the calendar UI and change automatically based on the current real-world month.
Each month key (January, February, etc.) corresponds to the image that will be shown in that month.
Leave the value empty ("") if no image should be shown for that month.

π¬ Need Help or Support?
If you have any questions, need help with setup, or want to report a bug, feel free to join our support Discord:
Last updated