Skip to content

Adjust Mode

Adjust mode repositions a pose exactly — sitting on the edge of a table, leaning on the right part of a wall, lying in the right spot.

Starting it

Play an emote first, then either click the Adjust chip in the menu or type /adjustanim.

It refuses with "Play an emote first" when:

  • you are not playing anything, or
  • what you are playing is a walk style, a scenario or a shared emote.

It also will not start while you are sitting on a chair or riding a horse.

What you see

You are frozen where you stand and a translucent stand-in appears, performing the pose. It is the same mannequin the menu preview uses, picked to match your character's gender — not a copy of your own character, unless the server turned on RM.Adjust.ghostClone. That ghost is what you are moving — your own character is only moved when you confirm. A help card appears on screen with the keys.

The keys

KeyWhat it does
W A S DMove the pose
Turn the pose
Raise or lower the pose
GTurn the drag handles (the gizmo) on or off
1 2 3Gizmo mode: move, rotate, height
EnterConfirm the placement
BackspaceCancel and go back to where you were

Placing the pose

MethodHow
AimPoint your camera where you want it; the ghost follows your crosshair on the ground, up to 25 metres away
NudgeW A S D to move, for height, to turn
DragPress G for on-screen handles, then drag them with the mouse

The first nudge pins it for the rest of the session

The moment you nudge with a key, or grab a gizmo handle, the pose stops following your crosshair and stays where you put it. Turning it does not have that effect.

Limits

The keyboard and gizmo nudge is capped at 5 metres horizontally and 1.5 metres up or down — measured from the spot the pose is anchored to, not from you. While crosshair placement is still live that anchor is wherever you are aiming, so the pose can end up as far away as the 25-metre aim range; once the first nudge pins it, the cap is measured from that pinned spot. Both are configurable by the server owner via RM.Adjust.maxOffset and maxHeight.

The gizmo

Press G and coloured drag handles appear on the ghost. Your mouse cursor is released so you can drag them. Only the handles for the current mode are shown — it opens in Move mode, and 1, 2 and 3 swap between the three sets below.

KeyModeHandles
1MoveRed and green arrows for the two ground directions, plus a small square in the middle for free movement
2RotateA gold ring — drag it to turn the pose
3HeightA blue arrow — drag it up and down

Hold Shift while dragging for fine, quarter-speed movement.

The keyboard nudge keys are switched off while the gizmo is on. Press G again to go back to them.

G is rebindable, /rm_gizmo is not

The gizmo toggle is registered through RedM's own keymapping system, so players can rebind it in the RedM key settings. The /rm_gizmo command name itself is not configurable.

Finishing

  • Enter confirms. You are moved onto the pose and stay locked in it until you stop the emote normally.
  • Backspace cancels and puts you back exactly where you started. In gizmo mode, Escape does the same.
  • Stopping the emote with X, the Stop chip or /e stop also cancels adjust mode and returns you to your starting spot.

Why you stay frozen after confirming

RM.Adjust.freezeOnConfirm is true by default, which holds you on the confirmed spot so you cannot slide or fall off a ledge or a prop. Stopping the emote frees you again.

A typical session

(play a looping emote)
/adjustanim            the ghost appears, following your crosshair
                       aim roughly where you want it
W W W                  nudge forward — this pins it, aim stops applying
← ←                    turn it
G                      switch to the gizmo
3                      height mode; drag the blue arrow down onto the ledge
Enter                  confirm

Three refusals that look like bugs

"Play an emote first" while an emote is clearly playing. You are playing a walk style, a scenario or a shared emote. None of those can be repositioned — a walk is motion, a scenario is anchored to the world, and a shared emote is anchored to a partner.

The ghost will not go where you are aiming. Aim placement needs solid ground under the crosshair. If the ground lookup finds nothing, or the ground it finds is more than 1.5 metres from the point the ray hit — a wall, a cliff face, an overhang — the placement is rejected silently and the ghost stays at the last good spot. No notice, no console line. That guard is what stops poses being confirmed halfway up a canyon wall. Nudge with W A S D or use the gizmo (G) to reach spots the crosshair refuses. That 1.5 metres is fixed in the script; it is not RM.Adjust.maxHeight.

Nothing happens when you aim. If your game build does not support the shape-test natives, you will see this in the F8 console:

[rm_emotes] aim placement unavailable on this build, using manual nudging

Crosshair placement is simply switched off. The keys and the gizmo still work.

A similar line means the ghost itself could not spawn:

[rm_emotes] ghost model "<model>" failed to load

The session falls back to moving your real character rather than a double. It still works; you just see yourself move as you place.

For server owners

Every knob is in config.lua under RM.Adjust — see Configuration.

Two flags that switch on when you delete them

RM.Adjust.enabled, ghost, raycast, gizmo and freezeOnConfirm are tested against literal false. Commenting one out enables it. Always write false.

Turning the whole feature off also removes /adjustanim, /rm_gizmo and the Adjust chip's effect:

lua
RM.Adjust = {
    enabled = false,
    -- leave the rest of the table as shipped
}

RM.Adjust.ghostClone = true copies the player's own character instead of using a model. Leave it false on VORP and RSG — RedM cannot clone a component-built MP character cleanly and it renders as detached clothing.

Adjust mode also takes NUI focus while the gizmo is on, and INPUT_ATTACK and INPUT_AIM are disabled for the whole session. Neither is configurable.

Documentation for RedMorrow. Scripts are licensed per server — redistribution is not permitted.