
KeylessUniversal

local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")
local Camera = workspace.CurrentCamera
local LocalPlayer = Players.LocalPlayer
local AimEnabled = true
local AimSensitivity = 1.5
local AimLockPart = "Head"
local AimKey = Enum.UserInputType.MouseButton2
local FOV = 250
local FOVColor = Color3.fromRGB(255, 255, 255)
local ESPColor = Color3.fromRGB(255, 255, 255)
local ESPThickness = 4
local Running = false
local LockedTarget = nil
local function NewLine(thickness, color)
local line = Drawing.new("Line")
line.Visible = false
line.Thickness = thickness
line.Color = color
line.Transparency = 1
return line
end
local function NewQuad(thickness, color)
local quad = Drawing.new("Quad")
quad.Visible = false
quad.Thickness = thickness
quad.Color = color
quad.Transparency = 1
return quad
end
local function NewText(text, color)
local t = Drawing.new("Text")
t.Visible = false
t.Color = color
t.Size = 16
t.Center = true
t.Outline = true
t.Font = 2
t.Text = text
return t
end
local function NewCircle(radius, color)
local c = Drawing.new("Circle")
c.Visible = true
c.Color = color
c.Radius = radius
c.Thickness = 1.5
c.Filled = false
return c
end
local FOVCircle = NewCircle(FOV, FOVColor)
FOVCircle.Position = Vector2.new(Camera.ViewportSize.X/2, Camera.ViewportSize.Y/2)
local function DrawESP(plr)
repeat wait() until plr.Character and plr.Character:FindFirstChild("Humanoid") and plr.Character:FindFirstChild("HumanoidRootPart")
local skeleton = {
Head_Torso = NewLine(ESPThickness, ESPColor),
Torso_Legs = NewLine(ESPThickness, ESPColor),
LeftArm = NewLine(ESPThickness, ESPColor),
RightArm = NewLine(ESPThickness, ESPColor),
LeftLeg = NewLine(ESPThickness, ESPColor),
RightLeg = NewLine(ESPThickness, ESPColor)
}
local box = NewQuad(ESPThickness, ESPColor)
local nameTag = NewText(plr.Name, ESPColor)
RunService.RenderStepped:Connect(function()
local char = plr.Character
local hum = char and char:FindFirstChild("Humanoid")
local HRP = char and char:FindFirstChild("HumanoidRootPart")
if char and hum and hum.Health > 0 and HRP then
local onScreen = false
local function GetPos(part)
local pos, vis = Camera:WorldToViewportPoint(part.Position)
onScreen = onScreen or vis
return pos
end
local head = char:FindFirstChild("Head")
local torso = char:FindFirstChild("UpperTorso") or char:FindFirstChild("Torso")
local leftArm = char:FindFirstChild("LeftUpperArm") or char:FindFirstChild("Left Arm")
local rightArm = char:FindFirstChild("RightUpperArm") or char:FindFirstChild("Right Arm")
local leftLeg = char:FindFirstChild("LeftUpperLeg") or char:FindFirstChild("Left Leg")
local rightLeg = char:FindFirstChild("RightUpperLeg") or char:FindFirstChild("Right Leg")
local leftFoot = char:FindFirstChild("LeftFoot") or char:FindFirstChild("Left Leg")
local rightFoot = char:FindFirstChild("RightFoot") or char:FindFirstChild("Right Leg")
if head and torso then
skeleton.Head_Torso.From = Vector2.new(GetPos(head).X, GetPos(head).Y)
skeleton.Head_Torso.To = Vector2.new(GetPos(torso).X, GetPos(torso).Y)
end
if torso and leftLeg then
skeleton.Torso_Legs.From = Vector2.new(GetPos(torso).X, GetPos(torso).Y)
skeleton.Torso_Legs.To = Vector2.new(GetPos(leftLeg).X, GetPos(leftLeg).Y)
end
if torso and leftArm then
skeleton.LeftArm.From = Vector2.new(GetPos(torso).X, GetPos(torso).Y)
skeleton.LeftArm.To = Vector2.new(GetPos(leftArm).X, GetPos(leftArm).Y)
end
if torso and rightArm then
skeleton.RightArm.From = Vector2.new(GetPos(torso).X, GetPos(torso).Y)
skeleton.RightArm.To = Vector2.new(GetPos(rightArm).X, GetPos(rightArm).Y)
end
if torso and leftFoot then
skeleton.LeftLeg.From = Vector2.new(GetPos(torso).X, GetPos(torso).Y)
skeleton.LeftLeg.To = Vector2.new(GetPos(leftFoot).X, GetPos(leftFoot).Y)
end
if torso and rightFoot then
skeleton.RightLeg.From = Vector2.new(GetPos(torso).X, GetPos(torso).Y)
skeleton.RightLeg.To = Vector2.new(GetPos(rightFoot).X, GetPos(rightFoot).Y)
end
local minX, minY, maxX, maxY = math.huge, math.huge, -math.huge, -math.huge
for _, part in pairs(char:GetChildren()) do
if part:IsA("BasePart") then
local pos, vis = Camera:WorldToViewportPoint(part.Position)
if vis then
onScreen = true
minX = math.min(minX, pos.X)
minY = math.min(minY, pos.Y)
maxX = math.max(maxX, pos.X)
maxY = math.max(maxY, pos.Y)
end
end
end
if minX ~= math.huge and onScreen then
local centerX = (minX + maxX) / 2
local centerY = (minY + maxY) / 2
local width = (maxX - minX)
local height = (maxY - minY)
box.PointA = Vector2.new(centerX - width/2, centerY - height/2)
box.PointB = Vector2.new(centerX + width/2, centerY - height/2)
box.PointC = Vector2.new(centerX + width/2, centerY + height/2)
box.PointD = Vector2.new(centerX - width/2, centerY + height/2)
box.Visible = true
nameTag.Position = Vector2.new(centerX, centerY - height/2 - 16)
nameTag.Visible = true
for _, v in pairs(skeleton) do v.Visible = true end
else
box.Visible = false
nameTag.Visible = false
for _, v in pairs(skeleton) do v.Visible = false end
end
else
box.Visible = false
nameTag.Visible = false
for _, v in pairs(skeleton) do v.Visible = false end
end
end)
end
local function GetClosestPlayer()
if LockedTarget and LockedTarget.Character and LockedTarget.Character:FindFirstChild("Humanoid")
and LockedTarget.Character.Humanoid.Health > 0 then
return LockedTarget
end
local closest = nil
local shortestDistance = FOV
local mousePos = UserInputService:GetMouseLocation()
for _, plr in pairs(Players:GetPlayers()) do
if plr ~= LocalPlayer and plr.Character and plr.Character:FindFirstChild("Humanoid")
and plr.Character.Humanoid.Health > 0 and plr.Character:FindFirstChild(AimLockPart) then
local targetPart = plr.Character[AimLockPart]
local pos = Camera:WorldToViewportPoint(targetPart.Position)
local distance = (Vector2.new(pos.X, pos.Y) - Vector2.new(mousePos.X, mousePos.Y)).Magnitude
if distance < shortestDistance then
shortestDistance = distance
closest = plr
end
end
end
return closest
end
RunService.RenderStepped:Connect(function()
FOVCircle.Position = Vector2.new(Camera.ViewportSize.X/2, Camera.ViewportSize.Y/2)
if Running and AimEnabled then
LockedTarget = GetClosestPlayer()
if LockedTarget and LockedTarget.Character and LockedTarget.Character:FindFirstChild(AimLockPart) then
local targetPos = Camera:WorldToViewportPoint(LockedTarget.Character[AimLockPart].Position)
local mousePos = UserInputService:GetMouseLocation()
local deltaX = (targetPos.X - mousePos.X) / AimSensitivity
local deltaY = (targetPos.Y - mousePos.Y) / AimSensitivity
mousemoverel(deltaX, deltaY)
end
end
end)
UserInputService.InputBegan:Connect(function(input)
if input.UserInputType == AimKey then
Running = true
end
end)
UserInputService.InputEnded:Connect(function(input)
if input.UserInputType == AimKey then
Running = false
LockedTarget = nil
end
end)
for _, plr in pairs(Players:GetPlayers()) do
if plr ~= LocalPlayer then
DrawESP(plr)
end
end
Players.PlayerAdded:Connect(function(plr)
if plr ~= LocalPlayer then
DrawESP(plr)
end
end)
![[KEYLESS] Moondiety Script | 17+ supported Games](https://scriptblox.com/images/sb/0-1753093706828.png)


It doesnt have a GUi and aimbot activates on M2
aimbot is good but i dont want esp can you do only aimbot
@pffryu ii upgraded the script because the esp was laggy do u want that version and try it