Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- util.AddNetworkString("equip jetpack")
- util.AddNetworkString("unequip jetpack")
- hook.Add("PlayerDeath", "jetpackpara333", function(ply)
- ply.IsFalling = false
- net.Start("unequip jetpack")
- net.WriteEntity(ply)
- net.Broadcast()
- ply.IsEquiped = false
- ply.UsedPack = false
- ply:SetAllowFullRotation(false)
- end)
- hook.Add("PlayerShouldTakeDamage", "jetpackparfrra", function(ply, atk)
- if ply.IsFalling then
- if !(atk:IsPlayer()) or !(atk:IsNPC()) then
- return false
- end
- end
- end)
- hook.Add("Think", "jetpackpara", function()
- jpmodels = {"models/player/youre_welcome_love_delta/2nd_ac_visor.mdl", "models/player/nv_2ac/2nd_ac.mdl"}
- for _,ply in pairs(player.GetAll()) do
- if table.HasValue(jpmodels, ply:GetModel()) or ply.UsedPack == true then
- if !(ply.jpt) then ply.jpt = CurTime() end
- if ply.jpt < CurTime() then
- if !ply:IsOnGround() then
- local tracedata = {}
- tracedata.start = ply:GetPos()
- tracedata.endpos = ply:GetPos() + ply:GetUp() * -999999999
- tracedata.filter = {ents.GetAll()}
- local trace = util.TraceLine(tracedata)
- if trace.Hit then
- local pos = ply:GetPos()
- local tpos = trace.HitPos
- local dis = pos.z - tpos.z
- if dis > 500 then
- ply.IsFalling = true
- end
- end
- end
- ply.jpt = CurTime() + 1
- end
- if ply.IsFalling then
- if !ply.IsEquiped then
- net.Start("equip jetpack")
- net.WriteEntity(ply)
- net.Broadcast()
- ply.IsEquiped = true
- ply:SetAllowFullRotation(true)
- end
- if ply:IsOnGround() then
- ply.IsFalling = false
- net.Start("unequip jetpack")
- net.WriteEntity(ply)
- net.Broadcast()
- ply.IsEquiped = false
- ply.UsedPack = false
- ply:SetAllowFullRotation(false)
- else
- local tracedata = {}
- tracedata.start = ply:GetPos()
- tracedata.endpos = ply:GetPos() + ply:GetUp() * -999999999
- tracedata.filter = ply
- local trace = util.TraceLine(tracedata)
- if trace.Hit then
- local pos = ply:GetPos()
- local tpos = trace.HitPos
- local dis = pos.z - tpos.z
- dis = math.Round(dis)
- local vel = ply:GetVelocity()
- local bar = math.Clamp(55-dis, -300, 0)
- local vec = Vector(0, 0, vel.z*(-1))
- if bar > -300 then
- ply:SetVelocity(vec)
- end
- ply:SetVelocity((ply:GetForward()*15))
- end
- end
- end
- end
- end
- end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement