usercmd

The input the player gives to the game for a frame.

One packet can contain multiple usercmd's. Each representing input for a frame. Example Calculation:

Suppose you have set cl_maxpackets to 30. This means per second, 30 packets are being sent to the server. In other words every 33ms.

If your fps were also set to 30fps that means 1 usercmd is being sent per packet. Likewise 60fps would send 2 usercmd's per packet and so on.

Available Properties

  • serverTime

  • buttons

  • weapon

  • offHandIndex

  • forwardMove

  • sideMove

Methods

shoot()

Set shoot input for this command (frame).

Example:

jump()

Set shoot input for this command (frame).

Example:

isInMenu()

Returns true if you're in a menu or chatting.

Example:

isLeaning()

Returns true if you're leaning.

Example:

isForward()

Returns true if current cmd moves forward. (Pressing W or equivalent keybind)

Example:

isOnlyForward()

Returns true if current cmd ONLY moves forward. Meaning no strafing.

Example:

goForward()

Set the forwardMove so that this frame will make you move forward for 1 frame.

Example:

isBackward()

Returns true if current cmd moves backwards. (Pressing S or equivalent keybind)

Example:

isA()

Returns true if current cmd strafes left. (Pressing A or equivalent keybind)

Example:

isD()

Returns true if current cmd strafes right. (Pressing D or equivalent keybind)

Example:

isAorD()

Returns true if current cmd strafes left or right. (Pressing A or D or equivalent keybind)

Example:

isWA()

Returns true if current cmd uses W+A. (Pressing W + A or equivalent keybinds)

Example:

isWD()

Returns true if current cmd uses W+D. (Pressing W + D or equivalent keybinds)

Example:

isWAorWD()

Returns true if current cmd uses W+A or W+D. (Pressing W + A or W + D or equivalent keybinds)

Example:

hasMovement()

Returns true if current cmd has any movement set on it.

Example:

setForwardMove(forwardMove)

  • forwardMove - 127 for moving forward, -127 for moving backwards, 0 for no forward move.

Set the forward move for this command.

Example:

setSideMove(sideMove)

  • sideMove - 127 for strafing right, -127 for strafing left, 0 for no side move.

Set the side move for this command.

Example:

walk()

Cancels a sprint.

Example:

sprint()

Sets the sprint button on the command.

Example:

setButton(button)

  • button - The button you wish to set

Sets a specific button on the command.

Buttons on usercmd's can be confusing at first.

Your mental model of a usercmd should be the input that you can give as a player for a single frame. The buttons property is a single int that describes which actions you wish to perform. Available Buttons are shown here.

Example:

removeButton(button)

button - The button you wish to remove

Removes a specific button on the command. Only works before the command is used locally. Attach a event listener for onAfterCL_CreateNewCommands and not render if you wish to remove buttons.

Example:

getViewAngles()

Returns the viewangles that this command has. These are the viewangles which are sent to the server.

Example:

getViewAngles()

Returns the viewangles that this command has. These are the viewangles which are sent to the server.

Example:

Last updated