Roblox Script - Aimblox BETA [Silent Aim | Open Source]



Features:
  • Silent Aim
  • Open Source


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)
Previous Post Next Post