Configuration

💎 PAID | Purchase on Tebex

Complete configuration reference for nc-atm. All settings are in config/config.lua.

Framework & Target

Config.Framework    = 'auto'   -- 'qbcore' | 'qbox' | 'esx' | 'ox' | 'auto'
Config.TargetSystem = 'auto'   -- 'ox_target' | 'qb-target' | 'qtarget' | 'interact' | 'auto'
  • 'auto' detects the first available resource
  • 'interact' = E key proximity (no target resource needed)

E Key Interaction

Used when no target system is detected:

Config.InteractKey          = 38    -- E
Config.InteractPrompt       = '[E]'
Config.InteractDrawDistance = 10.0
Config.InteractFontScale    = 0.35
Config.InteractDistance     = 2.5

Locale & Currency

Config.Locale           = 'en'

Config.CurrencySymbol   = '$'
Config.CurrencyPosition = 'before'  -- 'before' → $1,000  |  'after' → 1,000$
Config.CurrencyLocale   = 'en-US'
Config.CurrencyDecimals = 0

Database

Config.AutoInstallSQL = true  -- auto-create tables on first start

PIN

Config.RequirePin       = true    -- require PIN on ATM login
Config.RequirePinOnATM  = true    -- (redundant guard)
Config.DefaultPin       = '0000'  -- PIN assigned to new players
Config.PinLength        = 4       -- digits
Config.MaxPinAttempts   = 5       -- failures before lockout
Config.PinLockoutTime   = 30      -- lockout duration (seconds)

Transfer

Config.ATMTransferEnabled = true
Config.ATMTransferMode    = 'serverid'  -- only 'serverid' supported

Config.TransferCooldown   = 5        -- seconds between transfers
Config.MinTransferAmount  = 1
Config.MaxTransferAmount  = 1000000

Notification

Config.NotificationType = 'ox_lib'  -- 'ox_lib' | 'qb' | 'esx'

Sound

Config.MoneyCountVolume    = 0.6   -- cash counting sound volume
Config.MoneyCountEndVolume = 0.7

Admin

Config.ATMSpawnCommand    = 'atmspawn'    -- /atmspawn [model]
Config.ATMDeleteCommand   = 'atmdelete'  -- /atmdelete
Config.AdminAcePermission = false        -- false = everyone | 'nc-atm.admin' = ACE required

For production servers set Config.AdminAcePermission = 'nc-atm.admin' and grant it via add_ace.

ATM Models

Models that receive target interaction:

Config.ATMModels = {
    'prop_atm_01',
    'prop_atm_02',
    'prop_atm_03',
    'prop_atm_04',
    'prop_fleeca_atm',
    'amb_prop_pine_atm',
}

Add any custom prop model names here.

ATM Spawn

Config.ATMSpawnEnabled = true
Config.ATMSpawnModel   = 'prop_atm_01'   -- default model for /atmspawn

Config.ATMSpawnBlip = {
    enabled = true,
    sprite  = 108,
    color   = 2,
    scale   = 0.6,
    label   = 'ATM',
}

Camera Presets

Per-model camera settings used when a player opens the ATM. You can add custom presets for modded props.

Config.ATMCameraPresets = {
    {
        name         = 'default',
        enabled      = true,
        distance     = 0.8,      -- camera distance from ATM
        rightOffset  = 0.0,      -- lateral offset
        height       = 1.4,      -- camera height
        lookAtHeight = 0.8,      -- where camera looks vertically
        fov          = 42.0,
        transitionMs = 800,      -- smooth transition (ms)
        dof          = true,     -- depth of field blur
        dofNear      = 0.3,
        dofFar       = 4.0,
        dofStrength  = 0.6,
        models       = { 'prop_atm_01' },
    },
    {
        name         = 'fleeca',
        enabled      = true,
        distance     = 0.6,
        height       = 1.6,
        lookAtHeight = 1.1,
        fov          = 45.0,
        transitionMs = 800,
        dof          = true,
        dofNear      = 0.3,
        dofFar       = 4.0,
        dofStrength  = 0.6,
        models       = { 'prop_fleeca_atm', 'prop_atm_02', 'prop_atm_03', 'prop_atm_04' },
    },
}

NUI Overlay (ATMNUI)

Fallback screen and button positions used when no calibration file exists for the current model.

Config.ATMNUI = {
    enabled      = true,
    debug        = false,   -- show bounding boxes in-game

    -- Fallback screen position (% of viewport)
    screen = { left = 38, top = 20, width = 24, height = 55 },

    -- Fallback button size (vw%)
    buttonWidth  = 3.5,
    buttonHeight = 3.5,
    buttonGap    = 0.8,

    -- Left side buttons
    leftButtons = {
        { label = 'Balance',  event = 'checkBalance', top = 12 },
        { label = 'Deposit',  event = 'deposit',      top = 30 },
        { label = 'Withdraw', event = 'withdraw',     top = 48 },
        { label = 'Transfer', event = 'transfer',     top = 66 },
    },

    -- Right side buttons
    rightButtons = {
        { label = 'PIN',     event = 'changePin',    top = 12 },
        { label = 'History', event = 'transactions', top = 30 },
        { label = '',        event = '',              top = 48 },
        { label = 'Cancel',  event = 'close',         top = 66 },
    },

    -- PIN pad position and size
    pinPad = {
        enabled = true,
        left    = 35,
        bottom  = 0,
        width   = 8,
        height  = 20,
        keyGap  = 6,
    },

    -- Default key layout (4-column)
    pinKeys = {
        { '1', '2', '3', 'CANCEL' },
        { '4', '5', '6', 'CLEAR'  },
        { '7', '8', '9', 'ENTER'  },
        { '',  '0', '',  ''       },
    },

    -- Per-model key layout overrides (3-column)
    pinKeysPerModel = {
        ['prop_atm_01'] = {
            { '1', '2', '3' },
            { '4', '5', '6' },
            { '7', '8', '9' },
            { 'CANCEL', '0', 'ENTER' },
        },
        -- prop_fleeca_atm, amb_prop_pine_atm — same 3-column layout
    },
}

Button event values

Event Action
checkBalance Show current bank balance
deposit Go to deposit amount screen
withdraw Go to withdraw amount screen
transfer Go to transfer screen
changePin Go to PIN change flow
transactions Show transaction history
close Close the ATM

ATM Calibration

Config.ATMCalibration = {
    enabled    = true,
    debug      = false,
    command    = 'atmcalibrate',  -- /atmcalibrate
    permission = false,           -- false = everyone | true = AdminAcePermission | 'custom.ace' = specific
}

External UI Toggle

Auto-hide other resource UIs when the ATM opens:

Config.ExternalUIToggle = {
    -- { resource = 'your-hud', export = 'ToggleHUD' },
}

Force Close Other NUI

Config.ForceCloseOtherNUI = false
Config.CloseResources = {
    -- { resource = 'ox_inventory', export = 'closeInventory' },
}
Last updated 1 month ago