CMoveData
A class used to store the inputs from CUserCmd and other information related to the current movement simulation, such as velocity, position and so on.
This can only be accessed during GM:SetupMove , GM:Move , GM:PlayerTick and GM:FinishMove.
Methods
Angle CMoveData:GetMoveAngles()
Returns the angle the player is moving at. For more info, see CMoveData:SetMoveAngles.
Angle CMoveData:GetOldAngles()
Gets the aim angle. Only works clientside, server returns same as CMoveData:GetAngles.
number CMoveData:GetUpSpeed()
Returns the vertical speed of the player. ( Z axis of CMoveData:GetVelocity )
Vector CMoveData:GetVelocity()
Gets the players velocity.
This will return Vector(0,0,0) sometimes when walking on props.Issue Tracker: 3413
boolean CMoveData:KeyPressed( number key )
Returns whether the key was pressed. If you want to check if the key is held down, try CMoveData:KeyDown
boolean CMoveData:KeyWasDown( number key )
Returns whether the key was down or not.
Unlike CMoveData:KeyDown, it will return false if CMoveData:KeyPressed is true and it will return true if CMoveData:KeyReleased is true.
CMoveData:SetConstraintRadius( number radius )
Sets the radius that constrains the players movement.
It is unknown what this function does as changing its values doesn't affect player movement.
CMoveData:SetImpulseCommand( number impulse )
Sets the impulse command. This isn't actually utilised in the engine anywhere.
CMoveData:SetMaxClientSpeed( number maxSpeed )
Sets the maximum player speed. Player won't be able to run or sprint faster then this value.
This also automatically sets CMoveData:SetMaxSpeed when used in the GM:SetupMove hook. You must set it manually in the GM:Move hook.
This must be called on both client and server to avoid prediction errors.
This will not reduce speed in air.
Setting this to 0 will not make the player stationary. It won't do anything.
CMoveData:SetMaxSpeed( number maxSpeed )
Sets the maximum speed of the player. This must match with CMoveData:SetMaxClientSpeed both, on server and client.
Doesn't seem to be doing anything on it's own, use CMoveData:SetMaxClientSpeed instead.
CMoveData:SetMoveAngles( Angle dir )
Sets the serverside move angles, making the movement keys act as if player was facing that direction.
This does nothing clientside.Issue Tracker: 1181
CMoveData:SetOldButtons( number buttons )
Sets the 'old' pressed buttons on the move data. These buttons are used to work out which buttons have been released, which have just been pressed and which are being held down.
CMoveData:SetUpSpeed( number speed )
Sets vertical speed of the player. ( Z axis of CMoveData:SetVelocity )