
KeylessUniversal

-- Services
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")
local PathfindingService = game:GetService("PathfindingService")
-- Configuration
local Settings = {
Enabled = false,
AutoLook = false,
Range = 50,
MaxRange = 50,
MinRange = 0,
MenuOpen = false,
MissChance = 12,
TargetMode = "All", -- Options: "All", "Players", "NPCs"
WhitelistedPlayers = {} -- Add UserIds here
}
local player = Players.LocalPlayer
local playerGui = player:WaitForChild("PlayerGui")
local isEquipping = false
local lastPos = Vector3.zero
local stuckTicks = 0
local path = PathfindingService:CreatePath({AgentCanJump = true, AgentRadius = 3})
-- [[ ESP HIGHLIGHT SETUP ]] --
local targetHighlight = Instance.new("Highlight")
targetHighlight.Name = "SystemTargetESP"
targetHighlight.FillColor = Color3.fromRGB(255, 0, 0)
targetHighlight.OutlineColor = Color3.fromRGB(255, 255, 255)
targetHighlight.FillTransparency = 0.5
targetHighlight.OutlineTransparency = 0
-- [[ STAFF DETECTOR / PANIC FUNCTION ]] --
local function triggerPanic()
Settings.Enabled = false
targetHighlight.Parent = nil
local gui = playerGui:FindFirstChild("CoreGui")
if gui then gui:Destroy() end
end
local function checkAdmin(plr)
if plr.UserId == game.CreatorId or plr:GetRankInGroup(game.CreatorId) >= 200 then
triggerPanic()
end
end
Players.PlayerAdded:Connect(checkAdmin)
for _, plr in ipairs(Players:GetPlayers()) do checkAdmin(plr) end
-- [[ CHAT SECURITY LOGIC ]] --
local function handleChat(sender, message)
local msg = message:lower()
local user = player.Name:lower()
local display = player.DisplayName:lower()
if msg:find("hacker") then
if sender ~= player or msg:find(user) or msg:find(display) then
player:Kick("Tattle tail detected")
end
end
end
Players.PlayerChatted:Connect(function(chatType, sender, message)
handleChat(sender, message)
end)
-- GUI Initialization
if playerGui:FindFirstChild("CoreGui") then playerGui.CoreGui:Destroy() end
local screenGui = Instance.new("ScreenGui")
screenGui.Name = "CoreGui"
screenGui.ResetOnSpawn = false
screenGui.IgnoreGuiInset = true
screenGui.Parent = playerGui
-- Topbar System Pill
local topPill = Instance.new("Frame")
topPill.Name = "SystemPill"
topPill.Size = UDim2.new(0, 90, 0, 38)
topPill.Position = UDim2.new(0, 340, 0, 15)
topPill.BackgroundColor3 = Color3.fromRGB(18, 18, 18)
topPill.BackgroundTransparency = 0.1
topPill.Parent = screenGui
Instance.new("UICorner", topPill).CornerRadius = UDim.new(0, 12)
local pillButton = Instance.new("TextButton")
pillButton.Size = UDim2.new(1, 0, 1, 0)
pillButton.BackgroundTransparency = 1
pillButton.Text = "System"
pillButton.TextColor3 = Color3.new(1, 1, 1)
pillButton.Font = Enum.Font.BuilderSansBold
pillButton.TextSize = 14
pillButton.Parent = topPill
-- Panic Button
local panicPill = Instance.new("Frame")
panicPill.Size = UDim2.new(0, 38, 0, 38)
panicPill.Position = UDim2.new(0, 435, 0, 15)
panicPill.BackgroundColor3 = Color3.fromRGB(18, 18, 18)
panicPill.BackgroundTransparency = 0.1
panicPill.Parent = screenGui
Instance.new("UICorner", panicPill).CornerRadius = UDim.new(0, 12)
local panicButton = Instance.new("TextButton")
panicButton.Size = UDim2.new(1, 0, 1, 0)
panicButton.BackgroundTransparency = 1
panicButton.Text = "P"
panicButton.TextColor3 = Color3.new(1, 1, 1)
panicButton.Font = Enum.Font.BuilderSansBold
panicButton.TextSize = 14
panicButton.Parent = panicPill
-- Target HUD
local targetHud = Instance.new("TextLabel")
targetHud.Size = UDim2.new(0, 150, 0, 25)
targetHud.Position = UDim2.new(0, 310, 0, 175)
targetHud.BackgroundColor3 = Color3.fromRGB(18, 18, 18)
targetHud.BackgroundTransparency = 0.1
targetHud.TextColor3 = Color3.new(1, 1, 1)
targetHud.Font = Enum.Font.BuilderSansMedium
targetHud.TextSize = 12
targetHud.Visible = false
targetHud.Parent = screenGui
Instance.new("UICorner", targetHud).CornerRadius = UDim.new(0, 8)
-- Main Menu
local mainFrame = Instance.new("Frame")
mainFrame.Visible = false
mainFrame.Size = UDim2.new(0, 190, 0, 240)
mainFrame.AnchorPoint = Vector2.new(0.5, 0)
mainFrame.Position = UDim2.new(0, 385, 0, 60)
mainFrame.BackgroundColor3 = Color3.fromRGB(18, 18, 18)
mainFrame.BackgroundTransparency = 0.1
mainFrame.Active = true
mainFrame.Draggable = true
mainFrame.Parent = screenGui
Instance.new("UICorner", mainFrame).CornerRadius = UDim.new(0, 12)
local function CreateSettingRow(text, pos)
local btn = Instance.new("TextButton")
btn.Size = UDim2.new(0.92, 0, 0, 38)
btn.Position = pos
btn.BackgroundColor3 = Color3.fromRGB(38, 38, 38)
btn.BackgroundTransparency = 1
btn.Text = text
btn.TextColor3 = Color3.new(1, 1, 1)
btn.Font = Enum.Font.BuilderSansMedium
btn.TextSize = 14
btn.Parent = mainFrame
Instance.new("UICorner", btn).CornerRadius = UDim.new(0, 8)
return btn
end
local toggleBtn = CreateSettingRow("Combat Logic: OFF", UDim2.new(0.04, 0, 0, 10))
local lookBtn = CreateSettingRow("Auto Face: OFF", UDim2.new(0.04, 0, 0, 55))
local modeBtn = CreateSettingRow("Targets: All", UDim2.new(0.04, 0, 0, 100))
local rangeInput = Instance.new("TextBox")
rangeInput.Size = UDim2.new(0.92, 0, 0, 38)
rangeInput.Position = UDim2.new(0.04, 0, 0, 145)
rangeInput.BackgroundColor3 = Color3.fromRGB(38, 38, 38)
rangeInput.BackgroundTransparency = 1
rangeInput.Text = "50"
rangeInput.PlaceholderText = "Range (0-50)"
rangeInput.TextColor3 = Color3.new(1, 1, 1)
rangeInput.Font = Enum.Font.BuilderSans
rangeInput.TextSize = 14
rangeInput.TextXAlignment = Enum.TextXAlignment.Center
rangeInput.ClearTextOnFocus = true
rangeInput.Parent = mainFrame
Instance.new("UICorner", rangeInput).CornerRadius = UDim.new(0, 8)
local missInput = Instance.new("TextBox")
missInput.Size = UDim2.new(0.92, 0, 0, 38)
missInput.Position = UDim2.new(0.04, 0, 0, 190)
missInput.BackgroundColor3 = Color3.fromRGB(38, 38, 38)
missInput.BackgroundTransparency = 1
missInput.Text = "12"
missInput.PlaceholderText = "Miss Chance (0-12)"
missInput.TextColor3 = Color3.new(1, 1, 1)
missInput.Font = Enum.Font.BuilderSans
missInput.TextSize = 14
missInput.TextXAlignment = Enum.TextXAlignment.Center
missInput.ClearTextOnFocus = true
missInput.Parent = mainFrame
Instance.new("UICorner", missInput).CornerRadius = UDim.new(0, 8)
--- [[ NAVIGATION LOGIC ]] ---
local function IsVisible(start, targetPart)
local params = RaycastParams.new()
params.FilterDescendantsInstances = {player.Character, targetPart.Parent}
params.FilterType = Enum.RaycastFilterType.Exclude
local result = workspace:Raycast(start, (targetPart.Position - start).Unit * 100, params)
return result == nil
end
local function GetGroundCheck(pos)
local ray = Ray.new(pos, Vector3.new(0, -20, 0))
local hit, hitPos = workspace:FindPartOnRayWithIgnoreList(ray, {player.Character})
return hit
end
local function IsForwardSafe(root, direction)
local lookDist = 7
local checkPos = root.Position + (direction.Unit * lookDist)
local ground = GetGroundCheck(checkPos)
local wallRay = Ray.new(root.Position + Vector3.new(0, 0, 0), direction.Unit * lookDist)
local wall = workspace:FindPartOnRayWithIgnoreList(wallRay, {player.Character})
local highWallRay = Ray.new(root.Position + Vector3.new(0, 4.5, 0), direction.Unit * lookDist)
local highWall = workspace:FindPartOnRayWithIgnoreList(highWallRay, {player.Character})
return (ground ~= nil), (wall ~= nil), (highWall ~= nil)
end
local function GetSmartMovePos(root, hum, targetPos)
if (root.Position - lastPos).Magnitude < 0.05 then
stuckTicks = stuckTicks + 1
else
stuckTicks = 0
end
lastPos = root.Position
if stuckTicks > 40 then
hum.Jump = true
stuckTicks = 0
return root.Position + (root.CFrame.RightVector * math.random(-6, 6)) + (root.CFrame.LookVector * -2)
end
local dirToTarget = (targetPos - root.Position).Unit
local isSafe, isBlocked, isHighBlocked = IsForwardSafe(root, dirToTarget)
local leftEdge = GetGroundCheck(root.Position + (root.CFrame.RightVector * -2) + (dirToTarget * 2.5))
local rightEdge = GetGroundCheck(root.Position + (root.CFrame.RightVector * 2) + (dirToTarget * 2.5))
if not leftEdge and rightEdge then
return root.Position + (root.CFrame.RightVector * 2.5)
elseif leftEdge and not rightEdge then
return root.Position + (root.CFrame.RightVector * -2.5)
end
if (isBlocked and not isHighBlocked) or (not isSafe) then
hum.Jump = true
end
if isBlocked and isHighBlocked then
local sideDir = (CFrame.new(Vector3.zero, dirToTarget) * CFrame.Angles(0, math.rad(90), 0)).LookVector
if IsForwardSafe(root, sideDir) then return root.Position + (sideDir * 12) end
end
return targetPos
end
--- [[ INTERFACE LOGIC ]] ---
pillButton.MouseButton1Click:Connect(function()
Settings.MenuOpen = not Settings.MenuOpen
mainFrame.Visible = Settings.MenuOpen
end)
panicButton.MouseButton1Click:Connect(triggerPanic)
toggleBtn.MouseButton1Click:Connect(function()
Settings.Enabled = not Settings.Enabled
toggleBtn.Text = Settings.Enabled and "Combat Logic: ON" or "Combat Logic: OFF"
end)
lookBtn.MouseButton1Click:Connect(function()
Settings.AutoLook = not Settings.AutoLook
lookBtn.Text = Settings.AutoLook and "Auto Face: ON" or "Auto Face: OFF"
end)
modeBtn.MouseButton1Click:Connect(function()
if Settings.TargetMode == "All" then
Settings.TargetMode = "Players"
elseif Settings.TargetMode == "Players" then
Settings.TargetMode = "NPCs"
else
Settings.TargetMode = "All"
end
modeBtn.Text = "Targets: " .. Settings.TargetMode
end)
-- Keybind Listener
UserInputService.InputBegan:Connect(function(input, gpe)
if gpe then return end
if input.KeyCode == Enum.KeyCode.RightControl then
Settings.MenuOpen = not Settings.MenuOpen
mainFrame.Visible = Settings.MenuOpen
elseif input.KeyCode == Enum.KeyCode.P then
triggerPanic()
elseif input.KeyCode == Enum.KeyCode.T then
Settings.Enabled = not Settings.Enabled
toggleBtn.Text = Settings.Enabled and "Combat Logic: ON" or "Combat Logic: OFF"
end
end)
-- Auto-Reconnect on Respawn
player.CharacterAdded:Connect(function()
isEquipping = false
stuckTicks = 0
end)
-- Real-time validation for Range (Hard Cap 50)
rangeInput:GetPropertyChangedSignal("Text"):Connect(function()
local clean = rangeInput.Text:gsub("%D+", "")
local num = tonumber(clean)
if num and num > 50 then
rangeInput.Text = "50"
else
rangeInput.Text = clean
end
end)
rangeInput.FocusLost:Connect(function()
local val = tonumber(rangeInput.Text)
Settings.Range = math.clamp(val or 50, 0, 50)
rangeInput.Text = tostring(Settings.Range)
end)
-- Real-time validation for Miss Chance (Hard Cap 12)
missInput:GetPropertyChangedSignal("Text"):Connect(function()
local clean = missInput.Text:gsub("%D+", "")
local num = tonumber(clean)
if num and num > 12 then
missInput.Text = "12"
else
missInput.Text = clean
end
end)
missInput.FocusLost:Connect(function()
local val = tonumber(missInput.Text)
Settings.MissChance = math.clamp(val or 12, 0, 12)
missInput.Text = tostring(Settings.MissChance)
end)
--- [[ MAIN LOOP ]] ---
RunService.Heartbeat:Connect(function()
if not Settings.Enabled or not screenGui.Parent then
targetHud.Visible = false
targetHighlight.Parent = nil
return
end
local char = player.Character
local hum = char and char:FindFirstChildOfClass("Humanoid")
local root = char and char:FindFirstChild("HumanoidRootPart")
if not char or not hum or not root or hum.Health <= 0 then
targetHighlight.Parent = nil
return
end
local tool = char:FindFirstChildOfClass("Tool")
if not tool and not isEquipping and player:FindFirstChild("Backpack") then
local bpTool = player.Backpack:FindFirstChildOfClass("Tool")
if bpTool then
isEquipping = true
hum:MoveTo(root.Position)
task.delay(math.random(3, 8) / 10, function()
if Settings.Enabled and bpTool.Parent == player.Backpack then bpTool.Parent = char end
isEquipping = false
end)
end
end
if isEquipping then return end
local closestTarget, shortestDist = nil, Settings.Range
local roamingTarget, roamingDist = nil, 400
local scanList = Settings.TargetMode == "Players" and Players:GetPlayers() or workspace:GetDescendants()
for _, obj in ipairs(scanList) do
local charObj = obj:IsA("Player") and obj.Character or (obj:IsA("Humanoid") and obj.Parent or nil)
if charObj and charObj ~= char then
local tHum = charObj:FindFirstChildOfClass("Humanoid")
local tRoot = charObj:FindFirstChild("HumanoidRootPart")
if tHum and tHum.Health > 0 and tRoot then
local isPlayer = Players:GetPlayerFromCharacter(charObj) ~= nil
local isWhitelisted = isPlayer and table.find(Settings.WhitelistedPlayers, Players:GetPlayerFromCharacter(charObj).UserId)
local allowed = false
if not isWhitelisted then
if Settings.TargetMode == "All" then allowed = true
elseif Settings.TargetMode == "Players" and isPlayer then allowed = true
elseif Settings.TargetMode == "NPCs" and not isPlayer then allowed = true end
end
if allowed then
local dist = (root.Position - tRoot.Position).Magnitude
if dist <= shortestDist and IsVisible(root.Position, tRoot) then
closestTarget = charObj
shortestDist = dist
end
if dist < roamingDist then
roamingTarget = tRoot
roamingDist = dist
end
end
end
end
end
if closestTarget and tool then
local tRoot = closestTarget:FindFirstChild("HumanoidRootPart")
local tHum = closestTarget:FindFirstChildOfClass("Humanoid")
targetHud.Visible = true
targetHud.Text = closestTarget.Name .. " [" .. math.floor(shortestDist) .. "m]"
-- ESP Logic
targetHighlight.Parent = closestTarget
if Settings.AutoLook then
hum.AutoRotate = false
local predictedPos = tRoot.Position + (tRoot.Velocity * 0.18)
local targetLook = CFrame.new(root.Position, Vector3.new(predictedPos.X, root.Position.Y, predictedPos.Z))
root.CFrame = root.CFrame:Lerp(targetLook, 0.2)
local movePos = tRoot.Position
-- Coward Mode Logic (Health check)
if hum.Health < 25 or tHum.MaxHealth >= 1000 then
movePos = root.Position + (root.Position - tRoot.Position).Unit * 15
end
hum:MoveTo(GetSmartMovePos(root, hum, movePos))
if tRoot.Position.Y > root.Position.Y + 3.5 then hum.Jump = true end
end
if math.random(1, 100) > Settings.MissChance then
task.spawn(function()
tool:Activate()
if tool:FindFirstChild("Handle") then
firetouchinterest(tool.Handle, tRoot, 0)
firetouchinterest(tool.Handle, tRoot, 1)
end
local event = tool:FindFirstChild("RemoteEvent") or tool:FindFirstChild("Shoot") or tool:FindFirstChild("Fire")
if event and event:IsA("RemoteEvent") then event:FireServer(tRoot.Position) end
end)
end
else
hum.AutoRotate = true
targetHud.Visible = false
targetHighlight.Parent = nil
if roamingTarget and Settings.AutoLook then
local success, err = pcall(function()
path:ComputeAsync(root.Position, roamingTarget.Position)
end)
if success and path.Status == Enum.PathStatus.Success then
local waypoints = path:GetWaypoints()
if waypoints[2] then
hum:MoveTo(waypoints[2].Position)
if waypoints[2].Action == Enum.PathWaypointAction.Jump then hum.Jump = true end
end
else
hum:MoveTo(GetSmartMovePos(root, hum, roamingTarget.Position))
end
else
hum:MoveTo(root.Position)
end
end
end)



this doesnt do SHlT
@ALTERRATIC yes it does bruh
@OriginalStarlight lying, tsk tsk