Advertisement
Guest User

Untitled

a guest
Jan 20th, 2017
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.62 KB | None | 0 0
  1. wait(1)
  2. local plr = game.Players.LocalPlayer
  3. local vm = plr.Character.Torso
  4.  
  5. local function shoot(viewModel, position, lPlr)
  6. -- viemodel is the viewmodel, position is the point you want to shoot at
  7. local rocketSettings = {
  8. speed = 40;
  9. size = Vector3.new(1,1,2);
  10. radius = 5;
  11. mesh = nil;
  12. }
  13. local rocket = Instance.new((rocketSettings.mesh and "MeshPart") or "Part", workspace)
  14. rocket.CFrame = CFrame.new((viewModel.CFrame + viewModel.CFrame.lookVector*5).p, position)
  15. rocket.CanCollide = false
  16. rocket.Anchored = false
  17. rocket.Size = rocketSettings.size
  18. local bodyVelocity = Instance.new("BodyVelocity", rocket)
  19. local dir = (position - (viewModel.CFrame + viewModel.CFrame.lookVector*5).p).unit
  20.  
  21. bodyVelocity.Velocity = dir*rocketSettings.speed
  22. bodyVelocity.MaxForce = Vector3.new(math.huge, math.huge, math.huge)
  23. rocket.Touched:connect(function(obj)
  24. if obj and obj.Parent and game.Players:GetPlayerFromCharacter(obj.Parent) then
  25. local ePlr = game.Players:GetPlayerFromCharacter(obj.Parent)
  26. if (ePlr ~= lPlr) then ePlr.Character.Humanoid:TakeDamage(100) end
  27. end
  28.  
  29. for k, plr in pairs(game.Players:GetPlayers()) do
  30. local char = plr.Character
  31. local hum = char and char.Humanoid
  32. if not char or not hum then return end
  33. local dist = math.ceil((rocket.Position - char.Torso.Position).magnitude)
  34. if dist <= rocketSettings.radius then
  35. local t = dist/(rocketSettings.radius)
  36. print(dist)
  37. hum:TakeDamage(100*0.8*t)
  38. end
  39. end
  40. rocket:Destroy()
  41. end)
  42. end
  43.  
  44. plr:GetMouse().Button1Down:connect(function()
  45. shoot(vm, plr:GetMouse().Hit.p, plr)
  46. end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement