local players = game:GetService("Players") local workspace = game:GetService("Workspace") local virtualInputManager = game:GetService("VirtualInputManager") local userInputService = game:GetService("UserInputService") local localPlayer = players.LocalPlayer local runtimeCache = workspace:WaitForChild("RuntimeCache") local cacheClient = runtimeCache:WaitForChild("RuntimeCacheClient") local chestFolder = cacheClient:WaitForChild("Chest") local isEnabled = false userInputService.InputBegan:Connect(function(input, gameProcessed) if not gameProcessed and input.KeyCode == Enum.KeyCode.P then isEnabled = not isEnabled end end) while true do if isEnabled then local targetChest = nil for _, chest in chestFolder:GetChildren() do if chest:IsA("Model") then local isLocked = false for _, child in chest:GetChildren() do if string.find(string.lower(child.Name), "lock") then isLocked = true break end end if not isLocked then targetChest = chest break end end end if targetChest then local character = localPlayer.Character local rootPart = character and character:FindFirstChild("HumanoidRootPart") if rootPart then rootPart.CFrame = targetChest:GetPivot() * CFrame.new(0, 4.5, 0) rootPart.AssemblyLinearVelocity = Vector3.zero rootPart.Anchored = true task.wait(0.2) local prompt = targetChest:FindFirstChildWhichIsA("ProximityPrompt", true) while isEnabled and targetChest.Parent == chestFolder and targetChest:IsDescendantOf(workspace) do if prompt then fireproximityprompt(prompt) end virtualInputManager:SendKeyEvent(true, Enum.KeyCode.E, false, game) task.wait(0.05) virtualInputManager:SendKeyEvent(false, Enum.KeyCode.E, false, game) task.wait(0.1) end if not (targetChest.Parent == chestFolder and targetChest:IsDescendantOf(workspace)) then local viewportSize = workspace.CurrentCamera.ViewportSize local clickX = viewportSize.X * 0.5 local clickY = viewportSize.Y * 0.75 virtualInputManager:SendMouseButtonEvent(clickX, clickY, 0, true, game, false) task.wait(0.05) virtualInputManager:SendMouseButtonEvent(clickX, clickY, 0, false, game, false) task.wait(0.2) end rootPart.Anchored = false else task.wait(0.1) end else task.wait(0.2) end else task.wait(0.2) end end