-- Auto Interact GUI (Draggable + Anti-Lag) local player = game.Players.LocalPlayer local UIS = game:GetService("UserInputService") local autoInteract = false local menuVisible = true local MAX_DISTANCE = 15 -- studs (anti-lag & more legit) -- ScreenGui local gui = Instance.new("ScreenGui") gui.Name = "AutoInteractGui" gui.ResetOnSpawn = false gui.Parent = player:WaitForChild("PlayerGui") -- Main Frame local mainFrame = Instance.new("Frame") mainFrame.Size = UDim2.new(0, 260, 0, 150) mainFrame.Position = UDim2.new(0, 20, 0, 200) mainFrame.BackgroundColor3 = Color3.fromRGB(30, 30, 30) mainFrame.BorderSizePixel = 0 mainFrame.Parent = gui -- Title Bar local title = Instance.new("TextLabel") title.Size = UDim2.new(1, 0, 0, 35) title.BackgroundColor3 = Color3.fromRGB(45, 45, 45) title.Text = "Auto Interact Menu" title.TextColor3 = Color3.new(1,1,1) title.Font = Enum.Font.SourceSansBold title.TextSize = 18 title.Parent = mainFrame -- Toggle Button local button = Instance.new("TextButton") button.Size = UDim2.new(1, -20, 0, 45) button.Position = UDim2.new(0, 10, 0, 60) button.Text = "Auto Interact: OFF" button.BackgroundColor3 = Color3.fromRGB(200, 50, 50) button.TextColor3 = Color3.new(1,1,1) button.Font = Enum.Font.SourceSansBold button.TextSize = 16 button.Parent = mainFrame -- Toggle Logic button.MouseButton1Click:Connect(function() autoInteract = not autoInteract if autoInteract then button.Text = "Auto Interact: ON" button.BackgroundColor3 = Color3.fromRGB(50, 200, 50) else button.Text = "Auto Interact: OFF" button.BackgroundColor3 = Color3.fromRGB(200, 50, 50) end end) -- Draggable do local dragging = false local dragStart, startPos title.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = true dragStart = input.Position startPos = mainFrame.Position end end) title.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = false end end) UIS.InputChanged:Connect(function(input) if dragging and input.UserInputType == Enum.UserInputType.MouseMovement then local delta = input.Position - dragStart mainFrame.Position = UDim2.new( startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y ) end end) end -- Menu Toggle (RightShift) UIS.InputBegan:Connect(function(input, gpe) if gpe then return end if input.KeyCode == Enum.KeyCode.RightShift then menuVisible = not menuVisible mainFrame.Visible = menuVisible end end) -- Anti-Lag Auto Interact Loop task.spawn(function() while true do task.wait(0.8) -- slower = less lag if autoInteract then local character = player.Character local hrp = character and character:FindFirstChild("HumanoidRootPart") if hrp then for _, v in ipairs(workspace:GetDescendants()) do if v:IsA("ProximityPrompt") then local part = v.Parent if part and part:IsA("BasePart") then local dist = (part.Position - hrp.Position).Magnitude if dist <= MAX_DISTANCE then fireproximityprompt(v) end end end end end end end end)