![[RELEASE] [PAID] utility_bank main image](https://forum-cfx-re.akamaized.net/optimized/5X/c/3/2/6/c3263d0b851849ca4316d1882bcc6c724fcc06fa_2_690x388.jpeg)
![[RELEASE] [PAID] utility_bank thumbnail 1](https://forum-cfx-re.akamaized.net/optimized/5X/c/3/2/6/c3263d0b851849ca4316d1882bcc6c724fcc06fa_2_690x388.jpeg)
![[RELEASE] [PAID] utility_bank thumbnail 2](https://forum-cfx-re.akamaized.net/optimized/5X/b/e/d/0/bed03dc82f5930b62b650e79b1b09eadbdda06e1_2_690x387.jpeg)
![[RELEASE] [PAID] utility_bank thumbnail 3](https://forum-cfx-re.akamaized.net/optimized/5X/6/b/c/b/6bcb2a59b0f6a909626d77064d82a7de85978e3e_2_690x387.jpeg)
![[RELEASE] [PAID] utility_bank thumbnail 4](https://forum-cfx-re.akamaized.net/optimized/5X/c/5/0/5/c505ceb04473a558ad1e95b4313002161f7be16e_2_690x386.jpeg)
![[RELEASE] [PAID] utility_bank thumbnail 5](https://forum-cfx-re.akamaized.net/optimized/5X/a/e/8/d/ae8da9433ad2afe3b40a2d19ad449c59bc1dc26e_2_690x387.jpeg)
![[RELEASE] [PAID] utility_bank thumbnail 6](https://forum-cfx-re.akamaized.net/optimized/5X/3/c/2/6/3c2647d7f672cbcc825faae918a388e3fc2b68b5_2_690x337.jpeg)
![[RELEASE] [PAID] utility_bank thumbnail 7](https://forum-cfx-re.akamaized.net/optimized/5X/c/4/5/1/c451c5c4b6fb2a5decc7f454d6376b7e040bb956_2_690x337.jpeg)
![[RELEASE] [PAID] utility_bank thumbnail 8](https://forum-cfx-re.akamaized.net/optimized/5X/1/3/b/4/13b455f8ecc795d9d98852db110962f69aae6eec_2_690x337.jpeg)
![[RELEASE] [PAID] utility_bank thumbnail 9](https://forum-cfx-re.akamaized.net/optimized/5X/5/2/c/f/52cf7505aaa13464778e8bce2e6ae332f8b350f4_2_690x337.jpeg)
Price
UnknownA script by XenoS.exe
Price
UnknownCurrently works with:
Experience robbing a bank by having to handle hostages, the script contains 2 possible approaches:
Script designed to work in co-op/multiplayer, so you can rob together with your best friends!
Read all the functionalities in the Contains section.
The community ideas/feedback will be taken into consideration, we care passionately about customer service.
Config = {}
Config.Intimidation = {
label = "INTIMIDATION"
}
Config.Interactions = {
["pushable_buttons"] = {
name = "push",
label = "Push",
icon = "fas fa-hand",
distance = 2.0
},
["openable_vault"] = {
name = "toggleVault",
label = "Toggle Vault",
icon = "fas fa-lock",
distance = 2.0
},
["hack_panel_vault"] = {
name = "hackVault",
label = "Hack",
icon = "fas fa-laptop",
distance = 2.0
},
-- For key pickup interaction
["key_pickup"] = {
name = "keyPickup",
label = "Pickup Key",
icon = "fas fa-key",
distance = 2.0
}
}
Config.Translations = {
["key_required"] = "A key is required to open this door",
["open_antechamber_door"] = "Press {E} to unlock the antechamber door",
["on_key_pickup"] = "Key for the ~y~vault antechamber~w~ collected",
["bomb_required"] = "A bomb is required to open this door",
["robbery_started_notify"] = "An alarm went off at a bank!"
}
Config.ResetTime = 2 -- (minutes) Time for which the bank, when being robbed must remain empty (no players inside it) to be resetted
-- This will require: ESX or QBCore
Config.BombItem = "bomb_big"
-- The blip that will be created when someone robs the bank, as soon as the player approaches it will be automatically deleted;
-- You can customize when and how it is triggered from the config_functions.lua file.
Config.RobberyBlip = {
name = "Bank Robbery",
sprite = 586,
color = 1,
scale = 1.0,
duration = 30000 -- If the player does not approach the blip after this time it will be eliminated, set to -1 to disable
}
Config.Banks = {
-- Dont change the order
[1] = {
type = "blaine_branche",
config = {
hostages = true, -- This also includes players having to manage hostages to keep the shutters from closing
keys = {
enabled = true,
spawnpoints = {
vec3(1697.2170, 3786.4980, 34.1345),
vec3(1695.7720, 3787.5842, 35.5373),
vec3(1703.3497, 3787.2090, 36.0351),
vec3(1700.2557, 3787.3711, 35.9956),
}
},
trollies = {
enabled = true,
amountPerBundle = {100, 300} -- [min, max] amount of money per single bundle
},
vault_hacking = {
enabled = true
},
-- This will require: ESX or QBCore
bomb = {
enabled = false
}
}
},
[2] = {
type = "blaine_branche",
config = {
hostages = true, -- This also includes players having to manage hostages to keep the shutters from closing
keys = {
enabled = true,
spawnpoints = {
vec3(1694.5414, 4857.8970, 42.9374),
vec3(1692.4832, 4857.3105, 42.4911),
vec3(1692.1604, 4853.9512, 43.6367),
vec3(1690.6746, 4851.2715, 43.4203),
}
},
trollies = {
enabled = true,
amountPerBundle = {100, 300} -- [min, max] amount of money per single bundle
},
vault_hacking = {
enabled = true
},
-- This will require: ESX or QBCore
bomb = {
enabled = false
}
}
},
[3] = {
type = "blaine_branche",
config = {
hostages = true, -- This also includes players having to manage hostages to keep the shutters from closing
keys = {
enabled = true,
spawnpoints = {
vec3(581.1383, 2668.2275, 42.5814),
vec3(580.5016, 2670.0251, 42.1442),
vec3(574.4494, 2671.8772, 43.0783),
vec3(577.1849, 2670.5120, 43.4273),
}
},
trollies = {
enabled = true,
amountPerBundle = {100, 300} -- [min, max] amount of money per single bundle
},
vault_hacking = {
enabled = true
},
-- This will require: ESX or QBCore
bomb = {
enabled = false
}
}
},
[4] = {
type = "blaine_branche",
config = {
hostages = true, -- This also includes players having to manage hostages to keep the shutters from closing
keys = {
enabled = true,
spawnpoints = {
vec3(2548.0977, 404.4348, 109.3146),
vec3(2549.7883, 404.8145, 108.8830),
vec3(2552.5266, 410.5005, 109.8189),
vec3(2550.7751, 408.0982, 110.0416),
}
},
trollies = {
enabled = true,
amountPerBundle = {100, 300} -- [min, max] amount of money per single bundle
},
vault_hacking = {
enabled = true
},
-- This will require: ESX or QBCore
bomb = {
enabled = false
}
}
},
[5] = {
type = "blaine_branche",
config = {
hostages = true, -- This also includes players having to manage hostages to keep the shutters from closing
keys = {
enabled = true,
spawnpoints = {
vec3(-3155.2610, 1133.5093, 21.4413),
vec3(-3153.3896, 1133.0834, 21.0276),
vec3(-3148.6270, 1137.2262, 22.0948),
vec3(-3151.2827, 1135.6768, 22.3722),
}
},
trollies = {
enabled = true,
amountPerBundle = {100, 300} -- [min, max] amount of money per single bundle
},
vault_hacking = {
enabled = true
},
-- This will require: ESX or QBCore
bomb = {
enabled = false
}
}
}
}
Config.Functions = {
StartFramework = function()
if GetResourceState("es_extended") ~= "missing" then
ESX = exports["es_extended"]:getSharedObject()
elseif GetResourceState("qb-core") ~= "missing" then
QBCore = exports["qb-core"]:GetCoreObject()
end
end,
RegisterBombItem = function(item)
-- OnBombItemUse: (source, item) => void
-- source<number> Its the player id that uses the item
-- item<string> The name of the item that is being used
if GetResourceState("es_extended") ~= "missing" then
ESX.RegisterUsableItem(item, OnBombItemUse)
elseif GetResourceState("qb-core") ~= "missing" then
QBCore.Functions.CreateUseableItem(item, OnBombItemUse)
end
end,
GiveTrollyMoney = function(source, amount)
-- https://utility-library.github.io/documentation/server/esx_integration/xplayer/AddMoney/
AddMoney(source, "cash", amount)
end,
RemoveItem = function(source, item, amount)
-- https://utility-library.github.io/documentation/server/esx_integration/xplayer/RemoveItem/
RemoveItem(source, item, amount)
end,
StartAlarm = function(bankId)
if ESX then
local xPlayers = ESX.GetExtendedPlayers('job', 'police')
for _, xPlayer in pairs(xPlayers) do
xPlayer.showNotification(Config.Translations["robbery_started_notify"])
TriggerClientAction("SetBlipToBank", xPlayer.source, bankId)
end
elseif QBCore then
local players = QBCore.Functions.GetQBPlayers()
for _, v in pairs(players) do
if v and v.PlayerData.job.type == "leo" and v.PlayerData.job.onduty then
TriggerClientAction('QBCore:Notify', v.PlayerData.source, Config.Translations["robbery_started_notify"], "primary")
TriggerClientAction("SetBlipToBank", v.PlayerData.source, bankId)
end
end
end
end
}
By XenoS (me)
Utility Library
React Wrapper
LoveDiscord
Crosshair Built In
xenos_anti-powergame
xenos_anti-aimglitch
Utility Weapons
Utility Pause Menu
By MarKz
Blaine County Branches
Code is accessible | No |
Subscription-based | No |
Lines (approximately) | ~2500 |
Requirements | utility_lib |
Support | Yes |
No approved reviews found for this script yet.