


Was this page helpful?
| Command | Description |
|---|---|
/mbt_emotes | 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) |
All commands are registered on resource start. The primary command name is set in config.lua under MBT.Menu.Command.
| 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 while holding the wheel key |
|
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 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.
The emote wheel gives instant access to up to 8 saved emotes without opening the full menu.
K (or your configured key). A radial indicator appears.K to cycle through slots.K to play the highlighted emote.X to remove the emote from the current slot.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 |
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.
| Key | Type | Default | Description |
|---|---|---|---|
MBT.Language | string | 'en' | UI locale. Options: 'en', 'it', 'es', 'fr', 'de', 'pt' |
| Key | Type | Default | Description |
|---|---|---|---|
MBT.Menu.Keybind | string | 'F4' | Open/close keybind |
MBT.Menu.Command | string | 'mbt_emotes' | Chat command |
|
| Key | Type | Default | Description |
|---|---|---|---|
MBT.Features.Favorites | boolean | true | Favourites system |
MBT.Features.RecentEmotes | boolean | true | Recent emotes tab |
|
| Key | Type | Default | Description |
|---|---|---|---|
MBT.EmoteWheel.Key | string | 'K' | Hold key to open wheel |
MBT.EmoteWheel.Slots | number | 8 | Number of slots (max 8) |
|
| Key | Type | Default | Description |
|---|---|---|---|
MBT.Trending.Enabled | boolean | true | Show trending emote spotlight |
MBT.Trending.WindowDays | number | 7 | Rolling window in days |
|
| Key | Type | Default | Description |
|---|---|---|---|
MBT.OpenJoin.Enabled | boolean | true | Enable Open Join |
MBT.OpenJoin.Radius | number | 8.0 | Broadcast radius in meters |
|
| Key | Type | Default | Description |
|---|---|---|---|
MBT.AntiSpam.CooldownMs | number | 250 | Min ms between emote plays |
| Key | Default | Description |
|---|---|---|
MBT.Theme.Accent | '00e676' | Accent color (hex, no #) |
MBT.Theme.Background | '0C0E14' | Background color |
MBT.Theme.Card | '141720' | Card/panel color |
| Key | Type | Default | Description |
|---|---|---|---|
MBT.JobPermissions.Enabled | boolean | true | Master toggle |
MBT.JobPermissions.Framework | string | 'auto' | 'auto', , , , |
| Key | Type | Default | Description |
|---|---|---|---|
MBT.Ecosystem.MetaClothes | boolean | false | Enable mbt_meta_clothes v2 integration |
MBT.Ecosystem.WearableProps | boolean | false | Enable integration |
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.PillKey | Accept an Open Join invitation from the pill |
ESC | — | Close the emote menu |
mbt_emote_menu_binds| JSON map of numpad slot → emote name |
mbt_emote_menu_wheel | JSON array of wheel slot assignments |
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 |
MBT.Debug |
boolean |
false |
| Enable verbose console logs |
MBT.RpemotesResource | string|nil | nil | rpemotes resource name. nil = auto-detect |
string |
'cinematic' |
'cinematic' or 'default' |
MBT.Menu.Position | string | 'right' | 'left' or 'right' |
MBT.Menu.CloseOnPlay | boolean | true | Auto-close menu on emote play |
MBT.Menu.RememberState | boolean | true | Remember scroll/tab/filters after emote play |
MBT.Menu.Watermark | boolean | true | Show MBT watermark |
MBT.Menu.OverrideNativeMenu | boolean | true | Suppress rpemotes NativeUI menu |
number |
12 |
| Max recent emotes tracked |
MBT.Features.QuickBind | boolean | true | Numpad quick bind slots |
MBT.Features.SharedPopup | boolean | true | Shared emote inline popup |
MBT.Features.PreviewPed | boolean | true | Animated ped preview |
MBT.Features.EmoteWheel | boolean | true | Hold-to-peek emote wheel |
MBT.Features.EmotePlacement | boolean | true | "Place in world" button |
MBT.Features.OpenJoin | boolean | true | Anonymous group emote join |
MBT.Features.WhatsThat | boolean | false | Peek-and-copy bubble above emoting players |
MBT.Features.AdultEmotes | boolean | false | Include adult-flagged emotes |
MBT.Features.AbusableEmotes | boolean | false | Include abusable walk styles |
string |
'X' |
| Remove slot key |
number |
10 |
| Minimum plays to qualify |
MBT.Trending.SaveIntervalMinutes | number | 10 | KVP flush interval |
number |
30 |
| Max players to notify |
MBT.OpenJoin.AnnounceCooldownMs | number | 3000 | Cooldown between announcements |
MBT.OpenJoin.PillKey | string | 'Y' | Join key shown in the pill |
MBT.Theme.Text | 'E8E8EE' | Primary text color |
MBT.Theme.SubText | '6B7280' | Secondary text color |
MBT.Theme.Border | '1A1D26' | Border color |
'qbox''qbcore''standalone'MBT.JobPermissions.Emotes | table | {} | Emote name → { 'job1', 'job2' } |
mbt_wearable_props