really beta aimbot script esp included
Key RequiredUniversal

really beta aimbot script esp included

Universal ScriptVPNSVPNS 3.4K views 15 executesUpdated Jun 25, 2025
5.0/ 5(2 votes)
20100% Positive
Lua Script•474 lines (17474 chars)
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")
local Camera = workspace.CurrentCamera
local LocalPlayer = Players.LocalPlayer

local AimbotEnabled = false
local AimbotActive = true
local Target = nil
local AimPart = "Head"
local ESPMode = "Off"
local ESPBoxes = {}
local TeamNameLabels = {}
local HealthBars = {}
local HealthBarBackgrounds = {}
local HealthBarBorders = {}
local HealthTextLabels = {}
local ItemLabels = {}
local Highlights = {}
local ShowTeamNames = false
local ShowTeamESP = true

local screenGui = Instance.new("ScreenGui")
screenGui.Name = "PlayerInfoGui"
screenGui.Parent = LocalPlayer:WaitForChild("PlayerGui")
screenGui.ResetOnSpawn = false

local frame = Instance.new("Frame")
frame.Size = UDim2.new(0, 300, 0, 110)
frame.Position = UDim2.new(1, -310, 0, 10)
frame.BackgroundTransparency = 0.5
frame.BackgroundColor3 = Color3.fromRGB(50, 50, 50)
frame.BorderSizePixel = 0
frame.Parent = screenGui

local usernameLabel = Instance.new("TextLabel")
usernameLabel.Size = UDim2.new(0.33, 0, 0.33, 0)
usernameLabel.Position = UDim2.new(0, 0, 0, 0)
usernameLabel.BackgroundTransparency = 1
usernameLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
usernameLabel.TextScaled = true
usernameLabel.Text = "Username: " .. LocalPlayer.Name
usernameLabel.Font = Enum.Font.RobotoMono
usernameLabel.Parent = frame

local fpsLabel = Instance.new("TextLabel")
fpsLabel.Size = UDim2.new(0.33, 0, 0.33, 0)
fpsLabel.Position = UDim2.new(0.33, 0, 0, 0)
fpsLabel.BackgroundTransparency = 1
fpsLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
fpsLabel.TextScaled = true
fpsLabel.Text = "FPS: 0"
fpsLabel.Font = Enum.Font.RobotoMono
fpsLabel.Parent = frame

local pingLabel = Instance.new("TextLabel")
pingLabel.Size = UDim2.new(0.33, 0, 0.33, 0)
pingLabel.Position = UDim2.new(0.66, 0, 0, 0)
pingLabel.BackgroundTransparency = 1
pingLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
pingLabel.TextScaled = true
pingLabel.Text = "Ping: 0 ms"
pingLabel.Font = Enum.Font.RobotoMono
pingLabel.Parent = frame

local creditLabel = Instance.new("TextLabel")
creditLabel.Size = UDim2.new(1, 0, 0.33, 0)
creditLabel.Position = UDim2.new(0, 0, 0.33, 0)
creditLabel.BackgroundTransparency = 1
creditLabel.TextColor3 = Color3.fromRGB(0, 255, 255)
creditLabel.TextScaled = true
creditLabel.Text = "Made by VPNS"
creditLabel.Font = Enum.Font.RobotoMono
creditLabel.Parent = frame

local controlsLabel = Instance.new("TextLabel")
controlsLabel.Size = UDim2.new(1, 0, 0.33, 0)
controlsLabel.Position = UDim2.new(0, 0, 0.66, 0)
controlsLabel.BackgroundTransparency = 1
controlsLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
controlsLabel.TextScaled = true
controlsLabel.Text = "Controls: [T] Names | [Q] Box ESP | [H] Highlight ESP | [E] Aim Part | [K] Aimbot On/Off | [N] Team ESP | [RMB] Aimbot"
controlsLabel.Font = Enum.Font.RobotoMono
controlsLabel.Parent = frame

local lastTime = tick()
local frameCount = 0
local fps = 0

RunService.RenderStepped:Connect(function()
    frameCount = frameCount + 1
    local currentTime = tick()
    if currentTime - lastTime >= 1 then
        fps = math.floor(frameCount / (currentTime - lastTime))
        frameCount = 0
        lastTime = currentTime
        fpsLabel.Text = "FPS: " .. fps
    end
end)

local function updatePing()
    while true do
        local ping = math.floor(LocalPlayer:GetNetworkPing() * 1000)
        pingLabel.Text = "Ping: " .. ping .. " ms"
        wait(1)
    end
end

spawn(updatePing)

local function createESPBox(player)
    if ESPBoxes[player] then
        ESPBoxes[player]:Remove()
        if TeamNameLabels[player] then
            TeamNameLabels[player]:Remove()
        end
        if HealthBars[player] then
            HealthBars[player]:Remove()
        end
        if HealthBarBackgrounds[player] then
            HealthBarBackgrounds[player]:Remove()
        end
        if HealthBarBorders[player] then
            HealthBarBorders[player]:Remove()
        end
        if HealthTextLabels[player] then
            HealthTextLabels[player]:Remove()
        end
        if ItemLabels[player] then
            ItemLabels[player]:Remove()
        end
        if Highlights[player] then
            Highlights[player]:Destroy()
        end
    end

    local box = Drawing.new("Square")
    box.Visible = false
    box.Thickness = 2
    box.Color = Color3.fromRGB(255, 255, 255)
    box.Filled = false
    ESPBoxes[player] = box

    local label = Drawing.new("Text")
    label.Visible = false
    label.Size = 20
    label.Center = true
    label.Outline = true
    label.Color = Color3.fromRGB(255, 255, 255)
    label.Text = player.Name .. (player.Team and " (" .. player.Team.Name .. ")" or "")
    TeamNameLabels[player] = label

    local healthBarBackground = Drawing.new("Square")
    healthBarBackground.Visible = false
    healthBarBackground.Thickness = 1
    healthBarBackground.Color = Color3.fromRGB(50, 50, 50)
    healthBarBackground.Filled = true
    HealthBarBackgrounds[player] = healthBarBackground

    local healthBarBorder = Drawing.new("Square")
    healthBarBorder.Visible = false
    healthBarBorder.Thickness = 1
    healthBarBorder.Color = Color3.fromRGB(255, 255, 255)
    healthBarBorder.Filled = false
    HealthBarBorders[player] = healthBarBorder

    local healthBar = Drawing.new("Square")
    healthBar.Visible = false
    healthBar.Thickness = 1
    healthBar.Color = Color3.fromRGB(0, 255, 0)
    healthBar.Filled = true
    HealthBars[player] = healthBar

    local healthText = Drawing.new("Text")
    healthText.Visible = false
    healthText.Size = 18
    healthText.Center = true
    healthText.Outline = true
    healthText.Color = Color3.fromRGB(255, 255, 255)
    healthText.Text = "100/100"
    HealthTextLabels[player] = healthText

    local itemLabel = Drawing.new("Text")
    itemLabel.Visible = false
    itemLabel.Size = 16
    itemLabel.Center = true
    itemLabel.Outline = true
    itemLabel.Color = Color3.fromRGB(255, 255, 255)
    itemLabel.Text = "None"
    ItemLabels[player] = itemLabel

    local highlight = Instance.new("Highlight")
    highlight.Enabled = false
    highlight.FillTransparency = 1
    highlight.OutlineColor = Color3.fromRGB(0, 255, 0)
    highlight.OutlineTransparency = 0
    highlight.Adornee = player.Character
    highlight.Parent = game.CoreGui
    Highlights[player] = highlight

    RunService.RenderStepped:Connect(function()
        if not player.Character or not player.Character:FindFirstChild("HumanoidRootPart") or not player.Character:FindFirstChild("Humanoid") then
            box.Visible = false
            label.Visible = false
            healthBar.Visible = false
            healthBarBackground.Visible = false
            healthBarBorder.Visible = false
            healthText.Visible = false
            itemLabel.Visible = false
            highlight.Enabled = false
            return
        end

        local rootPart = player.Character.HumanoidRootPart
        local humanoid = player.Character.Humanoid
        local screenPos, onScreen = Camera:WorldToViewportPoint(rootPart.Position)

        highlight.Adornee = player.Character

        local heldItem = "None"
        if player.Character:FindFirstChildOfClass("Tool") then
            heldItem = player.Character:FindFirstChildOfClass("Tool").Name
        end

        if onScreen and (ShowTeamESP or player.Team ~= LocalPlayer.Team) then
            local healthRatio = humanoid.Health / humanoid.MaxHealth
            local healthColor = Color3.fromRGB(255 * (1 - healthRatio), 255 * healthRatio, 0)

            if ESPMode == "Box" then
                local sizeY = 3
                local sizeX = 2
                local topLeft = Camera:WorldToViewportPoint(rootPart.Position + Vector3.new(-sizeX, sizeY, 0))
                local bottomRight = Camera:WorldToViewportPoint(rootPart.Position + Vector3.new(sizeX, -sizeY, 0))

                box.Size = Vector2.new(
                    math.abs(bottomRight.X - topLeft.X),
                    math.abs(bottomRight.Y - topLeft.Y)
                )
                box.Position = Vector2.new(
                    math.min(topLeft.X, bottomRight.X),
                    math.min(topLeft.Y, bottomRight.Y)
                )
                box.Color = Color3.fromRGB(255, 255, 255)
                box.Visible = true

                local labelPos = Camera:WorldToViewportPoint(rootPart.Position + Vector3.new(0, 3.5, 0))
                label.Position = Vector2.new(labelPos.X, labelPos.Y)
                label.Text = player.Name .. (player.Team and " (" .. player.Team.Name .. ")" or "")
                label.Visible = ShowTeamNames

                itemLabel.Position = Vector2.new(labelPos.X, labelPos.Y + 20)
                itemLabel.Text = heldItem
                itemLabel.Visible = ShowTeamNames

                local healthBarWidth = 80
                local healthBarHeight = 8
                local healthBarPos = Camera:WorldToViewportPoint(rootPart.Position + Vector3.new(0, 4, 0))

                healthBarBackground.Size = Vector2.new(healthBarWidth + 4, healthBarHeight + 4)
                healthBarBackground.Position = Vector2.new(healthBarPos.X - healthBarWidth / 2 - 2, healthBarPos.Y - healthBarHeight / 2 - 2)
                healthBarBackground.Visible = ShowTeamNames

                healthBarBorder.Size = Vector2.new(healthBarWidth + 4, healthBarHeight + 4)
                healthBarBorder.Position = Vector2.new(healthBarPos.X - healthBarWidth / 2 - 2, healthBarPos.Y - healthBarHeight / 2 - 2)
                healthBarBorder.Visible = ShowTeamNames

                healthBar.Size = Vector2.new(healthBarWidth * healthRatio, healthBarHeight)
                healthBar.Position = Vector2.new(healthBarPos.X - healthBarWidth / 2, healthBarPos.Y - healthBarHeight / 2)
                healthBar.Color = healthColor
                healthBar.Visible = ShowTeamNames

                healthText.Position = Vector2.new(healthBarPos.X, healthBarPos.Y - healthBarHeight / 2 - 12)
                healthText.Text = math.floor(humanoid.Health) .. "/" .. math.floor(humanoid.MaxHealth)
                healthText.Visible = ShowTeamNames

                highlight.Enabled = false
            elseif ESPMode == "Highlight" then
                highlight.OutlineColor = healthColor
                highlight.Enabled = true

                local labelPos = Camera:WorldToViewportPoint(rootPart.Position + Vector3.new(0, 3.5, 0))
                label.Position = Vector2.new(labelPos.X, labelPos.Y)
                label.Text = player.Name .. (player.Team and " (" .. player.Team.Name .. ")" or "")
                label.Visible = ShowTeamNames

                itemLabel.Position = Vector2.new(labelPos.X, labelPos.Y + 20)
                itemLabel.Text = heldItem
                itemLabel.Visible = ShowTeamNames

                local healthBarWidth = 80
                local healthBarHeight = 8
                local healthBarPos = Camera:WorldToViewportPoint(rootPart.Position + Vector3.new(0, 4, 0))

                healthBarBackground.Size = Vector2.new(healthBarWidth + 4, healthBarHeight + 4)
                healthBarBackground.Position = Vector2.new(healthBarPos.X - healthBarWidth / 2 - 2, healthBarPos.Y - healthBarHeight / 2 - 2)
                healthBarBackground.Visible = ShowTeamNames

                healthBarBorder.Size = Vector2.new(healthBarWidth + 4, healthBarHeight + 4)
                healthBarBorder.Position = Vector2.new(healthBarPos.X - healthBarWidth / 2 - 2, healthBarPos.Y - healthBarHeight / 2 - 2)
                healthBarBorder.Visible = ShowTeamNames

                healthBar.Size = Vector2.new(healthBarWidth * healthRatio, healthBarHeight)
                healthBar.Position = Vector2.new(healthBarPos.X - healthBarWidth / 2, healthBarPos.Y - healthBarHeight / 2)
                healthBar.Color = healthColor
                healthBar.Visible = ShowTeamNames

                healthText.Position = Vector2.new(healthBarPos.X, healthBarPos.Y - healthBarHeight / 2 - 12)
                healthText.Text = math.floor(humanoid.Health) .. "/" .. math.floor(humanoid.MaxHealth)
                healthText.Visible = ShowTeamNames
            else
                box.Visible = false
                label.Visible = false
                healthBar.Visible = false
                healthBarBackground.Visible = false
                healthBarBorder.Visible = false
                healthText.Visible = false
                itemLabel.Visible = false
                highlight.Enabled = false
            end
        else
            box.Visible = false
            label.Visible = false
            healthBar.Visible = false
            healthBarBackground.Visible = false
            healthBarBorder.Visible = false
            healthText.Visible = false
            itemLabel.Visible = false
            highlight.Enabled = false
        end
    end)
end

UserInputService.InputBegan:Connect(function(input, gpe)
    if input.KeyCode == Enum.KeyCode.T and not gpe then
        ShowTeamNames = not ShowTeamNames
    end
end)

local function getNearestTarget()
    local closest, shortest = nil, math.huge

    for _, player in ipairs(Players:GetPlayers()) do
        if player ~= LocalPlayer and player.Character and player.Character:FindFirstChild(AimPart) then
            if ShowTeamESP or player.Team ~= LocalPlayer.Team then
                local humanoid = player.Character:FindFirstChild("Humanoid")
                if humanoid and humanoid.Health > 0 then
                    local pos, onScreen = Camera:WorldToViewportPoint(player.Character[AimPart].Position)
                    if onScreen then
                        local dist = (Vector2.new(pos.X, pos.Y) - UserInputService:GetMouseLocation()).Magnitude
                        if dist < shortest then
                            shortest = dist
                            closest = player.Character[AimPart]
                        end
                    end
                end
            end
        end
    end

    return closest
end

UserInputService.InputBegan:Connect(function(input, gpe)
    if input.UserInputType == Enum.UserInputType.MouseButton2 and AimbotActive then
        AimbotEnabled = not AimbotEnabled
        Target = AimbotEnabled and getNearestTarget() or nil
        UserInputService.MouseBehavior = AimbotEnabled and Enum.MouseBehavior.LockCenter or Enum.MouseBehavior.Default
    end
end)

UserInputService.InputBegan:Connect(function(input, gpe)
    if input.KeyCode == Enum.KeyCode.E and not gpe then
        AimPart = AimPart == "Head" and "HumanoidRootPart" or "Head"
        Target = getNearestTarget()
    end
end)

UserInputService.InputBegan:Connect(function(input, gpe)
    if input.KeyCode == Enum.KeyCode.Q and not gpe then
        if ESPMode == "Box" then
            ESPMode = "Off"
        else
            ESPMode = "Box"
        end
    end
end)

UserInputService.InputBegan:Connect(function(input, gpe)
    if input.KeyCode == Enum.KeyCode.H and not gpe then
        if ESPMode == "Highlight" then
            ESPMode = "Off"
        else
            ESPMode = "Highlight"
        end
    end
end)

UserInputService.InputBegan:Connect(function(input, gpe)
    if input.KeyCode == Enum.KeyCode.K and not gpe then
        AimbotActive = not AimbotActive
        AimbotEnabled = false
        Target = nil
        UserInputService.MouseBehavior = Enum.MouseBehavior.Default
    end
end)

UserInputService.InputBegan:Connect(function(input, gpe)
    if input.KeyCode == Enum.KeyCode.N and not gpe then
        ShowTeamESP = not ShowTeamESP
        if AimbotEnabled then
            Target = getNearestTarget()
        end
    end
end)

RunService.RenderStepped:Connect(function()
    if AimbotEnabled and Target then
        local human = Target.Parent:FindFirstChild("Humanoid")
        if human and human.Health > 0 then
            Camera.CFrame = CFrame.new(Camera.CFrame.Position, Target.Position)
        else
            AimbotEnabled = false
            Target = nil
            UserInputService.MouseBehavior = Enum.MouseBehavior.Default
        end
    end
end)

for _, player in ipairs(Players:GetPlayers()) do
    if player ~= LocalPlayer then
        createESPBox(player)
    end
end

Players.PlayerAdded:Connect(function(player)
    if player ~= LocalPlayer then
        createESPBox(player)
    end
end)

Players.PlayerRemoving:Connect(function(player)
    if ESPBoxes[player] then
        ESPBoxes[player]:Remove()
        ESPBoxes[player] = nil
    end
    if TeamNameLabels[player] then
        TeamNameLabels[player]:Remove()
        TeamNameLabels[player] = nil
    end
    if HealthBars[player] then
        HealthBars[player]:Remove()
        HealthBars[player] = nil
    end
    if HealthBarBackgrounds[player] then
        HealthBarBackgrounds[player]:Remove()
        HealthBarBackgrounds[player] = nil
    end
    if HealthBarBorders[player] then
        HealthBarBorders[player]:Remove()
        HealthBarBorders[player] = nil
    end
    if HealthTextLabels[player] then
        HealthTextLabels[player]:Remove()
        HealthTextLabels[player] = nil
    end
    if ItemLabels[player] then
        ItemLabels[player]:Remove()
        ItemLabels[player] = nil
    end
    if Highlights[player] then
        Highlights[player]:Destroy()
        Highlights[player] = nil
    end
end)

Features & Information

Universal Aimbot :)
#aimbot#aim

Community Comments (0)

No comments yet for this script.

More Scripts for Universal Scripts