Advertisement
Guest User

Untitled

a guest
Jul 25th, 2017
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.41 KB | None | 0 0
  1.  
  2. util.AddNetworkString("equip jetpack")
  3. util.AddNetworkString("unequip jetpack")
  4.  
  5.  
  6.  
  7. hook.Add("PlayerDeath", "jetpackpara333", function(ply)
  8. ply.IsFalling = false
  9. net.Start("unequip jetpack")
  10. net.WriteEntity(ply)
  11. net.Broadcast()
  12. ply.IsEquiped = false
  13. ply.UsedPack = false
  14. ply:SetAllowFullRotation(false)
  15. end)
  16. hook.Add("PlayerShouldTakeDamage", "jetpackparfrra", function(ply, atk)
  17. if ply.IsFalling then
  18. if !(atk:IsPlayer()) or !(atk:IsNPC()) then
  19. return false
  20. end
  21. end
  22. end)
  23. hook.Add("Think", "jetpackpara", function()
  24. jpmodels = {"models/player/youre_welcome_love_delta/2nd_ac_visor.mdl", "models/player/nv_2ac/2nd_ac.mdl"}
  25. for _,ply in pairs(player.GetAll()) do
  26. if table.HasValue(jpmodels, ply:GetModel()) or ply.UsedPack == true then
  27. if !(ply.jpt) then ply.jpt = CurTime() end
  28. if ply.jpt < CurTime() then
  29. if !ply:IsOnGround() then
  30. local tracedata = {}
  31. tracedata.start = ply:GetPos()
  32. tracedata.endpos = ply:GetPos() + ply:GetUp() * -999999999
  33. tracedata.filter = {ents.GetAll()}
  34. local trace = util.TraceLine(tracedata)
  35. if trace.Hit then
  36. local pos = ply:GetPos()
  37. local tpos = trace.HitPos
  38. local dis = pos.z - tpos.z
  39. if dis > 500 then
  40. ply.IsFalling = true
  41. end
  42. end
  43. end
  44. ply.jpt = CurTime() + 1
  45. end
  46.  
  47.  
  48.  
  49.  
  50. if ply.IsFalling then
  51. if !ply.IsEquiped then
  52. net.Start("equip jetpack")
  53. net.WriteEntity(ply)
  54. net.Broadcast()
  55. ply.IsEquiped = true
  56. ply:SetAllowFullRotation(true)
  57. end
  58. if ply:IsOnGround() then
  59. ply.IsFalling = false
  60. net.Start("unequip jetpack")
  61. net.WriteEntity(ply)
  62. net.Broadcast()
  63. ply.IsEquiped = false
  64. ply.UsedPack = false
  65. ply:SetAllowFullRotation(false)
  66. else
  67. local tracedata = {}
  68. tracedata.start = ply:GetPos()
  69. tracedata.endpos = ply:GetPos() + ply:GetUp() * -999999999
  70. tracedata.filter = ply
  71. local trace = util.TraceLine(tracedata)
  72. if trace.Hit then
  73. local pos = ply:GetPos()
  74. local tpos = trace.HitPos
  75. local dis = pos.z - tpos.z
  76. dis = math.Round(dis)
  77. local vel = ply:GetVelocity()
  78. local bar = math.Clamp(55-dis, -300, 0)
  79. local vec = Vector(0, 0, vel.z*(-1))
  80. if bar > -300 then
  81. ply:SetVelocity(vec)
  82. end
  83. ply:SetVelocity((ply:GetForward()*15))
  84. end
  85. end
  86. end
  87. end
  88. end
  89. end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement