For the complete documentation index, see llms.txt. This page is also available as Markdown.

😎EMOTE

A complete emote & animation system for RedM. Standalone by default, compatible with VORP, QBR-Core, RSG-Core and RedEM:RP. No SQL, no external dependencies for the core features.


Features at a glance

  • Full emote menu with categories (Animations, Emotes, Shared, Dances, Weapon, Walking)

  • Instant command play via /e <name>

  • Search bar (by name or command)

  • Favorites bar with drag-and-drop ordering

  • Sequences: chain multiple emotes with custom durations

  • Numpad quick binds (10 slots)

  • Shared / duo emotes (accept/decline prompt)

  • Placement mode with a 3D gizmo (move + rotate the emote on the ground)

  • Ragdoll, auto-scenario and cancel shortcuts

  • Multi-language support (no SQL, KVP-based persistence)

  • Framework-agnostic (auto-detect VORP / QBR / RSG / RedEM:RP / standalone)


Installation

  1. Drop rex_animation into your resources/ folder.

  2. Add ensure rex_animation to your server.cfg.

  3. (Optional) If you use the gizmo placement, also ensure object_gizmo is started.

  4. Edit config/config.lua if you want to change the language, commands, keys or framework.

No database, no extra resources required for the core features.


Commands

Command
Description

/emote

Open the full emote menu (configurable, default).

/fav

Open the compact floating favorites panel.

/e <name>

Play an emote directly by its command name (e.g. /e sleep).

/e c

Cancel the current animation (also /e stop or /e cancel).

All command names are configurable in config/config.lua:


Keyboard shortcuts

Bound to the configured keys and polled client-side (works on RedM where RegisterKeyMapping does not).

Key
Action
Config key

F2

Open the emote menu

Config.OpenMenuKey

F3

Open the favorites panel

Config.OpenFavKey

You can use any key from F1 to F12, or set the value to false to disable the shortcut:

In-game shortcuts

Key
Action

X

Stop the current animation

F6

Play the nearest scenario automatically (auto-anim)

L

Toggle ragdoll

Numpad quick binds

10 slots (Numpad 0 - 9). Each slot can be bound to any emote command from the menu (Settings / Binds tab).

  • Press Numpad 1 → plays the emote assigned to slot 1 (equivalent to /e <cmd>).

  • Binds are saved per-player (KVP) and persist across sessions.

  • Disabled while the menu is open, to avoid conflicts with input typing.


The emote menu

  • Browse tabs for each category (Animations, Emotes, Shared, Dances, Weapon, Walking).

  • Live search bar (name or command).

  • Left click on a card → play the emote.

  • Star icon → add / remove from favorites.

  • Right click on a card → placement mode (see below).

  • Grip icon → drag a card straight into the favorites bar.

Favorites bar

  • Accessible from the bottom of the menu, or in its own floating panel via /fav or F3.

  • Drag-and-drop to reorder favorites.

  • Click a favorite to instantly play the emote / sequence.

  • Sequences can also be added to favorites (star button on the sequence card).

Placement mode (gizmo)

Right click on any emote icon to enter placement mode:

  1. A transparent clone of your character appears in front of you, already playing the selected emote.

  2. The object_gizmo handles let you:

    • Move the clone (red / green / blue axes).

    • Rotate the clone (circular handles).

  3. Scenario-based animations (sleep, sit, bar, lean, …) keep playing while the clone is moved or rotated.

  4. Confirm the placement → your character walks to the validated spot and plays the emote at that exact position and heading.

Tunable values in config/config.lua:


Sequences

Chain several emotes into a single playable macro.

  1. Open the menu → Sequences tab.

  2. Type a sequence name.

  3. Add each step: pick an emote and set its duration in seconds.

  4. Click Save.

  5. Play it back from the Saved sequences list, or click the star to pin it to the favorites bar.

Sequences are stored locally (KVP) and persist across sessions. Removing a sequence automatically cleans it up from the favorites.


Shared / duo emotes

Some emotes (handshake, hug, …) are tagged as shared and require another player.

  1. Player A plays a shared emote from the Shared tab.

  2. The nearest player within range receives a prompt.

  3. Press E (INPUT_DYNAMIC_SCENARIO) to accept, R (INPUT_RELOAD) to decline.

  4. Both players synchronize on the animation.

Tunable values:


Translations (no SQL)

All UI text and notifications come from Lua locale files, loaded on resource start.

  • Files live in locales/ (en.lua, fr.lua, …).

  • Select the active language in config:

  • To add a new language: copy en.lua, translate each string, then set Config.Locale to your new key.

All user data (favorites, sequences, numpad binds, UI settings) is persisted through RedM's native KVP (key-value pair) storage — no database is needed.


Framework support

Animations, menu, favorites, sequences, placement and shortcuts are 100% framework-agnostic. The only framework integration is for usable inventory items (e.g. the pocket watch).

Auto-detection order: VORP → QBR-Core → RSG-Core → RedEM:RP → standalone.

  • Set "auto" to let the resource detect the framework.

  • Force a specific framework if you want to bypass auto-detection.

  • Set "standalone" (or leave Config.UsableItems empty) to disable item registration. Animations still work everywhere via /e and the menu.

To register more items, add entries to Config.UsableItems and add a matching handler in client/item.lua.


Configuration summary

Main options in config/config.lua:

Option
Purpose

Config.Locale

Active language (en, fr, …).

Config.Framework

Framework mode (auto / vorp / qbr / rsg / …).

Config.UsableItems

Inventory items registered through the framework.

Config.OpenMenu

Command that opens the main menu.

Config.OpenFav

Command that opens the favorites panel.

Config.OpenMenuKey

Keyboard shortcut for the main menu.

Config.OpenFavKey

Keyboard shortcut for the favorites panel.

Config.Menu

Category order in the menu.

Config.AnimationMenu

Full list of animations, grouped by category.

Config.SharedEmote*

Range, timeout and controls for shared emotes.

Config.Placement*

Placement camera, limits, gizmo options.

Config.DebugScenarios

Verbose scenario logs in the server console.


Credits

  • Built for RedM (RDR2).

  • NUI: HTML / CSS / JavaScript.

  • Persistent storage: RedM KVP (no SQL).

Last updated