www.roblox-scripter.com

Aimblox script – (Silent Aim)

Functions: Silent aim

Script developer: topit#4057
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)