Auto Rob Bank
Key Required

Auto Rob Bank

Drill City: Chicago🩸mcdaggittmcdaggitt 1.2K views 82 executesUpdated Mar 2, 2026
Unrated
00
Lua Script•183 lines (5834 chars)
--[[
I hope you enjoy
If you use this script in your own script please credit!

Auto Rob Bank, opensource.
Has bank check so you dont waste ur money.
--]]
local player = game.Players.LocalPlayer
local hrp = player.Character.HumanoidRootPart
local npc = workspace.NPCs.Robberydealer.UpperTorso
local prompt = npc.ProximityPrompt
local pGui = player.PlayerGui
local vim = game:GetService("VirtualInputManager")
local moneyFolder = workspace:WaitForChild("BankItems"):WaitForChild("Money")
local allMoney = {}
local vaultPrompt = workspace:WaitForChild("Map"):WaitForChild("vault"):WaitForChild("door"):WaitForChild("robPrompt"):WaitForChild("ProximityPrompt")
vaultPrompt.HoldDuration = 0
local checkStart = tick()
local bankCooldown = false

local function fix(p)
    if p:IsA("ProximityPrompt") then
        p.RequiresLineOfSight = false
        p.HoldDuration = 0
    end
end
for _, v in pairs(game:GetDescendants()) do fix(v) end
game.DescendantAdded:Connect(fix)

while tick() - checkStart < 2 do
    hrp.CFrame = vaultPrompt.Parent.CFrame * CFrame.new(0, 0, 2)
    fireproximityprompt(vaultPrompt)
    local notifyGui = pGui:FindFirstChild("SendNotification")
    if notifyGui then
        local label = notifyGui:FindFirstChild("TextLabel", true)
        if label then
            local text = label.Text:lower()
            if string.find(text, "already") or string.find(text, "cooling down") or string.find(text, "3") then
                bankCooldown = true
                break 
            end
        end
    end
    task.wait()
end
if bankCooldown then
    print("Bank On Cooldown or being robbed")
    return
end

local startTime = tick()
while tick() - startTime < 0.6 do
    hrp.CFrame = npc.CFrame
    fireproximityprompt(prompt)
    task.wait()
end
wait(1)
local dialogue = pGui:WaitForChild("Dialogue", 10)
local firstChoice = dialogue.InteractFrame:WaitForChild("FirstChoice", 5)
local secondChoice = dialogue.InteractFrame:WaitForChild("SecondChoice", 5)
task.wait(1)
if firstChoice then
    local button = firstChoice:IsA("GuiButton") and firstChoice or firstChoice:FindFirstChildWhichIsA("GuiButton")
    if button then
        local pos = button.AbsolutePosition
        local size = button.AbsoluteSize
        local centerX = pos.X + (size.X / 2)
        local centerY = pos.Y + (size.Y / 2) + 58
        vim:SendMouseMoveEvent(centerX, centerY, game)
        task.wait(0.1)
        vim:SendMouseButtonEvent(centerX, centerY, 0, true, game, 1)
        task.wait(0.1)
        vim:SendMouseButtonEvent(centerX, centerY, 0, false, game, 1)
    end
end
local startTime = tick()
while tick() - startTime < 1.5 do
    hrp.CFrame = npc.CFrame
    local Event = game:GetService("ReplicatedStorage").RemoteEvents.StorePurchase
Event:FireServer(
    "DuffelBag",
    200
)
task.wait()
end
wait(3)
local startTime = tick()
while tick() - startTime < 0.6 do
    hrp.CFrame = npc.CFrame
    fireproximityprompt(prompt)
    task.wait()
end
wait(1)
local dialogue = pGui:WaitForChild("Dialogue", 10)
local firstChoice = dialogue.InteractFrame:WaitForChild("FirstChoice", 5)
task.wait(1)
if firstChoice then
    local button = firstChoice:IsA("GuiButton") and firstChoice or firstChoice:FindFirstChildWhichIsA("GuiButton")
    if button then
        local pos = button.AbsolutePosition
        local size = button.AbsoluteSize
        local centerX = pos.X + (size.X / 2)
        local centerY = pos.Y + (size.Y / 2) + 58
        vim:SendMouseMoveEvent(centerX, centerY, game)
        task.wait(0.1)
        vim:SendMouseButtonEvent(centerX, centerY, 0, true, game, 1)
        task.wait(0.1)
        vim:SendMouseButtonEvent(centerX, centerY, 0, false, game, 1)
    end
end
local startTime = tick()
while tick() - startTime < 1.5 do
    hrp.CFrame = npc.CFrame
        local Event = game:GetService("ReplicatedStorage").RemoteEvents.StorePurchase
Event:FireServer(
    "C4",
    1000
)
task.wait()
end
local toolFound = false
while not toolFound do
    local tool = player.Backpack:FindFirstChild("C4")
    if tool then
        tool.Parent = player.Character
        toolFound = true
    end
    task.wait(0.1)
end
wait(6)
local vaultStartTime = tick()
    while tick() - vaultStartTime < 2 do
    hrp.CFrame = vaultPrompt.Parent.CFrame * CFrame.new(0, 0, 2)
    fireproximityprompt(vaultPrompt)
task.wait()
end
for _, item in ipairs(moneyFolder:GetDescendants()) do
    if item:IsA("ProximityPrompt") then
        item.HoldDuration = 0
        table.insert(allMoney, item)
    end
end
local targets = {}
local count = #allMoney > 10 and 10 or #allMoney
for i = 1, count do
    local randomIndex = math.random(1, #allMoney)
    table.insert(targets, table.remove(allMoney, randomIndex))
end

for _, cashPrompt in ipairs(targets) do
    local grabStartTime = tick()
    while tick() - grabStartTime < 1 do
        hrp.CFrame = cashPrompt.Parent.CFrame
        fireproximityprompt(cashPrompt)
        task.wait()
    end
    task.wait(0.1)
end
wait(2)
local startTime = tick()
while tick() - startTime < 0.6 do
    hrp.CFrame = npc.CFrame
    fireproximityprompt(prompt)
    task.wait()
end
wait(2)
local dialogue = pGui:WaitForChild("Dialogue", 10)
local secondChoice = dialogue.InteractFrame:WaitForChild("SecondChoice", 5)
task.wait(1)
if firstChoice then
    local button = firstChoice:IsA("GuiButton") and secondChoice or secondChoice:FindFirstChildWhichIsA("GuiButton")
    if button then
        local pos = button.AbsolutePosition
        local size = button.AbsoluteSize
        local centerX = pos.X + (size.X / 2)
        local centerY = pos.Y + (size.Y / 2) + 58
        vim:SendMouseMoveEvent(centerX, centerY, game)
        task.wait(0.1)
        vim:SendMouseButtonEvent(centerX, centerY, 0, true, game, 1)
        task.wait(0.1)
        vim:SendMouseButtonEvent(centerX, centerY, 0, false, game, 1)
    end
end

Features & Information

() OPENSOURCED Bank check so you dont waste your money on an already cooldowned bank! Automatically robs the bank for you, no input needed really.

Community Comments (0)

No comments yet for this script.

More Scripts for Drill City: Chicago🩸