Advertisement
Guest User

Untitled

a guest
Feb 18th, 2019
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.43 KB | None | 0 0
  1. local Players = game:GetService'Players';
  2. local LocalPlayer = Players.LocalPlayer;
  3. local Camera = workspace.CurrentCamera;
  4. local Dot = Vector3.new().Dot;
  5. local Networks = {};
  6.  
  7. for i, v in pairs(debug.getregistry()) do
  8. if typeof(v) == 'function' and islclosure(v) then
  9. local ups = debug.getupvalues(v);
  10. if ups.NWModule and ups.NWModule.FireServer then
  11. Networks[#Networks + 1] = ups.NWModule;
  12. end
  13. end
  14. end
  15.  
  16. local Net = Networks[1];
  17.  
  18. assert(#Networks ~= 0, 'No Network');
  19.  
  20. function SameTeam(P1, P2)
  21. if P1 == P2 then
  22. return false
  23. end
  24. if P1.Neutral or P2.Neutral then
  25. return false
  26. elseif P1.TeamColor == P2.TeamColor then
  27. return true
  28. end
  29. return false
  30. end
  31.  
  32. function GetPlayerClosestToMouse()
  33. local Highest = {0, nil};
  34.  
  35. for i, v in pairs(Players:GetPlayers()) do
  36. local Player = v;
  37. local Character = Player.Character;
  38. if Player ~= LocalPlayer and not SameTeam(Player, LocalPlayer) and Character then
  39. local Head = Character:FindFirstChild'Head';
  40. if Head then
  41. local Direction = Camera.CFrame.lookVector.unit;
  42. local Relative = Player.Character.Head.Position - Camera.CFrame.p;
  43. local Unit = Relative.unit;
  44.  
  45. local DP = Dot(Direction, Unit);
  46. if DP > Highest[1] then
  47. Highest = {DP, Player};
  48. end
  49. end
  50. end
  51. end
  52.  
  53. return Highest[2];
  54. end
  55.  
  56. local Active = true;
  57. local Rand = Random.new();
  58.  
  59. for i, v in pairs(Networks) do
  60. shared['oFireServer' .. tostring(v)] = shared['oFireServer' .. tostring(v)] or v.FireServer;
  61. v.FireServer = function(...)
  62. local Arguments = {...};
  63.  
  64. if Active and Arguments[2] == 'Damage' and typeof(Arguments[3]) == 'Instance' and Arguments[3]:IsA'ValueBase' then
  65. return true;
  66. end
  67.  
  68. return shared['oFireServer' .. tostring(v)](...);
  69. end
  70. end
  71.  
  72. game:GetService'UserInputService'.InputEnded:connect(function(Input)
  73. if Input.UserInputType == Enum.UserInputType.Keyboard and Input.KeyCode == Enum.KeyCode.F3 then
  74. Active = not Active;
  75. elseif Active and Input.UserInputType == Enum.UserInputType.MouseButton1 then
  76. spawn(function()
  77. wait(.05);
  78. local Player = GetPlayerClosestToMouse();
  79. if Player then
  80. local Character = Player.Character;
  81. if Character then
  82. local Humanoid = Character:FindFirstChildOfClass'Humanoid';
  83. local Head = Character:FindFirstChild'Head';
  84. if Humanoid and Humanoid.Health > 0 and Head then
  85. Net:FireServer('Damage', Humanoid, Head, Head.Position, Head.Position + Vector3.new(Rand:NextNumber() / 10, .25 + (Rand:NextNumber() / 10), Rand:NextNumber() / 10))
  86. end
  87. end
  88. end
  89. end);
  90. end
  91. end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement