humanized aimbot
Key RequiredUniversal

humanized aimbot

Universal ScriptVirspoVirspo 531 views 127 executesUpdated Feb 21, 2026
0.0/ 5(1 votes)
010% Positive
Lua Script•121 lines (4867 chars)
for _,o in workspace:GetDescendants() do if o:IsA("BillboardGui") and o.Name=="AimbotESP" then o:Destroy() end end
for _,d in pairs(_G.__esps or {}) do if d.conn then d.conn:Disconnect() end end
_G.__esps = {}

_G.Aimbot = {
    Enabled=true, FOV=150, SmoothSpeed=0.12,
    MicroOrbit=0.001, OrbitSpeed=0.001, HumanWobble=0.001,
    WallCheck=false,
    ColorIdle=Color3.fromRGB(220,220,220),
    ColorNoTarget=Color3.fromRGB(255,0,0),
    ColorLocked=Color3.fromRGB(0,255,0),
    ESP_Thickness=2.2, ESP_TransIdle=0.45, ESP_TransAim=0.15,
    ESP_Size=UDim2.new(1.6,0,1.6,0), ESP_Offset=Vector3.new(0,3.4,0)
}

local P=game.Players; local RS=game:GetService"RunService"
local UIS=game:GetService"UserInputService"; local C=workspace.CurrentCamera
local LP=P.LocalPlayer; local M=LP:GetMouse()

local f=Drawing.new"Circle"
f.Thickness=1; f.NumSides=64; f.Filled=false
f.Transparency=0.75; f.Visible=true

local ox,oy=0,0; local t=0; local lw=0; local aim=false; local es=_G.__esps or {}

local function cr(p)
    if p==LP or es[p] then return end
    task.spawn(function()
        local ch=p.Character or p.CharacterAdded:Wait()
        local hd=ch:WaitForChild("Head",8) if not hd then return end
        local bb=Instance.new("BillboardGui",hd)
        bb.Name="AimbotESP"
        bb.Adornee=hd; bb.Size=_G.Aimbot.ESP_Size; bb.StudsOffset=_G.Aimbot.ESP_Offset
        bb.AlwaysOnTop=true; bb.LightInfluence=0; bb.MaxDistance=450; bb.ResetOnSpawn=false
        local fr=Instance.new("Frame",bb); fr.Size=UDim2.new(1,0,1,0); fr.BackgroundTransparency=1
        local st=Instance.new("UIStroke",fr)
        st.Thickness=_G.Aimbot.ESP_Thickness; st.Transparency=_G.Aimbot.ESP_TransIdle
        st.ApplyStrokeMode=Enum.ApplyStrokeMode.Border; st.LineJoinMode=Enum.LineJoinMode.Round
        st.Color=_G.Aimbot.ColorIdle
        local cn=p.CharacterRemoving:Connect(function()
            if es[p] then es[p].bb:Destroy(); es[p]=nil end
        end)
        es[p]={bb=bb,s=st,conn=cn}
    end)
end

for _,p in P:GetPlayers() do cr(p) end
P.PlayerAdded:Connect(cr)

local function ht()
    local ts=game:FindFirstChild"Teams" if not ts then return false end
    for _,tm in ts:GetChildren() do
        if tm:IsA"Team" and (tm.AutoAssignable or #tm:GetPlayers()>0) then return true end
    end
    return false
end
_G.shouldCheckTeams=ht()

local rc
if rc then rc:Disconnect() end
rc=RS.RenderStepped:Connect(function(dt)
    local c=_G.Aimbot; t+=dt
    f.Position=Vector2.new(M.X,M.Y+36); f.Radius=c.FOV
    if not c.Enabled then f.Visible=false; ox*=0.84; oy*=0.84; return end
    f.Visible=true; local col=c.ColorIdle; local tg,td,lk=nil,c.FOV+1,nil
    if aim then
        for _,p in P:GetPlayers() do
            if p==LP or not p.Character then continue end
            local h=p.Character:FindFirstChild"Head" if not h then continue end
            if _G.shouldCheckTeams and p.Team==LP.Team then continue end
            local sp,v=C:WorldToViewportPoint(h.Position) if not v then continue end
            local d=(Vector2.new(sp.X,sp.Y)-Vector2.new(M.X,M.Y+36)).Magnitude
            if d>=td then continue end
            if c.WallCheck then
                local r=Ray.new(C.CFrame.Position,(h.Position-C.CFrame.Position).Unit*700)
                local hit=workspace:FindPartOnRayWithIgnoreList(r,{LP.Character or {}})[1]
                if hit and not hit:IsDescendantOf(p.Character) then continue end
            end
            tg=Vector2.new(sp.X,sp.Y); td=d; lk=p
        end
        if tg then
            col=c.ColorLocked
            local tx=tg.X-M.X; local ty=tg.Y-(M.Y+36)
            ox+=(tx-ox)*c.SmoothSpeed; oy+=(ty-oy)*c.SmoothSpeed
            local a=t*c.OrbitSpeed
            local oxb=math.cos(a)*c.MicroOrbit; local oyb=math.sin(a)*c.MicroOrbit*0.8
            local wx,wy=0,0
            if t-lw>0.18+math.random()*0.35 then
                wx=(math.random()-0.5)*c.HumanWobble*2.2
                wy=(math.random()-0.5)*c.HumanWobble*2.2; lw=t
            end
            mousemoverel(ox+oxb+wx, oy+oyb+wy)
        else
            col=c.ColorNoTarget; ox*=0.81; oy*=0.81
        end
    else
        ox*=0.84; oy*=0.84
    end
    f.Color=col
    for p,e in pairs(es) do
        if e and e.s then
            if aim and p==lk and tg then
                e.s.Color=c.ColorLocked; e.s.Transparency=c.ESP_TransAim
            elseif aim then
                e.s.Color=c.ColorNoTarget; e.s.Transparency=c.ESP_TransAim
            else
                e.s.Color=c.ColorIdle; e.s.Transparency=c.ESP_TransIdle
            end
        end
    end
end)

UIS.InputBegan:Connect(function(i,g) if g then return end
    if i.UserInputType==Enum.UserInputType.MouseButton2 then aim=true end
end)

UIS.InputEnded:Connect(function(i,g) if g then return end
    if i.UserInputType==Enum.UserInputType.MouseButton2 then aim=false end
end)

_G.__esps = es

Features & Information

well says what the script title says. has free esp built you can do whatever with it i dont care feel, whether making a gui with it or something i guess

Community Comments (2)

DantehDantehFeb 21, 2026

is different, this destroy your AIM

Replying to @Danteh
VirspoVirspoFeb 22, 2026(edited)

@Sirfloppa its good if u use it right, keep all of the settings the same but smoothspeed to 0.4, see how ti goes

More Scripts for Universal Scripts