Config

This is the default configuration file for NYX ATM Robberies

QBCore = exports['qb-core']:GetCoreObject()

config = {}

config.debug = false

config.prefix = 'nyx2_atmrobbery'

config.skimmers = {
    models = { -- models that the player can skim cc info from
        -1364697528,
        506770882,
        -870868698,
        2930269768,
        3168729781,
        -1126237515,
    },
    successChance = 100, -- % chance the skim of each transaction will be successful
    transactionMin = 1000, -- The min amount $ that the transaction will be
    transactionMax = 5000, --  The max amount $ that the transaction will be
    ttl = (30 * 60), -- Time to live (30 minutes) (in seconds)
    radius = 100.0, -- The radius in which the skimmer will be active for
    item = 'atm_cc_skimmer', -- the item required to skim an ATM
    skillCheckDifficulties = { -- ox lib skill difficulties
        {
            areaSize = 50,
            speedMultiplier = 1
        }, -- easy
        -- {
        --     areaSize = 40,
        --     speedMultiplier = 1.5
        -- }, -- medium
        -- {
        --     areaSize = 25,
        --     speedMultiplier = 1.75
        -- } -- hard
    },
    skillCheckMin = 2, -- The min amount of skill checks that will be done
    skillCheckMax = 5, -- The max amount of skill checks that will be done
    policeChance = 10, -- % chance the police will be alerted
    failedPoliceChance = 100, -- % chance the police will be alerted if player fails the skillchecks
    takeItem = false, -- take the item if the player fails the skill checks
    dispatch = function(success, x, y, z) -- insert your own dispatch function here
        local alert = false

        if success then
            alert = math.random(1, 100) <= config.skimmers.policeChance
        else
            alert = math.random(1, 100) <= config.skimmers.failedPoliceChance
        end

        if alert then
            exports['nyx2_dispatch']:SuspiciousActivity()
        end
    end,
    progressBar = {
        duration = math.random(10000, 15000),
        label = 'Placing CC Skimmer',
        useWhileDead = false,
        canCancel = true,
        disable = {
            car = true,
            move = true,
        },
        anim = {
            dict = 'mini@repair',
            clip = 'fixing_a_ped',
        },
        prop = {
            model = GetHashKey('hei_prop_heist_card_hack_02'),
            pos = vec3(0.15, 0.0, 0.0),
            rot = vec3(0.0, 90.0, 0.0),
        }
    }
}

config.drilling = {
    models = { -- models that the player can skim cc info from
        -1364697528,
        506770882,
        -870868698,
        2930269768,
        3168729781,
        -1126237515,
    },
    item = 'atm_drill', -- the item required to skim an ATM
    ttl = (30 * 60), -- Time to live (30 minutes) (in seconds) (cooldown)
    rewardMin = 5000, -- The min amount of cash
    rewardMax = 10000, -- The max amount of cash
    randomItemChance = 100, -- % chance the player will get a random item
    randomItem = 'security_card_02', -- the item the player will be given
    randomItemLabel = 'Security Card', -- the name of the item the player will be given
    randomItemAmount = 1, -- the amount of the item the player will be given
    startPoliceChance = 10, -- % chance the police will be alerted when the player starts drilling
    failedPoliceChance = 100, -- % chance the police will be alerted if the player fails the drilling
    successPoliceChance = 30, -- % chance the police will be alerted if the player succeeds the drilling
    takeItem = true, -- take the item if the player fails the drilling
    dispatch = function(stage, x, y, z) -- insert your own dispatch function here
        local alert = false

        if stage == 'start' then
            alert = math.random(1, 100) <= config.drilling.startPoliceChance
        elseif stage == 'success' then
            alert = math.random(1, 100) <= config.drilling.successPoliceChance
        else
            alert = math.random(1, 100) <= config.drilling.failedPoliceChance
        end

        if alert then
            exports['nyx2_dispatch']:ATMRobbery(false)
        end
    end,
}

config.towing = {
    item = 'atm_rope',
    models = {
        -1364697528,
        -1126237515
    },
    bones = {
        'attach_female', --  uncomment this to make only vehicles with a tow hitch able to tow
        -- 'neon_b', -- uncomment this to make all vehicles able to tow without a hitch
    },
    ropeType = 2, -- Which rope you want to use
    ropeDistance = 10.0, -- initial rope distance (lower increases texture tearing)
    minRequiredPulls = 1, -- the minimum amount of pulls required to break the ATM out of the wall
    maxRequiredPulls = 2, -- the maximum amount of pulls required to break the ATM out of the wall

    payoutType = 'cash',
    minPayout = 5000, -- the minimum amount of money the player will receive
    maxPayout = 10000, -- the maximum amount of money the player will receive

    attachingPoliceChance = 10, -- % chance the police will be alerted when the player starts attaching the ATM
    crackingPoliceChance = 30, -- % chance the police will be alerted when the player starts cracking the ATM

    dispatch = function(stage)
        local alert = false

        if stage == 'attaching' then
            alert = math.random(1, 100) <= config.towing.attachingPoliceChance
        else
            alert = math.random(1, 100) <= config.towing.crackingPoliceChance
        end

        if alert then
            exports['nyx2_dispatch']:ATMRobbery(false)
        end
    end
}

config.lang = {
    ['errors'] = {
        ['unknown_error'] = 'Try again later',
        ['no_vehicle'] = 'No vehicle found',
        ['wrong_vehicle'] = 'Unable to determine selected vehicle',
    },
    ['tampering'] = {
        ['check_icon'] = 'fas fa-piggy-bank',
        ['check'] = 'Check for tampering',
        ['tampered'] = 'This ATM has been tampered with',
        ['not_tampered'] = 'This ATM has not been tampered with',
    },
    ['skimming'] = {
        ['already_tampered'] = 'This ATM has already been tampered with',
        ['failed'] = 'Failed to attach CC Skimmer!',
        ['success'] = 'CC Skimmer attached successfully, stay in the area to stay connected',
        ['cancelled'] = 'Cancelled',
        ['left_radius'] = 'You left the radius of the CC Skimmer, deactivating',
        ['connecting'] = 'Somebody is using an ATM with your CC skimmer, connecting...',
        ['skim_failed'] = 'Failed to skim transaction #%s',
        ['skim_success'] = 'Successfully skimmed $%s from transaction #%s',
    },
    ['drilling'] = {
        ['already_tampered'] = 'This ATM has already been tampered with',
        ['target_drill_icon'] = 'fas fa-tools',
        ['target_drill'] = 'Drill ATM',
        ['already_drilling'] = 'You are already drilling an ATM',
        ['success'] = 'Successfully drilled the ATM and received $%s',
        ['item_found'] = 'You found a %s',
    },
    ['towing'] = {
        ['target_icon'] = 'fas fa-tools',
        ['target_attach'] = 'Attach Rope',
        ['target_detach'] = 'Detach Rope',
        ['target_crack'] = 'Crack ATM',
        ['police_icon'] = 'fas fa-piggy-bank',
        ['police_secure'] = 'Secure ATM',
        ['vehicle_first'] = 'You need to attach this to a vehicle\'s hitch first!',
        ['too_far'] = 'The ATM is too far away from the vehicle',
        ['success'] = 'You successfully cracked the ATM!',
        ['failure'] = 'You failed to crack the ATM!',
        ['rope_first'] = 'You need to attach a rope first!',
        ['atm_attached'] = 'You cannot detach whilst an ATM is still attached!',
        ['detached'] = 'Rope detached',
        ['cracked_success'] = 'Successfully cracked the ATM and received $%s',
        ['police_secured'] = 'The ATM has been secured',
    }
}

Last updated