Configuration

Example of configuration file for fsg_banking

Config = {}

-- Debug Settings
Config.Locale = 'en'
Config.Debug = true -- Set to true to enable debug prints in console

Config.ResourceNames = {
    ESX = 'es_extended',
    QBCore = 'qb-core',
    QBox = 'qbx_core'
}

-- UI Settings
Config.Logo = {
    width = '2.75rem', -- Logo width (e.g., '2.75rem', '44px', '3rem')
    height = '2.75rem', -- Logo height (e.g., '2.75rem', '44px', '3rem')
}

Config.Notify = 'esx' -- esx, qb, qbox, ox_lib
Config.InteractionType = "target" -- target (auto-detects ox_target or qb-target) / text_ui / drawtext
Config.ATMModels = {
    "prop_atm_01",
    "prop_atm_02",
    "prop_atm_03",
    "prop_fleeca_atm"
}
Config.TargetDistance = 2.0 -- Distance for all target interactions

Config.BankLocations = {
    {
        coords = vector3(150.03, -1040.78, 29.37),
        ped = vector4(150.13, -1042.37, 29.37, 345.55),
        model = "a_f_m_business_02",
        blips = true,
        name = "Legion Square Bank",
        blip_color = 2
    },
    {
        coords = vector3(314.27, -279.21, 54.17),
        ped = vector4(314.44, -280.75, 54.16, 10.96),
        model = "a_f_m_business_02",
        blips = true,
        name = "Hawick Ave Bank",
        blip_color = 2
    },
    {
        coords = vector3(241.95, 225.16, 106.29),
        ped = vector4(243.32, 226.4, 106.29, 161.23),
        model = "a_f_m_business_02",
        blips = true,
        name = "Pacific Bank",
        blip_color = 2
    },
    {
        coords = vector3(-1212.66, -330.71, 37.78),
        ped = vector4(-1212.4, -332.22, 37.78, 350.48),
        model = "a_f_m_business_02",
        blips = true,
        name = "Blvd Del Perro Bank",
        blip_color = 2
    },
    {
        coords = vector3(-2962.56, 483.09, 15.7),
        ped = vector4(-2961.12, 482.47, 15.7, 57.38),
        model = "a_f_m_business_02",
        blips = true,
        name = "Banham Canyon Bank",
        blip_color = 2
    },
    {
        coords = vector3(1175.0, 2706.9, 38.09),
        ped = vector4(1175.45, 2708.22, 38.09, 154.19),
        model = "a_f_m_business_02",
        blips = true,
        name = "Harmony Bank",
        blip_color = 2
    },
    {
        coords = vector3(-112.95, 6470.05, 31.63),
        ped = vector4(-112.43, 6471.22, 31.63, 135.73),
        model = "a_f_m_business_02",
        blips = true,
        name = "Paleto Bank",
        blip_color = 2
    }
}

-- Specific ATM Wall Locations - for ATMs that don't work with ox_target
Config.ATMWallLocations = {
    vector3(265.9, 213.86, 106.28),
    vector3(265.56, 212.98, 106.28),
    vector3(265.19, 211.91, 106.28),
    vector3(264.86, 211.03, 106.28),
    vector3(264.52, 210.06, 106.28),
    vector3(236.64, 219.72, 106.29),
    vector3(237.04, 218.72, 106.29),
    vector3(237.5, 217.87, 106.29),
    vector3(237.93, 216.94, 106.29),
    vector3(238.36, 216.03, 106.29)
}

Config.AuthenticationScreen = true -- Show fingerprint authentication screen before opening bank
Config.ATMDepositsEnabled = true -- Allow deposits at ATMs (set to false to only allow withdrawals at ATMs)
Config.ATMTransfersEnabled = true -- Allow transfers at ATMs (set to false to only allow at banks)

-- Security Settings
Config.MinTransaction = 1
Config.MaxTransaction = 999999999
Config.ActionCooldown = 2000 -- milliseconds between actions
Config.AntiSpam = true

-- Discord Webhook Logs Settings
Config.EnableLogs = true
Config.WebhookRateLimit = 5000 -- milliseconds between webhook sends
Config.WebhookColor = {
    deposit = 3066993,       -- Green
    withdraw = 15158332,     -- Red
    transfer = 3447003,      -- Blue
    tax = 15105570,          -- Orange
    interest = 5763719,      -- Purple
    creditScore = 15844367   -- Gold
}

-- Account Creation
Config.CreatePersonalAccountOnJoin = true
Config.WithdrawalLimit = 10000 -- Daily withdrawal limit

Config.Interest = {
    enabled = true,
    rate = 0.01,                    -- 1% per cycle
    cycle = 86400,                  -- 24 hours in seconds
    minBalance = 1000,              -- Minimum balance to earn interest
    maxInterest = 10000,            -- Cap interest per payout (0 = unlimited)
    depositCooldown = 3600,         -- Seconds since last deposit before interest applies (anti-abuse)
}

Config.Tax = {
    enabled = true,
    cycle = 604800, -- seconds (weekly = 7 days)
    brackets = {
        {min = 0, max = 10000, rate = 0.00},       -- 0% tax on 0-10k
        {min = 10001, max = 50000, rate = 0.05},   -- 5% tax on 10k-50k
        {min = 50001, max = 100000, rate = 0.10},  -- 10% tax on 50k-100k
        {min = 100001, max = 500000, rate = 0.15}, -- 15% tax on 100k-500k
        {min = 500001, max = 1000000, rate = 0.20},-- 20% tax on 500k-1M
        {min = 1000001, max = 999999999, rate = 0.25} -- 25% tax on 1M+
    },
    exemptions = {
        minBalance = 1000, -- Balances below this are exempt
        societyAccounts = true
    },
    holidays = {} -- Tax-free periods: {start = {month=12, day=24}, endDate = {month=12, day=26}}
}

Config.CreditScore = {
    enabled = true,
    defaultScore = 500,
    minScore = 300,
    maxScore = 850,
    modifiers = {
        -- Positive
        consistentDeposit = 2,    -- Regular deposits
        maintainBalance = 5,      -- Keeping balance above threshold
        interestEarned = 3,       -- Earning interest
        taxPaid = 10,             -- Paying taxes on time

        -- Negative
        overdraftAttempt = -15,   -- Trying to withdraw more than balance
        failedTransfer = -10,     -- Insufficient funds for transfer
        taxAvoidance = -25,       -- Attempting to evade tax
        suspiciousActivity = -50  -- Flagged by anticheat
    },
    balanceThreshold = 10000, -- Balance to maintain for score boost
    updateCycle = 86400, -- seconds (daily recalculation)

    -- Deposit validation to prevent deposit/withdraw cycling
    depositValidation = {
        enabled = true,
        minDepositAmount = 100,        -- Minimum deposit amount to count toward bonus
        requireNetPositive = true,     -- Net deposits must exceed withdrawals in window
        preventDuplicateAmounts = true, -- Same amount deposited 3+ times = rejected
        windowDays = 7                 -- Time window for all checks
    },

    tips = {
        {
            enabled = true,
            name = "Make Regular Deposits",
            description = "Deposit 5+ times per week for +2 pts each",
            icon = "trending_up",
            impact = "high"
        },
        {
            enabled = true,
            name = "Maintain Balance",
            description = "Keep balance above $10,000 for +5 pts",
            icon = "shield",
            impact = "high"
        },
        {
            enabled = true,
            name = "Pay Taxes On Time",
            description = "Tax payments give +10 pts boost",
            icon = "target",
            impact = "high"
        },
        {
            enabled = true,
            name = "Avoid Overdrafts",
            description = "Failed withdrawals cost -15 pts",
            icon = "alert",
            impact = "medium"
        }
    }
}

Config.Society = {
    enabled = true,                  -- Enable society/job account tab
    allowDeposit = true,             -- Allow boss to deposit personal money to society
    allowWithdraw = true,            -- Allow boss to withdraw society money
    maxWithdrawal = 0,               -- Max single withdrawal (0 = unlimited)
    logTransactions = true,          -- Log all society transactions to database
    bossNames = {
        'owner',
        'ceo',
        'boss',
        'chief',
    }
}

Config.TxAdmin = {
    enabled = true,                    -- Enable txAdmin restart handling
    stopAtSeconds = 600,                -- Seconds before restart to close UI (default: 600 -- 10 minutes) 
}

Support

If you need more support regarding the script, please reach out via our discordarrow-up-right.

Last updated