
KeylessUniversal
![Aimbot and esp universal [beta]](https://scriptblox.com/images/sb/0-1769215424614.jpg)
-- Aimbot + ESP Professional - Versão Corrigida
-- Configurações
local UIS = game:GetService("UserInputService")
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local LocalPlayer = Players.LocalPlayer
local Camera = workspace.CurrentCamera
-- Variáveis de controle
local AimEnabled = false
local ESPEnabled = false
local FOV = 100
local Smoothness = 0.5
local AimPart = "Head"
local TeamCheck = true
local WallCheck = true
-- Tabela para armazenar ESPs
local ESPObjects = {}
-- Criar FOV Circle
local FOVCircle = Drawing.new("Circle")
FOVCircle.Thickness = 2
FOVCircle.NumSides = 50
FOVCircle.Radius = FOV
FOVCircle.Filled = false
FOVCircle.Color = Color3.fromRGB(255, 255, 255)
FOVCircle.Transparency = 0.5
FOVCircle.Visible = false
-- Criar interface gráfica
local ScreenGui = Instance.new("ScreenGui")
ScreenGui.Name = "AimbotESPGUI"
ScreenGui.Parent = game.CoreGui
ScreenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
ScreenGui.ResetOnSpawn = false
-- Frame principal
local MainFrame = Instance.new("Frame")
MainFrame.Size = UDim2.new(0, 320, 0, 380)
MainFrame.Position = UDim2.new(0.5, -160, 0.5, -190)
MainFrame.BackgroundColor3 = Color3.fromRGB(30, 30, 40)
MainFrame.BorderSizePixel = 0
MainFrame.Active = true
MainFrame.Draggable = true
MainFrame.Parent = ScreenGui
-- Arredondamento
local Corner = Instance.new("UICorner")
Corner.CornerRadius = UDim.new(0, 8)
Corner.Parent = MainFrame
-- Título
local Title = Instance.new("TextLabel")
Title.Size = UDim2.new(1, 0, 0, 45)
Title.Position = UDim2.new(0, 0, 0, 0)
Title.BackgroundColor3 = Color3.fromRGB(45, 45, 55)
Title.TextColor3 = Color3.fromRGB(255, 255, 255)
Title.Text = "🎯 Aimbot + ESP Professional"
Title.Font = Enum.Font.GothamBold
Title.TextSize = 18
Title.Parent = MainFrame
local TitleCorner = Instance.new("UICorner")
TitleCorner.CornerRadius = UDim.new(0, 8)
TitleCorner.Parent = Title
-- Botão de ativar Aimbot
local ToggleButton = Instance.new("TextButton")
ToggleButton.Size = UDim2.new(0.85, 0, 0, 40)
ToggleButton.Position = UDim2.new(0.075, 0, 0.14, 0)
ToggleButton.BackgroundColor3 = Color3.fromRGB(200, 50, 50)
ToggleButton.TextColor3 = Color3.fromRGB(255, 255, 255)
ToggleButton.Text = "AIMBOT: OFF"
ToggleButton.Font = Enum.Font.GothamSemibold
ToggleButton.TextSize = 16
ToggleButton.Parent = MainFrame
local ToggleCorner = Instance.new("UICorner")
ToggleCorner.CornerRadius = UDim.new(0, 6)
ToggleCorner.Parent = ToggleButton
-- Botão de ativar ESP
local ESPButton = Instance.new("TextButton")
ESPButton.Size = UDim2.new(0.85, 0, 0, 40)
ESPButton.Position = UDim2.new(0.075, 0, 0.26, 0)
ESPButton.BackgroundColor3 = Color3.fromRGB(200, 50, 50)
ESPButton.TextColor3 = Color3.fromRGB(255, 255, 255)
ESPButton.Text = "ESP: OFF"
ESPButton.Font = Enum.Font.GothamSemibold
ESPButton.TextSize = 16
ESPButton.Parent = MainFrame
local ESPCorner = Instance.new("UICorner")
ESPCorner.CornerRadius = UDim.new(0, 6)
ESPCorner.Parent = ESPButton
-- Botão TeamCheck
local TeamCheckButton = Instance.new("TextButton")
TeamCheckButton.Size = UDim2.new(0.4, 0, 0, 35)
TeamCheckButton.Position = UDim2.new(0.075, 0, 0.38, 0)
TeamCheckButton.BackgroundColor3 = Color3.fromRGB(50, 200, 50)
TeamCheckButton.TextColor3 = Color3.fromRGB(255, 255, 255)
TeamCheckButton.Text = "✓ Team Check"
TeamCheckButton.Font = Enum.Font.GothamSemibold
TeamCheckButton.TextSize = 12
TeamCheckButton.Parent = MainFrame
local TeamCorner = Instance.new("UICorner")
TeamCorner.CornerRadius = UDim.new(0, 6)
TeamCorner.Parent = TeamCheckButton
-- Botão WallCheck
local WallCheckButton = Instance.new("TextButton")
WallCheckButton.Size = UDim2.new(0.4, 0, 0, 35)
WallCheckButton.Position = UDim2.new(0.525, 0, 0.38, 0)
WallCheckButton.BackgroundColor3 = Color3.fromRGB(50, 200, 50)
WallCheckButton.TextColor3 = Color3.fromRGB(255, 255, 255)
WallCheckButton.Text = "✓ Wall Check"
WallCheckButton.Font = Enum.Font.GothamSemibold
WallCheckButton.TextSize = 12
WallCheckButton.Parent = MainFrame
local WallCorner = Instance.new("UICorner")
WallCorner.CornerRadius = UDim.new(0, 6)
WallCorner.Parent = WallCheckButton
-- Slider de FOV
local FOVSliderLabel = Instance.new("TextLabel")
FOVSliderLabel.Size = UDim2.new(1, 0, 0, 20)
FOVSliderLabel.Position = UDim2.new(0, 0, 0.52, 0)
FOVSliderLabel.BackgroundTransparency = 1
FOVSliderLabel.TextColor3 = Color3.fromRGB(200, 200, 200)
FOVSliderLabel.Text = "FOV: " .. FOV
FOVSliderLabel.Font = Enum.Font.Gotham
FOVSliderLabel.TextSize = 14
FOVSliderLabel.Parent = MainFrame
local FOVSlider = Instance.new("TextButton")
FOVSlider.Size = UDim2.new(0.85, 0, 0, 20)
FOVSlider.Position = UDim2.new(0.075, 0, 0.58, 0)
FOVSlider.BackgroundColor3 = Color3.fromRGB(60, 60, 70)
FOVSlider.Text = ""
FOVSlider.Parent = MainFrame
local FOVSliderCorner = Instance.new("UICorner")
FOVSliderCorner.CornerRadius = UDim.new(0, 10)
FOVSliderCorner.Parent = FOVSlider
local FOVSliderFill = Instance.new("Frame")
FOVSliderFill.Size = UDim2.new((FOV - 50) / 150, 0, 1, 0)
FOVSliderFill.BackgroundColor3 = Color3.fromRGB(80, 120, 200)
FOVSliderFill.BorderSizePixel = 0
FOVSliderFill.Parent = FOVSlider
local FOVFillCorner = Instance.new("UICorner")
FOVFillCorner.CornerRadius = UDim.new(0, 10)
FOVFillCorner.Parent = FOVSliderFill
-- Slider de Suavidade
local SmoothSliderLabel = Instance.new("TextLabel")
SmoothSliderLabel.Size = UDim2.new(1, 0, 0, 20)
SmoothSliderLabel.Position = UDim2.new(0, 0, 0.68, 0)
SmoothSliderLabel.BackgroundTransparency = 1
SmoothSliderLabel.TextColor3 = Color3.fromRGB(200, 200, 200)
SmoothSliderLabel.Text = "Smoothness: " .. string.format("%.1f", Smoothness)
SmoothSliderLabel.Font = Enum.Font.Gotham
SmoothSliderLabel.TextSize = 14
SmoothSliderLabel.Parent = MainFrame
local SmoothSlider = Instance.new("TextButton")
SmoothSlider.Size = UDim2.new(0.85, 0, 0, 20)
SmoothSlider.Position = UDim2.new(0.075, 0, 0.74, 0)
SmoothSlider.BackgroundColor3 = Color3.fromRGB(60, 60, 70)
SmoothSlider.Text = ""
SmoothSlider.Parent = MainFrame
local SmoothSliderCorner = Instance.new("UICorner")
SmoothSliderCorner.CornerRadius = UDim.new(0, 10)
SmoothSliderCorner.Parent = SmoothSlider
local SmoothSliderFill = Instance.new("Frame")
SmoothSliderFill.Size = UDim2.new((Smoothness - 0.1) / 0.9, 0, 1, 0)
SmoothSliderFill.BackgroundColor3 = Color3.fromRGB(80, 120, 200)
SmoothSliderFill.BorderSizePixel = 0
SmoothSliderFill.Parent = SmoothSlider
local SmoothFillCorner = Instance.new("UICorner")
SmoothFillCorner.CornerRadius = UDim.new(0, 10)
SmoothFillCorner.Parent = SmoothSliderFill
-- Label de informações
local InfoLabel = Instance.new("TextLabel")
InfoLabel.Size = UDim2.new(1, 0, 0, 50)
InfoLabel.Position = UDim2.new(0, 0, 0.84, 0)
InfoLabel.BackgroundTransparency = 1
InfoLabel.TextColor3 = Color3.fromRGB(180, 180, 180)
InfoLabel.Text = "Hotkeys:\nF6 - Toggle Aimbot | F7 - Toggle ESP"
InfoLabel.Font = Enum.Font.Gotham
InfoLabel.TextSize = 12
InfoLabel.TextYAlignment = Enum.TextYAlignment.Top
InfoLabel.Parent = MainFrame
-- Função para verificar se está na mesma equipe
local function IsOnSameTeam(Player)
if not TeamCheck then
return false
end
if LocalPlayer.Team and Player.Team then
return LocalPlayer.Team == Player.Team
end
return false
end
-- Função para verificar parede (CORRIGIDA)
local function IsWallBetween(TargetPart)
if not WallCheck then
return false
end
local Origin = Camera.CFrame.Position
local Direction = (TargetPart.Position - Origin).Unit * 500
local RaycastParams = RaycastParams.new()
RaycastParams.FilterType = Enum.RaycastFilterType.Blacklist
RaycastParams.FilterDescendantsInstances = {LocalPlayer.Character, TargetPart.Parent}
RaycastParams.IgnoreWater = true
local Result = workspace:Raycast(Origin, Direction, RaycastParams)
if Result then
local Distance = (Result.Position - Origin).Magnitude
local TargetDistance = (TargetPart.Position - Origin).Magnitude
if Distance < TargetDistance - 1 then
return true
end
end
return false
end
-- Função para encontrar o jogador mais próximo (CORRIGIDA)
local function GetClosestPlayerToCenter()
local ViewportSize = Camera.ViewportSize
local Center = Vector2.new(ViewportSize.X / 2, ViewportSize.Y / 2)
local ClosestPlayer = nil
local ShortestDistance = FOV
for _, Player in pairs(Players:GetPlayers()) do
if Player ~= LocalPlayer and Player.Character then
local Character = Player.Character
local HumanoidRootPart = Character:FindFirstChild("HumanoidRootPart")
local Humanoid = Character:FindFirstChild("Humanoid")
local Part = Character:FindFirstChild(AimPart)
if Part and HumanoidRootPart and Humanoid and Humanoid.Health > 0 then
-- Verificar equipe
if IsOnSameTeam(Player) then
continue
end
-- Verificar parede
if IsWallBetween(Part) then
continue
end
local ScreenPos, OnScreen = Camera:WorldToViewportPoint(Part.Position)
if OnScreen then
local Distance = (Vector2.new(ScreenPos.X, ScreenPos.Y) - Center).Magnitude
if Distance < ShortestDistance then
ShortestDistance = Distance
ClosestPlayer = Player
end
end
end
end
end
return ClosestPlayer
end
-- Função para mirar (CORRIGIDA)
local function AimAtPlayer(Player)
if not Player or not Player.Character then
return
end
local Part = Player.Character:FindFirstChild(AimPart)
if not Part then
return
end
local TargetPosition = Part.Position
local CameraPosition = Camera.CFrame.Position
local TargetCFrame = CFrame.new(CameraPosition, TargetPosition)
Camera.CFrame = Camera.CFrame:Lerp(TargetCFrame, Smoothness)
end
-- Função para criar ESP para um jogador
local function CreateESP(Player)
if ESPObjects[Player] then
return
end
local ESPHolder = Instance.new("Folder")
ESPHolder.Name = "ESP_" .. Player.Name
ESPHolder.Parent = game.CoreGui
local function UpdateESP()
if not Player.Character or not Player.Character:FindFirstChild("HumanoidRootPart") then
return
end
local Character = Player.Character
local HumanoidRootPart = Character.HumanoidRootPart
local Humanoid = Character:FindFirstChild("Humanoid")
if not Humanoid or Humanoid.Health <= 0 then
return
end
-- Criar BillboardGui se não existir
if not ESPHolder:FindFirstChild("BillboardGui") then
local BillboardGui = Instance.new("BillboardGui")
BillboardGui.Name = "BillboardGui"
BillboardGui.Adornee = HumanoidRootPart
BillboardGui.Size = UDim2.new(0, 100, 0, 50)
BillboardGui.StudsOffset = Vector3.new(0, 3, 0)
BillboardGui.AlwaysOnTop = true
BillboardGui.Parent = ESPHolder
local NameLabel = Instance.new("TextLabel")
NameLabel.Name = "NameLabel"
NameLabel.Size = UDim2.new(1, 0, 0.5, 0)
NameLabel.BackgroundTransparency = 1
NameLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
NameLabel.TextStrokeTransparency = 0.5
NameLabel.Font = Enum.Font.GothamBold
NameLabel.TextSize = 14
NameLabel.Text = Player.Name
NameLabel.Parent = BillboardGui
local DistanceLabel = Instance.new("TextLabel")
DistanceLabel.Name = "DistanceLabel"
DistanceLabel.Size = UDim2.new(1, 0, 0.5, 0)
DistanceLabel.Position = UDim2.new(0, 0, 0.5, 0)
DistanceLabel.BackgroundTransparency = 1
DistanceLabel.TextColor3 = Color3.fromRGB(200, 200, 200)
DistanceLabel.TextStrokeTransparency = 0.5
DistanceLabel.Font = Enum.Font.Gotham
DistanceLabel.TextSize = 12
DistanceLabel.Parent = BillboardGui
end
-- Atualizar distância
if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then
local Distance = (LocalPlayer.Character.HumanoidRootPart.Position - HumanoidRootPart.Position).Magnitude
local DistanceLabel = ESPHolder.BillboardGui:FindFirstChild("DistanceLabel")
if DistanceLabel then
DistanceLabel.Text = string.format("%.0f studs", Distance)
end
end
-- Criar Highlight se não existir
if not Character:FindFirstChild("ESPHighlight") then
local Highlight = Instance.new("Highlight")
Highlight.Name = "ESPHighlight"
Highlight.Adornee = Character
Highlight.FillTransparency = 0.5
Highlight.OutlineTransparency = 0
-- Cor baseada na equipe
if IsOnSameTeam(Player) then
Highlight.FillColor = Color3.fromRGB(0, 255, 0)
Highlight.OutlineColor = Color3.fromRGB(0, 200, 0)
else
Highlight.FillColor = Color3.fromRGB(255, 0, 0)
Highlight.OutlineColor = Color3.fromRGB(200, 0, 0)
end
Highlight.Parent = Character
end
end
ESPObjects[Player] = {
Holder = ESPHolder,
Update = UpdateESP
}
end
-- Função para remover ESP
local function RemoveESP(Player)
if ESPObjects[Player] then
if ESPObjects[Player].Holder then
ESPObjects[Player].Holder:Destroy()
end
if Player.Character and Player.Character:FindFirstChild("ESPHighlight") then
Player.Character.ESPHighlight:Destroy()
end
ESPObjects[Player] = nil
end
end
-- Função para alternar Aimbot
local function ToggleAimbot()
AimEnabled = not AimEnabled
if AimEnabled then
ToggleButton.BackgroundColor3 = Color3.fromRGB(50, 200, 50)
ToggleButton.Text = "AIMBOT: ON"
FOVCircle.Visible = true
else
ToggleButton.BackgroundColor3 = Color3.fromRGB(200, 50, 50)
ToggleButton.Text = "AIMBOT: OFF"
FOVCircle.Visible = false
end
end
-- Função para alternar ESP
local function ToggleESP()
ESPEnabled = not ESPEnabled
if ESPEnabled then
ESPButton.BackgroundColor3 = Color3.fromRGB(50, 200, 50)
ESPButton.Text = "ESP: ON"
-- Criar ESP para todos os jogadores
for _, Player in pairs(Players:GetPlayers()) do
if Player ~= LocalPlayer then
CreateESP(Player)
end
end
else
ESPButton.BackgroundColor3 = Color3.fromRGB(200, 50, 50)
ESPButton.Text = "ESP: OFF"
-- Remover todos os ESPs
for Player, _ in pairs(ESPObjects) do
RemoveESP(Player)
end
end
end
-- Função para alternar TeamCheck
local function ToggleTeamCheck()
TeamCheck = not TeamCheck
if TeamCheck then
TeamCheckButton.BackgroundColor3 = Color3.fromRGB(50, 200, 50)
TeamCheckButton.Text = "✓ Team Check"
else
TeamCheckButton.BackgroundColor3 = Color3.fromRGB(200, 50, 50)
TeamCheckButton.Text = "✗ Team Check"
end
end
-- Função para alternar WallCheck
local function ToggleWallCheck()
WallCheck = not WallCheck
if WallCheck then
WallCheckButton.BackgroundColor3 = Color3.fromRGB(50, 200, 50)
WallCheckButton.Text = "✓ Wall Check"
else
WallCheckButton.BackgroundColor3 = Color3.fromRGB(200, 50, 50)
WallCheckButton.Text = "✗ Wall Check"
end
end
-- Conectar eventos dos botões
ToggleButton.MouseButton1Click:Connect(ToggleAimbot)
ESPButton.MouseButton1Click:Connect(ToggleESP)
TeamCheckButton.MouseButton1Click:Connect(ToggleTeamCheck)
WallCheckButton.MouseButton1Click:Connect(ToggleWallCheck)
-- Slider de FOV
local DraggingFOV = false
FOVSlider.MouseButton1Down:Connect(function()
DraggingFOV = true
end)
UIS.InputEnded:Connect(function(Input)
if Input.UserInputType == Enum.UserInputType.MouseButton1 then
DraggingFOV = false
DraggingSmooth = false
end
end)
RunService.RenderStepped:Connect(function()
if DraggingFOV then
local MousePos = UIS:GetMouseLocation()
local SliderPos = FOVSlider.AbsolutePosition
local SliderSize = FOVSlider.AbsoluteSize
local RelativeX = math.clamp((MousePos.X - SliderPos.X) / SliderSize.X, 0, 1)
FOV = 50 + math.floor(RelativeX * 150)
FOVSliderFill.Size = UDim2.new(RelativeX, 0, 1, 0)
FOVSliderLabel.Text = "FOV: " .. FOV
FOVCircle.Radius = FOV
end
end)
-- Slider de Suavidade
local DraggingSmooth = false
SmoothSlider.MouseButton1Down:Connect(function()
DraggingSmooth = true
end)
RunService.RenderStepped:Connect(function()
if DraggingSmooth then
local MousePos = UIS:GetMouseLocation()
local SliderPos = SmoothSlider.AbsolutePosition
local SliderSize = SmoothSlider.AbsoluteSize
local RelativeX = math.clamp((MousePos.X - SliderPos.X) / SliderSize.X, 0, 1)
Smoothness = 0.1 + (RelativeX * 0.9)
SmoothSliderFill.Size = UDim2.new(RelativeX, 0, 1, 0)
SmoothSliderLabel.Text = "Smoothness: " .. string.format("%.1f", Smoothness)
end
end)
-- Atualizar FOV Circle
RunService.RenderStepped:Connect(function()
if FOVCircle then
FOVCircle.Position = Vector2.new(Camera.ViewportSize.X / 2, Camera.ViewportSize.Y / 2)
FOVCircle.Radius = FOV
end
end)
-- Loop principal do Aimbot
RunService.RenderStepped:Connect(function()
if AimEnabled then
local Target = GetClosestPlayerToCenter()
if Target then
AimAtPlayer(Target)
end
end
end)
-- Loop de atualização do ESP
RunService.Heartbeat:Connect(function()
if ESPEnabled then
for Player, ESP in pairs(ESPObjects) do
if Player and Player.Parent and Player.Character then
ESP.Update()
else
RemoveESP(Player)
end
end
end
end)
-- Detectar novos jogadores
Players.PlayerAdded:Connect(function(Player)
if ESPEnabled and Player ~= LocalPlayer then
task.wait(1)
CreateESP(Player)
end
end)
-- Detectar jogadores saindo
Players.PlayerRemoving:Connect(function(Player)
RemoveESP(Player)
end)
-- Detectar quando o personagem respawna
Players.PlayerAdded:Connect(function(Player)
Player.CharacterAdded:Connect(function()
if ESPEnabled and Player ~= LocalPlayer then
task.wait(0.5)
RemoveESP(Player)
CreateESP(Player)
end
end)
end)
for _, Player in pairs(Players:GetPlayers()) do
if Player ~= LocalPlayer then
Player.CharacterAdded:Connect(function()
if ESPEnabled then
task.wait(0.5)
RemoveESP(Player)
CreateESP(Player)
end
end)
end
end
-- Hotkeys
UIS.InputBegan:Connect(function(Input, GameProcessed)
if GameProcessed then return end
if Input.KeyCode == Enum.KeyCode.F6 then
ToggleAimbot()
elseif Input.KeyCode == Enum.KeyCode.F7 then
ToggleESP()
end
end)
-- Notificação
print("🎯 Aimbot + ESP Professional carregado!")
print("✓ Aimbot: F6 para ativar")
print("✓ ESP: F7 para ativar")
print("✓ Team Check e Wall Check ativos")No comments yet for this script.



