Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local Players = game:GetService("Players")
- local ReplicatedFirst = game:GetService("ReplicatedFirst")
- local RunService = game:GetService("RunService")
- local LocalPlayer = Players.LocalPlayer
- local ClientModules = ReplicatedFirst.ClientModules
- local Old = ClientModules.Old
- local framework = Old.framework
- local network = require(framework.network)
- local getbodyparts = coroutine.wrap(function(...)
- for _, Value in ipairs(getgc(false)) do
- if debug.getinfo(Value).name == "getbodyparts" then
- return Value
- end
- end
- end)()
- local GetClosestEnemyPlayer = function(Range, ...)
- local Player = nil
- for _, Value in ipairs(Players:GetPlayers()) do
- if Value ~= LocalPlayer and Value.Team ~= LocalPlayer.Team and LocalPlayer.Character then
- local BodyParts = getbodyparts(Value)
- if BodyParts then
- local Magnitude = math.floor((BodyParts.head.Position - LocalPlayer.Character.Head.Position).Magnitude)
- if Magnitude <= Range then
- Player = Value
- Range = Magnitude
- end
- end
- end
- end
- return Player
- end
- local Old = network.send
- network.send = function(Self, Name, ...)
- local Arguments = {...}
- if Name == "newgrenade" then
- local ClosestEnemyPlayer = GetClosestEnemyPlayer(math.huge)
- if ClosestEnemyPlayer then
- for Index, Value in ipairs(Arguments[2].frames) do
- if Index ~= 1 then
- Value.p0 = getbodyparts(ClosestEnemyPlayer).head.Position + getbodyparts(ClosestEnemyPlayer).rootpart.Velocity
- end
- end
- Arguments[2].blowuptime = 0
- return Old(Self, Name, unpack(Arguments))
- end
- end
- return Old(Self, Name, unpack(Arguments))
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement