
Key RequiredUniversal

local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")
local TweenService = game:GetService("TweenService")
local player = Players.LocalPlayer
local camera = workspace.CurrentCamera
local mouse = player:GetMouse()
local aiming = false
local aimbotEnabled = false
local aimPart = "Head"
local STICKINESS_THRESHOLD = 2
local lastTarget = nil
local smoothness = 0.2
local fovCircleEnabled = false
local fovRadius = 100
local teamCheck = true
local espEnabled = true
local espBoxes = {}
local espColor = Color3.new(1, 0, 0)
local espTransparency = 0.5
local espNames = {}
local nameTagsEnabled = false
local healthBarsEnabled = false
local espTeamCheck = true
local currentTab = "Aimbot"
local fovCircle = nil
local function isEnemy(otherPlayer)
if not teamCheck then
return otherPlayer ~= player
end
return player.Team ~= nil and otherPlayer.Team ~= nil and player.Team ~= otherPlayer.Team
end
local function isESPTarget(otherPlayer)
if not espTeamCheck then
return otherPlayer ~= player
end
return player.Team ~= nil and otherPlayer.Team ~= nil and player.Team ~= otherPlayer.Team
end
local function createESP(targetPlayer)
local box = Instance.new("BoxHandleAdornment")
box.Name = "ESPBox"
box.Adornee = targetPlayer.Character
box.Size = Vector3.new(4, 6, 2)
box.Color3 = espColor
box.Transparency = espTransparency
box.AlwaysOnTop = true
box.ZIndex = 10
box.Parent = targetPlayer.Character:FindFirstChild("HumanoidRootPart") or targetPlayer.Character
espBoxes[targetPlayer] = box
if nameTagsEnabled then
local billboard = Instance.new("BillboardGui")
billboard.Name = "ESPName"
billboard.Adornee = targetPlayer.Character:FindFirstChild("Head")
billboard.Size = UDim2.new(0, 100, 0, 50)
billboard.StudsOffset = Vector3.new(0, 2, 0)
billboard.AlwaysOnTop = true
billboard.Parent = targetPlayer.Character:FindFirstChild("Head")
local nameLabel = Instance.new("TextLabel")
nameLabel.Size = UDim2.new(1, 0, 1, 0)
nameLabel.BackgroundTransparency = 1
nameLabel.Text = targetPlayer.Name
nameLabel.TextColor3 = espColor
nameLabel.TextStrokeTransparency = 0
nameLabel.TextStrokeColor3 = Color3.new(0, 0, 0)
nameLabel.Font = Enum.Font.GothamBold
nameLabel.TextSize = 14
nameLabel.Parent = billboard
espNames[targetPlayer] = billboard
end
end
local function removeESP(targetPlayer)
if espBoxes[targetPlayer] then
espBoxes[targetPlayer]:Destroy()
espBoxes[targetPlayer] = nil
end
if espNames[targetPlayer] then
espNames[targetPlayer]:Destroy()
espNames[targetPlayer] = nil
end
end
RunService.RenderStepped:Connect(function()
if espEnabled then
for _, p in pairs(Players:GetPlayers()) do
if p ~= player then
if isESPTarget(p) and p.Character and p.Character:FindFirstChild("HumanoidRootPart") then
if not espBoxes[p] then
createESP(p)
end
else
removeESP(p)
end
end
end
else
for _, p in pairs(Players:GetPlayers()) do
removeESP(p)
end
end
end)
local function getClosestEnemyToMouseRay()
local closestPlayer = nil
local shortestDistance = math.huge
local mouseRay = camera:ScreenPointToRay(mouse.X, mouse.Y)
for _, otherPlayer in ipairs(Players:GetPlayers()) do
if otherPlayer ~= player and isEnemy(otherPlayer) and otherPlayer.Character and otherPlayer.Character:FindFirstChild(aimPart) then
local partPos = otherPlayer.Character[aimPart].Position
local originToTarget = partPos - mouseRay.Origin
local projected = mouseRay.Direction.Unit:Dot(originToTarget)
local closestPoint = mouseRay.Origin + mouseRay.Direction.Unit * projected
local distance = (partPos - closestPoint).Magnitude
if distance < shortestDistance then
shortestDistance = distance
closestPlayer = otherPlayer
end
end
end
if lastTarget and lastTarget.Character and lastTarget.Character:FindFirstChild(aimPart) and isEnemy(lastTarget) then
local partPos = lastTarget.Character[aimPart].Position
local originToTarget = partPos - mouseRay.Origin
local projected = mouseRay.Direction.Unit:Dot(originToTarget)
local closestPoint = mouseRay.Origin + mouseRay.Direction.Unit * projected
local lastDistance = (partPos - closestPoint).Magnitude
if lastDistance <= shortestDistance + STICKINESS_THRESHOLD then
return lastTarget
end
end
return closestPlayer
end
RunService.RenderStepped:Connect(function()
if aimbotEnabled and aiming then
local target = getClosestEnemyToMouseRay()
if target and target.Character and target.Character:FindFirstChild(aimPart) then
lastTarget = target
local targetPos = target.Character[aimPart].Position
local camPos = camera.CFrame.Position
local direction = (targetPos - camPos).Unit
camera.CFrame = camera.CFrame:Lerp(CFrame.new(camPos, camPos + direction), 1 - smoothness)
end
end
end)
local function createFOVCircle()
if fovCircle then fovCircle:Remove() end
fovCircle = Drawing.new("Circle")
fovCircle.Thickness = 2
fovCircle.NumSides = 30
fovCircle.Radius = fovRadius
fovCircle.Filled = false
fovCircle.Visible = fovCircleEnabled
fovCircle.Color = Color3.fromRGB(255, 255, 255)
fovCircle.Transparency = 0.5
end
RunService.RenderStepped:Connect(function()
if fovCircleEnabled and fovCircle then
fovCircle.Position = Vector2.new(mouse.X, mouse.Y)
fovCircle.Visible = true
elseif fovCircle then
fovCircle.Visible = false
end
end)
UserInputService.InputBegan:Connect(function(input, processed)
if input.UserInputType == Enum.UserInputType.MouseButton2 and not processed then
aiming = true
end
end)
UserInputService.InputEnded:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton2 then
aiming = false
lastTarget = nil
end
end)
local screenGui = Instance.new("ScreenGui", player:WaitForChild("PlayerGui"))
screenGui.Name = "AimbotGUI"
local frame = Instance.new("Frame")
frame.Size = UDim2.new(0, 350, 0, 380)
frame.Position = UDim2.new(0, 20, 0, 20)
frame.BackgroundColor3 = Color3.fromRGB(35, 35, 35)
frame.BorderSizePixel = 0
frame.BackgroundTransparency = 0.1
frame.Parent = screenGui
frame.Active = true
frame.Draggable = true
local uicorner = Instance.new("UICorner", frame)
uicorner.CornerRadius = UDim.new(0, 8)
local shadow = Instance.new("ImageLabel", frame)
shadow.AnchorPoint = Vector2.new(0.5, 0.5)
shadow.Position = UDim2.new(0.5, 0, 0.5, 4)
shadow.Size = UDim2.new(1, 30, 1, 30)
shadow.BackgroundTransparency = 1
shadow.Image = "rbxassetid://1316045217"
shadow.ImageColor3 = Color3.new(0, 0, 0)
shadow.ImageTransparency = 0.5
shadow.ScaleType = Enum.ScaleType.Slice
shadow.SliceCenter = Rect.new(10, 10, 118, 118)
shadow.ZIndex = 0
local title = Instance.new("TextLabel", frame)
title.Size = UDim2.new(1, 0, 0, 35)
title.Position = UDim2.new(0, 0, 0, 0)
title.BackgroundTransparency = 1
title.Text = "Universal Aimbot"
title.Font = Enum.Font.GothamSemibold
title.TextSize = 18
title.TextColor3 = Color3.fromRGB(255, 255, 255)
local tabFrame = Instance.new("Frame", frame)
tabFrame.Size = UDim2.new(1, -20, 0, 30)
tabFrame.Position = UDim2.new(0, 10, 0, 40)
tabFrame.BackgroundTransparency = 1
local function createTabButton(text, position)
local button = Instance.new("TextButton")
button.Size = UDim2.new(0.5, -5, 1, 0)
button.Position = UDim2.new(position * 0.5, position == 1 and 5 or 0, 0, 0)
button.BackgroundColor3 = Color3.fromRGB(60, 60, 60)
button.TextColor3 = Color3.fromRGB(200, 200, 200)
button.Text = text
button.Font = Enum.Font.Gotham
button.TextSize = 14
button.AutoButtonColor = false
local corner = Instance.new("UICorner", button)
corner.CornerRadius = UDim.new(0, 4)
button.Parent = tabFrame
return button
end
local aimbotTab = createTabButton("Aimbot", 0)
local espTab = createTabButton("ESP", 1)
local contentFrame = Instance.new("Frame", frame)
contentFrame.Size = UDim2.new(1, -20, 1, -140)
contentFrame.Position = UDim2.new(0, 10, 0, 80)
contentFrame.BackgroundTransparency = 1
local function switchTab(tabName)
currentTab = tabName
if tabName == "Aimbot" then
aimbotTab.BackgroundColor3 = Color3.fromRGB(80, 80, 80)
aimbotTab.TextColor3 = Color3.fromRGB(255, 255, 255)
espTab.BackgroundColor3 = Color3.fromRGB(60, 60, 60)
espTab.TextColor3 = Color3.fromRGB(200, 200, 200)
else
espTab.BackgroundColor3 = Color3.fromRGB(80, 80, 80)
espTab.TextColor3 = Color3.fromRGB(255, 255, 255)
aimbotTab.BackgroundColor3 = Color3.fromRGB(60, 60, 60)
aimbotTab.TextColor3 = Color3.fromRGB(200, 200, 200)
end
for _, child in pairs(contentFrame:GetChildren()) do
child:Destroy()
end
if tabName == "Aimbot" then
createAimbotContent()
else
createESPContent()
end
end
local function createButton(text, yPos, parent)
local button = Instance.new("TextButton")
button.Size = UDim2.new(1, 0, 0, 32)
button.Position = UDim2.new(0, 0, 0, yPos)
button.BackgroundColor3 = Color3.fromRGB(45, 45, 45)
button.TextColor3 = Color3.fromRGB(255, 255, 255)
button.Text = text
button.Font = Enum.Font.Gotham
button.TextSize = 16
button.AutoButtonColor = true
local corner = Instance.new("UICorner", button)
corner.CornerRadius = UDim.new(0, 6)
local stroke = Instance.new("UIStroke", button)
stroke.Thickness = 1
stroke.Color = Color3.fromRGB(80, 80, 80)
button.Parent = parent or contentFrame
return button
end
local function createSlider(labelText, minVal, maxVal, currentVal, yPos, callback)
local sliderFrame = Instance.new("Frame")
sliderFrame.Size = UDim2.new(1, 0, 0, 50)
sliderFrame.Position = UDim2.new(0, 0, 0, yPos)
sliderFrame.BackgroundTransparency = 1
sliderFrame.Parent = contentFrame
local label = Instance.new("TextLabel")
label.Size = UDim2.new(1, 0, 0, 20)
label.Position = UDim2.new(0, 0, 0, 0)
label.BackgroundTransparency = 1
label.Text = labelText .. ": " .. math.floor(currentVal * 100) .. "%"
label.Font = Enum.Font.Gotham
label.TextSize = 14
label.TextColor3 = Color3.fromRGB(255, 255, 255)
label.TextXAlignment = Enum.TextXAlignment.Left
label.Parent = sliderFrame
local sliderBg = Instance.new("Frame")
sliderBg.Size = UDim2.new(1, 0, 0, 20)
sliderBg.Position = UDim2.new(0, 0, 0, 25)
sliderBg.BackgroundColor3 = Color3.fromRGB(60, 60, 60)
local bgCorner = Instance.new("UICorner", sliderBg)
bgCorner.CornerRadius = UDim.new(0, 10)
sliderBg.Parent = sliderFrame
local sliderFill = Instance.new("Frame")
sliderFill.Size = UDim2.new(currentVal, 0, 1, 0)
sliderFill.Position = UDim2.new(0, 0, 0, 0)
sliderFill.BackgroundColor3 = Color3.fromRGB(0, 150, 255)
local fillCorner = Instance.new("UICorner", sliderFill)
fillCorner.CornerRadius = UDim.new(0, 10)
sliderFill.Parent = sliderBg
local sliderButton = Instance.new("TextButton")
sliderButton.Size = UDim2.new(1, 0, 1, 0)
sliderButton.Position = UDim2.new(0, 0, 0, 0)
sliderButton.BackgroundTransparency = 1
sliderButton.Text = ""
sliderButton.Parent = sliderBg
local dragging = false
sliderButton.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 then
dragging = true
end
end)
sliderButton.InputEnded:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 then
dragging = false
end
end)
UserInputService.InputChanged:Connect(function(input)
if dragging and input.UserInputType == Enum.UserInputType.MouseMovement then
local relativeX = math.clamp((mouse.X - sliderBg.AbsolutePosition.X) / sliderBg.AbsoluteSize.X, 0, 1)
local value = minVal + (maxVal - minVal) * relativeX
sliderFill.Size = UDim2.new(relativeX, 0, 1, 0)
label.Text = labelText .. ": " .. math.floor(value * 100) .. "%"
callback(value)
end
end)
return sliderFrame
end
local function createNumberSlider(labelText, minVal, maxVal, currentVal, yPos, callback)
local sliderFrame = Instance.new("Frame")
sliderFrame.Size = UDim2.new(1, 0, 0, 50)
sliderFrame.Position = UDim2.new(0, 0, 0, yPos)
sliderFrame.BackgroundTransparency = 1
sliderFrame.Parent = contentFrame
local label = Instance.new("TextLabel")
label.Size = UDim2.new(1, 0, 0, 20)
label.Position = UDim2.new(0, 0, 0, 0)
label.BackgroundTransparency = 1
label.Text = labelText .. ": " .. math.floor(currentVal)
label.Font = Enum.Font.Gotham
label.TextSize = 14
label.TextColor3 = Color3.fromRGB(255, 255, 255)
label.TextXAlignment = Enum.TextXAlignment.Left
label.Parent = sliderFrame
local sliderBg = Instance.new("Frame")
sliderBg.Size = UDim2.new(1, 0, 0, 20)
sliderBg.Position = UDim2.new(0, 0, 0, 25)
sliderBg.BackgroundColor3 = Color3.fromRGB(60, 60, 60)
local bgCorner = Instance.new("UICorner", sliderBg)
bgCorner.CornerRadius = UDim.new(0, 10)
sliderBg.Parent = sliderFrame
local sliderFill = Instance.new("Frame")
local fillPercent = (currentVal - minVal) / (maxVal - minVal)
sliderFill.Size = UDim2.new(fillPercent, 0, 1, 0)
sliderFill.Position = UDim2.new(0, 0, 0, 0)
sliderFill.BackgroundColor3 = Color3.fromRGB(0, 150, 255)
local fillCorner = Instance.new("UICorner", sliderFill)
fillCorner.CornerRadius = UDim.new(0, 10)
sliderFill.Parent = sliderBg
local sliderButton = Instance.new("TextButton")
sliderButton.Size = UDim2.new(1, 0, 1, 0)
sliderButton.Position = UDim2.new(0, 0, 0, 0)
sliderButton.BackgroundTransparency = 1
sliderButton.Text = ""
sliderButton.Parent = sliderBg
local dragging = false
sliderButton.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 then
dragging = true
end
end)
sliderButton.InputEnded:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 then
dragging = false
end
end)
UserInputService.InputChanged:Connect(function(input)
if dragging and input.UserInputType == Enum.UserInputType.MouseMovement then
local relativeX = math.clamp((mouse.X - sliderBg.AbsolutePosition.X) / sliderBg.AbsoluteSize.X, 0, 1)
local value = minVal + (maxVal - minVal) * relativeX
sliderFill.Size = UDim2.new(relativeX, 0, 1, 0)
label.Text = labelText .. ": " .. math.floor(value)
callback(value)
end
end)
return sliderFrame
end
function createAimbotContent()
local toggleBtn = createButton("Aimbot: OFF", 0)
toggleBtn.MouseButton1Click:Connect(function()
aimbotEnabled = not aimbotEnabled
toggleBtn.Text = "Aimbot: " .. (aimbotEnabled and "ON" or "OFF")
if aimbotEnabled and not fovCircle then
createFOVCircle()
end
end)
local teamBtn = createButton("Team Check: ON", 35)
teamBtn.MouseButton1Click:Connect(function()
teamCheck = not teamCheck
teamBtn.Text = "Team Check: " .. (teamCheck and "ON" or "OFF")
end)
local partDropdown = createButton("Aim Part: Head", 70)
local parts = {"Head", "HumanoidRootPart", "Torso", "UpperTorso", "LowerTorso"}
local currentIndex = 1
partDropdown.MouseButton1Click:Connect(function()
currentIndex = currentIndex + 1
if currentIndex > #parts then currentIndex = 1 end
aimPart = parts[currentIndex]
partDropdown.Text = "Aim Part: " .. aimPart
end)
createSlider("Smoothness", 0.05, 0.95, smoothness, 110, function(value)
smoothness = value
end)
createNumberSlider("FOV Radius", 50, 300, fovRadius, 170, function(value)
fovRadius = value
if fovCircle then
fovCircle.Radius = fovRadius
end
end)
local fovBtn = createButton("FOV Circle: OFF", 230)
fovBtn.MouseButton1Click:Connect(function()
fovCircleEnabled = not fovCircleEnabled
fovBtn.Text = "FOV Circle: " .. (fovCircleEnabled and "ON" or "OFF")
if not fovCircle then createFOVCircle() end
end)
end
function createESPContent()
local espToggle = createButton("ESP: ON", 0)
espToggle.MouseButton1Click:Connect(function()
espEnabled = not espEnabled
espToggle.Text = "ESP: " .. (espEnabled and "ON" or "OFF")
end)
local espTeamBtn = createButton("ESP Team Check: ON", 35)
espTeamBtn.MouseButton1Click:Connect(function()
espTeamCheck = not espTeamCheck
espTeamBtn.Text = "ESP Team Check: " .. (espTeamCheck and "ON" or "OFF")
for player, _ in pairs(espBoxes) do
removeESP(player)
end
end)
local colorBtn = createButton("Color: Red", 70)
local colors = {
{name = "Red", color = Color3.new(1, 0, 0)},
{name = "Green", color = Color3.new(0, 1, 0)},
{name = "Blue", color = Color3.new(0, 0, 1)},
{name = "Yellow", color = Color3.new(1, 1, 0)},
{name = "Purple", color = Color3.new(1, 0, 1)},
{name = "Cyan", color = Color3.new(0, 1, 1)},
{name = "White", color = Color3.new(1, 1, 1)}
}
local colorIndex = 1
colorBtn.MouseButton1Click:Connect(function()
colorIndex = colorIndex + 1
if colorIndex > #colors then colorIndex = 1 end
espColor = colors[colorIndex].color
colorBtn.Text = "Color: " .. colors[colorIndex].name
for _, box in pairs(espBoxes) do
if box then box.Color3 = espColor end
end
for _, nameGui in pairs(espNames) do
if nameGui and nameGui:FindFirstChild("TextLabel") then
nameGui.TextLabel.TextColor3 = espColor
end
end
end)
createSlider("Transparency", 0.1, 0.9, espTransparency, 110, function(value)
espTransparency = value
for _, box in pairs(espBoxes) do
if box then box.Transparency = espTransparency end
end
end)
local nameBtn = createButton("Names: OFF", 170)
nameBtn.MouseButton1Click:Connect(function()
nameTagsEnabled = not nameTagsEnabled
nameBtn.Text = "Names: " .. (nameTagsEnabled and "ON" or "OFF")
for player, _ in pairs(espBoxes) do
removeESP(player)
end
end)
end
aimbotTab.MouseButton1Click:Connect(function()
switchTab("Aimbot")
end)
espTab.MouseButton1Click:Connect(function()
switchTab("ESP")
end)
local credit = Instance.new("TextLabel", frame)
credit.Size = UDim2.new(1, 0, 0, 20)
credit.Position = UDim2.new(0, 0, 1, -20)
credit.BackgroundTransparency = 1
credit.Text = "Universal Aimbot v1.1"
credit.Font = Enum.Font.Gotham
credit.TextSize = 12
credit.TextColor3 = Color3.fromRGB(140, 140, 140)
createFOVCircle()
switchTab("Aimbot")



seems cool