ADVERTISEMENTREMOVE ADS
Ts is blatant asf
48,084 views
Description
Just spam shoot its not that hard
ADVERTISEMENTREMOVE ADS
57 Lines • 1.75 KiB
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)
ADVERTISEMENTREMOVE ADS
ADVERTISEMENTREMOVE ADS






Comments
it works but it locks on random people :/