Open the MBT emote menu (configurable via MBT.Menu.Command)
/emotemenu
Alias — opens the emote menu
/emoteui
Alias — opens the emote menu
/mbt_layout
Toggle between cinematic and default layout at runtime
/mbt_openjoin off
Opt out of Open Join invitations (persists across sessions)
/mbt_openjoin on
Opt back in to Open Join invitations
/mbt_join
Join the current Open Join emote (fallback for the pill hotkey)
/me <text>
Float a styled ME pill above your head, visible to nearby players (RP Text)
/do <text>
Float a styled DO pill above your head, visible to nearby players (RP Text)
All commands are registered on resource start. The primary command name is set in config.lua under MBT.Menu.Command.
Admin
Command
Description
/mbt_emote_menu
Open the scene editor — place marks in the world, assign an emote and a role to each, save. Configurable via MBT.Admin.Command
Gated by an ACE permission, checked server-side: MBT.Admin.Permission, or command.mbt_emote_menu when left nil. A player without it never receives the editor data at all.
add_ace group.admin command.mbt_emote_menu allow
The editor also needs oxmysql. Without it it stays off and says so in console, and the rest of the menu is unaffected.
RP Text commands (/me, /do) are fully configurable via MBT.RpText.Channels — rename them, add new channels (e.g. /med), adjust range per channel, or remove any entry to avoid conflicts with other systems.
Keybinds
Key
Configurable
Action
F4
Yes — MBT.Menu.Keybind
Open / close the emote menu
K (hold)
Yes — MBT.EmoteWheel.Key
Hold to open the emote wheel
Mouse Wheel
—
Scroll wheel slots (linear mode) or flick to select (radial mode)
X
Yes — MBT.EmoteWheel.RemoveKey
While wheel is open: remove emote from the current slot
NUM1–NUM6
Via drag-and-drop in UI
Play quick-bound emote directly
Arrow Keys
—
Navigate the emote list (keyboard mode)
Enter
—
Play the focused emote
Y
Yes — MBT.OpenJoin.JoinKey
Accept an Open Join invitation from the pill
ESC
—
Close the emote menu
If you previously bound the emote wheel key (K), double-check FiveM Settings → Key Bindings → MBT Emote Wheel (Hold) after updating — FiveM caches keymappings per-resource and the binding may need re-confirming.
Quick Bind Slots
Quick bind slots NUM1–NUM6 are assigned by dragging an emote card onto the desired slot in the Binds section of the menu. Binds are stored per-player via KVP and persist across sessions.
Emote Wheel
The emote wheel gives instant access to up to 8 saved emotes without opening the full menu.
Assign — drag an emote onto a wheel slot inside the menu.
Open — hold K (or your configured key). The wheel appears.
Select (radial) — move the mouse toward the desired slot and release.
Select (linear) — scroll the mouse wheel while holding K to cycle through slots.
Play — release K to play the highlighted emote.
Remove — while the wheel is open, press X to remove the emote from the current slot.
Set MBT.EmoteWheel.Mode to 'radial' (default) or 'linear' in config.lua.
Photo Mode
Photo Mode opens from the camera button inside the emote menu. It requires MBT.PhotoMode.Enabled = true.
Control
Action
Drag
Orbit the camera around your ped
Scroll wheel
Zoom in / out
Filter picker
Switch between look presets (None, Cinematic, Noir, Warm, Vibrant, Cool)
DoF toggle
Enable / disable background depth-of-field blur
Send to Discord
Upload the screenshot to the configured webhook (requires screenshot-basic)
ESC / Back
Exit Photo Mode and restore normal camera
Photo Mode auto-exits if your ped dies or the resource is stopped while active.
KVP Storage Keys
All player data is stored client-side via FiveM's GetResourceKvpString / SetResourceKvp API. No database table is created. The following keys are used:
KVP Key
Content
mbt_emote_menu_favorites
JSON map of favourited emote names
mbt_emote_menu_fav_order
JSON array defining the custom sort order of favourites
mbt_emote_menu_playcounts
JSON map of play counts per emote
mbt_emote_menu_recent
JSON array of recently played emote names
mbt_emote_menu_lists
JSON object containing all saved playlists
mbt_emote_menu_binds
JSON map of numpad slot → emote name
mbt_emote_menu_wheel
JSON array of wheel slot assignments
mbt_emote_menu_personas
JSON array of saved persona loadouts
mbt_emote_menu_trending
JSON object with server-wide rolling play counts (server-side KVP)
mbt_openjoin_optout
"1" if the player has opted out of Open Join invitations
KVP data is stored per-player on their own client machine. It is not synchronized to the server or stored in any database. Players switching machines will not have their settings on the new machine.