So basically on the server the air strafe is messed up. On deathrun when you ‘circle jump’ to fool the death it just doesn’t work. You jump, turn, but when you turn you don’t go forward to where you started, you just stop.
Anyone know how to fix this?
sv_airaccelerate 1000
And before one of you smartasses tell me there’s no difference above 150/300/750 AA, you need to learn to strafe.
sv_airaccelerate 150 is all you need. Seriously, anything above that is just unnecessary. Besides, the higher the air acceleration, the easier it is, so I think you are the one who needs to learn how to strafe.
EDIT:
Here is some code from the STBase gamemode. Credits to Azuisleet for this section.
---------------------------------------
---------------------------------------
-- Azuisleet -> sv_airaccelerate
function GM:AirAccelerate(Move, current, wishdir, wishspeed, accel)
local wishspd = wishspeed
wishspd = math.Clamp(wishspd, 0, 30)
local addspeed = wishspd - current
if(addspeed <= 0) then
return
end
local accelspeed = accel * wishspeed * FrameTime()
if(accelspeed > addspeed) then
accelspeed = addspeed
end
Move:SetVelocity(Move:GetVelocity() + (wishdir * accelspeed))
end
---------------------------------------
function GM:Move(ply, Move)
if(SERVER) then
self:AFKCommand(ply)
end
local aim = Move:GetMoveAngles()
local forward, right = aim:Forward(), aim:Right()
local fmove = Move:GetForwardSpeed()
local smove = Move:GetSideSpeed()
forward.z, right.z = 0,0
forward:Normalize()
right:Normalize()
local wishvel = forward * fmove + right * smove
wishvel.z = 0
local wishspeed = wishvel:Length()
if(wishspeed > Move:GetMaxSpeed()) then
wishvel = wishvel * (Move:GetMaxSpeed()/wishspeed)
wishspeed = Move:GetMaxSpeed()
end
local wishdir = wishvel:GetNormal()
local current = Move:GetVelocity():Dot(wishdir)
if(ply:IsOnGround()) then
if(self.svAccelerate != 0) then
self:Accelerate(Move, current, wishdir, wishspeed, self.svAccelerate)
end
-- if(self.SlowJumpLanding) then
-- if(ply.WasInAir) then
-- if(ply.WasInAir >= CurTime()) then
-- Move:SetVelocity(Move:GetVelocity() * 0.5)
-- else
-- ply.WasInAir = nil
-- end
-- end
-- end
else
if(self.svAirAccelerate != 0) then
self:AirAccelerate(Move, current, wishdir, wishspeed, self.svAirAccelerate)
end
-- if(self.SlowJumpLanding) then
-- ply.WasInAir = CurTime() + 0.6
-- end
end
if(self.OnMove) then
self:OnMove(ply, Move)
end
end
The point with 1000 AA is that you have complete control while in the air, which is great for deathrun.