local Players = game:GetService("Players") local RunService = game:GetService("RunService") local UserInputService = game:GetService("UserInputService") local WorkspaceService = game:GetService("Workspace") local LocalPlayer = Players.LocalPlayer local SilentAimEnabled = true local HeadChance = 10 local FOVRadius = 250 local NonHeadParts = {"Torso", "HumanoidRootPart", "UpperTorso", "LowerTorso", "Left Arm", "Right Arm", "Left Leg", "Right Leg", "LeftUpperArm", "RightUpperArm", "LeftUpperLeg", "RightUpperLeg"} local InSilentAim = false local FOVCircle = Drawing.new("Circle") FOVCircle.Thickness = 1 FOVCircle.NumSides = 64 FOVCircle.Filled = false FOVCircle.Transparency = 0.8 FOVCircle.Color = Color3.fromRGB(240, 60, 60) FOVCircle.Radius = FOVRadius FOVCircle.Visible = true local TargetDot = Drawing.new("Circle") TargetDot.Thickness = 1 TargetDot.NumSides = 16 TargetDot.Filled = true TargetDot.Radius = 4 TargetDot.Color = Color3.fromRGB(240, 60, 60) TargetDot.Visible = false local function IsAlive(Character) if not Character or not Character:IsDescendantOf(WorkspaceService) then return false end local Humanoid = Character:FindFirstChildOfClass("Humanoid") if not Humanoid or Humanoid.Health <= 0 then return false end if Humanoid:GetAttribute("Dead") then return false end if Character:GetAttribute("Safe") then return false end return true end local function GetTargetPart(Character) if math.random(1, 100) <= HeadChance then local Head = Character:FindFirstChild("Head") if Head then return Head end end local Shuffled = table.clone(NonHeadParts) for I = #Shuffled, 2, -1 do local J = math.random(1, I) Shuffled[I], Shuffled[J] = Shuffled[J], Shuffled[I] end for I = 1, #Shuffled do local Part = Character:FindFirstChild(Shuffled[I]) if Part then return Part end end return Character:FindFirstChild("Head") end local VisibilityParams = RaycastParams.new() VisibilityParams.FilterType = Enum.RaycastFilterType.Exclude VisibilityParams.CollisionGroup = "WeaponDetection" local function IsVisible(TargetPart, TargetCharacter) local MyCharacter = LocalPlayer.Character if not MyCharacter then return false end local Root = MyCharacter:FindFirstChild("HumanoidRootPart") or MyCharacter:FindFirstChild("Torso") if not Root then return false end local Origin = Root.Position local Direction = TargetPart.Position - Origin VisibilityParams.FilterDescendantsInstances = {MyCharacter} local Result = WorkspaceService:Raycast(Origin, Direction, VisibilityParams) if not Result then return true end return Result.Instance:IsDescendantOf(TargetCharacter) end local function GetNearestTarget() local Camera = WorkspaceService.CurrentCamera if not Camera then return nil, nil end local MouseLocation = UserInputService:GetMouseLocation() local BestDistance = math.huge local BestPart = nil local CharactersFolder = WorkspaceService:FindFirstChild("Characters") if not CharactersFolder then return nil, nil end local AllCharacters = CharactersFolder:GetChildren() for I = 1, #AllCharacters do local Character = AllCharacters[I] if Character ~= LocalPlayer.Character and IsAlive(Character) then local Head = Character:FindFirstChild("Head") if Head then local ScreenPos, OnScreen = Camera:WorldToViewportPoint(Head.Position) if OnScreen then local ScreenDist = (Vector2.new(ScreenPos.X, ScreenPos.Y) - MouseLocation).Magnitude if ScreenDist < FOVRadius and ScreenDist < BestDistance then if IsVisible(Head, Character) then BestDistance = ScreenDist BestPart = GetTargetPart(Character) end end end end end end return BestPart end local OldNamecall OldNamecall = hookmetamethod(game, "__namecall", newcclosure(function(Self, ...) local Method = getnamecallmethod() if SilentAimEnabled and not InSilentAim and Method == "Raycast" and Self == WorkspaceService then local Origin, Direction, RayParams = ... if typeof(Origin) == "Vector3" and typeof(Direction) == "Vector3" and Direction.Magnitude > 10 then local MyCharacter = LocalPlayer.Character if MyCharacter then local Root = MyCharacter:FindFirstChild("HumanoidRootPart") or MyCharacter:FindFirstChild("Torso") if Root and (Origin - Root.Position).Magnitude < 15 then InSilentAim = true local TargetPart = GetNearestTarget() InSilentAim = false if TargetPart then local NewDirection = (TargetPart.Position - Origin).Unit * Direction.Magnitude setnamecallmethod(Method) return OldNamecall(Self, Origin, NewDirection, RayParams) end end end end end setnamecallmethod(Method) return OldNamecall(Self, ...) end)) UserInputService.InputBegan:Connect(function(Input, Processed) if Processed then return end if Input.KeyCode == Enum.KeyCode.P then SilentAimEnabled = not SilentAimEnabled end end) RunService.RenderStepped:Connect(function() local Camera = WorkspaceService.CurrentCamera if not Camera then FOVCircle.Visible = false TargetDot.Visible = false return end local MousePos = UserInputService:GetMouseLocation() FOVCircle.Position = MousePos FOVCircle.Radius = FOVRadius FOVCircle.Visible = SilentAimEnabled if not SilentAimEnabled then TargetDot.Visible = false return end local Part = GetNearestTarget() if Part then local ScreenPos, OnScreen = Camera:WorldToViewportPoint(Part.Position) if OnScreen then TargetDot.Position = Vector2.new(ScreenPos.X, ScreenPos.Y) TargetDot.Visible = true return end end TargetDot.Visible = false end)