Configuration

Config file

config/main.lua
Config = {}

-- Debug mode
Config.debug = false

-- SUPPORTED FRAMEWORKS
-- esx / qb / custom
Config.framework = 'esx'

-- SUPPORTED TARGET SYSTEMS
-- 'ox_target' / 'qb-target' / 'standalone'
Config.target = 'ox_target'

-- SUPPORTED INVENTORIES
-- 'codem-inventory' / 'core_inventory' / 'origen_inventory' / 'ox_inventory' / 'ps-inventory' / 'qb-inventory' / 'qs-inventory' / 'tgiann-inventory'
Config.inventory = 'ox_inventory'

-- Language configuration
-- Config your own language in locales/<language>.lua
Config.language = 'en'

-- Amount of seconds to lock the hacking functions after a restart.
-- Set to 0 to disable
Config.lockHackingAfterRestart = 30 * 60

-- Name of items used in the hacking process
Config.items = {
    laptop = 'laptop',
    wifiTransmitter = 'wifi_transmitter'
}

-- Location of the police station, used to calculate rewards from ATMs
Config.policeLocation = vector3(-372.19094848633, -353.93682861328, 32.251167297363)

-- rewards from ATM hacks
-- - default: default ATM hack, days and time outside of bonus hours
-- - bonus: bonus ATM hack, days and time inside of bonus hours
Config.atmReward = {
    default = {
        min = 50, -- Absolute minimum reward
        low = 300, -- Low reward, used for distance scaling
        high = 500 -- High reward, used for distance scaling
    },
    bonus = {
        min = 100, -- Absolute minimum reward during bonus hours
        low = 400,  -- Low reward during bonus hours, used for distance scaling
        high = 600, -- High reward during bonus hours, used for distance scaling
        days = { 'Friday', 'Saturday' }, -- days of the week when bonus applies
        hours = { 12, 22 } -- start and end hour of the bonus period
    },
    xpReward = 2, -- XP reward for hacking an ATM
    distanceCutOff = 1000, -- Distance in meters at which the reward is cut off
    fraction = 20, -- Reward is rounded to the nearest fraction
    cooldown = 30 -- Cooldown in minutes before the ATM can be hacked again
}

-- rewards from vehicle hacks
Config.vehicleReward = {
    xpReward = 4 -- XP reward for hacking a vehicle
}

-- Energy configuration
-- Example: 1 energy is gained every 2 minutes = fully restored energy from 0 in 200 minutes
Config.energy = {
    increaseAmount = 1,
    duration = 2 * 60 * 1000
}

-- Software ports used in the hacking process
Config.softwarePorts = {
    ['vehicle'] = 2333
}

-- DO NOT EDIT BELOW THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING

-- Reserved IPs that cannot be generated when assigning IPs
Config.reservedIPs = {
    '0.0.0.0/8',       -- 0.0.0.0 - 0.255.255.255
    '10.0.0.0/8',      -- 10.0.0.0 - 10.255.255.255
    '100.64.0.0/10',   -- 100.64.0.0 - 100.127.255.255
    '127.0.0.0/8',     -- 127.0.0.0 - 127.255.255.255
    '169.254.0.0/16',  -- 169.254.0.0 - 169.254.255.255
    '172.16.0.0/12',   -- 172.16.0.0 - 172.31.255.255
    '192.0.0.0/24',    -- 192.0.0.0 - 192.0.0.255
    '192.0.2.0/24',    -- 192.0.2.0 - 192.0.2.255
    '192.88.99.0/24',  -- 192.88.99.0 - 192.88.99.255
    '192.168.0.0/16',  -- 192.168.0.0 - 192.168.255.255
    '198.18.0.0/15',   -- 198.18.0.0 - 198.19.255.255
    '198.51.100.0/24', -- 198.51.100.0 - 198.51.100.255
    '203.0.113.0/24',  -- 203.0.113.0 - 203.0.113.255
    '224.0.0.0/4',     -- 224.0.0.0 - 239.255.255.255
    '240.0.0.0/4'      -- 240.0.0.0 - 255.255.255.255
}

-- ATM models that can be hacked
Config.atmModels = {
    `prop_atm_01`,
    `prop_atm_02`,
    `prop_atm_03`,
    `prop_fleeca_atm`
}

-- Animation offsets for ATMs
Config.atmOffsets = {
    ['prop_atm_01'] = vector3(0.4, 0.63, 1.823),
    ['prop_atm_02'] = vector3(0.45, 0.86, 1.823),
    ['prop_atm_03'] = vector3(0.45, 0.86, 1.823),
    ['prop_fleeca_atm'] = vector3(0.45, 0.86, 1.823)
}

-- Default drive structure for the hacking laptop
Config.defaultDrive = {
    id = 100,
    name = 'BeOS',
    type = 'drive',
    locked = false,
    files = {
        {
            id = 2,
            name = 'bin',
            type = 'folder',
            locked = false,
            files = {
                { id = 3, name = 'bash', type = 'executable', locked = false },
                { id = 4, name = '.bashrc', type = 'executable', locked = false },
                { id = 5, name = 'echo', type = 'executable', locked = false },
                { id = 6, name = 'clear', type = 'executable', locked = false },
                { id = 7, name = 'nmap', type = 'executable', locked = false },
                { id = 8, name = 'netstat', type = 'executable', locked = false },
                { id = 9, name = 'ifup', type = 'executable', locked = false },
                { id = 10, name = 'ifdown', type = 'executable', locked = false },
                { id = 11, name = 'ping', type = 'executable', locked = false },
                { id = 12, name = 'ssh', type = 'executable', locked = false },
                { id = 13, name = 'quit', type = 'executable', locked = false },
                { id = 14, name = 'ls', type = 'executable', locked = false },
                { id = 15, name = 'cd', type = 'executable', locked = false },
                { id = 16, name = 'mbo', type = 'executable', locked = false },
                { id = 17, name = 'login', type = 'executable', locked = false },
                { id = 18, name = 'logout', type = 'executable', locked = false },
                { id = 19, name = 'createuser', type = 'executable', locked = false },
                { id = 20, name = 'hashbank', type = 'executable', locked = false },
            }
        },
        {
            id = 21,
            name = 'boot',
            type = 'folder',
            locked = false,
            files = {
                { id = 22, name = 'init', type = 'executable', locked = false },
                { id = 23, name = 'grub', type = 'executable', locked = false }
            }
        },
        {
            id = 24,
            name = 'etc',
            type = 'folder',
            locked = false,
            files = {
                { id = 25, name = 'passwd', type = 'file', locked = true },
                { id = 26, name = 'shadow', type = 'file', locked = true },
                { id = 27, name = 'hosts', type = 'file', locked = false }
            }
        },
        {
            id = 28,
            name = 'home',
            type = 'folder',
            locked = false,
            files = {
                {
                    id = 29,
                    name = 'user',
                    type = 'folder',
                    locked = false,
                    files = {
                        { id = 30, name = 'documents', type = 'folder', locked = false, files = {} },
                        { id = 31, name = 'downloads', type = 'folder', locked = false, files = {} }
                    }
                }
            }
        },
        {
            id = 33,
            name = 'var',
            type = 'folder',
            locked = false,
            files = {
                { id = 34, name = 'log', type = 'folder', locked = false, files = {} },
                { id = 35, name = 'tmp', type = 'folder', locked = false, files = {} }
            }
        },
        {
            id = 36,
            name = 'usr',
            type = 'folder',
            locked = false,
            files = {
                { id = 37, name = 'bin', type = 'folder', locked = false, files = {} },
                { id = 38, name = 'lib', type = 'folder', locked = false, files = {} },
                { id = 39, name = 'share', type = 'folder', locked = false, files = {} }
            }
        }
    }
}

Language Configuration

Last updated