For support join my discord here: https://discord.gg/scully
- Drag the resource into your
resources
folder - Configure the
scully_emotemenu.cfg
to your liking - Move the
scully_emotemenu.cfg
to the same location as yourserver.cfg
- Add
exec scully_emotemenu.cfg
to the top of yourserver.cfg
- Add
ensure scully_emotemenu
to yourserver.cfg
-
Translation support
-
Search option
-
Custom emotes
-
Prop emotes with props that spawn on the client via state bags
-
Consumable emotes
-
Animal emotes
-
Synchronized emotes (including dances)
-
Synchronized particle effects with optional automated feature and color support
-
Ability to hide certain menus along with NSFW, gang and social movement emotes
-
Easy to understand configuration file
-
Exports, state bags and events to integrate within other resources
-
Walk styles and facial expressions that save
-
Prop variation support
-
Hands up, pointing and stance system with a config option included to change it to a traditional crouch system
-
Ability to hide emotes from the menu
-
Commands
-
Emote binding
-
Ability to have multiple emotes within an option to play a random one when selected
-
Ability to make certain synchronized emotes skip the request
-
Ability to add walk styles and expressions to your radial menu
-
Emote preview system by holding
E
while selecting an emote -
Placement system to choose where you do certain emotes
State Bag Name | Replicated | Description |
---|---|---|
allowNSFWEmotes | Yes | Toggle if the player can use NSFW emotes or not |
expression | Yes | Get the players current expression |
handsup | No | Check if the player has their hands up |
inSynchronizedEmote | Yes | Check if the player is in a synchronized emote |
isInEmote | Yes | Check if the player is in an emote |
isLimited | Yes | Check if the player is currently limited |
lastEmote | No | Get the last emote a player used |
stance | No | Set or check the players stance mode |
walkstyle | Yes | Get the players current walk style |
Export Name | Parameter(s) | Type | Description |
---|---|---|---|
toggleMenu | None | Client | Toggle the emote menu |
closeMenu | None | Client | Close the emote menu |
addEmoteMenuOption | Table | Client | Add a new menu option to the emote menu |
isInEmote | None | Client | Check if the player is in an emote |
getLastEmote | None | Client | Get the last emote a player used |
playEmote | Table, Number? | Client | Play an emote or scenario |
cancelEmote | Boolean? | Client | Cancel an emote or scenario |
playEmoteByCommand | String, Number? | Client | Play an emote by command |
getCurrentWalk | None | Client | Get the players current walk style |
setWalk | String | Client | Set the players current walk style |
resetWalk | None | Client | Reset the players walk style |
setWalkByCommand | String | Client | Set the players current walk style using the command |
getCurrentExpression | None | Client | Get the players current expression |
setExpression | String | Client | Set the players current expression |
resetExpression | None | Client | Reset the players expression |
setExpressionByCommand | String | Client | Set the players current expression using the command |
registerEmote | Table | Client | Register emotes to be used within external resources |
playRegisteredEmote | String | Client | Play a registered emote |
getEmoteProps | None | Client | Get a list of props from your current emote |
setLimitation | Boolean | Client | Toggle player limitations |
isLimited | None | Client | Check if the player is currently limited |
addEmoteToMenu | String, Table | Client | Add an emote to the menu |
addEmotesToMenu | String, Table | Client | Add multiple emotes to the menu |
customNotifyFn | Function | Client | Change the notification system |
Event Name | Parameter(s) | Type | Description |
---|---|---|---|
scully_emotemenu:toggleMenu | None | Client | Toggle the emote menu |
scully_emotemenu:closeMenu | None | Client | Close the emote menu |
scully_emotemenu:addEmoteMenuOption | Table | Client | Add a new menu option to the emote menu |
scully_emotemenu:playEmote | Table, Number? | Client | Play an emote or scenario |
scully_emotemenu:cancelEmote | Boolean? | Client | Cancel an emote or scenario |
scully_emotemenu:playEmoteByCommand | String, Number? | Client | Play an emote by command |
scully_emotemenu:setWalk | String | Client | Set the players current walk style |
scully_emotemenu:resetWalk | None | Client | Reset the players walk style |
scully_emotemenu:setWalkByCommand | String | Client | Set the players current walk style using the command |
scully_emotemenu:setExpression | String | Client | Set the players current expression |
scully_emotemenu:resetExpression | None | Client | Reset the players expression |
scully_emotemenu:setExpressionByCommand | String | Client | Set the players current expression using the command |
scully_emotemenu:registerEmote | Table | Client | Register emotes to be used within external resources |
scully_emotemenu:playRegisteredEmote | String | Client | Play a registered emote |
scully_emotemenu:setLimitation | Boolean | Client | Toggle player limitations |
scully_emotemenu:addEmoteToMenu | String, Table | Client | Add an emote to the menu |
scully_emotemenu:addEmotesToMenu | String, Table | Client | Add multiple emotes to the menu |
Important Note:
By default the configured keybinds in the initial scully_emotemenu.cfg will be the default keys, however once the keybinds are set for a player, they'll stay and editing the keybinds in the config will change them for new players only. Previous players can set their own keybinds within Esc > settings > keybinds > fivem
.
Players can bind emotes by opening the keybinds sub menu. Each option within the sub menu is binded to a key within Esc > settings > keybinds > fivem
that your players can change to their own preferred keys to play emotes.
You can add custom emotes to the menu by using the addEmoteToMenu
and addEmotesToMenu
exports or events. If you want to add a whole new custom section to the emote options submenu you can also use the addEmoteMenuOption
export or event.
NSFW
Key: NSFW = true
Description: NSFW emotes are any emote that wouldn't be considered safe for anyone under the age of 18 to see, if you don't run an 18+ community I suggest keeping the EnableNSFWEmotes
config option as false which will disable all emotes with this added. You can also set EnableNSFWEmotes
to 'limited'
which will make it so a state bag needs to be set so NSFW emotes can be used. Info on the export can be found here and I would personally suggest making it so the emotes can only be used when inside a house or apartment.
Gang
Key: Gang = true
Description: Gang emotes are emotes that can be used to identify your affiliation with a certain group, these emotes can be disrespectful to certain people or cause controversial topics to arise so a config option was added to prevent such a thing from happening which will disable all emotes with this added.
SocialMovement
Key: SocialMovement = true
Description: The social movement emotes are any kind of emote that represents a group who advocates for change in society such as the LGBTQ and BLM emotes in which their communities advocate for liberation, some communities might feel as if people will use them in an ironic manner or to troll which would be disrespectful and some servers might be based in countries where it is shunned due to their religion so a config option was implemented to respect both these communities and religious beliefs which will disable all emotes with this added.
Hide
Key: Hide = true
Description: If you would like to hide an emote from the menu and have it only accessible by commands, exports or events you can add this to the emote table.
BlockBinding
Key: BlockBinding = true
Description: If you would like to prevent a player from using the menu to bind a certain emote you can add this to the emote table. Keep in mind they can still bind using Cfx's rbind
console command.
Auto
Key: Auto = true
Description: If you would like particles to automatically play you can add this to the PTFX table within the emote table, you will need to have the EnableAutoPtfx
config enabled for this to work.
SkipRequest
Key: SkipRequest = true
Description: If you would like a shared emote to play without needing to request it you can add this to the emote table.
PedTypes
Key: PedTypes = {'small_dogs', 'big_dogs', 'cats', 'birds', 'marine_mammals', 'rodents', 'land_mammals', 'aquatic_animals'}
Description: If you would like an emote to require a certain ped type you can add this to the emote table.
Placement
Key: Placement = true
Description: If you would like to be able to select the location of your emote you can add this to the emote table.
Synchronized
Key: Synchronized = true
Description: If you would like an emote to be a synchronized emote add this to the emote table, keep in mind you'll also need to define the OtherEmote in the Options table.
All custom animations were added with permission from the creators. Credit to the following people for their animations / props:
We extend our heartfelt gratitude to everyone who played a part in shaping the project. Your involvement, regardless of the scale, has made a meaningful impact on the project's progress. We truly value the collaborative spirit and diverse skills that each contributor brings to the table. Thank you all for your contributions.