config/config.lua holds these settings. Every option is explained in the comments below.
Runs on: shared. This file stays editable when the resource is escrow-protected. Restart the resource after a change.
Config = Config or {}
-- ─────────────────────────────────────────────
-- Language
-- Lua texts: locales/<lang>.lua UI texts: locales/ui/<lang>.json
-- ─────────────────────────────────────────────
Config.Locale = 'en'
-- ─────────────────────────────────────────────
-- Modules — switch off what your server doesn't use.
-- A disabled module hides its page, stops its jobs and refuses its actions.
-- ─────────────────────────────────────────────
Config.Features = {
savings = true,
shared = true,
society = true,
cards = true,
atm = true,
loans = true,
admin = true,
receipts = true,
cityhall = true, -- credit score link, only used while aps_cityhall is started
}
-- ─────────────────────────────────────────────
-- Branding
-- name shown in the UI, blips, receipts and webhooks
-- logo '' = APS logo, or your own: a URL / 'nui://…' image (corners get rounded)
-- accent main colour. Tints and the default card are derived from it.
-- ─────────────────────────────────────────────
Config.Branding = {
name = 'APS Bank',
logo = '',
accent = '#99b8cd',
}
-- ─────────────────────────────────────────────
-- UI
-- width, height panel size in % of the screen (keeps about 16:9)
-- scale extra zoom for very large or very small screens
-- ─────────────────────────────────────────────
Config.UI = {
width = 72,
height = 76,
scale = 1.0,
pageSize = 8, -- rows per page on Transactions
quickAmounts = { 100, 500, 1000, 5000 },
}
-- ─────────────────────────────────────────────
-- Bank branches
-- coords where the NPC stands / the prompt is shown (vector4, w = heading)
-- ped NPC model, or false for a plain interaction point
-- blip false hides the blip of this branch
-- hours false = always open, or { open = 8, close = 20 } (24h clock).
-- close lower than open wraps past midnight.
-- ─────────────────────────────────────────────
Config.Banks = {
{ name = 'Legion Square', coords = vector4(149.18, -1042.03, 29.37, 340.0), ped = 's_m_m_highsec_01', hours = false },
{ name = 'Hawick Avenue', coords = vector4(313.77, -280.48, 54.16, 340.0), ped = 's_m_m_highsec_01', hours = false },
{ name = 'Rockford Hills', coords = vector4(-351.27, -51.27, 49.04, 340.0), ped = 's_m_m_highsec_01', hours = false },
{ name = 'Del Perro', coords = vector4(-1212.63, -331.46, 37.78, 25.0), ped = 's_m_m_highsec_01', hours = false },
{ name = 'Great Ocean Hwy', coords = vector4(-2961.03, 482.88, 15.70, 85.0), ped = 's_m_m_highsec_01', hours = false },
{ name = 'Route 68', coords = vector4(1175.03, 2708.25, 38.09, 178.0), ped = 's_m_m_highsec_01', hours = false },
{ name = 'Paleto Bay', coords = vector4(-111.85, 6469.47, 31.63, 134.0), ped = 's_m_m_highsec_01', hours = { open = 8, close = 20 } },
}
-- ─────────────────────────────────────────────
-- Opening hours
-- clock 'server' real time of the server. Checked on the server too.
-- 'game' in-game clock. Only the prompt follows it, because the
-- server has no game clock of its own.
-- ─────────────────────────────────────────────
Config.Hours = { clock = 'server' }
Config.Blip = {
enabled = true,
sprite = 108,
color = 2,
scale = 0.75,
}
-- ─────────────────────────────────────────────
-- Interaction
-- type 'auto' → ox_target → qb-target → sleepless_interact → prompt
-- 'ox_target' | 'qb-target' | 'sleepless_interact' | 'prompt'
-- key control id for the built-in prompt (38 = E)
-- distance how close the player has to be
-- ─────────────────────────────────────────────
Config.Interaction = {
type = 'auto',
key = 38,
distance = 2.0,
icon = 'fa-solid fa-building-columns',
atmIcon = 'fa-solid fa-credit-card',
}
-- ─────────────────────────────────────────────
-- ATMs
-- models props that act as an ATM
-- requireCard a card has to be inserted. false also offers a plain
-- "use my account" entry without PIN.
-- deposit allow cash deposits at ATMs
-- amounts quick amount buttons
-- sessionMinutes how long a PIN stays valid after it was entered
-- itemNeedsAtm using a card item only works next to an ATM
-- ─────────────────────────────────────────────
Config.ATM = {
models = { 'prop_atm_01', 'prop_atm_02', 'prop_atm_03', 'prop_fleeca_atm' },
requireCard = true,
deposit = true,
amounts = { 50, 100, 200, 500, 1000, 2000 },
sessionMinutes = 3,
itemNeedsAtm = true,
}
-- Optional command to open the bank anywhere. Off by default: it removes the
-- location check for that player's session.
Config.Command = { enabled = false, name = 'bank' }
