local plrs = game:GetService("Players") local uis = game:GetService("UserInputService") local rs = game:GetService("RunService") local lp = plrs.LocalPlayer local cam = workspace.CurrentCamera local rad = 150 local tgt = nil local function circle(t, c) local d = Drawing.new("Circle") d.Thickness = t; d.NumSides = 64; d.Radius = rad d.Color = c; d.Filled = false; d.Visible = true; d.Transparency = 1 return d end local function line(t, c) local d = Drawing.new("Line") d.Thickness = t; d.Color = c; d.Visible = false; d.Transparency = 1 return d end local ol = circle(3, Color3.new(0, 0, 0)) local il = circle(1, Color3.new(1, 1, 1)) local sol = line(3, Color3.new(0, 0, 0)) local sil = line(1, Color3.new(1, 1, 1)) local function closest() local best, bestd = nil, rad local m = uis:GetMouseLocation() local c = Vector2.new(m.X, m.Y) for _, v in plrs:GetPlayers() do if v == lp then continue end local ch = v.Character if not ch then continue end local h, hm = ch:FindFirstChild("Head"), ch:FindFirstChildOfClass("Humanoid") if not h or not hm or hm.Health <= 0 then continue end if lp.Team and v.Team and lp.Team == v.Team then continue end local p, vis = cam:WorldToViewportPoint(h.Position) if not vis then continue end local d = (Vector2.new(p.X, p.Y) - c).Magnitude if d < bestd then bestd = d; best = h end end return best end local old old = hookmetamethod(game, "__namecall", newcclosure(function(self, ...) if self == workspace and getnamecallmethod() == "Raycast" then local a = {...} if typeof(a[2]) == "Vector3" and a[2].Magnitude > 900 and tgt and tgt.Parent then return old(self, a[1], (tgt.Position - a[1]).Unit * a[2].Magnitude, a[3]) end end return old(self, ...) end)) rs.RenderStepped:Connect(function() cam = workspace.CurrentCamera local m = uis:GetMouseLocation() local c = Vector2.new(m.X, m.Y) ol.Position = c il.Position = c tgt = closest() if tgt and tgt.Parent then local p = cam:WorldToViewportPoint(tgt.Position) local tp = Vector2.new(p.X, p.Y) sol.From = c; sol.To = tp; sol.Visible = true sil.From = c; sil.To = tp; sil.Visible = true else sol.Visible = false sil.Visible = false end end)