local Players = game:GetService("Players") local ReplicatedStorage = game:GetService("ReplicatedStorage") local player = Players.LocalPlayer local requestSellAll = ReplicatedStorage:WaitForChild("remotes") :WaitForChild("client") :WaitForChild("ui") :WaitForChild("dialogues") :WaitForChild("request_sell_all") local char = player.Character or player.CharacterAdded:Wait() local hrp = char:WaitForChild("HumanoidRootPart") local getDataRemote = ReplicatedStorage:WaitForChild("remotes"):WaitForChild("server"):WaitForChild("data"):WaitForChild("get_data") local stealing = false local stealCoroutine local baitsFolder = workspace:WaitForChild("__important"):WaitForChild("server"):WaitForChild("baits") -- Store original HoldDuration values local originalHoldDurations = {} local instantStealEnabled = true -- Noclip function local function setNoclip(active) for _, part in ipairs(char:GetChildren()) do if part:IsA("BasePart") then part.CanCollide = not active end end end -- Toggle HoldDuration for prompts local function setInstantSteal(enabled) for _, prompt in ipairs(workspace:GetDescendants()) do if prompt:IsA("ProximityPrompt") and prompt.Name == "steal_prompt" then if enabled then if originalHoldDurations[prompt] == nil then originalHoldDurations[prompt] = prompt.HoldDuration end prompt.HoldDuration = 0 else if originalHoldDurations[prompt] then prompt.HoldDuration = originalHoldDurations[prompt] originalHoldDurations[prompt] = nil end end end end end workspace.DescendantAdded:Connect(function(descendant) if descendant:IsA("ProximityPrompt") and descendant.Name == "steal_prompt" and instantStealEnabled then if originalHoldDurations[descendant] == nil then originalHoldDurations[descendant] = descendant.HoldDuration end descendant.HoldDuration = 0 end end) local function stealLoop() while stealing do setNoclip(true) for _, bait in ipairs(baitsFolder:GetChildren()) do if not stealing then break end local prompt = bait:FindFirstChild("steal_prompt", true) if prompt and prompt:IsA("ProximityPrompt") then prompt.HoldDuration = 0 local pos if bait:IsA("Model") then pos = bait:GetPivot().Position elseif bait:IsA("BasePart") then pos = bait.Position else continue end hrp.CFrame = CFrame.new(pos.X, pos.Y - 3.5, pos.Z) * CFrame.Angles(-math.pi/2, 0, 0) task.wait(0.2) fireproximityprompt(prompt) task.wait(0.5) while bait.Parent and bait:FindFirstChild("steal_prompt", true) and stealing do hrp.CFrame = CFrame.new(pos.X, pos.Y - 3.5, pos.Z) * CFrame.Angles(-math.pi/2, 0, 0) task.wait(0.1) end end end task.wait(3) end setNoclip(false) end for _, obj in pairs(game:GetDescendants()) do if obj:IsA("ProximityPrompt") and obj.Name == "steal_prompt" then originalHoldDurations[obj] = obj.HoldDuration obj.HoldDuration = 0 end end -- Auto roll variables local rolling = false local rollCoroutine local function autoRollLoop() while rolling do pcall(function() local args = { [1] = 10 } ReplicatedStorage.remotes.client.ui.abilities.request_rolls:InvokeServer(unpack(args)) end) task.wait(0.01) end end -- ✅ Auto-sell loop (only runs when stealing is on) local function autoSellLoop() while stealing do pcall(function() requestSellAll:InvokeServer() end) task.wait(3) end end task.spawn(function() while true do pcall(function() getDataRemote:InvokeServer() end) task.wait(3) end end) -- UI Setup local screenGui = Instance.new("ScreenGui") screenGui.Name = "StealToggleUI" screenGui.ResetOnSpawn = false screenGui.Parent = player:WaitForChild("PlayerGui") -- Steal toggle button local stealButton = Instance.new("TextButton") stealButton.Size = UDim2.new(0, 150, 0, 50) stealButton.Position = UDim2.new(0, 20, 0, 20) stealButton.BackgroundColor3 = Color3.fromRGB(50, 50, 50) stealButton.TextColor3 = Color3.new(1,1,1) stealButton.Font = Enum.Font.SourceSansBold stealButton.TextSize = 22 stealButton.Text = "Start Stealing" stealButton.Parent = screenGui -- Instant toggle button local instantButton = Instance.new("TextButton") instantButton.Size = UDim2.new(0, 150, 0, 50) instantButton.Position = UDim2.new(0, 20, 0, 80) instantButton.BackgroundColor3 = Color3.fromRGB(50, 50, 50) instantButton.TextColor3 = Color3.new(1,1,1) instantButton.Font = Enum.Font.SourceSansBold instantButton.TextSize = 22 instantButton.Text = "Disable Instant Steal" instantButton.Parent = screenGui -- Auto roll toggle button local rollButton = Instance.new("TextButton") rollButton.Size = UDim2.new(0, 150, 0, 50) rollButton.Position = UDim2.new(0, 20, 0, 140) rollButton.BackgroundColor3 = Color3.fromRGB(50, 50, 50) rollButton.TextColor3 = Color3.new(1,1,1) rollButton.Font = Enum.Font.SourceSansBold rollButton.TextSize = 22 rollButton.Text = "Start Auto Roll" rollButton.Parent = screenGui -- Button logic stealButton.MouseButton1Click:Connect(function() stealing = not stealing if stealing then stealButton.Text = "Stop Stealing" stealCoroutine = task.spawn(stealLoop) task.spawn(autoSellLoop) -- ✅ Start auto-sell only when stealing starts else stealButton.Text = "Start Stealing" setNoclip(false) end end) instantButton.MouseButton1Click:Connect(function() instantStealEnabled = not instantStealEnabled if instantStealEnabled then instantButton.Text = "Disable Instant Steal" else instantButton.Text = "Enable Instant Steal" end setInstantSteal(instantStealEnabled) end) rollButton.MouseButton1Click:Connect(function() rolling = not rolling if rolling then rollButton.Text = "Stop Auto Roll" rollCoroutine = task.spawn(autoRollLoop) else rollButton.Text = "Start Auto Roll" end end)