/scully_emotemenu

An emote menu for the FiveM community.

Primary LanguageLuaGNU General Public License v3.0GPL-3.0

Previews

Support:

For support join my discord here: https://discord.gg/scully

Installation Instructions:

  • add ensure scully_emotemenu to your server.cfg

Requirements

Features

  • Over 20 translations

  • Search option

  • Custom animations

  • Prop emotes

  • Consumable emotes

  • Animal emotes

  • Synchronized animations

  • 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 and events to integrate within other resources

  • Walk styles that save

  • Prop variation support

  • Hands up, Pointing and crouching

  • Ability to hide animations 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

  • Prop extractor for anticheat systems

  • Emote preview system by holding E while selecting an emote

Exports

Export Name Parameter(s) Type Description
toggleMenu None Client Toggle the emote menu
closeMenu None Client Close the emote menu
getCurrentExpression None Client Get the players current expression
setExpression String (Expression Name) Client Set the players expression
resetExpression None Client Reset the players expression to default
getCurrentWalk None Client Get the players current walk style
setWalk String (Walk Name) Client Set the players walk style
resetWalk None Client Reset the players walk style to default
isInEmote None Client Check if the player is currently playing an animation
getLastEmote None Client Get the emote a player last used
registerEmote Table (Emote Data) Client Register an animation from an external resource
playRegisteredEmote String (Emote Name) Client Play a registered animation
playEmote Table (Emote Data), Number (Variant) Client Play an animation
playEmoteByCommand String (Emote Command), Number (Variant) Client Play an animation using the command
cancelEmote None Client Stop playing an animation
isLimited None Client Check if the player is currently limited
setLimitation Boolean (Limited) Client Toggle player limitations

Events

Event Name Parameter(s) Type Description
scully_emotemenu:toggleMenu None Client Toggle the animation menu
scully_emotemenu:closeMenu None Client Close the animation menu
scully_emotemenu:setExpression String (Expression Name) Client Set the players expression
scully_emotemenu:resetExpression None Client Reset the players expression to default
scully_emotemenu:setWalk String (Walk Name) Client Set the players walk style
scully_emotemenu:resetWalk None Client Reset the players walk style to default
scully_emotemenu:registerEmote Table (Emote Data) Client Register an animation from an external resource
scully_emotemenu:playRegisteredEmote String (Emote Name) Client Play a registered animation
scully_emotemenu:play Table (Emote Data), Number (Variant) Client Play an animation
scully_emotemenu:playByCommand String (Emote Command), Number (Variant) Client Play an animation using the command
scully_emotemenu:cancelAnimation None Client Stop playing an animation
scully_emotemenu:toggleLimitation Boolean (Limited) Client Toggle player limitations

Keybinds

Important Note:

By default the configured keybinds in the initial config.lua 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.

Emote Binds

To use emote binds you need to have the EnableEmoteBinds option enabled in the config.lua, this will allow your players to 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.

Prop Extractor

We've addressed concerns about anticheat scripts causing unintended bans or kicks by introducing a prop extractor config option. This automates the creation of a prop_dump.lua file in the resource folder, making it easier for server owners to manage props and mitigate false positives in the anticheat system. This enhancement aims to create a more secure and fair gaming environment for community members.

Additional Animation Options

NSFW

Key: NSFW = true

Description: NSFW animations are any animation 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 animations with this added.

Gang

Key: Gang = true

Description: Gang animations are animations that can be used to identify your affiliation with a certain group, these animations 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 animations with this added.

SocialMovement

Key: SocialMovement = true

Description: The social movement animations are any kind of animation that represents a group who advocates for change in society such as the LGBTQ and BLM animations 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 bigoted religion so a config option was implemented to respect both these communities and religious beliefs which will disable all animations with this added.

Hide

Key: Hide = true

Description: If you would like to hide an animation 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.

Disclaimer & Credits

All custom animations were added with permission from the creators. Credit to the following people for their animations / props and Dulpear for providing the original project that this is inspired by: