Configuration

Config = {}

-- General Settings..
Config.PacificDebug = false -- Change to true to enable PolyZone DebugPoly's for testing. (Some Targeting Solutions, like ox_target might not display PZ's)

Config.MinimumPolice = 3 -- minimum police to start heist
Config.DoorLock = 'ox' -- qb/nui/ox
Config.Cooldown = 120 -- Minutes

Config.Items = { -- The items used at each part of the robbery
    ComputerHack = 'laptop_pink',
    TerminalHack = 'laptop_gold',
    Drill = 'large_drill',
    Thermite = 'thermite',
    Bomb = 'c4_bomb'
}

-- Target Locations
Config.Computer1Location = vector3(261.75, 234.91, 109.44) -- First Office
Config.Computer2Location = vector3(270.28, 231.75, 109.34) -- Second Office
Config.Computer3Location = vector3(260.63, 205.57, 109.31) -- Third Office
Config.Computer4Location = vector3(252.05, 208.86, 109.3) -- Fourth Office

Config.InputPassword = vector3(278.95, 213.06, 109.43) -- Laptop / Main Office

-- First Two Doors to enter Vault Area
Config.DoorConsole1 = {
    pos = vector3(270.59, 221.26, 96.6), hacked = false
}
Config.DoorConsole2 = {
    pos = vector3(267.43, 213.28, 96.6), hacked = false
}
-- Doors for each side room
Config.DoorConsole3 = {
    pos = vector3(247.48, 233.82, 96.6), hacked = false
} 
Config.DoorConsole4 = {
    pos = vector3(241.7, 218.64, 96.61), hacked = false
}

-- Doors to Thermite in the middle of the Vault Area
Config.ThermiteDoor1 = {
    pos = vector3(251.96, 216.95, 96.45), open = false
}  
Config.ThermiteDoor2 = {
    pos = vector3(256.07, 228.2, 96.36), open = false
}

Config.VaultDoor = vector3(235.52, 229.52, 97.65) -- Location of the Vault Door
-- Console inside the Vault
Config.DoorConsole5 = {
    pos = vector3(227.93, 228.5, 96.71), hacked = false
}

-- Hacking Options for the Computers to receive the Code.
Config.UseChatMessages = false -- true = use Chat to display Codes, false = Shows a Notification to display Codes

-- Number of attempts the robbers have to enter the code
Config.PasswordAttempts = 3

-- List of available computer minigames
-- If multiple minigames are selected, it will randomize which one is used every time
-- If only one minigame is selected, it will always use that minigame
Config.ComputerMinigame = {
  ['ps-ui'] = false,       -- Enable PS-UI minigame
  ['mhacking'] = false,    -- Enable MHacking minigame
  ['hacking'] = true,     -- Enable Hacking minigame
  ['memorygame'] = false   -- Enable Memory Game minigame
}

-- Configuration for PS-UI minigame (Varhack or Memory Game)
if Config.ComputerMinigame['ps-ui'] then
    Config.PSVariant1 = 'varhack' -- varhack/memorygame
end

-- Configuration for MHacking minigame
if Config.ComputerMinigame['mhacking'] then
  Config.MinChar = "5"  -- Minimum characters
  Config.MaxChar = "6"  -- Maximum characters
  Config.Time = "30"    -- Time allowed for the minigame
end

-- Configuration for Hacking minigame
if Config.ComputerMinigame['hacking'] then
  Config.PacTime = 15    -- Time to enter the hack
  Config.PacBlocks = 4   -- Number of different blocks in the hack
  Config.PacRepeat = 1   -- Number of times the hack needs to be repeated
end

-- Configuration for PS-UI Memory Game variant
if Config.ComputerMinigame['ps-ui'] and Config.PSVariant1 == 'memorygame' then
  Config.TimeP = "12"   -- Time in seconds
  Config.GridP = "5"    -- Grid size of the memory game
end

-- Configuration for PS-UI Varhack variant
if Config.ComputerMinigame['ps-ui'] and Config.PSVariant1 == 'varhack' then
  Config.VarBlocks = 3  -- Number of blocks appearing on screen
  Config.VarTime = 5    -- Time in seconds (once numbers have been hidden)
end

-- Configuration for Memory Game minigame
if Config.ComputerMinigame['memorygame'] then
  Config.Blocks = "12"  -- Number of correct blocks the player needs to click
  Config.Attempts = "3" -- Number of incorrect blocks before the game fails
  Config.Show = "6"     -- Time in seconds for which the right blocks will be shown
  Config.Time = "45"    -- Maximum time after timetoshow expires for player to select the right blocks
end

-- Hacking Options for all the Terminals in the Vault Area.
-- If multiple minigames are selected, it will randomize which one is used every time
-- If only one minigame is selected, it will always use that minigame
Config.TerminalMinigame = {
  ['ps-ui'] = false,       -- Enable PS-UI minigame
  ['mhacking'] = false,    -- Enable MHacking minigame
  ['hacking'] = false,     -- Enable Hacking minigame
  ['memorygame'] = true   -- Enable Memory Game minigame
}

-- Configuration for PS-UI minigame (Varhack or Memory Game)
if Config.TerminalMinigame['ps-ui'] then
    Config.PSVariant2 = 'varhack' -- varhack/memorygame
end

-- Configuration for MHacking minigame
if Config.TerminalMinigame['mhacking'] then
  Config.MinChar2 = "5"  -- Minimum characters
  Config.MaxChar2 = "6"  -- Maximum characters
  Config.Time2 = "30"    -- Time allowed for the minigame
end

-- Configuration for Hacking minigame
if Config.TerminalMinigame['hacking'] then
  Config.PacTime2 = 15    -- Time to enter the hack
  Config.PacBlocks2 = 4   -- Number of different blocks in the hack
  Config.PacRepeat2 = 1   -- Number of times the hack needs to be repeated
end

-- Configuration for PS-UI Memory Game variant
if Config.TerminalMinigame['ps-ui'] and Config.PSVariant2 == 'memorygame' then
  Config.TimeP2 = "12"   -- Time in seconds
  Config.GridP2 = "5"    -- Grid size of the memory game
end

-- Configuration for PS-UI Varhack variant
if Config.TerminalMinigame['ps-ui'] and Config.PSVariant2 == 'varhack' then
  Config.VarBlocks2 = 3  -- Number of blocks appearing on screen
  Config.VarTime2 = 5    -- Time in seconds (once numbers have been hidden)
end

-- Configuration for Memory Game minigame
if Config.TerminalMinigame['memorygame'] then
  Config.Blocks2 = "12"  -- Number of correct blocks the player needs to click
  Config.Attempts2 = "3" -- Number of incorrect blocks before the game fails
  Config.Show2 = "6"     -- Time in seconds for which the right blocks will be shown
  Config.Time3 = "45"    -- Maximum time after timetoshow expires for player to select the right blocks
end

-- Hacking/Minigame options for the two Doors that need to be thermited to avoid Lasers.
Config.ThermiteMinigame = 'memorygame' -- ps-ui/memorygame // This is for the two thermite doors

if Config.ThermiteMinigame == 'memorygame' then
Config.TBlocks = "12" -- Number of correct blocks the player needs to click
Config.TAttempts = "3" -- Number of incorrect blocks after which the game will fail
Config.TShow = "6" -- Time in secs for which the right blocks will be shown
Config.TTime = "45" -- Maximum time after timetoshow expires for player to select the right blocks

elseif Config.ThermiteMinigame == 'ps-ui' then
Config.TTimeP = "12" -- Time in Seconds
Config.TGridP = "5" -- Grid Size of minigame - Supports 5 and Upwards
end

-- Item Settings for Terminal & Computer Hacking
Config.RemoveItemOnUse = true -- Remove Item if you succesfully Hacked.
Config.RemoveItemChanceUse = 35 -- %

-- Drill Settings
Config.RemoveDrillOnSuccess = false -- Remove Item if you succesfully drilled into the Deposit Box.
Config.RemoveDrillChanceSuccess = 15 -- %

Config.RemoveDrillOnFail = true -- Remove Item if you've Failed the Minigame
Config.RemoveDrillChanceFail = 15 -- %

-- Tray Information
Config.Trays = {
    -- Two Side Rooms
    [1] = {coords = vector3(240.49, 211.48, 96.12), heading = 302.96, rot = vector3(0, 0, 160.87), isSpawned = false, grabbed = false},
    [2] = {coords = vector3(253.12, 238.79, 96.12), heading = 120.59, rot = vector3(0, 0, 69.08), isSpawned = false, grabbed = false},
    [3] = {coords = vector3(249.33, 235.67, 96.12), heading = 303.16, rot = vector3(0, 0, 69.08), isSpawned = false, grabbed = false},
    [4] = {coords = vector3(244.48, 215.12, 96.12), heading = 115.6, rot = vector3(0, 0, 69.08), isSpawned = false, grabbed = false},
    -- Main Vault
    [5] = {coords = vector3(228.47, 234.84, 96.12), heading = 212.83, rot = vector3(0, 0, 337.70), isSpawned = false, grabbed = false},
    [6] = {coords = vector3(232.09, 233.5, 96.12), heading = 119.72, rot = vector3(0, 0, 337.70), isSpawned = false, grabbed = false},
    -- Locked Doors in Vault
    [7] = {coords = vector3(229.04, 225.22, 96.12), heading = 18.92, rot = vector3(0, 0, 337.70), isSpawned = false, grabbed = false},
    [8] = {coords = vector3(227.93, 225.66, 96.12), heading = 310.79, rot = vector3(0, 0, 337.70), isSpawned = false, grabbed = false},
    [9] = {coords = vector3(224.74, 226.63, 96.12), heading = 298.94, rot = vector3(0, 0, 337.70), isSpawned = false, grabbed = false},
    [10] = {coords = vector3(226.05, 226.33, 96.12), heading = 3.19, rot = vector3(0, 0, 337.70), isSpawned = false, grabbed = false},
}

-- Depositbox Information
Config.DepositBoxes = {
    -- Two Side Rooms
    [1] = {coords = vector3(248.4, 238.26, 97.3), Busy = false, LootTimes = 2, Plcoords = vector3(248.81, 237.79, 97.37), Plrot = vector3(0, 0, 75.19)},
    [2] = {coords = vector3(253.71, 236.21, 97.3), Busy = false, LootTimes = 3, Plcoords = vector3(253.7, 236.63, 97.37), Plrot = vector3(0, 0, 252.46)},
    [3] = {coords = vector3(245.29, 212.56, 97.3), Busy = false, LootTimes = 2, Plcoords = vector3(245.1, 212.86, 97.37), Plrot = vector3(0, 0, 251.54)},
    [4] = {coords = vector3(240.35, 214.22, 97.3), Busy = false, LootTimes = 3, Plcoords = vector3(240.1, 213.98, 97.37), Plrot = vector3(0, 0, 76.53)},
    -- Inside Vault
    [5] = {coords = vector3(225.97, 234.87, 97.3), Busy = false, LootTimes = 5, Plcoords = vector3(227.0, 234.65, 97.39), Plrot = vector3(0, 0, 75.59)},
    [6] = {coords = vector3(224.7, 230.97, 97.3), Busy = false, LootTimes = 5, Plcoords = vector3(225.75, 231.05, 97.39), Plrot = vector3(0, 0, 76.47)},
}

-- Loot Rewards from Trays and DepositBoxes
Config.Rewards = {
  Trays = { -- Tray Related Settings
    MaxTrayAmount = 10, -- Can't be MORE than what Config.Trays has available.
    MinTrayAmount = 9, -- Minimum Amount of Trays that will spawn.
    MoneyWorth = {Min = 20000, Max = 30000}, -- Amount of Money Per Trolley
    MoneyBagAmount = {Min = 1, Max = 2}, -- Amount of Money Bags received per trays. (MoneyWorth * MoneyBagAmount)
    GoldChance = 35, --Chance for a Tray to contain gold bars.
    GoldAmount = {Min = 3, Max = 6}, -- Amount of Gold Bars per Trays
    UseDirtyCash = true -- if true, will give markedbills (MoneyWorth *MoneyBagAmount) instead of straight cash, false will give out cash.
  },
  DepositBoxes = {
    MinAmountToGive = 2, -- Minimum total number of items to give
    MaxAmountToGive = 5, -- Maximum total number of items to give
    Items = {
        ["diamond"] = { -- item
            MinAmount = 2, -- minimum amount you can get
            MaxAmount = 3, -- maximum amount you can get
            Chance = 20, -- percentage
        },
        ["diamond_ring"] = { -- item
            MinAmount = 2, -- minimum amount you can get
            MaxAmount = 5, -- maximum amount you can get
            Chance = 25, -- percentage
        },
        ["10kgoldchain"] = { -- item
            MinAmount = 3, -- minimum amount you can get
            MaxAmount = 5, -- maximum amount you can get
            Chance = 25, -- percentage
        },
    },
},
}

-- Laser Settings
Config.EnableLasers = true -- Enable Lasers for the Vault Room
Config.CheckForBlackout = false -- If a blackout is active, once the passwords inputted, the Lasers won't start and the Thermite Doors can be skipped. (uses qb-weathersync)

-- Guards
Config.EnableGuards = true -- Enable NPC Guards for Pacific Heist

Config.PedParameters = { -- Guard Settings
    Ped = "s_m_m_security_01",             -- The Model of the Ped, you'd like to use.
    Health = 200,                        -- The health of guards (both maximum and initial)
    Weapon = {"WEAPON_PISTOL", "WEAPON_SMG", "WEAPON_ASSAULTRIFLE"}, -- List of Weapons that the peds may have. (Randomized)
    MinArmor = 50,                       -- Minimum Amount of Armor the ped can have
    MaxArmor = 100,                      -- Maximum Amount of Armor the ped can have
    Headshots = true,                    -- Determines if guards can suffer critical hits (e.g., headshots)
    CombatAbility = 100,                 -- The combat ability of guards (0-100, 100 being the highest)
    Accuracy = 60,                       -- The accuracy of guards' shots (0-100, 100 being the highest)
    CombatRange = 2,                     -- The combat range of guards (0 = short, 1 = medium, 2 = long)
    CombatMovement = 2,                  -- The combat movement style of guards (0 = calm, 1 = normal, 2 = aggressive)
}

Config.Guards = {
    {
        coords = { -- Coordinates for each Ped Spawn
            vector4(257.97, 214.94, 97.12, 311.59),
            vector4(255.25, 221.25, 97.12, 252.08),
            vector4(256.72, 224.23, 97.12, 244.81),
            vector4(263.59, 226.21, 97.12, 167.98),
            vector4(249.67, 218.95, 97.12, 327.85),
            vector4(251.46, 230.91, 97.12, 212.82),
            vector4(247.55, 227.88, 97.12, 240.08),
            vector4(246.09, 223.56, 97.12, 260.39),
            vector4(239.18, 220.99, 97.12, 310.68),
            vector4(243.1, 230.39, 97.12, 212.91)
        }
    },
}

Config.EnableLooting = true -- Do you want to be able to Loot the Guards.

-- Rewards from Looting Peds
-- Note that 'chance' does not need to add up to 100 across all categories. It's a weight indicating the likelihood of a particular category being chosen relative to others. So, a category with chance 20 is twice as likely to be chosen as a category with chance 10.
-- Only ONE 'isGunReward' can be chosen for each loot. This means that even if the 'itemRange' allows for 4 items, only 3 items will be chosen if all the 'isGunReward' are set to true, as only one gun reward can be given per loot. If you want the users to have a chance to receive multiple weapons from different categories per loot, you need to set 'isGunReward' to false for the additional weapon categories.
-- For example, if 'itemRange' is set to 4, and Pistol, Rare, SMG & Shotgun all have 'isGunReward' set to true, then a max of 3 items will be given (one of which is a weapon). To potentially get 4 items with more than one weapon, at least one of these categories must have 'isGunReward' set to false.
Config.PedRewards = {
    weaponChance = 60, -- overall chance of getting any gun-related reward
    itemRange = {min = 2, max = 3}, -- 'itemRange' determines the minimum and maximum number of items a player can get from each loot
    PistolRewards = {
        items = {"weapon_heavypistol", "weapon_pistol", "weapon_pistol_mk2"}, -- 'items' is the list of possible rewards
        chance = 37, -- 'chance' is the percentage probability of getting a reward
        isGunReward = true -- 'isGunReward' indicates whether this category is gun-related. If true, only one item from this category will be chosen per loot, even if 'itemRange' allows for more items.
    },
    RareRewards = {
        items = {"weapon_assaultrifle", "weapon_compactrifle", "weapon_mg"}, -- Items
        chance = 15, -- %
        isGunReward = true -- 'isGunReward' indicates whether this category is gun-related. If true, only one item from this category will be chosen per loot, even if 'itemRange' allows for more items.
    },
    SMGRewards = {
        items = {"weapon_assaultsmg", "weapon_minismg", "weapon_combatpdw"}, -- Items
        chance = 32, -- %
        isGunReward = true -- 'isGunReward' indicates whether this category is gun-related. If true, only one item from this category will be chosen per loot, even if 'itemRange' allows for more items.
    },
    ShotgunRewards = {
        items = {"weapon_sawnoffshotgun", "weapon_pumpshotgun", "weapon_dbshotgun"}, -- Items
        chance = 25, -- %
        isGunReward = true -- 'isGunReward' indicates whether this category is gun-related. If true, only one item from this category will be chosen per loot, even if 'itemRange' allows for more items.
    },
    AmmoRewards = {
        items = {"pistol_ammo", "shotgun_ammo", "rifle_ammo", "smg_ammo"}, -- Items
        chance = 45, -- %
        amount = {min = 1, max = 2} -- specifying amount that can be given if AmmoRewards is picked.
    },
    MedicRewards = {
        items = {"bandage"}, -- Items
        chance = 45, -- %
        amount = {min = 1, max = 2} -- specifying amount that can be given if MedicRewards is picked
    },
}

Last updated