Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local ticksOnGround, onGround, inAir = {}, {}, {}
- hook.Add("Move", "surf.FixAutohop", function(ply, data)
- if not IsFirstTimePredicted() then return end
- if ply:IsOnGround() then
- if ticksOnGround[ply] then
- if ticksOnGround[ply] > 12 then
- if not onGround[ply] then
- ply:SetDuckSpeed(0.4)
- ply:SetUnDuckSpeed(0.2)
- onGround[ply] = true
- end
- else
- ticksOnGround[ply] = ticksOnGround[ply] + 1
- if ticksOnGround[ply] == 1 then
- inAir[ply] = nil
- elseif ticksOnGround[ply] > 1 and data:KeyDown(IN_JUMP) then
- local vel = data:GetVelocity()
- vel.z = ply:GetJumpPower()
- ply:SetDuckSpeed(0)
- ply:SetUnDuckSpeed(0)
- ticksOnGround[ply] = 0
- data:SetVelocity(vel)
- end
- end
- else
- ticksOnGround[ply] = 0
- end
- elseif not inAir[ply] then
- ticksOnGround[ply] = 0
- onGround[ply] = nil
- inAir[ply] = true
- ply:SetDuckSpeed(0)
- ply:SetUnDuckSpeed(0)
- end
- end)
- hook.Add("PlayerDisconnect", "surf.RemoveFixAutohop", function(ply)
- ticksOnGround[ply] = nil
- onGround[ply] = nil
- inAir[ply] = nil
- end)
Advertisement
Add Comment
Please, Sign In to add comment