
Keyless

--[[
Made by Null | @guardi.an
]]--
local Players = game:GetService("Players")
local TweenService = game:GetService("TweenService")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")
local plr = Players.LocalPlayer
local char = plr.Character or plr.CharacterAdded:Wait()
local root = char:WaitForChild("HumanoidRootPart")
local hum = char:WaitForChild("Humanoid")
local spawns = {}
local spawnFolder = workspace.Arena.Spawns
for i = 1, 8 do
local spawn = spawnFolder:FindFirstChild(tostring(i))
if spawn then
local top = spawn:FindFirstChild("Top")
if top and top:IsA("BasePart") then
table.insert(spawns, top)
end
end
end
local targets = {}
for _, part in ipairs(workspace.Middle.CollideableTop:GetChildren()) do
if part:IsA("BasePart") and part.Name == "Collideable" then
table.insert(targets, part)
end
end
if #targets == 0 then
return
end
local function removeKills()
for _, obj in ipairs(workspace:GetDescendants()) do
if obj:IsA("BasePart") and (string.find(string.lower(obj.Name), "kill") or string.find(string.lower(obj.Name), "damage") or obj.Material == Enum.Material.Neon) then
obj.CFrame = CFrame.new(0, -1000, 0)
end
end
end
removeKills()
workspace.DescendantAdded:Connect(function(obj)
if obj:IsA("BasePart") and (string.find(string.lower(obj.Name), "kill") or string.find(string.lower(obj.Name), "damage") or obj.Material == Enum.Material.Neon) then
obj.CFrame = CFrame.new(0, -1000, 0)
end
end)
local enabled = true
local waitTime = 10.3
local baseSpd = 55
local spdMin = 40
local spdMax = 50
local heightOff = 3
local spawnRad = 15
local targetProx = 8
local tweenCt = 0
local anchorDist = 2.5
local freezeRad = 15
local unfreezeRad = 30
local freezeTime = 1.25
local frozen = false
local freezeConn
local tweening = false
local function getPlayersInRadius(pos, rad)
local players = {}
for _, p in ipairs(Players:GetPlayers()) do
if p ~= plr and p.Character then
local r = p.Character:FindFirstChild("HumanoidRootPart")
if r then
local dist = (r.Position - pos).Magnitude
if dist <= rad then
table.insert(players, p)
end
end
end
end
return players
end
local function freeze()
if frozen or not tweening then return end
frozen = true
root.Anchored = true
local start = tick()
freezeConn = RunService.Heartbeat:Connect(function()
local tgt = targets[1]
local nearby = getPlayersInRadius(tgt.Position, unfreezeRad)
if #nearby > 0 then
root.Anchored = false
frozen = false
if freezeConn then
freezeConn:Disconnect()
freezeConn = nil
end
elseif tick() - start >= freezeTime then
root.Anchored = false
frozen = false
if freezeConn then
freezeConn:Disconnect()
freezeConn = nil
end
end
end)
end
local proxConn
local function startProxScan()
if proxConn then return end
proxConn = task.spawn(function()
while true do
task.wait(0.1)
if frozen or not tweening then continue end
local tgt = targets[1]
local nearby = getPlayersInRadius(tgt.Position, freezeRad)
if #nearby == 0 then
freeze()
end
end
end)
end
local function getNearSpawn()
local pos = root.Position
for _, spawn in ipairs(spawns) do
if (spawn.Position - pos).Magnitude <= spawnRad then
return spawn
end
end
return nil
end
local function getClosestTarget()
local pos = root.Position
local closest = nil
local minDist = math.huge
for _, part in ipairs(targets) do
local dist = (part.Position - pos).Magnitude
if dist < minDist then
minDist = dist
closest = part
end
end
return closest
end
local function touch(part)
if part and root then
firetouchinterest(root, part, 0)
wait(0.1)
firetouchinterest(root, part, 1)
end
end
local noclipConn
local function enableNoclip()
if noclipConn then return end
noclipConn = RunService.Stepped:Connect(function()
if char then
for _, part in pairs(char:GetDescendants()) do
if part:IsA("BasePart") then
part.CanCollide = false
end
end
end
end)
end
local function disableNoclip()
if noclipConn then
noclipConn:Disconnect()
noclipConn = nil
end
if char then
for _, part in pairs(char:GetDescendants()) do
if part:IsA("BasePart") then
part.CanCollide = true
end
end
end
end
local function moveToTarget()
if not root or hum.Health <= 0 then return end
local tgt = getClosestTarget()
if not tgt then return end
tweenCt = tweenCt + 1
local spd = baseSpd
if tweenCt % 2 == 0 then
spd = math.random(spdMin * 10, spdMax * 10) / 10
end
local tgtPos = tgt.Position + Vector3.new(0, heightOff, 0)
local dist = (root.Position - tgtPos).Magnitude
if dist <= targetProx then
task.wait(math.random(1, 3) * 0.1)
touch(tgt)
return
end
local dur = dist / spd
local info = TweenInfo.new(dur, Enum.EasingStyle.Linear)
local tween = TweenService:Create(root, info, {CFrame = CFrame.new(tgtPos)})
local paused = false
local anchorConn
local pauseConn
pauseConn = RunService.Heartbeat:Connect(function()
local curDist = (root.Position - tgtPos).Magnitude
if curDist <= 10 and curDist > anchorDist and not paused then
paused = true
tween:Pause()
root.Anchored = true
local pauseStart = tick()
local pauseCheck
pauseCheck = RunService.Heartbeat:Connect(function()
local nearby = getPlayersInRadius(tgtPos, unfreezeRad)
if #nearby > 0 then
root.Anchored = false
tween:Play()
if pauseCheck then
pauseCheck:Disconnect()
end
elseif tick() - pauseStart >= 1.5 then
root.Anchored = false
tween:Play()
if pauseCheck then
pauseCheck:Disconnect()
end
end
end)
end
if curDist <= anchorDist then
root.Anchored = true
if pauseConn then
pauseConn:Disconnect()
pauseConn = nil
end
end
end)
anchorConn = RunService.Heartbeat:Connect(function()
local curDist = (root.Position - tgtPos).Magnitude
if curDist <= anchorDist then
root.Anchored = true
if anchorConn then
anchorConn:Disconnect()
anchorConn = nil
end
end
end)
enableNoclip()
tweening = true
root.Anchored = false
tween:Play()
tween.Completed:Wait()
if anchorConn then
anchorConn:Disconnect()
anchorConn = nil
end
if pauseConn then
pauseConn:Disconnect()
pauseConn = nil
end
root.Anchored = false
disableNoclip()
tweening = false
task.wait(math.random(1, 3) * 0.1)
touch(tgt)
end
local autoConn
local waiting = false
local function start()
if autoConn then return end
startProxScan()
autoConn = RunService.Heartbeat:Connect(function()
local near = getNearSpawn()
if near and not waiting then
waiting = true
task.wait(waitTime + math.random(-5, 5) * 0.1)
if waiting then
moveToTarget()
waiting = false
end
elseif not near then
waiting = false
end
end)
end
local function stop()
if autoConn then
autoConn:Disconnect()
autoConn = nil
end
waiting = false
if freezeConn then
freezeConn:Disconnect()
freezeConn = nil
end
if frozen then
root.Anchored = false
frozen = false
end
disableNoclip()
end
local gui = Instance.new("ScreenGui")
gui.Name = "AutoCompleteGui"
gui.Parent = plr:WaitForChild("PlayerGui")
gui.ResetOnSpawn = false
gui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
local frame = Instance.new("Frame")
frame.Size = UDim2.new(0, 180, 0, 100)
frame.Position = UDim2.new(0.5, -90, 0.05, 0)
frame.BackgroundColor3 = Color3.fromRGB(20, 20, 25)
frame.BorderSizePixel = 0
frame.Parent = gui
local corner = Instance.new("UICorner")
corner.CornerRadius = UDim.new(0, 10)
corner.Parent = frame
local stroke = Instance.new("UIStroke")
stroke.Thickness = 2
stroke.Color = Color3.fromRGB(0, 180, 180)
stroke.Transparency = 0
stroke.ApplyStrokeMode = Enum.ApplyStrokeMode.Border
stroke.Parent = frame
local hue = 0
RunService.Heartbeat:Connect(function()
hue = (hue + 0.005) % 1
stroke.Color = Color3.fromHSV(hue, 0.8, 1)
end)
local header = Instance.new("Frame")
header.Size = UDim2.new(1, 0, 0, 28)
header.Position = UDim2.new(0, 0, 0, 0)
header.BackgroundColor3 = Color3.fromRGB(30, 30, 35)
header.BorderSizePixel = 0
header.Parent = frame
local headerCorner = Instance.new("UICorner")
headerCorner.CornerRadius = UDim.new(0, 10)
headerCorner.Parent = header
local headerBot = Instance.new("Frame")
headerBot.Size = UDim2.new(1, 0, 0, 10)
headerBot.Position = UDim2.new(0, 0, 1, -10)
headerBot.BackgroundColor3 = Color3.fromRGB(30, 30, 35)
headerBot.BorderSizePixel = 0
headerBot.Parent = header
local title = Instance.new("TextLabel")
title.Size = UDim2.new(1, -20, 1, 0)
title.Position = UDim2.new(0, 8, 0, 0)
title.BackgroundTransparency = 1
title.Text = "AUTO COMPLETE"
title.TextColor3 = Color3.fromRGB(255, 255, 255)
title.TextSize = 13
title.Font = Enum.Font.GothamBold
title.TextXAlignment = Enum.TextXAlignment.Left
title.Parent = header
local indicator = Instance.new("Frame")
indicator.Size = UDim2.new(0, 8, 0, 8)
indicator.Position = UDim2.new(1, -15, 0.5, -4)
indicator.BackgroundColor3 = Color3.fromRGB(100, 255, 100)
indicator.BorderSizePixel = 0
indicator.Parent = header
local indCorner = Instance.new("UICorner")
indCorner.CornerRadius = UDim.new(1, 0)
indCorner.Parent = indicator
local btn = Instance.new("TextButton")
btn.Size = UDim2.new(0, 160, 0, 32)
btn.Position = UDim2.new(0.5, -80, 0, 34)
btn.BackgroundColor3 = Color3.fromRGB(100, 200, 100)
btn.BorderSizePixel = 0
btn.Text = "ENABLED"
btn.TextColor3 = Color3.fromRGB(255, 255, 255)
btn.TextSize = 14
btn.Font = Enum.Font.GothamBold
btn.AutoButtonColor = false
btn.Parent = frame
local btnCorner = Instance.new("UICorner")
btnCorner.CornerRadius = UDim.new(0, 7)
btnCorner.Parent = btn
local btnStroke = Instance.new("UIStroke")
btnStroke.Thickness = 1.5
btnStroke.Color = Color3.fromRGB(120, 220, 120)
btnStroke.Transparency = 0.5
btnStroke.ApplyStrokeMode = Enum.ApplyStrokeMode.Border
btnStroke.Parent = btn
local sig = Instance.new("TextLabel")
sig.Size = UDim2.new(1, -20, 0, 20)
sig.Position = UDim2.new(0, 10, 0, 70)
sig.BackgroundTransparency = 1
sig.Text = "Made by Null | @guardi.an"
sig.TextColor3 = Color3.fromRGB(150, 150, 150)
sig.TextSize = 10
sig.Font = Enum.Font.Gotham
sig.TextXAlignment = Enum.TextXAlignment.Center
sig.Parent = frame
btn.MouseEnter:Connect(function()
TweenService:Create(btn, TweenInfo.new(0.2), {BackgroundColor3 = enabled and Color3.fromRGB(120, 220, 120) or Color3.fromRGB(220, 80, 80)}):Play()
end)
btn.MouseLeave:Connect(function()
TweenService:Create(btn, TweenInfo.new(0.2), {BackgroundColor3 = enabled and Color3.fromRGB(100, 200, 100) or Color3.fromRGB(200, 60, 60)}):Play()
end)
local dragging = false
local dragStart
local startPos
frame.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
dragging = true
dragStart = input.Position
startPos = frame.Position
input.Changed:Connect(function()
if input.UserInputState == Enum.UserInputState.End then
dragging = false
end
end)
end
end)
UserInputService.InputChanged:Connect(function(input)
if dragging and (input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch) then
local delta = input.Position - dragStart
frame.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y)
end
end)
btn.MouseButton1Click:Connect(function()
enabled = not enabled
if enabled then
btn.Text = "ENABLED"
btn.BackgroundColor3 = Color3.fromRGB(100, 200, 100)
btnStroke.Color = Color3.fromRGB(120, 220, 120)
indicator.BackgroundColor3 = Color3.fromRGB(100, 255, 100)
start()
local origSize = btn.Size
TweenService:Create(btn, TweenInfo.new(0.1), {Size = UDim2.new(0, 155, 0, 30)}):Play()
wait(0.1)
TweenService:Create(btn, TweenInfo.new(0.1), {Size = origSize}):Play()
else
btn.Text = "DISABLED"
btn.BackgroundColor3 = Color3.fromRGB(200, 60, 60)
btnStroke.Color = Color3.fromRGB(220, 80, 80)
indicator.BackgroundColor3 = Color3.fromRGB(255, 80, 80)
stop()
local origSize = btn.Size
TweenService:Create(btn, TweenInfo.new(0.1), {Size = UDim2.new(0, 155, 0, 30)}):Play()
wait(0.1)
TweenService:Create(btn, TweenInfo.new(0.1), {Size = origSize}):Play()
end
end)
plr.CharacterAdded:Connect(function(newChar)
char = newChar
root = newChar:WaitForChild("HumanoidRootPart")
hum = newChar:WaitForChild("Humanoid")
waiting = false
frozen = false
tweening = false
if freezeConn then
freezeConn:Disconnect()
freezeConn = nil
end
disableNoclip()
removeKills()
end)
start()
doesnt work on xeno