Functions: Silent aim

Installation guide:
Copy the script from the button below.
Run any Injector (We recommend KRNL Injector)
Install it, insert the script and click execute
Enjoy it)
Thank you for using our website
Your script:
local Players = game:GetService("Players")
local LocalPlayer = Players.LocalPlayer
local Camera = workspace.CurrentCamera
local Mouse = LocalPlayer:GetMouse()
local WorldToScreenPoint = Camera.WorldToScreenPoint
local GetPlayers = Players.GetPlayers
local FindFirstChild = game.FindFirstChild
local function GetOnScreenPosition(V3)
local Position, IsVisible = WorldToScreenPoint(Camera, V3)
return Vector2.new(Position.X, Position.Y), IsVisible
end
local function GetDirection(Origin, Position)
return (Position - Origin).Unit * (Origin - Position).Magnitude
end
local function GetMousePosition()
return Vector2.new(Mouse.X, Mouse.Y)
end
local function GetClosestPlayer()
local Closest, Distance = nil, 10000
for _, Player in next, GetPlayers(Players) do
if Player ~= LocalPlayer then
local Character = Player.Character
local Head = Character and FindFirstChild(Character, "Head")
local Humanoid = Character and FindFirstChild(Character, "Humanoid")
if Head and (Humanoid and Humanoid.Health > 0) then
local ScreenPos, IsVisible = GetOnScreenPosition(Head.Position)
if IsVisible then
local _Distance = (GetMousePosition() - ScreenPos).Magnitude
if _Distance <= Distance then
Closest = Head
Distance = _Distance
end
end
end
end
end
return Closest, Distance
end
local oldNamecall
oldNamecall = hookmetamethod(game, "__namecall", function(...)
local Method = getnamecallmethod()
local Arguments = {...}
if Arguments[1] == workspace and Method == "Raycast" then
if typeof(Arguments[#Arguments]) ~= "RaycastParams" then
return oldNamecall(...)
end
local HitPart = GetClosestPlayer()
if HitPart then
Arguments[3] = GetDirection(Arguments[2], HitPart.Position)
return oldNamecall(unpack(Arguments))
end
end
return oldNamecall(...)
end)