Aimlock Universal
Key RequiredUniversal

Aimlock Universal

Universal Scriptripq50ripq50 38.1K views 3.4K executesUpdated May 26, 2025
5.0/ 5(4 votes)
40100% Positive
Lua Script•239 lines (8510 chars)
PLAYER  = game.Players.LocalPlayer
MOUSE   = PLAYER:GetMouse()
CC      = game.Workspace.CurrentCamera
 
ENABLED      = false
ESP_ENABLED  = false
 
_G.FREE_FOR_ALL = true
 
_G.ESP_BIND    = 52
_G.CHANGE_AIM  = 'q'
 
_G.AIM_AT = 'Head'
 
wait(1)
 
function GetNearestPlayerToMouse()
    local PLAYERS      = {}
    local PLAYER_HOLD  = {}
    local DISTANCES    = {}
    for i, v in pairs(game.Players:GetPlayers()) do
        if v ~= PLAYER then
            table.insert(PLAYERS, v)
        end
    end
    for i, v in pairs(PLAYERS) do
        if _G.FREE_FOR_ALL == false then
            if v and (v.Character) ~= nil and v.TeamColor ~= PLAYER.TeamColor then
                local AIM = v.Character:FindFirstChild(_G.AIM_AT)
                if AIM ~= nil then
                    local DISTANCE                 = (AIM.Position - game.Workspace.CurrentCamera.CoordinateFrame.p).magnitude
                    local RAY                      = Ray.new(game.Workspace.CurrentCamera.CoordinateFrame.p, (MOUSE.Hit.p - CC.CoordinateFrame.p).unit * DISTANCE)
                    local HIT,POS                  = game.Workspace:FindPartOnRay(RAY, game.Workspace)
                    local DIFF                     = math.floor((POS - AIM.Position).magnitude)
                    PLAYER_HOLD[v.Name .. i]       = {}
                    PLAYER_HOLD[v.Name .. i].dist  = DISTANCE
                    PLAYER_HOLD[v.Name .. i].plr   = v
                    PLAYER_HOLD[v.Name .. i].diff  = DIFF
                    table.insert(DISTANCES, DIFF)
                end
            end
        elseif _G.FREE_FOR_ALL == true then
            local AIM = v.Character:FindFirstChild(_G.AIM_AT)
            if AIM ~= nil then
                local DISTANCE                 = (AIM.Position - game.Workspace.CurrentCamera.CoordinateFrame.p).magnitude
                local RAY                      = Ray.new(game.Workspace.CurrentCamera.CoordinateFrame.p, (MOUSE.Hit.p - CC.CoordinateFrame.p).unit * DISTANCE)
                local HIT,POS                  = game.Workspace:FindPartOnRay(RAY, game.Workspace)
                local DIFF                     = math.floor((POS - AIM.Position).magnitude)
                PLAYER_HOLD[v.Name .. i]       = {}
                PLAYER_HOLD[v.Name .. i].dist  = DISTANCE
                PLAYER_HOLD[v.Name .. i].plr   = v
                PLAYER_HOLD[v.Name .. i].diff  = DIFF
                table.insert(DISTANCES, DIFF)
            end
        end
    end
 
    if unpack(DISTANCES) == nil then
        return false
    end
 
    local L_DISTANCE = math.floor(math.min(unpack(DISTANCES)))
    if L_DISTANCE > 20 then
        return false
    end
 
    for i, v in pairs(PLAYER_HOLD) do
        if v.diff == L_DISTANCE then
            return v.plr
        end
    end
    return false
end
 
GUI_MAIN                           = Instance.new('ScreenGui', game.CoreGui)
GUI_TARGET                         = Instance.new('TextLabel', GUI_MAIN)
GUI_AIM_AT                         = Instance.new('TextLabel', GUI_MAIN)
 
GUI_MAIN.Name                      = 'AIMBOT'
 
GUI_TARGET.Size                    = UDim2.new(0,200,0,30)
GUI_TARGET.BackgroundTransparency  = 0.5
GUI_TARGET.BackgroundColor         = BrickColor.new('Fossil')
GUI_TARGET.BorderSizePixel         = 0
GUI_TARGET.Position                = UDim2.new(0.5,-100,0,0)
GUI_TARGET.Text                    = 'AIMBOT : OFF'
GUI_TARGET.TextColor3              = Color3.new(1,1,1)
GUI_TARGET.TextStrokeTransparency  = 1
GUI_TARGET.TextWrapped             = true
GUI_TARGET.FontSize                = 'Size24'
GUI_TARGET.Font                    = 'SourceSansBold'
 
GUI_AIM_AT.Size                    = UDim2.new(0,200,0,20)
GUI_AIM_AT.BackgroundTransparency  = 0.5
GUI_AIM_AT.BackgroundColor         = BrickColor.new('Fossil')
GUI_AIM_AT.BorderSizePixel         = 0
GUI_AIM_AT.Position                = UDim2.new(0.5,-100,0,30)
GUI_AIM_AT.Text                    = 'AIMING : HEAD'
GUI_AIM_AT.TextColor3              = Color3.new(1,1,1)
GUI_AIM_AT.TextStrokeTransparency  = 1
GUI_AIM_AT.TextWrapped             = true
GUI_AIM_AT.FontSize                = 'Size18'
GUI_AIM_AT.Font                    = 'SourceSansBold'
 
local TRACK = false
 
function CREATE(BASE, TEAM)
    local ESP_MAIN                   = Instance.new('BillboardGui', PLAYER.PlayerGui)
    local ESP_DOT                    = Instance.new('Frame', ESP_MAIN)
    local ESP_NAME                   = Instance.new('TextLabel', ESP_MAIN)
 
    ESP_MAIN.Name                    = 'ESP'
    ESP_MAIN.Adornee                 = BASE
    ESP_MAIN.AlwaysOnTop             = true
    ESP_MAIN.ExtentsOffset           = Vector3.new(0, 1, 0)
    ESP_MAIN.Size                    = UDim2.new(0, 5, 0, 5)
 
    ESP_DOT.Name                     = 'DOT'
    ESP_DOT.BackgroundColor          = BrickColor.new('Bright red')
    ESP_DOT.BackgroundTransparency   = 0.3
    ESP_DOT.BorderSizePixel          = 0
    ESP_DOT.Position                 = UDim2.new(-0.5, 0, -0.5, 0)
    ESP_DOT.Size                     = UDim2.new(2, 0, 2, 0)
    ESP_DOT.Visible                  = true
    ESP_DOT.ZIndex                   = 10
 
    ESP_NAME.Name                    = 'NAME'
    ESP_NAME.BackgroundColor3        = Color3.new(255, 255, 255)
    ESP_NAME.BackgroundTransparency  = 1
    ESP_NAME.BorderSizePixel         = 0
    ESP_NAME.Position                = UDim2.new(0, 0, 0, -40)
    ESP_NAME.Size                    = UDim2.new(1, 0, 10, 0)
    ESP_NAME.Visible                 = true
    ESP_NAME.ZIndex                  = 10
    ESP_NAME.Font                    = 'ArialBold'
    ESP_NAME.FontSize                = 'Size14'
    ESP_NAME.Text                    = BASE.Parent.Name:upper()
    ESP_NAME.TextColor               = BrickColor.new('Bright red')
end
 
function CLEAR()
    for _,v in pairs(PLAYER.PlayerGui:children()) do
        if v.Name == 'ESP' and v:IsA('BillboardGui') then
            v:Destroy()
        end
    end
end
 
function FIND()
    CLEAR()
    TRACK = true
    spawn(function()
        while wait() do
            if TRACK then
                CLEAR()
                for i,v in pairs(game.Players:GetChildren()) do
                    if v.Character and v.Character:FindFirstChild('Head') then
                        if _G.FREE_FOR_ALL == false then
                            if v.TeamColor ~= PLAYER.TeamColor then
                                if v.Character:FindFirstChild('Head') then
                                    CREATE(v.Character.Head, true)
                                end
                            end
                        else
                            if v.Character:FindFirstChild('Head') then
                                CREATE(v.Character.Head, true)
                            end
                        end
                    end
                end
            end
        end
        wait(1)
    end)
end
 
MOUSE.Button2Down:connect(function()
    ENABLED = true
end)
 
MOUSE.Button2Up:connect(function()
    ENABLED = false
end)
 
MOUSE.KeyDown:connect(function(KEY)
    KEY = KEY:lower():byte()
    if KEY == _G.ESP_BIND then
        if ESP_ENABLED == false then
            FIND()
            ESP_ENABLED = true
            print('ESP : ON')
        elseif ESP_ENABLED == true then
            wait()
            CLEAR()
            TRACK = false
            ESP_ENABLED = false
            print('ESP : OFF')
        end
    end
end)
 
MOUSE.KeyDown:connect(function(KEY)
    if KEY == _G.CHANGE_AIM then
        if _G.AIM_AT == 'Head' then
            _G.AIM_AT = 'Torso'
            GUI_AIM_AT.Text = 'AIMING : TORSO'
        elseif _G.AIM_AT == 'Torso' then
            _G.AIM_AT = 'Head'
            GUI_AIM_AT.Text = 'AIMING : HEAD'
        end
    end
end)
 
game:GetService('RunService').RenderStepped:connect(function()
    if ENABLED then
        local TARGET = GetNearestPlayerToMouse()
        if (TARGET ~= false) then
            local AIM = TARGET.Character:FindFirstChild(_G.AIM_AT)
            if AIM then
                CC.CoordinateFrame = CFrame.new(CC.CoordinateFrame.p, AIM.CFrame.p)
            end
            GUI_TARGET.Text = 'AIMBOT : '.. TARGET.Name:sub(1, 5)
        else
            GUI_TARGET.Text = 'AIMBOT : OFF'
        end
    end
end)
 
repeat
    wait()
    if ESP_ENABLED == true then
        FIND()
    end
until ESP_ENABLED == false
 
 
--ESP
 
loadstring(game:HttpGet("https://raw.githubusercontent.com/Orangecatgamer696969/Goose-hub-blade-ball/main/Script", true))()

Features & Information

Aim Locks on players M2 On mouse Q to stop Aimlock 4 to esp players (Only Computer)
#Aimbot#Aimlock#Universal

Community Comments (6)

konorpykonorpyAug 15, 2025

epic

michaeljosiiahmichaeljosiiahDec 26, 2025

how do i use the script all it does it puts the thing in my files and when i open it its a notepad

bunnixbunnixFeb 15, 2026

click "copy script" and then go to your executor and paste it there

dziewieckimichal77dziewieckimichal77Jul 29, 2026

IT WORKS ON XENO BTW GUYSSS

dziewieckimichal77dziewieckimichal77Jul 29, 2026

very good script

SmoreBUTTSSmoreBUTTSAug 8, 2026

I love the script! And it is nice that is works on Xeno.

More Scripts for Universal Scripts