Dev Mode

You can enable/disable dev mode. It will generate some print info within console. Never should have this enabled in a live server

EnableDev = false, -- Enable/Disable DevMode

Locale

You can change the language of the notifications and other plain text elements of this resource.

Note: English is provided and it can be translated to anything that you wish.

Locale = 'en', -- Locale to use

Cooldowns

Adjust the time between each bank robbery attempt at the same location and separate locations.

Cooldowns = {
  reset = 60*60*1,                    -- (Resets vault doors annd locks bank doors) 1 hours 
  bank = 60*60*2,                     --  (Time between each bank robbery attempt at the same location) 2 hours
  global = 60*30,                     --  30 minutes
},

Reset Command

Enable/disable reset command. You can also adjust who have permission to use the command. Using the command will reset cooldowns and close vault doors.

ResetCommand = {                        -- Reset bank command
    enabled = true,                     -- Enable/Disable the command
    command = 'resetbank',              -- Command
    groups = {                          -- Staff group that can use the command (VORP)
        ['admin'] = true,
    },
    acePerm = 'bankrobbery.reset',      --Ace permission that can use the command
    jobs = {                            -- Jobs that can use the command
        ['ValSheriff'] = true
    }
},

Explosive Item

This is the item name that will be checked and removed when planting the explosive device in order to blow the vault door open. You can change this to whatever you'd like as long as it exists within your framework

RequiredExplosiveItem = 'dynamite',     -- Required item to plant the explosive

Start Settings

Require a bandana to start the robbery, and modify a list of weapons that can be used to trigger the robbery

RequireBandana = true, -- Require bandana to start

RequiredWeapon = {                      -- Required weapon to start robbing the bank
    [`WEAPON_RIFLE_ELEPHANT`] = true,
    [`WEAPON_RIFLE_VARMINT`] = true,
    [`WEAPON_SNIPERRIFLE_ROLLINGBLOCK`] = true,
    [`WEAPON_SNIPERRIFLE_CARCANO`] = true,
    [`WEAPON_RIFLE_SPRINGFIELD`] = true,
    [`WEAPON_RIFLE_BOLTACTION`] = true,
    [`WEAPON_REPEATER_WINCHESTER`] = true,
    [`WEAPON_REPEATER_HENRY`] = true,
    [`WEAPON_REPEATER_EVANS`] = true,
    [`WEAPON_REPEATER_CARBINE`] = true,
    [`WEAPON_PISTOL_SEMIAUTO`] = true,
    [`WEAPON_PISTOL_MAUSER`] = true,
    [`WEAPON_PISTOL_M1899`] = true,
    [`WEAPON_REVOLVER_SCHOFIELD`] = true,
    [`WEAPON_REVOLVER_LEMAT`] = true,
    [`WEAPON_REVOLVER_DOUBLEACTION`] = true,
    [`WEAPON_REVOLVER_CATTLEMAN`] = true,
    [`WEAPON_REVOLVER_NAVY`] = true
},

Stay Inside

While the resource will check the distance that the starting player has moved from the starting location and automatically ending the mission if too far, however you can also require the player to stay inside the bank at all times.

StayInside = true, -- Stay inside the bank while robbing

Ped Weapons

You can control the list of weapons peds that spawn can have during the mission.

PedWeapons = {                          -- Weapons for the peds
  'WEAPON_RIFLE_SPRINGFIELD',
  'WEAPON_RIFLE_BOLTACTION',
  'WEAPON_SHOTGUN_PUMP',
  'WEAPON_RIFLE_CARCANO',
  'WEAPON_RIFLE_ELEPHANT',
  'WEAPON_SNIPERRIFLE_ROLLINGBLOCK',
  'WEAPON_REPEATER_WINCHESTER',
},

Rewards

Setup groups of rewards for each bank or share groups with multiple banks, whatever you decide.

Rewards = {                             -- Rewards
    ['rewards1'] = {                    -- Reward table key
        {
            label = 'Something',        -- Label
            itemName = '',              -- Item name (Set to false disable)
            currency = 0,               -- Currency (0 = Cash, 1 = Gold, 0 = Rol [VORP]) (set to false to disable)
            amount = {min = 4, max = 8},-- Amount range (min, max)
            chance = 80                 -- Chance (1-100)
        },
    },
}

Banks

Configure each bank separately

  • start - Starting location (where the robbery needs to be started).

  • startRange - Max distance from starting location that the robbery can be started.

  • hours - open/close to control when the bank can be robbed (set to false for 24/7).

  • requiredJobs - control what on duty jobs (if any) are required to start the robbery.

    • enabled - enable/disable the requirement.

    • onDuty - amount of players needed to be on duty.

    • jobs - table containing all the job names required.

  • peds - control the peds that will spawned (if enabled) during the robbery.

    • enabled - enable/disable peds.

    • max - max total peds that will spawn each wave.

    • perWave - max peds spawned at any given time during each wave.

    • waves - total waves each "round" (There's two rounds, at the start and when the explosive is planted).

    • timeBetweenWaves - {min = ?, max = ?} mix/max time between each wave.

    • pedModel - the ped model that will be spawned.

    • spawns - a table containing all the possible spawn locations for the peds.

  • vault - this is the main vault door that needs to be blown open.

    • hash - vault door hash (this resource will handle the locking and unlocking of the main vault)

    • detonationnTimer - amount in milliseconds until detonation .

    • plantLocation - vec4 coords to place the player and display prompt.

    • placement - control the coords and rotation the explosive object will be placed.

  • loot - these are all of the locations that can be looted inside of the main vault.

    • crackAnimation - Internal functions (CrackSmallVault, CrackMedVault).

    • openAnim - Internal functions (OpenSmallVault, OpenMedVault).

    • lootAnim - Internal functions (LootSmallVault, LootMedVault).

  • doors - IGNORE THIS IF YOU DO NOT USE GS_DOORLOCKS or configure for your door script.

Banks = {                                       -- Banks
  ['Valentine'] = {
    start = vector3(-308.51, 777.53, 118.7),    -- Start position
    startRange = 20.0,                          -- Start range
    
    hours = {                                   -- Bank hours (24h format, set to false for 24/7)
      open = 7,
      close = 22
    },
    
    requiredJobs = {                            -- Required jobs onduty to start the robbery
      enabled = false,                          -- Enable/Disable
      onDuty = 4,                               -- Required onduty
      jobs = {                                  -- Jobs
        ['ValSheriff'] = true                   -- Job name
      }
    },
    
    peds = {                                      -- Peds (Spawn durring the robbery)
      enabled = true,
      max = 10,                                   -- Max total peds each wave
      perWave = 5,                                -- Max peds spawned at once each wave
      waves = 2,                                  -- Total waves
      timeBetweenWaves = {min = 20, max = 60},    -- Time between each wave (min, max)
      pedModel = 'a_m_m_huntertravelers_cool_01', -- Ped model
      spawns = {                                  -- Ped spawns (Randomized)(vec3)
        vector3(-331.44, 777.55, 117.36),
        vector3(-316.29, 800.46, 117.75),
        vector3(-292.93, 767.67, 118.78),
        vector3(-294.78, 784.13, 119.29),
        vector3(-300.19, 797.73, 118.46),
        vector3(-306.34, 800.38, 118.98),
        vector3(-314.2, 768.21, 117.95),
        vector3(-315.87, 776.31, 118.04)
      }
    },

    vault = {                                                 -- Vault 
      hash = 576950805,                                       -- Vault door hash
      detonationTimer = 120000,                               -- Detonation timer
      plantLocation = vector4(-307.32, 767.0, 118.7, 198.22), -- Plant location
      placement = {                                           -- Placement
        pos = vec3(-307.21, 766.46, 119.08000183105469),      -- Position
        rot = vec3(-19, 0, -79)                               -- Rotation
      }
    },
    
    loot = {                                                -- Lootable Vaults
      [1] = {
        crackAnim = 'CrackSmallVault',                      -- Crack animation (IGNORE)
        openAnim = 'OpenSmallVault',                        -- Open animation (IGNORE)
        lootAnim = 'LootSmallVault',                        -- Loot animation (IGNORE)
        vault = { -- Vault (Set to false to disable if its a static vault *NO MODEL*)
        model = 's_vault_sml_r_val01x',                                   -- Vault model
        pos = vec3(-307.885986328125, 762.310546875, 118.51991271972656), -- Vault position
        rot = vec3(0, 0, -169.99998474121094),                            -- Vault rotation
        offset = false -- Rotation Offset (vec3 for a custom rotation offset, set to false to disable)
      },
      pos = vector4(-308.31, 762.77, 118.7, 189.51),        -- Prompt position     
      rewards = 'rewards1'                                  -- Reward table key
    },
  },

---------------------------------------------------------------------------------------------------------------------
--------------------- IGNORE THIS IF YOU USE A DIFFERENT DOOR SCRIPT AND NOT GS_DOORLOCKS ---------------------------
---------------------------------------------------------------------------------------------------------------------
----------------------------------- https://github.com/GlitchOo/gs_doorlocks ----------------------------------------
---------------------------------------------------------------------------------------------------------------------

  doors = {
    {
      name = 'Valentine Bank',
      locked = true,
      lockedOnStart = true,
      jobAccess = {
        ['ValSheriff'] = 0
      },
      charAccess = {},
      itemNameAccess = false,
      canLockpick = false,
      alertLaw = true,
      showPrompt = true,
      door = {
        coords = vector3(-301.9361877441406, 771.751953125, 117.72990417480469),
        hash = 2343746133,
        model = 'p_gate_valbankvlt',
      }
    },
  }
}

Keybinds

Conntrol what keys are required for interactions

Keys = {
  PlantExplosive = 0x17BEC168, -- E
  OpenVault = 0x17BEC168, -- E
}

Full Configuration

This is already included in the resource. Use this as a backup or an example

Config = {
    EnableDev = false,                      -- Enable/Disable Dev Mode

    Locale = 'en',                          -- Locale

    Cooldowns = {
        reset = 60*60*1,                    -- (Resets vault doors annd locks bank doors) 1 hours 
        bank = 60*60*2,                     --  (Time between each bank robbery attempt at the same location) 2 hours
        global = 60*30,                     --  30 minutes
    },

    ResetCommand = {                        -- Reset bank command
        enabled = true,                     -- Enable/Disable the command
        command = 'resetbank',              -- Command

        groups = {                          -- Staff group that can use the command (VORP)
            ['admin'] = true,
        },

        acePerm = 'bankrobbery.reset',      --Ace permission that can use the command

        jobs = {                            -- Jobs that can use the command
            ['ValSheriff'] = true
        }
    },

    RequiredExplosiveItem = 'dynamite',     -- Required item to plant the explosive

    RequireBandana = true, -- Require bandana to start

    StayInside = true, -- Stay inside the bank while robbing

    RequiredWeapon = {                      -- Required weapon to start robbing the bank
        [`WEAPON_RIFLE_ELEPHANT`] = true,
        [`WEAPON_RIFLE_VARMINT`] = true,
        [`WEAPON_SNIPERRIFLE_ROLLINGBLOCK`] = true,
        [`WEAPON_SNIPERRIFLE_CARCANO`] = true,
        [`WEAPON_RIFLE_SPRINGFIELD`] = true,
        [`WEAPON_RIFLE_BOLTACTION`] = true,
        [`WEAPON_REPEATER_WINCHESTER`] = true,
        [`WEAPON_REPEATER_HENRY`] = true,
        [`WEAPON_REPEATER_EVANS`] = true,
        [`WEAPON_REPEATER_CARBINE`] = true,
        [`WEAPON_PISTOL_SEMIAUTO`] = true,
        [`WEAPON_PISTOL_MAUSER`] = true,
        [`WEAPON_PISTOL_M1899`] = true,
        [`WEAPON_REVOLVER_SCHOFIELD`] = true,
        [`WEAPON_REVOLVER_LEMAT`] = true,
        [`WEAPON_REVOLVER_DOUBLEACTION`] = true,
        [`WEAPON_REVOLVER_CATTLEMAN`] = true,
        [`WEAPON_REVOLVER_NAVY`] = true
    },

    PedWeapons = {                          -- Weapons for the peds
        'WEAPON_RIFLE_SPRINGFIELD',
        'WEAPON_RIFLE_BOLTACTION',
        'WEAPON_SHOTGUN_PUMP',
        'WEAPON_RIFLE_CARCANO',
        'WEAPON_RIFLE_ELEPHANT',
        'WEAPON_SNIPERRIFLE_ROLLINGBLOCK',
        'WEAPON_REPEATER_WINCHESTER',
    },

    Rewards = { -- Rewards
        ['Valentine'] = {                   -- Reward tablee name
            {
                label = 'Gold',             -- Label
                itemName = false,           -- Item name (Set to false disable)
                currency = 1,               -- Currency (0 = Cash, 1 = Gold, 0 = Rol [VORP]) (set to false to disable)
                amount = {min = 4, max = 8},-- Amount range (min, max)
                chance = 80                 -- Chance (1-100)
            },
            {
                label = 'Cash',             -- Label
                itemName = false,           -- Item name (Set to false disable)
                currency = 0,               -- Currency (0 = Cash, 1 = Gold, 0 = Rol [VORP]) (set to false to disable)
                amount = {min = 10, max = 20}, -- Amount range (min, max)
                chance = 100                -- Chance (1-100)
            },
            {
                label = 'Gold Nuggets',     -- Label
                itemName = 'resource_gold_nugget',  -- Item name (Set to false disable)
                currency = false,           -- Currency (0 = Cash, 1 = Gold, 0 = Rol [VORP]) (set to false to disable)
                amount = {min = 4, max = 8},-- Amount range (min, max)
                chance = 50                 -- Chance (1-100)
            },
            {
                label = 'Legendary Alligator Skin', -- Label
                itemName = 'resource_skin_alligator_legendary_sun', -- Item name (Set to false disable)
                currency = false,           -- Currency (0 = Cash, 1 = Gold, 0 = Rol [VORP]) (set to false to disable)         
                amount = {min = 1, max = 2},-- Amount range (min, max)
                chance = 20                 -- Chance (1-100)
            },
            {
                label = 'Legendary Bear Skin',  -- Label
                itemName = 'resource_skin_bear_legendary_owiza',    -- Item name (Set to false disable)
                currency = false,           -- Currency (0 = Cash, 1 = Gold, 0 = Rol [VORP]) (set to false to disable)
                amount = {min = 1, max = 2},-- Amount range (min, max)
                chance = 20                 -- Chance (1-100)
            },
            {
                label = 'Gold Flakes',      -- Label
                itemName = 'resource_gold_flakes',  -- Item name (Set to false disable)
                currency = false,           -- Currency (0 = Cash, 1 = Gold, 0 = Rol [VORP]) (set to false to disable)
                amount = {min = 10, max = 20},  -- Amount range (min, max)
                chance = 90                 -- Chance (1-100)
            },
        }
    },

    Banks = {                                           -- Banks

        ---------------------------------------------------------------------------------------------------------------------
        ------------------------------------------------ VALENTINE BANK -----------------------------------------------------
        ---------------------------------------------------------------------------------------------------------------------

        ['Valentine'] = {
            start = vector3(-308.51, 777.53, 118.7),    -- Start position
            startRange = 20.0,                          -- Start range
            hours = {                                   -- Bank hours (24h format, set to false for 24/7)
                open = 7,
                close = 22
            },
            
            requiredJobs = {                            -- Required jobs onduty to start the robbery
                enabled = false,                        -- Enable/Disable
                onDuty = 4,                             -- Required onduty
                jobs = {                                -- Jobs
                    ['ValSheriff'] = true               -- Job name
                }
            },

            vault = {                                   -- Vault
                hash = 576950805,                                       -- Vault door hash
                detonationTimer = 120000,                               -- Detonation timer
                plantLocation = vector4(-307.32, 767.0, 118.7, 198.22), -- Plant location
                placement = {                                           -- Placement
                    pos = vec3(-307.21, 766.46, 119.08000183105469),    -- Position
                    rot = vec3(-19, 0, -79)                             -- Rotation
                }
            },

            peds = {                                                    -- Peds (Spawn durring the robbery)
                enabled = true,
                max = 10,                                               -- Max total peds each wave
                perWave = 5,                                            -- Max peds spawned at once each wave
                waves = 2,                                              -- Total waves
                timeBetweenWaves = {min = 20, max = 60},                -- Time between each wave (min, max)
                pedModel = 'a_m_m_huntertravelers_cool_01',             -- Ped model
                spawns = {                                              -- Ped spawns (Randomized)(vec3)
                    vector3(-331.44, 777.55, 117.36),
                    vector3(-316.29, 800.46, 117.75),
                    vector3(-292.93, 767.67, 118.78),
                    vector3(-294.78, 784.13, 119.29),
                    vector3(-300.19, 797.73, 118.46),
                    vector3(-306.34, 800.38, 118.98),
                    vector3(-314.2, 768.21, 117.95),
                    vector3(-315.87, 776.31, 118.04)
                }
            },

            loot = {                                                    -- Lootable Vaults
                [1] = {
                    crackAnim = 'CrackSmallVault',                      -- Crack animation (IGNORE)
                    openAnim = 'OpenSmallVault',                        -- Open animation (IGNORE)
                    lootAnim = 'LootSmallVault',                        -- Loot animation (IGNORE)
                    vault = { -- Vault (Set to false to disable if its a static vault *NO MODEL*)
                        model = 's_vault_sml_r_val01x',                                         -- Vault model
                        pos = vec3(-307.885986328125, 762.310546875, 118.51991271972656),       -- Vault position
                        rot = vec3(0, 0, -169.99998474121094),                                  -- Vault rotation
                        offset = false -- Rotation Offset (vec3 for a custom rotation offset, set to false to disable)
                    },
                    pos = vector4(-308.31, 762.77, 118.7, 189.51),      -- Prompt position     
                    rewards = 'Valentine'                               -- Reward table key
                },
                [2] = {
                    crackAnim = 'CrackSmallVault',                      -- Crack animation (IGNORE)
                    openAnim = 'OpenSmallVault',                        -- Open animation (IGNORE)
                    lootAnim = 'LootSmallVault',                        -- Loot animation (IGNORE)
                    vault = { -- Vault (Set to false to disable if its a static vault *NO MODEL*)                                           -- Vault
                        model = 's_vault_sml_r_val01x',                                         -- Vault model
                        pos = vec3(-309.09796142578125, 765.6151123046875, 118.51708984375),    -- Vault position
                        rot = vec3(0, 0, 10.10358619689941),                                    -- Vault rotation
                        offset = false -- Rotation Offset (vec3 for a custom rotation offset, set to false to disable)
                    },
                    pos = vector4(-308.61, 765.04, 118.7, 9.07),        -- Prompt position                    
                    rewards = 'Valentine'                               -- Reward table key
                },
                [3] = {
                    crackAnim = 'CrackMedVault',                        -- Crack animation (IGNORE)
                    openAnim = 'OpenMedVault',                          -- Open animation (IGNORE)
                    lootAnim = 'LootMedVault',                          
                    vault = { -- Vault (Set to false to disable if its a static vault *NO MODEL*)
                        model = 's_vault_med_r_val01x',                                         -- Vault model 
                        pos = vec3(-309.60662841796875, 764.5457763671875, 117.80964660644531), -- Vault position
                        rot = vec3(0, 0, 99.8592300415039),                                     -- Vault rotation
                        offset = false -- Rotation Offset (vec3 for a custom rotation offset, set to false to disable)
                    },
                    pos = vector4(-309.14, 764.98, 118.7, 99.89),       -- Prompt position
                    rewards = 'Valentine'                               -- Reward table key
                },
                [4] = {
                    crackAnim = 'CrackMedVault',                        -- Crack animation (IGNORE)
                    openAnim = 'OpenMedVault',                          -- Open animation (IGNORE)
                    lootAnim = 'LootMedVault',                          -- Loot animation (IGNORE)
                    vault = { -- Vault (Set to false to disable if its a static vault *NO MODEL*)
                        model = 's_vault_med_r_val01x',                                         -- Vault model
                        pos = vec3(-309.4143981933594, 763.497802734375, 117.80964660644531),   -- Vault position
                        rot = vec3(0, 0, 99.99999237060547),                                    -- Vault rotation
                        offset = false -- Rotation Offset (vec3 for a custom rotation offset, set to false to disable)
                    },
                    pos = vector4(-308.96, 763.93, 118.7, 99.56),       -- Prompt position
                    rewards = 'Valentine'                               -- Reward table key
                },
                [5] = {
                    crackAnim = 'CrackMedVault',                        -- Crack animation (IGNORE)
                    openAnim = 'OpenMedVault',                          -- Open animation (IGNORE)
                    lootAnim = 'LootMedVault',                          -- Loot animation (IGNORE)
                    vault = { -- Vault (Set to false to disable if its a static vault *NO MODEL*)
                        model = 's_vault_med_r_val01x',                                         -- Vault model
                        pos = vec3(-309.233154296875, 762.4443359375, 117.81324768066406),      -- Vault position
                        rot = vec3(0, 0, 100.024169921875),                                     -- Vault rotation
                        offset = false -- Rotation Offset (vec3 for a custom rotation offset, set to false to disable)
                    },
                    pos = vector4(-308.68, 762.91, 118.7, 98.49),       -- Prompt position
                    rewards = 'Valentine'                               -- Reward table key
                }
            },


            ---------------------------------------------------------------------------------------------------------------------
            --------------------- IGNORE THIS IF YOU USE A DIFFERENT DOOR SCRIPT AND NOT GS_DOORLOCKS ---------------------------
            ---------------------------------------------------------------------------------------------------------------------
            ----------------------------------- https://github.com/GlitchOo/gs_doorlocks ----------------------------------------
            ---------------------------------------------------------------------------------------------------------------------
            
            doors = {
                {
                    name = 'Valentine Bank',
                    locked = true,
                    lockedOnStart = true,
                    jobAccess = {
                        ['ValSheriff'] = 0
                    },
                    charAccess = {},
                    itemNameAccess = false,
                    canLockpick = false,
                    alertLaw = true,
                    showPrompt = true,
                    door = {
                        coords = vector3(-301.9361877441406, 771.751953125, 117.72990417480469),
                        hash = 2343746133,
                        model = 'p_gate_valbankvlt',
                    }
                },
                {
                    name = 'Valentine Bank',
                    locked = true,
                    lockedOnStart = true,
                    jobAccess = {
                        ['ValSheriff'] = 0
                    },
                    charAccess = {},
                    itemNameAccess = false,
                    canLockpick = false,
                    alertLaw = true,
                    showPrompt = true,
                    door = {
                        coords = vector3(-311.7406311035156, 774.6756591796875, 117.72991180419922),
                        hash = 1340831050,
                        model = 'p_gate_valbankvlt',
                    }
                },
                {
                    name = 'Valentine Bank',
                    locked = true,
                    lockedOnStart = true,
                    jobAccess = {
                        ['ValSheriff'] = 0
                    },
                    charAccess = {},
                    itemNameAccess = false,
                    canLockpick = false,
                    alertLaw = true,
                    showPrompt = true,
                    door = {
                        coords = vector3(-311.0597839355469, 770.1240234375, 117.70217895507812),
                        hash = 3718620420,
                        model = 'p_door_val_bank01',
                    }
                },
                {
                    name = 'Valentine Bank',
                    locked = true,
                    lockedOnStart = true,
                    jobAccess = {
                        ['ValSheriff'] = 0
                    },
                    charAccess = {},
                    itemNameAccess = false,
                    canLockpick = false,
                    alertLaw = true,
                    showPrompt = true,
                    door = {
                        coords = vector3(-302.9228210449219, 767.6043090820312, 117.69805145263672),
                        hash = 334467483,
                        model = 'p_door_val_bank01',
                    }
                },
                {
                    name = 'Valentine Bank',
                    locked = true,
                    lockedOnStart = true,
                    jobAccess = {
                        ['ValSheriff'] = 0
                    },
                    charAccess = {},
                    itemNameAccess = false,
                    canLockpick = false,
                    alertLaw = true,
                    showPrompt = true,
                    door = {
                        coords = vector3(-301.510009765625, 762.9834594726562, 117.73312377929688),
                        hash = 2307914732,
                        model = 'p_doorsldprtn01x',
                    }
                },
            }
        },

        ---------------------------------------------------------------------------------------------------------------------
        ------------------------------------------------- ST DENIS BANK -----------------------------------------------------
        ---------------------------------------------------------------------------------------------------------------------

        ['StDenis'] = {
            start = vector3(2645.78, -1295.61, 52.25),
            startRange = 20.0,

            hours = {
                open = 7,
                close = 22
            },

            requiredJobs = {
                enabled = false,
                onDuty = 4,
                jobs = {
                    ['SDPolice'] = true
                }
            },

            peds = {
                enabled = true,
                max = 10,
                perWave = 5,
                waves = 2,
                timeBetweenWaves = {min = 20, max = 60}, -- 20-40 seconds
                pedModel = 'a_m_m_huntertravelers_cool_01',
                spawns = {
                    vector3(2650.17, -1282.24, 52.28),
                    vector3(2639.2, -1304.78, 51.49),
                    vector3(2643.4, -1313.05, 50.96),
                    vector3(2628.22, -1274.68, 52.26),
                    vector3(2642.71, -1267.85, 52.27)
                }
            },

            vault = {
                hash = 1751238140,
                detonationTimer = 120000,
                plantLocation = vector4(2644.05, -1299.95, 52.25, 159.82),
                placement = {
                    pos = vec3(2643.81005859375, -1300.5899658203125, 52.6500015258789),
                    rot = vec3(15, -23.99999618530273, 70)
                }
            },

            loot = {
                [1] = {
                    crackAnim = 'CrackSmallVault',
                    openAnim = 'OpenSmallVault',
                    lootAnim = 'LootSmallVault',
                    vault = {
                        model = 's_vault_sml_r_val01x_high',
                        pos = vec3(2644.766357421875, -1303.274169921875, 52.06300735473633),
                        rot = vec3(0, 0, -65.0005874633789),
                        offset = vec3(0, 0, -182),
                    },
                    pos = vector4(2644.24, -1303.98, 52.25, 296.33),
                    rewards = 'Valentine'
                },
                [2] = {
                    crackAnim = 'CrackMedVault',
                    openAnim = 'OpenMedVault',
                    lootAnim = 'LootMedVault',
                    vault = {
                        model = 's_vault_med_r_val01x_high',
                        pos = vec3(2641.291015625, -1303.770263671875, 51.35300827026367),
                        rot = vec3(0, 0, 114),
                        offset = vec3(0, 0, -164),
                    },
                    pos = vector4(2641.77, -1303.12, 52.25, 114.63),
                    rewards = 'Valentine'
                },
                [3] = {
                    crackAnim = 'CrackMedVault',
                    openAnim = 'OpenMedVault',
                    lootAnim = 'LootMedVault',
                    vault = {
                        model = 's_vault_lrg_r_val01x_high',
                        pos = vec3(2645.168701171875, -1306.611328125, 51.37938690185547),
                        rot = vec3(0, 0, -154.9999542236328),
                        offset = vec3(0, 0, -173),
                    },
                    pos = vector4(2644.14, -1306.3, 52.25, 202.72),
                    rewards = 'Valentine'
                },
            },

            ---------------------------------------------------------------------------------------------------------------------
            --------------------- IGNORE THIS IF YOU USE A DIFFERENT DOOR SCRIPT AND NOT GS_DOORLOCKS ---------------------------
            ---------------------------------------------------------------------------------------------------------------------
            ----------------------------------- https://github.com/GlitchOo/gs_doorlocks ----------------------------------------
            ---------------------------------------------------------------------------------------------------------------------

            doors = {}
        },

        ---------------------------------------------------------------------------------------------------------------------
        ------------------------------------------------ BLACKWATER BANK ----------------------------------------------------
        ---------------------------------------------------------------------------------------------------------------------

        ['Blackwater'] = {
            start = vector3(-812.92, -1278.06, 43.64),
            startRange = 15.0,

            hours = { -- Bank hours (24h format, set to false for 24/7)
                open = 7,
                close = 22
            },

            requiredJobs = {
                enabled = false,
                onDuty = 4,
                jobs = {
                    ['BWSheriff'] = true
                }
            },

            peds = {
                enabled = true,
                max = 10,
                perWave = 5,
                waves = 2,
                timeBetweenWaves = {min = 20, max = 60}, -- 20-40 seconds
                pedModel = 'a_m_m_huntertravelers_cool_01',
                spawns = {
                    vector3(-821.15, -1279.0, 43.64),
                    vector3(-807.79, -1284.33, 43.66),
                    vector3(-809.39, -1263.86, 43.67),
                    vector3(-791.38, -1264.48, 43.63),
                    vector3(-792.15, -1276.67, 43.64),
                    vector3(-808.06, -1291.93, 43.66)
                }
            },

            vault = {
                hash = 1462330364,
                detonationTimer = 120000,
                plantLocation = vector4(-817.28, -1273.83, 43.65, 98.85),
                placement = {
                    pos = vec3(-817.75, -1273.81005859375, 44.0400009155273),
                    rot = vec3(-13.99999809265136, 26.99999809265136, 180)
                }
            },

            loot = {
                [1] = {
                    crackAnim = 'CrackSmallVault',
                    openAnim = 'OpenSmallVault',
                    lootAnim = 'LootSmallVault',
                    vault = false,
                    pos = vector4(-821.02, -1273.7, 43.64, 82.28),
                    rewards = 'Valentine'
                },
                [2] = {
                    crackAnim = 'CrackSmallVault',
                    openAnim = 'OpenSmallVault',
                    lootAnim = 'LootSmallVault',
                    vault = false,
                    pos = vector4(-820.99, -1274.59, 43.65, 88.39),
                    rewards = 'Valentine'
                },
                [3] = {
                    crackAnim = 'CrackMedVault',
                    openAnim = 'OpenMedVault',
                    lootAnim = 'LootMedVault',
                    vault = false,
                    pos = vector4(-818.65, -1273.61, 43.66, 0.74),
                    rewards = 'Valentine'
                },
                [4] = {
                    crackAnim = 'CrackMedVault',
                    openAnim = 'OpenMedVault',
                    lootAnim = 'LootMedVault',
                    vault = false,
                    pos = vector4(-820.06, -1273.44, 43.65, 2.83),
                    rewards = 'Valentine'
                },
            },

            ---------------------------------------------------------------------------------------------------------------------
            --------------------- IGNORE THIS IF YOU USE A DIFFERENT DOOR SCRIPT AND NOT GS_DOORLOCKS ---------------------------
            ---------------------------------------------------------------------------------------------------------------------
            ----------------------------------- https://github.com/GlitchOo/gs_doorlocks ----------------------------------------
            ---------------------------------------------------------------------------------------------------------------------

            doors = {
                {
                    name = 'Blackwater Bank',
                    locked = true,
                    lockedOnStart = true,
                    jobAccess = {
                        ['BWSheriff'] = 0
                    },
                    charAccess = {},
                    itemNameAccess = false,
                    canLockpick = false,
                    alertLaw = true,
                    showPrompt = true,
                    door = {
                        coords = vector3(-816.72528076172, -1276.7509765625, 42.641235351563),
                        hash = 2117902999,
                        model = 'p_gate_valbankvlt',
                    }
                },
            }
        },

        ---------------------------------------------------------------------------------------------------------------------
        -------------------------------------------------- RHODES BANK ------------------------------------------------------
        ---------------------------------------------------------------------------------------------------------------------

        ['Rhodes'] = {
            start = vector3(1291.13, -1304.53, 77.04),
            startRange = 15.0,

            hours = { -- Bank hours (24h format, set to false for 24/7)
                open = 7,
                close = 22
            },

            requiredJobs = {
                enabled = false,
                onDuty = 4,
                jobs = {
                    ['RDSheriff'] = true
                }
            },

            peds = {
                enabled = true,
                max = 10,
                perWave = 5,
                waves = 2,
                timeBetweenWaves = {min = 20, max = 60}, -- 20-40 seconds
                pedModel = 'a_m_m_huntertravelers_cool_01',
                spawns = {
                    vector3(1296.76, -1317.7, 76.71),
                    vector3(1278.26, -1304.23, 76.48),
                    vector3(1305.16, -1270.67, 76.56),
                    vector3(1326.76, -1296.4, 76.99),
                    vector3(1306.48, -1307.87, 76.79),
                    vector3(1299.16, -1307.38, 76.54)
                }
            },

            vault = {
                hash = 3483244267,
                detonationTimer = 120000,
                plantLocation = vector4(1282.49, -1308.56, 77.04, 226.42),
                placement = {
                    pos = vec3(1282.8900146484375, -1308.9, 77.41000366210938),
                    rot = vec3(-22, 0, -41.99997329711914)
                }
            },

            loot = {
                [1] = {
                    crackAnim = 'CrackSmallVault',
                    openAnim = 'OpenSmallVault',
                    lootAnim = 'LootSmallVault',
                    vault = {
                        model = 's_vault_sml_l_val_bent01x',
                        pos = vec3(1285.9586181640625, -1315.587646484375, 76.85285949707031),
                        rot = vec3(0, 0, 140.10348510742188),
                    },
                    pos = vector4(1286.65, -1315.51, 77.04, 135.38),
                    rewards = 'Valentine'
                },
                [2] = {
                    crackAnim = 'CrackSmallVault',
                    openAnim = 'OpenSmallVault',
                    lootAnim = 'LootSmallVault',
                    vault = {
                        model = 's_vault_sml_r_val_bent01x',
                        pos = vec3(1288.1990966796875, -1312.9212646484375, 76.85284423828125),
                        rot = vec3(0, 0, -39.82670211791992),
                    },
                    pos = vector4(1288.18, -1313.46, 77.04, 315.21),
                    rewards = 'Valentine'
                },
                [3] = {
                    crackAnim = 'CrackMedVault',
                    openAnim = 'OpenMedVault',
                    lootAnim = 'LootMedVault',
                    vault = {
                        model = 's_vault_med_r_val_bent01x',
                        pos = vec3(1287.591552734375, -1315.7020263671875, 76.14519500732422),
                        rot = vec3(0, 0, -130.14077758789062),
                    },
                    pos = vector4(1286.98, -1315.75, 77.04, 238.45),
                    rewards = 'Valentine'
                },
                [4] = {
                    crackAnim = 'CrackMedVault',
                    openAnim = 'OpenMedVault',
                    lootAnim = 'LootMedVault',
                    vault = {
                        model = 's_vault_med_r_val_bent02x',
                        pos = vec3(1288.2784423828125, -1314.883544921875, 76.14519500732422),
                        rot = vec3(0, 0, -130.14077758789062),
                    },
                    pos = vector4(1287.68, -1314.93, 77.04, 243.32),
                    rewards = 'Valentine'
                },
                [5] = {
                    crackAnim = 'CrackMedVault',
                    openAnim = 'OpenMedVault',
                    lootAnim = 'LootMedVault',
                    vault = {
                        model = 's_vault_med_r_val_bent01x',
                        pos = vec3(1288.96826171875, -1314.0614013671875, 76.14519500732422),
                        rot = vec3(0, 0, -130.14077758789062),
                    },
                    pos = vector4(1288.33, -1314.15, 77.04, 244.45),
                    rewards = 'Valentine'
                }
            },

            ---------------------------------------------------------------------------------------------------------------------
            --------------------- IGNORE THIS IF YOU USE A DIFFERENT DOOR SCRIPT AND NOT GS_DOORLOCKS ---------------------------
            ---------------------------------------------------------------------------------------------------------------------
            ----------------------------------- https://github.com/GlitchOo/gs_doorlocks ----------------------------------------
            ---------------------------------------------------------------------------------------------------------------------

            doors = {
                {
                    name = 'Rhodes Bank',
                    locked = true,
                    lockedOnStart = true,
                    jobAccess = {
                        ['RDSheriff'] = 0
                    },
                    charAccess = {},
                    itemNameAccess = false,
                    canLockpick = false,
                    alertLaw = true,
                    showPrompt = true,
                    door = {
                        coords = vector3(1285.1475830078, -1303.1185302734, 76.040069580078),
                        hash = 2058564250,
                        model = 'p_door13x',
                    }
                },
            }
        }
    },


    Keys = {
        PlantExplosive = 0x17BEC168, -- E
        OpenVault = 0x17BEC168, -- E
    }
}

Last updated