
KeylessUniversal

local Players = game:GetService("Players")
local Workspace = game:GetService("Workspace")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local RunService = game:GetService("RunService")
local TweenService = game:GetService("TweenService")
local UserInputService = game:GetService("UserInputService")
local VirtualUser = game:GetService("VirtualUser")
local StatsService = game:GetService("Stats")
local SoundService = game:GetService("SoundService")
local localPlayer = Players.LocalPlayer
local character = localPlayer.Character or localPlayer.CharacterAdded:Wait()
local humanoid = character:FindFirstChildWhichIsA("Humanoid")
local humanoidRootPart = character:FindFirstChild("HumanoidRootPart")
local bag = localPlayer:WaitForChild("States"):WaitForChild("Bag")
local bagSizeLevel = localPlayer:WaitForChild("Stats"):WaitForChild("BagSizeLevel"):WaitForChild("CurrentAmount")
local robEvent = ReplicatedStorage:WaitForChild("GeneralEvents"):WaitForChild("Rob")
local targetPosition = CFrame.new(1636.62537, 104.349976, -1736.184)
local function ensureAntiDeath(char)
local ok, h = pcall(function()
local hum = char:FindFirstChildWhichIsA("Humanoid")
if not hum then return end
local cloned = hum:Clone()
cloned.Parent = char
localPlayer.Character = nil
cloned:SetStateEnabled(Enum.HumanoidStateType.Dead, false)
cloned:SetStateEnabled(Enum.HumanoidStateType.FallingDown, false)
cloned:SetStateEnabled(Enum.HumanoidStateType.Physics, false)
hum:Destroy()
localPlayer.Character = char
local cam = Workspace.CurrentCamera
cam.CameraSubject = cloned
cam.CFrame = cam.CFrame
cloned.DisplayDistanceType = Enum.HumanoidDisplayDistanceType.None
local animate = char:FindFirstChild("Animate")
if animate then
animate.Disabled = true
task.wait(0.07)
animate.Disabled = false
end
cloned.Health = cloned.MaxHealth
humanoid = cloned
humanoidRootPart = char:FindFirstChild("HumanoidRootPart")
end)
return ok
end
ensureAntiDeath(character)
localPlayer.Idled:Connect(function()
VirtualUser:CaptureController()
VirtualUser:ClickButton2(Vector2.new())
end)
if getgenv().AntiAfkExecuted and game.CoreGui:FindFirstChild("DiabloAutoFarmUI") then
getgenv().AntiAfkExecuted = false
getgenv().AutoFarmActive = false
game.CoreGui.DiabloAutoFarmUI:Destroy()
end
getgenv().AntiAfkExecuted = true
getgenv().AutoFarmActive = false
local FAST_LOOP_INTERVAL = 0.08
local function formatNumber(n)
local s = tostring(n)
while true do
local k
s, k = string.gsub(s, "^(-?%d+)(%d%d%d)", "%1,%2")
if k == 0 then break end
end
return s
end
local cashRegisters = {}
local safes = {}
local function clearTable(t)
for i = 1, #t do t[i] = nil end
end
local function updateCaches()
clearTable(cashRegisters)
clearTable(safes)
for _, child in ipairs(Workspace:GetChildren()) do
if child:IsA("Model") then
if child.Name == "CashRegister" then
table.insert(cashRegisters, child)
elseif child.Name == "Safe" then
table.insert(safes, child)
end
end
end
end
updateCaches()
Workspace.ChildAdded:Connect(function(child)
if child:IsA("Model") then
if child.Name == "CashRegister" then
table.insert(cashRegisters, child)
elseif child.Name == "Safe" then
table.insert(safes, child)
end
end
end)
Workspace.ChildRemoved:Connect(function(child)
if child:IsA("Model") then
if child.Name == "CashRegister" then
for i = #cashRegisters, 1, -1 do
if cashRegisters[i] == child then table.remove(cashRegisters, i) end
end
elseif child.Name == "Safe" then
for i = #safes, 1, -1 do
if safes[i] == child then table.remove(safes, i) end
end
end
end
end)
local function moveTo(cf)
if humanoidRootPart and cf then
humanoidRootPart.CFrame = cf
end
end
local function findNearestCashRegister()
if not humanoidRootPart then return nil end
local best, bestDist = nil, math.huge
for _, reg in ipairs(cashRegisters) do
if reg and reg.Parent and reg:IsDescendantOf(Workspace) then
local openPart = reg:FindFirstChild("Open")
if openPart then
local d = (humanoidRootPart.Position - openPart.Position).Magnitude
if d < bestDist then
bestDist = d
best = {model = reg, openPart = openPart}
end
end
end
end
return best
end
local function findNearestSafe()
if not humanoidRootPart then return nil end
local best, bestDist = nil, math.huge
for _, s in ipairs(safes) do
if s and s.Parent and s:IsDescendantOf(Workspace) and s:FindFirstChild("Amount") and s.Amount.Value > 0 then
local safePart = s:FindFirstChild("Safe")
if safePart then
local d = (humanoidRootPart.Position - safePart.Position).Magnitude
if d < bestDist then
bestDist = d
best = {model = s, safePart = safePart}
end
end
end
end
return best
end
local function attemptRegister(regData)
if not regData or not regData.model then return false end
local ok = pcall(function()
moveTo(regData.openPart.CFrame)
robEvent:FireServer("Register", {
Part = regData.model:FindFirstChild("Union"),
OpenPart = regData.openPart,
ActiveValue = regData.model:FindFirstChild("Active"),
Active = true
})
end)
return ok
end
local function attemptSafe(sData)
if not sData or not sData.model then return false end
local ok = pcall(function()
moveTo(sData.safePart.CFrame)
local openFlag = sData.model:FindFirstChild("Open")
if openFlag and openFlag.Value then
robEvent:FireServer("Safe", sData.model)
else
local openSafe = sData.model:FindFirstChild("OpenSafe")
if openSafe then
openSafe:FireServer("Completed")
end
robEvent:FireServer("Safe", sData.model)
end
end)
return ok
end
local function farmOnce()
if bag.Value >= bagSizeLevel.Value then
moveTo(targetPosition)
return false
end
local reg = findNearestCashRegister()
if reg then
if attemptRegister(reg) then return true end
end
local s = findNearestSafe()
if s then
if attemptSafe(s) then return true end
end
return false
end
local function createNotifierGUI()
local gui = Instance.new("ScreenGui")
gui.Name = "DiabloNotifier"
gui.ResetOnSpawn = false
gui.Parent = game.CoreGui
local container = Instance.new("Frame")
container.Name = "Container"
container.AnchorPoint = Vector2.new(0.5, 0)
container.Position = UDim2.new(0.5, 0, 0, 6)
container.Size = UDim2.new(0, 380, 0, 0)
container.BackgroundTransparency = 1
container.Parent = gui
return gui, container
end
local notifierGui, notifierContainer = createNotifierGUI()
local activeNotifiers = {}
local function repositionNotifiers()
for i, v in ipairs(activeNotifiers) do
if v and v.frame then
local targetY = 6 + (i - 1) * 56
TweenService:Create(v.frame, TweenInfo.new(0.25, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {Position = UDim2.new(0.5, 0, 0, targetY)}):Play()
end
end
end
local function notify(text, timeSec)
timeSec = timeSec or 3
if not notifierContainer or notifierContainer.Parent == nil then
notifierGui, notifierContainer = createNotifierGUI()
end
local frame = Instance.new("Frame")
frame.Size = UDim2.new(0, 340, 0, 50)
frame.Position = UDim2.new(0.5, 0, 0, -60)
frame.AnchorPoint = Vector2.new(0.5, 0)
frame.BackgroundTransparency = 1
frame.BackgroundColor3 = Color3.fromRGB(25, 25, 25)
frame.BorderSizePixel = 0
frame.Parent = notifierContainer
local uic = Instance.new("UICorner", frame)
uic.CornerRadius = UDim.new(0, 10)
local uistroke = Instance.new("UIStroke", frame)
uistroke.Thickness = 1
uistroke.Color = Color3.fromRGB(100, 100, 100)
uistroke.Transparency = 0.5
local txt = Instance.new("TextLabel", frame)
txt.Size = UDim2.new(1, -20, 1, 0)
txt.Position = UDim2.new(0, 10, 0, 0)
txt.BackgroundTransparency = 1
txt.Text = tostring(text)
txt.Font = Enum.Font.GothamBold
txt.TextSize = 16
txt.TextColor3 = Color3.fromRGB(255, 255, 255)
txt.TextXAlignment = Enum.TextXAlignment.Left
txt.TextTransparency = 1
local snd = Instance.new("Sound", frame)
snd.SoundId = "rbxassetid://3442983711"
snd.Volume = 1
snd.PlayOnRemove = false
snd:Play()
table.insert(activeNotifiers, {frame = frame})
repositionNotifiers()
local appearTween = TweenService:Create(frame, TweenInfo.new(0.35, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {Position = UDim2.new(0.5, 0, 0, 6 + (#activeNotifiers - 1) * 56), BackgroundTransparency = 0})
appearTween:Play()
TweenService:Create(txt, TweenInfo.new(0.35, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {TextTransparency = 0}):Play()
spawn(function()
task.wait(timeSec)
local disappearTween = TweenService:Create(frame, TweenInfo.new(0.35, Enum.EasingStyle.Quad, Enum.EasingDirection.In), {Position = UDim2.new(0.5, 0, 0, -60), BackgroundTransparency = 1})
disappearTween:Play()
TweenService:Create(txt, TweenInfo.new(0.35, Enum.EasingStyle.Quad, Enum.EasingDirection.In), {TextTransparency = 1}):Play()
disappearTween.Completed:Wait()
frame:Destroy()
for i = #activeNotifiers, 1, -1 do
if activeNotifiers[i] and activeNotifiers[i].frame == frame then
table.remove(activeNotifiers, i)
end
end
repositionNotifiers()
end)
end
local AutoFarmUI = Instance.new("ScreenGui")
AutoFarmUI.Name = "DiabloAutoFarmUI"
AutoFarmUI.Parent = game.CoreGui
AutoFarmUI.ResetOnSpawn = false
local MainFrame = Instance.new("Frame")
MainFrame.Size = UDim2.new(0, 320, 0, 160)
MainFrame.Position = UDim2.new(0.5, -160, 0.5, -80)
MainFrame.AnchorPoint = Vector2.new(0.5, 0.5)
MainFrame.BackgroundTransparency = 0
MainFrame.BackgroundColor3 = Color3.fromRGB(18, 18, 25)
MainFrame.BorderSizePixel = 0
MainFrame.Parent = AutoFarmUI
local MainCorner = Instance.new("UICorner", MainFrame)
MainCorner.CornerRadius = UDim.new(0, 14)
local Accent = Instance.new("Frame", MainFrame)
Accent.Size = UDim2.new(1, 0, 0, 40)
Accent.Position = UDim2.new(0, 0, 0, 0)
Accent.BackgroundTransparency = 0
Accent.BackgroundColor3 = Color3.fromRGB(45, 10, 90)
Accent.BorderSizePixel = 0
local g = Instance.new("UIGradient", Accent)
g.Color = ColorSequence.new{ ColorSequenceKeypoint.new(0, Color3.fromRGB(120, 25, 200)), ColorSequenceKeypoint.new(1, Color3.fromRGB(60, 10, 140)) }
g.Rotation = 45
local Title = Instance.new("TextLabel", Accent)
Title.Size = UDim2.new(0.75, 0, 1, 0)
Title.Position = UDim2.new(0.02, 0, 0, 0)
Title.BackgroundTransparency = 1
Title.Text = "Diablo Hub W.B"
Title.TextColor3 = Color3.fromRGB(255, 255, 255)
Title.Font = Enum.Font.GothamBlack
Title.TextSize = 14
Title.TextXAlignment = Enum.TextXAlignment.Left
local credit = Instance.new("TextLabel", Accent)
credit.Size = UDim2.new(0.23, -10, 1, 0)
credit.Position = UDim2.new(0.75, 0, 0, 0)
credit.BackgroundTransparency = 1
credit.Text = "Made by Diablo"
credit.TextColor3 = Color3.fromRGB(200, 200, 200)
credit.Font = Enum.Font.Gotham
credit.TextSize = 12
credit.TextXAlignment = Enum.TextXAlignment.Right
local content = Instance.new("Frame", MainFrame)
content.Size = UDim2.new(1, -16, 1, -56)
content.Position = UDim2.new(0, 8, 0, 48)
content.BackgroundTransparency = 1
local contentCorner = Instance.new("UICorner", content)
contentCorner.CornerRadius = UDim.new(0, 12)
local statsList = Instance.new("Frame", content)
statsList.Size = UDim2.new(0.6, 0, 1, 0)
statsList.Position = UDim2.new(0, 0, 0, 0)
statsList.BackgroundTransparency = 1
local function makeStatLabel(txt, y)
local lbl = Instance.new("TextLabel", statsList)
lbl.Size = UDim2.new(1, 0, 0, 18)
lbl.Position = UDim2.new(0, 0, 0, y)
lbl.BackgroundTransparency = 1
lbl.TextXAlignment = Enum.TextXAlignment.Left
lbl.Font = Enum.Font.Gotham
lbl.TextSize = 13
lbl.TextColor3 = Color3.fromRGB(230, 230, 230)
lbl.Text = txt
return lbl
end
local PingLabel = makeStatLabel("Ping: Calculating...", 0)
local CashLabel = makeStatLabel("Earnings: $0", 22)
local FPSLabel = makeStatLabel("FPS: Calculating...", 44)
local TimerLabel = makeStatLabel("Time: 00:00:00", 66)
local StatusLabel = makeStatLabel("Status: Stopped", 88)
local controls = Instance.new("Frame", content)
controls.Size = UDim2.new(0.4, 0, 1, 0)
controls.Position = UDim2.new(0.6, 0, 0, 0)
controls.BackgroundTransparency = 1
local StartBtn = Instance.new("TextButton", controls)
StartBtn.Size = UDim2.new(1, -10, 0, 36)
StartBtn.Position = UDim2.new(0, 5, 0, 0)
StartBtn.Text = "START"
StartBtn.Font = Enum.Font.GothamBlack
StartBtn.TextSize = 14
StartBtn.TextColor3 = Color3.fromRGB(20, 20, 20)
StartBtn.BackgroundColor3 = Color3.fromRGB(120, 25, 200)
StartBtn.AutoButtonColor = true
StartBtn.BorderSizePixel = 0
local StartCorner = Instance.new("UICorner", StartBtn)
StartCorner.CornerRadius = UDim.new(0, 8)
local StopBtn = Instance.new("TextButton", controls)
StopBtn.Size = UDim2.new(1, -10, 0, 28)
StopBtn.Position = UDim2.new(0, 5, 0, 44)
StopBtn.Text = "STOP"
StopBtn.Font = Enum.Font.GothamBold
StopBtn.TextSize = 13
StopBtn.TextColor3 = Color3.fromRGB(230, 230, 230)
StopBtn.BackgroundColor3 = Color3.fromRGB(50, 50, 60)
StopBtn.AutoButtonColor = true
StopBtn.BorderSizePixel = 0
local StopCorner = Instance.new("UICorner", StopBtn)
StopCorner.CornerRadius = UDim.new(0, 8)
local pulse = Instance.new("Frame", Accent)
pulse.Size = UDim2.new(0, 10, 0, 10)
pulse.Position = UDim2.new(0.98, -20, 0.5, -5)
pulse.AnchorPoint = Vector2.new(1, 0.5)
pulse.BackgroundColor3 = Color3.fromRGB(255, 170, 0)
pulse.BorderSizePixel = 0
local pulseCorner = Instance.new("UICorner", pulse)
pulseCorner.CornerRadius = UDim.new(0, 10)
spawn(function()
while AutoFarmUI.Parent and AutoFarmUI.Parent ~= nil do
TweenService:Create(pulse, TweenInfo.new(0.9, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut, -1, true), {BackgroundTransparency = 0.3, Size = UDim2.new(0, 14, 0, 14)}):Play()
task.wait(1.8)
end
end)
do
local dragging, dragStart, startPos
local currentTween
MainFrame.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 then
dragging = true
dragStart = input.Position
startPos = MainFrame.Position
input.Changed:Connect(function()
if input.UserInputState == Enum.UserInputState.End then
dragging = false
end
end)
end
end)
MainFrame.InputChanged:Connect(function(input)
if dragging and input.UserInputType == Enum.UserInputType.MouseMovement then
local delta = input.Position - dragStart
local target = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y)
if currentTween then currentTween:Cancel() end
currentTween = TweenService:Create(MainFrame, TweenInfo.new(0.05, Enum.EasingStyle.Sine, Enum.EasingDirection.Out), {Position = target})
currentTween:Play()
end
end)
end
spawn(function()
while true do
local dt = RunService.RenderStepped:Wait()
FPSLabel.Text = "FPS: " .. tostring(math.floor(1 / dt))
end
end)
spawn(function()
while true do
task.wait(0.8)
local perfStats = StatsService:FindFirstChild("PerformanceStats")
if perfStats and perfStats:FindFirstChild("Ping") then
PingLabel.Text = "Ping: " .. tostring(math.floor(perfStats.Ping:GetValue())) .. "ms"
end
end
end)
local leaderstats = localPlayer:WaitForChild("leaderstats")
local cashStat = leaderstats:WaitForChild("$$")
local initialCash = cashStat.Value
local seconds, minutes, hours = 0, 0, 0
spawn(function()
while true do
task.wait(0.9)
local earned = cashStat.Value - initialCash
CashLabel.Text = "Earnings: $" .. formatNumber(earned)
end
end)
spawn(function()
while true do
task.wait(1)
seconds = seconds + 1
if seconds >= 60 then seconds = 0 minutes = minutes + 1 end
if minutes >= 60 then minutes = 0 hours = hours + 1 end
TimerLabel.Text = string.format("Time: %02d:%02d:%02d", hours, minutes, seconds)
end
end)
local farmThread
local function startFarming()
if getgenv().AutoFarmActive then return end
getgenv().AutoFarmActive = true
StatusLabel.Text = "Status: Running"
notify("AutoFarm started — Diablo & Westbound", 2.5)
farmThread = coroutine.create(function()
while getgenv().AutoFarmActive do
local ok = pcall(function()
farmOnce()
end)
task.wait(FAST_LOOP_INTERVAL)
end
end)
coroutine.resume(farmThread)
end
local function resetProgress()
initialCash = cashStat.Value
seconds, minutes, hours = 0, 0, 0
CashLabel.Text = "Earnings: $0"
TimerLabel.Text = "Time: 00:00:00"
end
local function stopFarming()
if not getgenv().AutoFarmActive then
resetProgress()
return
end
getgenv().AutoFarmActive = false
StatusLabel.Text = "Status: Stopped"
notify("AutoFarm stopped", 1.8)
resetProgress()
end
StartBtn.MouseButton1Click:Connect(function()
startFarming()
end)
StopBtn.MouseButton1Click:Connect(function()
stopFarming()
end)
UserInputService.InputBegan:Connect(function(inp, gp)
if gp then return end
if inp.KeyCode == Enum.KeyCode.RightShift then
AutoFarmUI:Destroy()
notifierGui:Destroy()
getgenv().AutoFarmActive = false
resetProgress()
end
end)
AutoFarmUI.AncestryChanged:Connect(function(_, parent)
if not parent then
getgenv().AutoFarmActive = false
resetProgress()
end
end)
localPlayer.CharacterAdded:Connect(function(char)
character = char
task.wait(0.2)
humanoidRootPart = character:WaitForChild("HumanoidRootPart")
ensureAntiDeath(character)
end)



works very well verified
@AdvertiserBlox can i do it for robux not money?
How do you download it?
can u update it bro will be very greatful
can u update it bro will be very greatful