Universal Aimbot
Key RequiredUniversal

Universal Aimbot

Universal Scriptlarkyqkwqlarkyqkwq 1.3K views 130 executesUpdated Dec 31, 2025
5.0/ 5(1 votes)
10100% Positive
Lua Script•170 lines (5552 chars)
--// Rayfield UI
local Rayfield = loadstring(game:HttpGet("https://sirius.menu/rayfield"))()

local Window = Rayfield:CreateWindow({
    Name = "Universal Aimbot",
    LoadingTitle = "👑Universal Aimbot👑",
    LoadingSubtitle = "by larky",
    ConfigurationSaving = { Enabled = false },
    KeySystem = false
})

--// Services
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local LocalPlayer = Players.LocalPlayer
local Camera = workspace.CurrentCamera

--// States
local AimbotEnabled = false
local EspEnabled = false
local TeamCheck = false
local FOVRadius = 150

--// FOV Circle
local FOVCircle = Drawing.new("Circle")
FOVCircle.Thickness = 1
FOVCircle.Color = Color3.fromRGB(255,255,255)
FOVCircle.Transparency = 1
FOVCircle.Filled = false
FOVCircle.Visible = false

--// Visibility Check
local function IsVisible(part)
    local params = RaycastParams.new()
    params.FilterType = Enum.RaycastFilterType.Exclude
    params.FilterDescendantsInstances = {LocalPlayer.Character}
    local ray = workspace:Raycast(Camera.CFrame.Position, part.Position - Camera.CFrame.Position, params)
    return ray == nil
end

--// Get Closest Player
local function GetClosestPlayer()
    local closest, dist = nil, FOVRadius
    local center = Vector2.new(Camera.ViewportSize.X/2, Camera.ViewportSize.Y/2)

    for _,p in pairs(Players:GetPlayers()) do
        if p ~= LocalPlayer and p.Character and p.Character:FindFirstChild("Head") then
            local hum = p.Character:FindFirstChildOfClass("Humanoid")
            if hum and hum.Health > 0 then
                if TeamCheck and p.Team == LocalPlayer.Team then continue end

                local pos, onScreen = Camera:WorldToScreenPoint(p.Character.Head.Position)
                if onScreen then
                    local mag = (center - Vector2.new(pos.X,pos.Y)).Magnitude
                    if mag < dist and IsVisible(p.Character.Head) then
                        dist = mag
                        closest = p
                    end
                end
            end
        end
    end
    return closest
end

--// Aimbot Loop
RunService.RenderStepped:Connect(function()
    FOVCircle.Position = Vector2.new(Camera.ViewportSize.X/2, Camera.ViewportSize.Y/2)
    FOVCircle.Radius = FOVRadius
    FOVCircle.Visible = AimbotEnabled

    if AimbotEnabled then
        local target = GetClosestPlayer()
        if target and target.Character and target.Character:FindFirstChild("Head") then
            Camera.CFrame = CFrame.new(Camera.CFrame.Position, target.Character.Head.Position)
        end
    end
end)

--// ESP UPDATE
local function UpdateESP()
    for _,p in pairs(Players:GetPlayers()) do
        if p ~= LocalPlayer and p.Character then
            local char = p.Character
            local head = char:FindFirstChild("Head")

            if EspEnabled and head then
                if TeamCheck and p.Team == LocalPlayer.Team then
                    if char:FindFirstChild("JANI_HL") then char.JANI_HL:Destroy() end
                    if head:FindFirstChild("JANI_NAME") then head.JANI_NAME:Destroy() end
                    continue
                end

                -- Highlight
                local hl = char:FindFirstChild("JANI_HL")
                if not hl then
                    hl = Instance.new("Highlight")
                    hl.Name = "JANI_HL"
                    hl.Parent = char
                end
                hl.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop
                hl.FillColor = Color3.fromRGB(255,0,0)
                hl.OutlineColor = Color3.fromRGB(0,0,0)
                hl.FillTransparency = 1
                hl.OutlineTransparency = 0

                -- Name ESP
                if not head:FindFirstChild("JANI_NAME") then
                    local bb = Instance.new("BillboardGui")
                    bb.Name = "JANI_NAME"
                    bb.Adornee = head
                    bb.Size = UDim2.new(0,200,0,40)
                    bb.StudsOffset = Vector3.new(0,3,0)
                    bb.AlwaysOnTop = true
                    bb.MaxDistance = 9999
                    bb.Parent = head

                    local txt = Instance.new("TextLabel")
                    txt.Size = UDim2.new(1,0,1,0)
                    txt.BackgroundTransparency = 1
                    txt.Text = p.Name
                    txt.TextColor3 = Color3.new(1,1,1)
                    txt.TextStrokeColor3 = Color3.new(0,0,0)
                    txt.TextStrokeTransparency = 0
                    txt.TextScaled = true
                    txt.Font = Enum.Font.GothamBold
                    txt.Parent = bb
                end
            else
                if char:FindFirstChild("JANI_HL") then char.JANI_HL:Destroy() end
                if head and head:FindFirstChild("JANI_NAME") then head.JANI_NAME:Destroy() end
            end
        end
    end
end

task.spawn(function()
    while task.wait(0.2) do
        UpdateESP()
    end
end)

--// UI
local Tab = Window:CreateTab("Main", 4483362458)

Tab:CreateToggle({
    Name = "Aimbot",
    CurrentValue = false,
    Callback = function(v) AimbotEnabled = v end
})

Tab:CreateSlider({
    Name = "FOV",
    Range = {50,800},
    Increment = 10,
    CurrentValue = 150,
    Callback = function(v) FOVRadius = v end
})

Tab:CreateToggle({
    Name = "ESP",
    CurrentValue = false,
    Callback = function(v) EspEnabled = v end
})

Tab:CreateToggle({
    Name = "Team Check",
    CurrentValue = false,
    Callback = function(v) TeamCheck = v end
})

Features & Information

Too lazy

Community Comments (1)

eyeyamgoatedeyeyamgoatedDec 31, 2025

feedback: aimbot doesn't work esp names too bag i cant see enemy

More Scripts for Universal Scripts