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