⚙️Configuration

A clear overview of all the available configurations for the Cash Exchange Heist!

Here you will find everything that you need to configure in order for the heist to run perfectly. Read through the comments in file carefully to fully understand what you need to change and what not to!


Config File

CashExchange = {
    Misc = {
        -- Requires xsound script
        AlarmEnabled = true,
        AlarmTime = 120, -- In Seconds
        MaxActiveRobberiesSimultaneously = 2, -- The max amount of robberies that can be activated at once. Dont exceed two as there are only two cash exchanges :D
        CopsRequiredPerRobbery = 8,
        EnableCopsMultiplier = true, -- If true, the amount of cops needed to start a second heist simultaneously will be multiplied by the amount of active heists (So if its the first heist, 4 cops are needed, if its the second heist, 8 cops are needed, etc)
        EnableCopsDispatch = true, -- Cops dispatch signal. Edit it for your dispatch in client/client.utils.lua

        -- The total amount of fails a group can have before the heist is cancelled (Includes hacks, lockpicking, etc.)
        MaxFailsPerHeist = 3,

        Alarm = "https://youtu.be/2zkx7w_p0Uw?si=BfDPhR2dxUl9-ptd",
        AlarmDistance = 25,
        
        -- Ignore these two values below
        CooldDownTime = 30, -- In minutes per store
        JobTime = 60,       -- In minutes how much time you have to do the whole thing
    },

    Main = {
        Debug = false,

        Language = "en",

        Framework = 'qb',   -- 'qb', 'esx' or 'standalone'
        Target = "ox",      -- 'ox', 'qb' or 'custom'
        ProgressBar = "qb", -- 'ox' or 'qb' or 'custom'
        
        -- If you do not use any of these doorlock systems you will have to configure the two lines of code in server/server.utils.lua
        DoorLock = "ox",    -- 'ox', 'qb' or 'custom'
    },

    RequiredItems = {
        ["OutsidePanel"] = {
            Item = "screwdriverset_blue",
            RemoveItem = true,
        },
        ["InnerDoor"] = {
            Item = "hackingdevice",
            RemoveItem = false,
        },
        ["InnerInnerDoor"] = {
            Item = "heist_usb_blue",
            RemoveItem = false,
        },
    },

    RewardItems = {
        ["Trolleys"] = { -- Per pachka ot trolley-to
            Item = "cashroll",
            MinAmount = 5,
            MaxAmount = 7,
        },
        ["CashPiles"] = { -- Per pachka ot trolley-to
            Item = "cashroll",
            MinAmount = 50,
            MaxAmount = 70,
        },
    },

    Locations = {
        [1] = {
            -- Stage 1
            OutsidePanel = { Coords = vector3(137.3322, -1334.1241, 29.1345), AnimationCoords = vector4(138.11, -1333.71, 29.20, 129.87), IsBusy = false, IsDone = false },

            Stage1DoorNames = { 153, 154 },

            -- Stage 2
            InnerDoor = { Coords = vector3(128.1423, -1341.3801, 29.9581), AnimationCoords = vector4(128.27069091796876, -1340.86962890625, 30.7104263305664, 228.84750366210938), IsBusy = false, IsDone = false },

            InnerDoorNames = { 184 },

            -- Stage 3
            InnerInnerDoor = { Coords = vector3(133.9105, -1344.9984, 29.9582), AnimationCoords = vector4(134.18701171875, -1344.3814697265626, 30.7104263305664, 317.09503173828127), IsBusy = false, IsDone = false },

            InnerInnerDoorNames = { 185, 186 },

            -- Stage 4
            Trolleys = {
                [1] = { Coords = vector4(131.52, -1340.22, 29.71 - 1, 278.46), Hash = 269934519, IsBusy = false, IsDone = false },
                [2] = { Coords = vector4(132.90, -1338.13, 29.71 - 1, 136.47), Hash = 269934519, IsBusy = false, IsDone = false },
                [3] = { Coords = vector4(135.89, -1344.90, 29.71 - 1, 47.37), Hash = 269934519, IsBusy = false, IsDone = false },
            },

            CashPiles = {
                [1] = { Coords = vector4(133.2159, -1343.4351, 29.5131, 48.37), Hash = 1228147776, IsBusy = false, IsDone = false },
                [2] = { Coords = vector4(132.2871, -1342.5132, 29.5131, 137.55), Hash = 1228147776, IsBusy = false, IsDone = false },
            },

            Misc = {
                Alarm = { Coords = vector3(126.3296, -1346.6836, 32.0804) },
                IsRobbed = false,
                IsRobberyActive = false,
            },
        },
        [2] = {
            -- Stage 1
            OutsidePanel = { Coords = vector3(438.1847, -1904.4545, 26.2337), AnimationCoords = vector4(438.62, -1904.98, 25.93, 36.04), IsBusy = false, IsDone = false },

            Stage1DoorNames = { 179, 180 },

            -- Stage 2
            InnerDoor = { Coords = vector3(431.0406, -1895.0758, 26.6841), AnimationCoords = vector4(430.6583557128906, -1893.984619140625, 27.46172523498535, 137.04566955566407), IsBusy = false, IsDone = false },

            InnerDoorNames = { 181 },

            -- Stage 3
            InnerInnerDoor = { Coords = vector3(427.4168, -1900.8407, 26.6947), AnimationCoords = vector4(427.3929443359375, -1900.3370361328126, 27.46172714233398, 237.60733032226563), IsBusy = false, IsDone = false },

            InnerInnerDoorNames = { 182, 183 },

            -- Stage 4
            Trolleys = {
                [1] = { Coords = vector4(427.51, -1902.99, 26.46 - 1, 316.51), Hash = 269934519, IsBusy = false, IsDone = false },
                [2] = { Coords = vector4(432.27, -1898.28, 26.46 - 1, 186.07), Hash = 269934519, IsBusy = false, IsDone = false },
                [3] = { Coords = vector4(434.20, -1899.98, 26.46 - 1, 46.80), Hash = 269934519, IsBusy = false, IsDone = false },
            },

            CashPiles = {
                [1] = { Coords = vector4(428.9678, -1900.1509, 26.2644, 314.70), Hash = 1228147776, IsBusy = false, IsDone = false },
                [2] = { Coords = vector4(429.8314, -1899.3099, 26.2644, 44.56), Hash = 1228147776, IsBusy = false, IsDone = false },
            },

            Misc = {
                Alarm = { Coords = vector3(425.6554, -1893.2369, 28.8317) },
                IsRobbed = false,
                IsRobberyActive = false,
            },
        },
    }
}

Last updated