Garry's Mod Wiki

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.


void CMoveData:AddKey( number keys )

Adds keys to the move data, as if player pressed them.

Angle CMoveData:GetAbsMoveAngles()

Gets the aim angle. Seems to be same as CMoveData:GetAngles.

Angle CMoveData:GetAngles()

Gets the aim angle. On client is the same as Entity:GetAngles.

number CMoveData:GetButtons()

Gets which buttons are down

number CMoveData:GetConstraintRadius()

Returns the radius that constrains the players movement.

number CMoveData:GetForwardSpeed()

Returns the players forward speed.

number CMoveData:GetImpulseCommand()

Gets the number passed to "impulse" console command

number CMoveData:GetMaxClientSpeed()

Returns the maximum client speed of the player

number CMoveData:GetMaxSpeed()

Returns the maximum speed of the player.

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:GetOldButtons()

Get which buttons were down last frame

Vector CMoveData:GetOrigin()

Gets the player's position.

number CMoveData:GetSideSpeed()

Returns the strafe speed of the player.

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.
boolean CMoveData:KeyDown( number key )

Returns whether the key is down or not

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:KeyReleased( number key )

Returns whether the key was released

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.

void CMoveData:SetAbsMoveAngles( Angle ang )

Sets absolute move angles.( ? ) Doesn't seem to do anything.

void CMoveData:SetAngles( Angle ang )

Sets angles.

This function does nothing.
void CMoveData:SetButtons( number buttons )

Sets the pressed buttons on the move data

void 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.

void CMoveData:SetForwardSpeed( number speed )

Sets players forward speed.

void CMoveData:SetImpulseCommand( number impulse )

Sets the impulse command. This isn't actually utilised in the engine anywhere.

void 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.
void 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.

void 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.
void CMoveData:SetOldAngles( Angle aimAng )

Sets old aim angles. ( ? ) Doesn't seem to be doing anything.

void 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.

void CMoveData:SetOrigin( Vector pos )

Sets the players position.

void CMoveData:SetSideSpeed( number speed )

Sets players strafe speed.

void CMoveData:SetUpSpeed( number speed )

Sets vertical speed of the player. ( Z axis of CMoveData:SetVelocity )

void CMoveData:SetVelocity( Vector velocity )

Sets the player's velocity

Page Links

Special Pages



Render Time: 31ms

Session 0
DB GetPage 2
Generate Html 9
SaveChanges 12
Render Body 0
Render Sidebar 6