
4,300+ Emotes with Live Preview, Chair Sitting, Prop and Shared Emotes and a 3D Gizmo for Exact Placement - Compatible with any VORP, RSG, RedEM:RP or Standalone server
Tebex - https://redmorrow.com/products/redm-emotes
Features
- 4,300+ emotes out of the box - curated human animations filtered for clean looping poses, not a raw dump of every animation in the game
- Two complete layouts: Grand, a centred dashboard with category sidebar, live counts and a quick-emotes dock, or Compact, a slim side rail that stays out of the way during roleplay. Players switch in-menu and their choice is remembered
- Live preview - hover any emote and a translucent mannequin performs it in front of you before you commit. Scroll to rotate it, click to play it yourself, toggle the preview off any time
- Adjust mode with a full 3D gizmo - a ghost preview shows the final pose, follows where you aim and can be nudged with WASD. Press G for Blender-style handles: Move, Rotate and Height on keys 1/2/3, coloured axis arrows, a ground-plane handle and a perspective-correct rotation ring, with Shift for fine control
- Confirm an adjusted pose and your character steps into exactly what you saw, held in place, so ledges and props work instead of sliding the ped back to the floor
- Sit on any of 80+ chair, bench, stool and couch props by pressing E
- 19 gender-aware sitting styles - drink a beer, smoke a cigar, whittle wood, play the banjo, clean your rifle - rotate the pose a full 360 degrees with the arrow keys, and press X to stand back exactly where you were
- Prop emotes attach real objects to the correct bones (parasol, basket, fan, dog bone)
- Shared emotes ask your partner first with an on-screen accept prompt, then sync both animations - and work instantly on NPCs and animals
- 12 walk styles plus world scenarios included alongside the main library
- Star any emote to pin it to the quick bar. SHIFT + 1-5 fires the first five instantly, or bind any letter or digit key you like
- Favorites and key binds are stored in the database and survive restarts
- Every emote gets an auto-generated
/e chat command with autocomplete, plus /e stop and /e random
- In-game admin editor - add, edit, restrict, hide or delete emotes from inside the game with no restarts and no SQL, and every change pushes live to connected players
- Editor access is gated by ACE permission or a simple identifier list, not by framework groups
- Lock any emote behind a job (VORP, RSG or RedEM:RP) or an ACE permission for VIP content
- Optional Discord webhook logging for every admin change, with the admin’s name attached
- Framework auto-detect: VORP Core, RSG Core, RedEM:RP or fully standalone, worked out at start-up. Notifications, job lookups and character-load syncing adapt automatically
- 6 languages in a clean
locales/ folder - English, French, German, Greek, Spanish and Portuguese, with matching SQL seed packs (add your own by copying one file)
- Bulk-import generator tool included if you want to expand past the 4,133-emote pack that ships
- Client exports:
Play, PlayById, PlayByCommand, Stop, Open, Close, IsOpen. Server export and event Rebuild reloads the library live
- React 18 + Vite UI ships pre-built with the full source in
web/ - npm only if you want to restyle it
- Clean, commented Lua, config-driven throughout, with per-framework install guides included
Showcase Video
Documentation: docs.redmorrow.com - install, config reference, the pack generator, admin editor permissions and troubleshooting.
Disclaimer:
- Script is Protected by cfx escrow system / the config, all six translation files and the full React UI source stay open so you can fully adapt it to your server.
|
|
| Code is accessible |
Config, translations & React UI source only |
| Subscription-based |
No |
| Lines (approximately) |
5000+ |
| Requirements |
oxmysql for favorites, key binds and the emote library. Your framework’s core is auto-detected if it is running, and not required if it isn’t |
| Support |
Yes |
1 Like
Great emote Menu system! Tons of emotes, clean UI, smooth animations, and the 3D placement feature is awesome. Definitely worth it!
v2.2.0
current
No database schema change. Upgrading from 2.1.0 needs no SQL migration, but several of the shipped SQL files were corrected, so re-importing them is now safe and worth doing.
Added
- Now Playing: while an emote runs, a banner shows its name and its /e command on screen, with the menu open or closed, and the emote’s card takes a gold border and a PLAYING tag in both the grid and Quick emotes. The banner pops each time the emote changes. Configured through RM.NowPlaying, with enabled, banner and position.
- Automatic props for animation emotes: over 800 of the smoking and drinking clips in sql/amount.sql now put the right object in the player’s hand, from cigarettes and cigars to whiskey glasses, bottles, coffee mugs, flasks and moonshine jars. Red Dead attaches these through the scenario system rather than through the animation, so the raw clips used to mime an empty hand. The rules live in shared/animprops.lua and are editable.
- sql/props.sql: an optional pack of 21 scenario emotes that carry a real prop, among them smoking a cigarette, drinking coffee, sipping champagne, sweeping up, hammering and reading. Ids 4400 to 4420.
- Greek emote names: sql/greek.sql previously held Portuguese display names. All 208 are now genuinely Greek.
- Third-party notices: THIRD-PARTY-NOTICES.md ships the MIT licence for React and the SIL Open Font Licence 1.1, with copyright notices for the two bundled typefaces.
Fixed
- Language seeds no longer drop rm_emote_favs. Every seed ended with DROP TABLE IF EXISTS rm_emote_favs, so re-importing one destroyed every player’s saved emotes and key binds. The drop is gone, and the CREATE TABLE IF NOT EXISTS leaves existing data alone.
- amount.sql, scenarios.sql and walkstyles.sql are genuinely re-runnable. All three opened with a DELETE, and because rm_emote_favs has ON DELETE CASCADE that also wiped favourites pointing at the cleared rows, while the range in amount.sql additionally caught every admin-created emote. All three are now upserts with no DELETE at all.
- SQL escaping: five values across the English, French and German seeds escaped an apostrophe with a backslash rather than the SQL-standard doubled apostrophe, which fails under sql_mode = NO_BACKSLASH_ESCAPES.
- Scenario emotes played no animation: the scenario native was called with three booleans where it expects an int, a float and an int, so the game handed the ped the scenario’s prop without starting the animation, leaving a floating broom on an idle character.
- Unplayable scenario emotes removed: 19 of the original 40 rows in the props pack were gated to a single gender, so a ped of the other sex got the prop and no animation. The pack now ships only scenarios both can play.
- Orphaned scenario props: a scenario aborted by walking, damage or death never played its exit animation, leaving the prop welded to the player. A watchdog now catches that and removes it, and ownership is decided by a before and after snapshot, so an object attached by another resource is never touched.
- Prop emotes would not stop or switch: they use anim flag 25, which includes NOT_INTERRUPTABLE, so ClearPedTasks could not abort them. Deletion also failed silently because the objects are networked and were not marked as mission entities, and a race between the start call and the maintain thread could leave a second, orphaned prop behind.
- Emote cancellation: starting an emote is not atomic, since animation dictionaries and prop models have to stream in, and pressing Stop or picking another emote during that wait used to let the cancelled one finish starting itself. A single cancellation generation now covers the whole playback path.
- Showcase mannequin stood at screen centre instead of in its pane: on a cold first open the preview pane’s position arrived while the mannequin’s model was still streaming, so the placement was skipped. Most visible in the compact layout, where the pane sits on the opposite side from the menu.
- The mouse wheel spun the mannequin while scrolling the list. The wheel listener covered the whole menu, and now rotates the mannequin only while the cursor is over the preview frame.
- dependency ‘/assetpacks’ removed: the resource streams nothing, and that constraint is an entitlement check against the server’s licence key which could fail the start on a server whose key lacks the policy, for no benefit. dependency ‘oxmysql’ was added in its place, so FXServer starts oxmysql first whatever order server.cfg uses.
- Documentation corrections: the README claimed 25 seeded walk styles when there are 12, and a populated Moods tab when it ships empty for you to fill, under the category face.