
KeylessUniversal

-- 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)



can we stop using ai
@xataxell sylau