Skip to content

Sitting on Chairs

Walk up to a chair, bench or stool and stand still — the prompt only appears once you stop moving. When you are close enough a prompt group headed Chair appears with ESit.

Once you are seated

KeyAction
XStand up
EChange style
Hold to rotate

The prompt header shows the style you are currently in — "Smoke", "Play the banjo" and so on.

The 19 sitting styles

Pressing E cycles through the styles your character can use and wraps around to the start.

Female characters have 10 of the 19 available; the remaining 9 are male only. That is a property of the underlying scenarios, not a setting.

Not every style works on every chair

If a style does not take, you get "You cannot use this style on this chair" and stand back up. Try a different chair or a different style.

Rotation

Hold or while seated to turn through a full 360 degrees. The heading is kept when you change style.

If a scenario refuses the heading you asked for, the seat is re-anchored once when you release the key.

When you get stood up automatically

  • You take damage and lose the animation
  • The chair disappears
  • You end up more than 5 metres from it

When you stand up normally you are returned to the spot you were standing in before you sat down.

While seated, X only stands you up

The global stop-emote key is suppressed while you are on a chair so that X reaches the stand-up prompt instead. This is deliberate, not a conflict.

The sit prompt is hidden while the emote menu is open and during adjust mode.

The 82 chair props

The whitelist lives in shared/seats.lua as RM.Seats.chairs and covers 82 models — benches, stools, couches, rocking chairs, barber and doctor chairs, piano stools, wicker chairs, footlockers, trunks, hay bales and a few oddities:

lua
RM.Seats.chairs = {
    'p_ambchair01x', 'p_barberchair01x', 'p_barberchair03x',
    'p_bench06x', 'p_bench08bx', 'p_bench09x', 'p_bench15x', 'p_bench17x',
    -- ...74 more
    'p_windsorchair03x', 'p_woodenchair01x', 's_footlocker02x',
    's_footlocker06x', 'mp005_s_posse_trad_chair01x',
}

Adding your own is a one-line edit — append the model name to that table and restart the resource. shared/*.lua stays editable in both editions.

Settings

All of these are in shared/seats.lua, not config.lua:

KeyDefaultWhat it does
RM.Seats.enabledtrueMaster switch for the whole sitting system
RM.Seats.detectRadius2.0Chair scan radius, metres
RM.Seats.promptRadius1.5Distance at which the sit prompt appears
RM.Seats.rotatetrueWhether holding the arrow keys turns the pose
RM.Seats.rotateStep1.5Degrees per frame while held
RM.Seats.default'MP_LOBBY_PROP_HUMAN_SEAT_CHAIR'The scenario used when first sitting down

And the keys:

KeyDefaultAction
sit0x41AC83D1 (E)Sit down
stand0x7DA48D2A (X)Stand up
style0x41AC83D1 (E)Next sitting style while seated
rotLeft / rotRight'INPUT_FRONTEND_LEFT' / 'INPUT_FRONTEND_RIGHT'Rotate

Note that sit and style are the same key by design — E sits you down, then E cycles.

sit, stand and style must be numeric hashes

All three go straight to the prompt as control values, so an input name such as 'INPUT_DYNAMIC_SCENARIO' is never resolved here. Only rotLeft and rotRight go through a helper that takes either form, and they fall back to INPUT_FRONTEND_LEFT / INPUT_FRONTEND_RIGHT — unlike RM.Adjust.keys, which accepts names throughout.

Change these values — do not delete the lines

keys.sit, keys.stand, keys.style, RM.Seats.styles and RM.Seats.default are read with no fallback, so removing a line errors rather than switching a feature off. The three key reads happen when the prompts are built at resource start, and that thread runs even with enabled = false. styles errors the moment a player sits; default errors on the sit press.

Only enabled, rotate, detectRadius, promptRadius and rotateStep are safe to remove, and deleting enabled or rotate leaves that feature on — both are tested against the literal false.

Running another sitting resource

RedM Emotes registers its own RedM prompt on all 82 props, so players see two "Sit" prompts if another chair resource is also running.

Turn this one off and keep the other:

lua
-- shared/seats.lua
RM.Seats = {
    enabled = false,
    -- leave the rest of the table as shipped
}

The scan does not run while you are moving

This is the single most common "sitting is broken" report. The chair scan is gated on standing still, so walking past a bench shows nothing. Stop, wait about two seconds, and the prompt appears.

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