DpEmotes is a Community driven FiveM menu allowing players to express themselves in roleplay with custom animations, countless facial expressions, walkstyles and props, originally created by DullPear.
-
Report Issues
โ ๏ธ -
Report Bugs ๐ชฒ
-
Contribute Code ๐ ๏ธ
-
Contribute Translations ๐
-
Chat With Me ๐จ๏ธ
-
Brazilian Portuguese ๐ง๐ท
-
Czech ๐จ๐ฟ
-
Danish ๐ฉ๐ฐ
-
Dutch ๐ณ๐ฑ
-
English ๐ฌ๐ง
-
Finnish ๐ซ๐ฎ
-
French ๐ซ๐ท
-
German ๐ฉ๐ช
-
Italian ๐ฎ๐น
-
Polish ๐ต๐ฑ
-
Romanian ๐ท๐ด
-
Russian ๐ท๐บ
-
Spanish ๐ช๐ธ
-
Swedish ๐ธ๐ช
All languages were translate or contributed by you, the community with the odd exception of using Google Translate
If you happen to find any incorrect translations or would like to add more languages, please feel free to make a Pull Request with the correct / additional translations, or join our discord.
Languages can be selected and/or added in the config.lua.
-
Search Function ๐
-
Custom Animations with explitic Usage Rights granted ๐
-
Facial Expressions ๐คช
-
Animal Emotes ๐ฉ
-
Shared Dances ๐บ๐
-
Persistent Walkstyles via client KVP ๐ถโโ๏ธ
-
Shared Particle Effects ๐จ
-
QBCore Framework & Keybinding Support โ๏ธ
-
Further support for shared and couple poses / animations ๐ซ
-
Easily convert Menyoo to dpemotes ๐
-
Hide Adult Emotes ๐
-
Hide Animal Emotes โ
-
Easy To Understand Configuration File โ๏ธ
-
Standalone exports to play anim, cancel anim and block (or not) the cancel key
exports["dpemotes"]:EmoteCommandStart(emoteName, textureVariation)
exports["dpemotes"]:EmoteCancel(forceCancel) โ forceCancel is optional
exports["dpemotes"]:CanCancelEmote(state)
The keybind uses RegisterKeyMapping. By default, the server configured keybind in the initial config.lua will be the default key, however once the keybind is set for a user, it'll stay with this new value. Editing the config keybind will change it for new players only.
Menu key: F5
Server owners can change this in the config.lua
.
Alternatively, the player base can set their own menu keybind to open DpEmotes
Esc > settings > keybinds > fivem > dpemotes
- More keybinds are now using key mappings which means that they are now available in your FiveM settings to change (
FavKeybind
andRagdollKeybind
)
The original DpEmotes uses mysql-async which was then changed to ghmattimysql. Unfortunately, they are no longer maintained.
To use the SQL features, install the latest version of the oxmysql resource. If you do not want to use the SQL features, comment out the oxmysql
region in fxmanifest.lua.
Alternatively, you can use the keybind command that comes with FiveM without having the SQL, by entering the following into F8:
bind keyboard "Yourbutton" "e youremote"
. To remove the keybind, type "unbind keyboard "Yourbutton"
.
- To enable ragdoll, change
RagdollEnabled = false,
to true in config.lua.
Much like the menu key, RagdollKeybind
is also using RegisterKeyMapping. It is currently set to U
by default (server side) however can be set to the player's preferred keybind in the FiveM keybinds setting found in the settings menu within the Esc Menu.
- New setting:
RagdollAsToggle
, this will make either the ragdoll be a toggle or a hold key
Adult Emotes can be hidden from the menu by setting AdultEmotesDisabled
to true
in the config.lua file.
This will completely conceal the emotes from the lists (Emotes, Shared Emotes, etc) at startup making them unusable.
The emotes that are concealed, are the ones flagged in the animation list with AdultAnimation
. You can see how it is done with fspose
.
Alternatively, you can also hide animal emotes.
QBCore integration to match their fork of the original dpemotes
- Config option which supports the QB Framework in their fork of dpemotes
If youโre using qb-core, you can now set Framework = "qb-core"
in the config file, otherwise leave it as false
.
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
-
Add DpEmotes to your
server.cfg
-
Download the latest recommended artifacts for Windows or for Linux
-
Enforce gamebuild to latest build for all emotes and props to work correctly
-
Set the desired language and settings in the config.lua
-
Qb-Core server owners, set
Framework = 'qb-core'
in the config file, otherwise leave it as false. -
To use the SQL features, install the oxmysql resource. If you do not want to use the SQL features, comment out the
oxmysql
region in fxmanifest.lua.
Alternatively, you can use the keybind command that comes with FiveM without having the SQL, by entering the following into F8:
bind keyboard "Yourbutton" "e youremote"
. To remove the keybind, type "unbind keyboard "Yourbutton"
.
- Start dpemotes
-
Check out my youtube playlist below:
Emotes will work with either SyncOffset
or Attachto
.
-
If it is with
SyncOffsetFront
orSyncOffsetSide
, then the offset used is the one of the emote the player started.
For example, if player one starts the emotehandshake
which hasSyncOffsetFront
, then player one will have theSyncOffsetFront
but not the other player. -
If it is with
Attachto
, then it'll either be player one's data used for attaching, or the player two's data.
For example, if player one start the emote carry, then the other player will be attached but not the player one because Attachto is set incarry2
and notcarry
. -
If player one starts the emote
carry2
, then player one will be attached and not the other player. it's the player who start the animation who will in most cases be moved
Special case, if both emote have the Attachto
then only the player who started the emote will be attached.
You can find a list of ped bones to attach the other player here: Ped Bones or alternatively if the link is down for some reason, you can check here
Using the websites provided above, enter the bone ID, ie 1356
and not 111
, which is the Bone Index.
Particle effects can be found using the DurtyFree GTA V Dump. You will need to add the particle assest, name, and placement. Placement is done via XYZ, Pitch, Roll, Yaw, and scale.
Big thanks to DurtyFree for his amazing work.
PtfxPlacement = {
-0.15, -- X
-0.35, -- Y
0.0, -- Z
0.0, -- ROTATION X
90.0, -- ROTATION Y
180.0, -- ROTATION Z
1.0 -- SCALE
},
By default, the main prop will share it's coordinates with the particle effect, so just put 0.0 for the particle effects and you will be good to go.
If no prop is uses in the animation or you require the particle effect to be in a different location, use PtfxNoProp = true
, and 0.0 will 9/10 times be the human peds' stomach; you can then offset your coordinates based on that with the first 3 entries being XYZ, and the last 3 being rotation XYZ.
Using Menyoo, spawn down a tennis ball and attach it to human, by default menyoo will attach it to the SKEL_ROOT bone (stomach), so from that, what we can do is offset the coordinates, say, up to the human ped's mouth, and then once we've got it correct, we can transfer those coordinates over to dpemotes, and tah dah, we have our Ptfx Placement.
Because the menu gets updated frequently, the files get overwritten. To avoid this, you can add your own / downloaded animation files (.ycd)
inside of a newly created folder, give it a name, and place it in the dpemotes\stream\[Custom Emotes]
folder.
Add your animation code to the AnimationListCustom.lua
and make a backup of this file, call it BackUpAnimationListCustom.lua
.
Whenever an update is released, rename BackUpAnimationListCustom.lua
to AnimationListCustom.lua
, click yes to overwrite, and you're good to go.
Below is an example:
-
Fixed an issue with the clipboard and added textures to paper (/e clipboard)
-
Changed umbrella texture to black (/e umbrella)
-
Custom LSPD police badge by LSPDFR member Sam
-
LSPD reskinned badge by GTA5Mods user Sladus_Slawonkus
This project does not contain a license however is in compliance with express custom animation and prop usage rights granted by each individual author.
You are not allowed to change / add a license.
These usage rights do not carry over to any third party including any other forks and/or projects without express permission and must not be extracted from TayMcKenzieNZ's fork of DpEmotes.
If you want to modify this particular fork of DpEmotes (does not apply if you want to use it for personal purposes) or make an agreement, you can contact TayMcKenzieNZ via Discord. Pull requests are actively reviewed and discussed with TayMcKenzieNZ and contributors and will be accepted as long as they do not contain breaking changes.
You can read more about unlicensed repositories here if questions remain.
If you wish to fork this repository, the animations and their respective code must be removed unless stated otherwise by their respective authors.
โ You are allowed to use the custom animations explicitly provided within this fork only
โ You are allowed to add your own custom animations to this fork and use it on your server. The entire content must remain on your server and not be reuploaded.
โ You are not allowed to re-distribute the custom animations provided with this fork
โ You are not allowed to claim the custom animations provided within this fork as your own work
โ You must respect an authors wishes and remove code, animations and props if your permission request is denied
All custom animations were added with permissions from the creators and does not contain any paid or leaked work.
All animation creators have specifically asked that their content remains free and that I do not try to profit from them, claim them as my own or reupload them anywhere else but my GitHub, therefore you may not extract the animations and / or use them for your own menus.
This script is where it is today because of the amazing contributions made by the following people:
-
Thank you to Tigerle for providing the additional code required to make Shared Emotes work to it's full extent
-
Thank you to SMGMissy for assisting with custom pride flags and how to stream them
-
Thank you to MissSnowie for the Explicit Usage Rights Agreement to add free custom animations either publicly available or on their discord and for the motivational and overal moral support
-
A huge thank you to Kibook for the addition of the Animal Emotes sub menu
-
Thank you to AvaN0x for reformatting and assisting with code, additional features and figuring out shared particle effects
-
Thank you to Smokey for the Explicit Usage Rights Agreement to add free custom animations either publicly available on on their discord
-
Thank you to BzZzi for the Explicit Usage Rights Agreement to add free donut, croissant and fire torch props
-
Thank you to Natty3d for the Explicit Usage Rights Agreement to add free lollipop props
-
Thank you to northsqrd for adding the search function, Animal Emotes config, mobile phone prop texture variants and general contributions
-
Thank you to crusopaul and Eki for discussing KVP and initializing it to the menu for persistent walkstyles
-
Thank you to Amnilka for the Explicit Usage Rights Agreement to add free custom animations either publicly available or on their discord
-
Thank you to LittleSpoon for the Explicit Usage Rights Agreement to add free custom animations either publicly available or on their discord
-
Thank you to Pupppy for the Explicit Usage Rights Agreement to add free custom animations either publicly available or on their discord
-
Thank you to SapphireMods for the Explicit Usage Rights Agreement to add free custom animations either publicly available or on their discord
-
Thank you to QueenSisters Animations for the Explicit Usage Rights Agreement to add free custom animations either publicly available or on their discord
-
Thank you to you, the community for being patient, showing love and appreciation, and for providing translations.
You pay a big role in keeping this script alive and we could not do it without you ๐