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
| Key | What it does |
|---|---|
W A S D | Move the pose |
← → | Turn the pose |
↑ ↓ | Raise or lower the pose |
G | Turn the drag handles (the gizmo) on or off |
1 2 3 | Gizmo mode: move, rotate, height |
Enter | Confirm the placement |
Backspace | Cancel and go back to where you were |
Placing the pose
| Method | How |
|---|---|
| Aim | Point your camera where you want it; the ghost follows your crosshair on the ground, up to 25 metres away |
| Nudge | W A S D to move, ↑ ↓ for height, ← → to turn |
| Drag | Press 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.
| Key | Mode | Handles |
|---|---|---|
1 | Move | Red and green arrows for the two ground directions, plus a small square in the middle for free movement |
2 | Rotate | A gold ring — drag it to turn the pose |
3 | Height | A 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
Enterconfirms. You are moved onto the pose and stay locked in it until you stop the emote normally.Backspacecancels and puts you back exactly where you started. In gizmo mode,Escapedoes the same.- Stopping the emote with
X, the Stop chip or/e stopalso 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 confirmThree 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 nudgingCrosshair 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 loadThe 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:
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.