Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local localPlayer = game:GetService("Players").LocalPlayer
- local function getClosestPlayer()
- local closestPlayer = nil
- local shortestDistance = math.huge
- for i, v in pairs(game:GetService("Workspace").enemies:GetChildren()) do
- if v:FindFirstChild("Humanoid") and v.Humanoid.Health ~= 0 and v:FindFirstChild("HumanoidRootPart") and v:FindFirstChild("Head") then
- local magnitude = (v.HumanoidRootPart.Position - localPlayer.Character.HumanoidRootPart.Position).magnitude
- if magnitude < shortestDistance then
- closestPlayer = v
- shortestDistance = magnitude
- end
- end
- end
- return closestPlayer
- end
- local mt = getrawmetatable(game)
- local oldNamecall = mt.__namecall
- if setreadonly then setreadonly(mt, false) else make_writeable(mt, true) end
- local namecallMethod = getnamecallmethod or get_namecall_method
- local newClose = newcclosure or function(f) return f end
- mt.__namecall = newClose(function(...)
- local method = namecallMethod()
- local args = {...}
- if tostring(method) == "FireServer" and tostring(args[1]) == "Gun" and getClosestPlayer() then
- args[2]["Hit"] = getClosestPlayer().Head
- args[2]["Pos"] = getClosestPlayer().Head.Position
- return oldNamecall(unpack(args))
- end
- return oldNamecall(...)
- end)
- if setreadonly then setreadonly(mt, true) else make_writeable(mt, false) end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement