local function ClosestPlayer() local Target local MaxDistance = math.huge for i,v in pairs(game.Players.GetPlayers(game.Players)) do if v.Character then if v.Character.FindFirstChild(v.Character, 'Humanoid') and v.Character.Humanoid.Health >= 1 and v.Team ~= game.Players.LocalPlayer.Team then local Magnitude = (game.Players.LocalPlayer.Character.HumanoidRootPart.Position - v.Character.HumanoidRootPart.Position).Magnitude if Magnitude < MaxDistance then MaxDistance = Magnitude Target = v end end end end return Target end local mt = getrawmetatable(game) local old = mt.__namecall setreadonly(mt, false) mt.__namecall = newcclosure(function(remote, ...) local args = {...} local method = getnamecallmethod() if remote.Name == 'Fire' and tostring(method) == 'FireServer' then args[1] = ClosestPlayer().Character.Head.Position args[9] = ClosestPlayer().Character.Head return remote.FireServer(remote, unpack(args)) end return old(remote, ...) end) setreadonly(mt, true)