
KeylessUniversal

local Players = game:GetService("Players")
local Workspace = game:GetService("Workspace")
local UIS = game:GetService("UserInputService")
local RunService = game:GetService("RunService")
local CoreGui = game:GetService("CoreGui")
local LP = Players.LocalPlayer
local Cam = Workspace.CurrentCamera
local Mouse = LP:GetMouse()
local ESP_ENABLED = false
local AIMBOT_ACTIVE = false
local JITTER_ENABLED = false
local FOV_ENABLED = false
local GUI_HIDDEN = false
local AIM_SPEED = 0.18
local FOV_RADIUS = 150
local ESP_Objects = {}
local CurrentTarget = nil
local screenGui = Instance.new("ScreenGui", CoreGui)
screenGui.ResetOnSpawn = false
local BUTTON_X = 1
local BUTTON_OFFSET_X = -180
local function CreateButton(text, yOffset)
local btn = Instance.new("TextButton")
btn.Size = UDim2.new(0,170,0,32)
btn.Position = UDim2.new(BUTTON_X, BUTTON_OFFSET_X,0, yOffset)
btn.BackgroundColor3 = Color3.fromRGB(20,20,20)
btn.BorderSizePixel = 0
btn.Text = text
btn.TextColor3 = Color3.fromRGB(255,255,255)
btn.Font = Enum.Font.GothamBold
btn.TextSize = 16
btn.Parent = screenGui
Instance.new("UICorner", btn).CornerRadius = UDim.new(0,6)
return btn
end
local function CreateSlider(yOffset, text, min,max,default)
local label = Instance.new("TextLabel")
label.Size = UDim2.new(0,170,0,20)
label.Position = UDim2.new(BUTTON_X, BUTTON_OFFSET_X,0, yOffset)
label.BackgroundTransparency = 1
label.Text = text
label.TextColor3 = Color3.fromRGB(255,255,255)
label.Font = Enum.Font.GothamBold
label.TextSize = 14
label.Parent = screenGui
local frame = Instance.new("Frame")
frame.Size = UDim2.new(0,170,0,32)
frame.Position = UDim2.new(BUTTON_X, BUTTON_OFFSET_X,0, yOffset + 20 + 2)
frame.BackgroundColor3 = Color3.fromRGB(20,20,20)
frame.BorderSizePixel = 0
frame.Parent = screenGui
Instance.new("UICorner", frame).CornerRadius = UDim.new(0,6)
local sliderBar = Instance.new("Frame", frame)
sliderBar.Size = UDim2.new(1,-20,0,6)
sliderBar.Position = UDim2.new(0,10,0,13)
sliderBar.BackgroundColor3 = Color3.fromRGB(100,100,100)
Instance.new("UICorner", sliderBar).CornerRadius = UDim.new(0,3)
local slider = Instance.new("Frame", sliderBar)
slider.Size = UDim2.new((default-min)/(max-min),0,1,0)
slider.BackgroundColor3 = Color3.fromRGB(255,255,255)
Instance.new("UICorner", slider).CornerRadius = UDim.new(0,3)
local dragging = false
sliderBar.InputBegan:Connect(function(input)
if input.UserInputType==Enum.UserInputType.MouseButton1 then dragging=true end
end)
UIS.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 pos = math.clamp(input.Position.X - sliderBar.AbsolutePosition.X,0,sliderBar.AbsoluteSize.X)
slider.Size = UDim2.new(pos/sliderBar.AbsoluteSize.X,0,1,0)
end
end)
return {Frame=frame,Slider=slider,Label=label,Min=min,Max=max,Value=default}
end
local espBtn = CreateButton("ESP: OFF", 10)
local aimbotBtn = CreateButton("AIMBOT: OFF", 50)
local jitterBtn = CreateButton("JITTER: OFF", 90)
local fovBtn = CreateButton("FOV: OFF", 130)
local speedSlider = CreateSlider(180,"Aim Speed",0.1,1.0,AIM_SPEED)
local fovSlider = CreateSlider(240,"FOV Radius",30,300,FOV_RADIUS)
local hasTeams = false
local function checkTeams()
hasTeams = false
for _, plr in ipairs(Players:GetPlayers()) do
if plr.Team then hasTeams = true break end
end
end
checkTeams()
Players.PlayerAdded:Connect(checkTeams)
Players.PlayerRemoving:Connect(checkTeams)
local function ClearESP()
for _, h in ipairs(ESP_Objects) do h:Destroy() end
ESP_Objects = {}
end
local function CreateESP(plr,highlightColor)
if plr==LP or not plr.Character then return end
local h = Instance.new("Highlight")
h.Adornee = plr.Character
h.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop
h.FillTransparency = highlightColor and 0.5 or 1
h.OutlineTransparency = 0
if hasTeams then
h.FillColor = plr.TeamColor.Color
h.OutlineColor = plr.TeamColor.Color:lerp(Color3.new(1,1,1),0.5)
else
h.FillColor = Color3.fromRGB(150,150,150)
h.OutlineColor = Color3.fromRGB(255,255,255)
end
if highlightColor then
h.FillColor = Color3.fromRGB(255,0,0)
h.OutlineColor = Color3.fromRGB(255,0,0)
end
h.Parent = CoreGui
table.insert(ESP_Objects,h)
end
local function UpdateESP(highlightTarget)
ClearESP()
if ESP_ENABLED then
for _, p in ipairs(Players:GetPlayers()) do
CreateESP(p, p==highlightTarget)
end
end
end
local function GetClosestPlayer()
local nearest = nil
local shortest = math.huge
for _, plr in ipairs(Players:GetPlayers()) do
if plr~=LP and plr.Character and plr.Character:FindFirstChild("Head") then
local part = plr.Character.Head
local screen, onScreen = Cam:WorldToViewportPoint(part.Position)
if onScreen then
local dist = (Vector2.new(Mouse.X,Mouse.Y)-Vector2.new(screen.X,screen.Y)).Magnitude
if dist<shortest and dist<=FOV_RADIUS then
shortest=dist
nearest=plr
end
end
end
end
return nearest
end
aimbotBtn.MouseButton1Click:Connect(function() end)
espBtn.MouseButton1Click:Connect(function()
ESP_ENABLED = not ESP_ENABLED
espBtn.Text = "ESP: "..(ESP_ENABLED and "ON" or "OFF")
UpdateESP()
end)
jitterBtn.MouseButton1Click:Connect(function()
JITTER_ENABLED = not JITTER_ENABLED
jitterBtn.Text = "JITTER: "..(JITTER_ENABLED and "ON" or "OFF")
end)
fovBtn.MouseButton1Click:Connect(function()
FOV_ENABLED = not FOV_ENABLED
fovBtn.Text = "FOV: "..(FOV_ENABLED and "ON" or "OFF")
end)
UIS.InputBegan:Connect(function(input, gp)
if gp then return end
if input.KeyCode==Enum.KeyCode.E then
AIMBOT_ACTIVE = true
elseif input.KeyCode == Enum.KeyCode.RightShift then
GUI_HIDDEN = not GUI_HIDDEN
screenGui.Enabled = not GUI_HIDDEN
end
end)
UIS.InputEnded:Connect(function(input)
if input.KeyCode==Enum.KeyCode.E then
AIMBOT_ACTIVE = false
UpdateESP()
end
end)
local fovCircle = Drawing.new("Circle")
fovCircle.Color = Color3.fromRGB(255,255,255)
fovCircle.Thickness = 2
fovCircle.NumSides = 100
fovCircle.Radius = FOV_RADIUS
fovCircle.Visible = false
RunService.RenderStepped:Connect(function(dt)
local speedRatio = speedSlider.Slider.AbsoluteSize.X/ speedSlider.Frame.AbsoluteSize.X
AIM_SPEED = speedSlider.Min + speedRatio * (speedSlider.Max - speedSlider.Min)
local fovRatio = fovSlider.Slider.AbsoluteSize.X/ fovSlider.Frame.AbsoluteSize.X
FOV_RADIUS = fovSlider.Min + fovRatio * (fovSlider.Max - fovSlider.Min)
fovCircle.Visible = FOV_ENABLED
fovCircle.Position = Vector2.new(Mouse.X,Mouse.Y)
fovCircle.Radius = FOV_RADIUS
local targetPlr = AIMBOT_ACTIVE and GetClosestPlayer()
UpdateESP(targetPlr)
if targetPlr and targetPlr.Character and targetPlr.Character:FindFirstChild("Head") then
Cam.CFrame = Cam.CFrame:Lerp(CFrame.new(Cam.CFrame.Position, targetPlr.Character.Head.Position), AIM_SPEED)
if JITTER_ENABLED then
local a1 = math.rad(math.random(-3,3))
local a2 = math.rad(math.random(-3,3))
Cam.CFrame = Cam.CFrame * CFrame.Angles(a1,a2,0)
end
end
end)No comments yet for this script.



