Configuration

Config = {}

SD.Locale.LoadLocale('en') -- Load the locale language, if available. You can change 'en' to any other available language in the locales folder.

-- General Settings
Config.WareHouseDebug = false -- Change to true to enable green boxes for testing

Config.MinimumPolice = 0 -- Minimum police required to start heist
Config.PoliceJobs = { 'police', --[['sheriff']] } -- Array of jobs that are checked in the cop count callback.
Config.Cooldown = 60  -- Cooldown in minutes

Config.ThermiteItem = "thermite" -- you can change this..

Config.Interaction = 'target' -- 'target' = qb-target/qtarget/ox_target or 'textui' = cd_drawtextui/qb-core/ox_lib textui 


-- Police Alert for Warehouse Heist
policeAlert = function()
    SD.PoliceDispatch({
        displayCode = "10-31W",                  -- Dispatch code for a warehouse heist
        title = 'Warehouse Heist',               -- Title is used in cd_dispatch/ps-dispatch
        description = "Warehouse heist in progress", -- Description of the heist
        message = "Suspects reported at the warehouse", -- Additional message or information
        -- Blip information is used for ALL dispatches besides ps_dispatch, please reference dispatchcodename below.
        sprite = 303,                            -- The blip sprite for warehouse or related icon
        scale = 1.0,                             -- The size of the blip on the map
        colour = 3,                              -- The color of the blip on the map
        blipText = "Warehouse Heist",             -- Text that appears on the Blip
        -- ps-dispatch
        dispatchcodename = "warehouse_heist"      -- This is the name used by ps-dispatch users for the sv_dispatchcodes.lua or config.lua under the Config.Blips entry. (Depending on Version)
    })
end -- This is the function that is called when the police are meant to be alerted. You can modify this in any way.

Config.FirstHack = vector3(-1067.46, -2006.27, 14.91) -- First hack location
Config.SecondHack = vector3(-985.17, -2042.49, -19.65) -- Second hack location

Config.EnterLocation = vector3(-1057.23, -2003.95, 13.16)
Config.LeaveLocation = vector3(-952.58, -2044.05, -19.72)
Config.LeaveLocation2 = vector3(-988.01, -2040.27, -19.72)
Config.SecureWarehouse = vector3(-952.5, -2040.99, -19.56)

Config.EnableExplosion = true -- Enable Power Grid Explosion
Config.ExplosionType = 9 -- Google 'Explosion Types For FiveM' for reference

Config.Blip = {
	Enable = true, -- Change to false to disable blip creation
	Location = vector3(-1056.95, -2004.16, 13.16), -- Blip location
	Sprite = 473,
	Display = 4,
	Scale = 0.6,
	Colour = 18,
	Name = "Secured Warehouse", -- Name of the blip
}

-- Hacking Settings for the start of the heist.
Config.Hacking = {
    Main = { -- Initial hack to enter the warehouse
        Minigame = 'ps-thermite', -- Choose any available minigame from SD.StartHack/below listed minigames.
        Args = {
            ['ps-circle'] = {2, 20}, -- {Number of circles, Time in milliseconds}
            ['ps-maze'] = {20}, -- {Time in seconds}
            ['ps-varhack'] = {2, 3}, -- {Number of blocks, Time in seconds}
            ['ps-thermite'] = {10, 5, 3}, -- {Time in seconds, Grid size, Incorrect blocks}
            ['ps-scrambler'] = {'numeric', 30, 0}, -- {Type, Time in seconds, Mirrored option}
            ['memorygame-thermite'] = {10, 3, 3, 10}, -- {Correct blocks, Incorrect blocks, Show time in seconds, Lose time in seconds}
            ['ran-memorycard'] = {360}, -- {Time in seconds}
            ['ran-openterminal'] = {}, -- No additional arguments
            ['hacking-opengame'] = {15, 4, 1}, -- {Time in seconds, Number of blocks, Number of repeats}
            ['howdy-begin'] = {3, 5000}, -- {Number of icons, Time in milliseconds}
            ['sn-memorygame'] = {3, 2, 10000}, -- {Keys needed, Number of rounds, Time in milliseconds}
            ['sn-skillcheck'] = {50, 5000, {'w','a','s','w'}, 2, 20, 3}, -- {Speed in milliseconds, Time in milliseconds, Keys, Number of rounds, Number of bars, Number of safe bars}
            ['sn-thermite'] = {7, 5, 10000, 2, 2, 3000}, -- {Number of boxes, Number of correct boxes, Time in milliseconds, Number of lives, Number of rounds, Show time in milliseconds}
            ['sn-keypad'] = {999, 3000}, -- {Code number, Time in milliseconds}
            ['sn-colorpicker'] = {3, 7000, 3000}, -- {Number of icons, Type time in milliseconds, View time in milliseconds}
            ['rm-typinggame'] = {'easy', 20}, -- {Difficulty, Duration in seconds}
            ['rm-timedlockpick'] = {200}, -- {Speed value}
            ['rm-timedaction'] = {3}, -- {Number of locks}
            ['rm-quicktimeevent'] = {'easy'}, -- {Difficulty}
            ['rm-combinationlock'] = {'easy'}, -- {Difficulty}
            ['rm-buttonmashing'] = {5, 10}, -- {Decay rate, Increment rate}
            ['rm-angledlockpick'] = {'easy'}, -- {Difficulty}
            ['rm-fingerprint'] = {200, 5}, -- {Time in seconds, Number of lives}
            ['rm-hotwirehack'] = {10}, -- {Time in seconds}
            ['rm-hackerminigame'] = {5, 3}, -- {Length, Number of lives}
            ['rm-safecrack'] = {'easy'} -- {Difficulty}
        }
    },
    Laptop = { -- Hack to disable the locks from within the warehouse
        Enable = true, -- Change to false to disable the laptop hack requirement
        Minigame = 'hacking-opengame', -- Choose any available minigame from SD.StartHack/below listed minigames.
        Args = {
            ['ps-circle'] = {2, 20}, -- {Number of circles, Time in milliseconds}
            ['ps-maze'] = {20}, -- {Time in seconds}
            ['ps-varhack'] = {2, 3}, -- {Number of blocks, Time in seconds}
            ['ps-thermite'] = {10, 5, 3}, -- {Time in seconds, Grid size, Incorrect blocks}
            ['ps-scrambler'] = {'numeric', 30, 0}, -- {Type, Time in seconds, Mirrored option}
            ['memorygame-thermite'] = {10, 3, 3, 10}, -- {Correct blocks, Incorrect blocks, Show time in seconds, Lose time in seconds}
            ['ran-memorycard'] = {360}, -- {Time in seconds}
            ['ran-openterminal'] = {}, -- No additional arguments
            ['hacking-opengame'] = {15, 4, 1}, -- {Time in seconds, Number of blocks, Number of repeats}
            ['howdy-begin'] = {3, 5000}, -- {Number of icons, Time in milliseconds}
            ['sn-memorygame'] = {3, 2, 10000}, -- {Keys needed, Number of rounds, Time in milliseconds}
            ['sn-skillcheck'] = {50, 5000, {'w','a','s','w'}, 2, 20, 3}, -- {Speed in milliseconds, Time in milliseconds, Keys, Number of rounds, Number of bars, Number of safe bars}
            ['sn-thermite'] = {7, 5, 10000, 2, 2, 3000}, -- {Number of boxes, Number of correct boxes, Time in milliseconds, Number of lives, Number of rounds, Show time in milliseconds}
            ['sn-keypad'] = {999, 3000}, -- {Code number, Time in milliseconds}
            ['sn-colorpicker'] = {3, 7000, 3000}, -- {Number of icons, Type time in milliseconds, View time in milliseconds}
            ['rm-typinggame'] = {'easy', 20}, -- {Difficulty, Duration in seconds}
            ['rm-timedlockpick'] = {200}, -- {Speed value}
            ['rm-timedaction'] = {3}, -- {Number of locks}
            ['rm-quicktimeevent'] = {'easy'}, -- {Difficulty}
            ['rm-combinationlock'] = {'easy'}, -- {Difficulty}
            ['rm-buttonmashing'] = {5, 10}, -- {Decay rate, Increment rate}
            ['rm-angledlockpick'] = {'easy'}, -- {Difficulty}
            ['rm-fingerprint'] = {200, 5}, -- {Time in seconds, Number of lives}
            ['rm-hotwirehack'] = {10}, -- {Time in seconds}
            ['rm-hackerminigame'] = {5, 3}, -- {Length, Number of lives}
            ['rm-safecrack'] = {'easy'} -- {Difficulty}
        }
    }
}

-- Items from Boxes
Config.MinAmountBox1 = 4 -- Min amount of items individually given per crate.
Config.MaxAmountBox1 = 6 -- Max amount of items individually given per crate.
Config.Box1 = {
    "goldbar",
    "10kgoldchain",
    "rolex",
    "trojan_usb"
}

Config.MinAmountBox2 = 4 -- Min amount of items individually given per crate.
Config.MaxAmountBox2 = 6 -- Max amount of items individually given per crate.
Config.Box2 = {
    "weapon_smg",
    "weapon_microsmg",
    "weapon_pistol50",
    "heavyarmor",
    "weapon_smokegrenade"
}

Config.MinAmountBox3 = 4 -- Min amount of items individually given per crate.
Config.MaxAmountBox3 = 6 -- Max amount of items individually given per crate.
Config.Box3 = {
    "goldbar",
    "10kgoldchain",
    "rolex",
    "nitrous"
}

Config.MinAmountBox4 = 4 -- Min amount of items individually given per crate.
Config.MaxAmountBox4 = 6 -- Max amount of items individually given per crate.
Config.Box4 = {
    "laptop",
    "tablet",
    "samsungphone",
    "cryptostick"
}

Config.MinAmountBox5 = 4 -- Min amount of items individually given per crate.
Config.MaxAmountBox5 = 6 -- Max amount of items individually given per crate.
Config.Box5 = {
    "weapon_smg",
    "weapon_microsmg",
    "weapon_pistol50",
    "heavyarmor"

}

Config.MinAmountBox6 = 4 -- Min amount of items individually given per crate.
Config.MaxAmountBox6 = 6 -- Max amount of items individually given per crate.
Config.Box6 = {
    "coke_brick",
    "xtcbaggy",
    "weed_brick"
}

-- Prop Spawns
Config.WarehouseLoot = {
    [1] = "ex_prop_crate_closed_bc",
}

Config.WarehouseObjects = {
    [1] = "prop_boxpile_05a",
    [2] = "prop_boxpile_04a",
    [3] = "prop_boxpile_06b",
    [4] = "prop_boxpile_02c",
    [5] = "prop_boxpile_02b",
    [6] = "prop_boxpile_01a",
    [7] = "prop_boxpile_08a",
}

Config.LootLocations = {
    [1] 	= vector4(-972.0, -2050.94, -19.72, 208.37), -- Loot location 1
    [2] 	= vector4(-976.77, -2050.77, -19.72, 179.84), -- Loot location 2
    [3] 	= vector4(-976.72, -2039.4, -19.72, 1.85), -- Loot location 3
    [4] 	= vector4(-971.95, -2045.17, -19.72, 180.24), -- Loot location 4
    [5] 	= vector4(-964.62, -2050.96, -19.72, 183.32), -- Loot location 5
    [6] 	= vector4(-987.03, -2051.37, -19.72, 91.03) -- Loot location 6
}

Config.RandomLocations = {
    [1] 	= vector4(-962.16, -2051.28, -19.72, 4.35),
    [2] 	= vector4(-974.15, -2034.09, -19.72, 179.01),
    [3] 	= vector4(-967.13, -2051.17, -19.72, 355.9),
    [4] 	= vector4(-969.48, -2051.1, -19.72, 178.39),
    [5] 	= vector4(-974.31, -2050.8, -19.72, 183.04),
    [6] 	= vector4(-962.25, -2039.53, -19.72, 356.4),
    [7] 	= vector4(-964.64, -2039.44, -19.72, 357.97),
    [8]	    = vector4(-967.11, -2039.66, -19.72, 359.6),
    [9] 	= vector4(-969.44, -2039.41, -19.72, 352.74),
    [10] 	= vector4(-971.86, -2039.57, -19.72, 359.2),
    [11] 	= vector4(-974.27, -2039.59, -19.72, 349.94),
    [12] 	= vector4(-976.69, -2045.38, -19.72, 178.15),
    [13] 	= vector4(-974.35, -2045.28, -19.72, 177.82),
    [14]	= vector4(-969.58, -2045.26, -19.72, 182.38),
    [15]	= vector4(-967.04, -2045.21, -19.72, 181.18),
    [16] 	= vector4(-971.96, -2034.12, -19.72, 356.77),
    [17] 	= vector4(-962.2, -2045.29, -19.72, 180.05),
    [18] 	= vector4(-962.33, -2050.83, -19.72, 180.67),
    [19]	= vector4(-967.04, -2050.98, -19.72, 182.31),
    [20] 	= vector4(-953.61, -2053.86, -19.72, 267.37),
    [21] 	= vector4(-974.31, -2050.94, -19.72, 189.85),
    [22] 	= vector4(-986.89, -2053.83, -19.72, 91.57),
    [23] 	= vector4(-976.74, -2034.22, -19.72, 355.63),
    [24] 	= vector4(-953.63, -2036.46, -19.72, 271.51),
}

-- true = spawn guards, false = don't spawn guards
Config.SpawnGuards = true

Config.Guards = {
    [1] = {
        pos = {-983.6, -2052.69, -19.72, 288.53}, -- guards position
        ped = 's_m_m_prisguard_01', -- guards hash
        weapon = 'WEAPON_SMG', -- guards weapon
        health = 1000, -- guards health
        range = 2, -- guards range
        accuracy = 50, -- guards accuracy
        aggresiveness = 2, -- guards aggresiveness - 0 stand / 1 defensive / 2 offensive / 3 ultra offensive 
        alertness = 2, -- guards alertness 3 is the highest one - values from 0 to 3.
        armor = 50 -- guards armor 
    },
    [2] = {
        pos = {-970.12, -2047.69, -19.72, 277.19}, -- guards position
        ped = 's_m_m_prisguard_01', -- guards hash
        weapon = 'WEAPON_PISTOL', -- guards weapon
        health = 1000, -- guards health
        range = 2, -- guards range
        accuracy = 50, -- guards accuracy
        aggresiveness = 2, -- guards aggresiveness - 0 stand / 1 defensive / 2 offensive / 3 ultra offensive 
        alertness = 2, -- guards alertness 3 is the highest one - values from 0 to 3.
        armor = 50 -- guards armor 
    },
    [3] = {
        pos = {-980.27, -2034.33, -19.72, 199.45}, -- guards position
        ped = 's_m_m_prisguard_01', -- guards hash
        weapon = 'WEAPON_SMG', -- guards weapon
        health = 1000, -- guards health
        range = 2, -- guards range
        accuracy = 50, -- guards accuracy
        aggresiveness = 2, -- guards aggresiveness - 0 stand / 1 defensive / 2 offensive / 3 ultra offensive 
        alertness = 2, -- guards alertness 3 is the highest one - values from 0 to 3.
        armor = 50 -- guards armor 
    },
    [4] = {
        pos = {-969.22, -2037.0, -19.72, 268.77}, -- guards position
        ped = 's_m_m_prisguard_01', -- guards hash
        weapon = 'WEAPON_PISTOL', -- guards weapon
        health = 1000, -- guards health
        range = 2, -- guards range
        accuracy = 50, -- guards accuracy
        aggresiveness = 2, -- guards aggresiveness - 0 stand / 1 defensive / 2 offensive / 3 ultra offensive 
        alertness = 2, -- guards alertness 3 is the highest one - values from 0 to 3.
        armor = 50 -- guards armor 
    },
}

Last updated