[How-To] Menyoo To DpEmotes Conversion

Hey guys!

Many of you probably want to add more emotes to the somewhat abandoned script, dpEmotes but when you do, the prop placement is off or you can’t quite figure it out.

For the past few months, I have been the "unofficial updater" of dpEmotes and offering my additions over on my own fork of dpEmotes, Tay’s Fork Of dpEmotes and have been getting ton of people asking me how I do it.


We will be working with the AnimationList.lua file which can be found in the Client folder.

First, I will show you some screenshots from Menyoo and then dpEmotes, and explain to you how we can convert it, as well as provide some helpful resources :stuck_out_tongue:


How To Install Menyoo For Fivem :gear:

  • Grab Menyoo from here: MAFIN’s Menyoo Github

  • Right click your FiveM desktop icon, and select Open file location

  • Select FiveM Application Data

  • Put the menyoo.asi file in the plugins folder. If the folder doesn’t exist, create one

  • Put MenyooStuff in data > cache > subprocess

  • Press F8 twice in game. This can be changed to another key, you can Google or watch YouTube to figure that out.

YouTube Tutorial For Menyoo By Games & Graphics


FiveM & Scripthook

THE SERVER WILL NEED TO HAVE SCRIPTHOOK ENABLED FOR IT TO WORK, IF YOU ARE NOT THE SERVER OWNER, DON’T BOTHER, OR TRY AND FIND A SERVER WITH SCRIPTHOOK ALLOWED

If you are the server owner, you can enable scripthook in the server.cfg file under the following. You do NOT need to download it:


# This allows players to use scripthook-based plugins such as the legacy Lambda Menu.
# Set this to 1 to allow scripthook. Do note that this does _not_ guarantee players won't be able to use external plugins.
sv_scriptHookAllowed 0

Alternatively, you can enable scripthook in the F8 console by typing sv_scriptHookAllowed 1. Again, you need to be the server owner or have access to commands


Prop Emote Example :gear:

Here you can see I have applied the animation _idle_garbage_man, within the directory missfbi4prepp1.

I have also attached the prop prop_cs_street_binbag_01 to the Right Wrist bone:

If we scroll through the list of bones, we should see that another bone name has been ticked. :ballot_box_with_check: In this case, the name is PH_R_Hand - We need to visit this website GTA Ped Bones to grab the number ID. This bone’s ID is 28422

Since the Pitch, Roll and Yaw have been untouched, we can quite easily add this animation to dpEmotes, as followed, in the AnimationList.lua file, located in the client folder:

}},
[“gbag”] = {“missfbi4prepp1”, “_idle_garbage_man”, “Garbage Bag”, AnimationOptions =
{
Prop = “prop_cs_street_binbag_01”,
PropBone = 28422,
PropPlacement = {0.0, 0.0400, -0.0200, 0.0, 0.0, 0.0},
EmoteLoop = true,
EmoteMoving = true,
}},

This is just an example and has already been added to my fork of DpEmotes


Helpful Tips :gear:

  • EmoteLoop determines whether or not the animation will loop or not

  • EmoteMoving determines whether or not the ped can move around. Some animations affects the upper or lower half of the body, therefore the animation may look a little messed up if the player is able to move around freely, (aka EmoteMoving = true.).


Converting - Menyoo To DpEmotes :gear:

Great! Now let’s move onto something a little more confusing and complicated :thinking:

Here we have an animation I have made with an umbrella using the rcmnigel1d directory and base_club_shoulder animation:

This has also already been added to my fork of dpemotes

The umbrella is attatched to the Right Wrist, however the proper bone name is PH_R_Hand. We can see this by clicking on the Bone option in Menyoo, and scrolling down until we see that PH_R_Hand. As stated earlier, we need the bone’s ID. PH_R_Hand = 28422.

If we were to copy and paste the XYZ Pitch, Roll and Yaw from Menyoo into dpEmotes, the umbrella will not be in the correct location. This is because Menyoo uses the ZXY order, whereas DpEmotes uses the YZX.

So how do we convert from Menyoo to dpEmotes??

One thing to note, your XYZ in Menyoo is fine and can be used in dpEmotes, however we will need to convert the Pitch, Roll and Yaw.

Visit this website 3D Rotation Converter

  1. On the Input side, you want to select Degrees, then in the Euler angle section, select "ZXY" order, which is what Menyoo uses.

  2. On the Output side, also select Degrees, then in the Euler angle section, select “YZX” order, which is what dpemotes uses.

  3. Input Menyoo’s Pitch, Roll and Yaw into the X Y and Z fields.

In this case, it would be:

  1. Copy the values for X, Y, and Z from the Euler angles (degrees) section on the Output side.
[ x: 7.1745885, y: -151.2483739, z: 3.9602355 ]
  1. Enter those values in the dpEmote’s PropPlacement field after your Menyoo X, Y and Z. If it’s a long number like 123.6678934, you may be able to get away with just 123.667.

}},
[‘umbrella2’] = {‘rcmnigel1d’, ‘base_club_shoulder’, ‘Umbrella’, AnimationOptions =
{
Prop = ‘p_amb_brolly_01’,
PropBone = 28422,
PropPlacement = {0.0600, 0.0100, 0.1200, 7.1745885, -151.2483739, 3.9602355},
EmoteLoop = true,
EmoteMoving = true,
}},

If the Pitch, Roll and Yaw are all 0.0, you can just enter PropPlacement = {x, y, z, 0.0, 0.0, 0.0}"


Two Props Are Better Than One :fire:

DPEmotes allows us to attach two props to our ped :sunglasses:

We can achieve this by doing the following:

Prop = ‘propname’,
PropBone = 12345,
PropPlacement = {0.00,0.00,0.00,0.00,0.00},
SecondProp = ‘secondarypropname’,
SecondPropBone = 67890,
SecondPropPlacement = {0.000, 0.0000, 0.000,0.00, 00.00, 0.00},
EmoteLoop = true,
EmoteMoving = false,

In this example screenshot below, you can see that I have given my ped a petrol canister and a backpack, to accompany the ‘hitchhike’ emote:

In this case, we need to attach the props to the correct bones, find the bone IDs from the website I have provided, and convert Menyoo’s Pitch Roll and Yaw, then copy those figures into DpEmotes AnimationList.

   }},
   ["hitchhike"] = {"[email protected]_lift", "idle_f", "Hitchhike", AnimationOptions =
   {
      Prop = "w_am_jerrycan",
      PropBone = 18905,
      PropPlacement = {0.32, -0.0100, 0.0, -162.423, 74.83, 58.79},
      SecondProp = 'prop_michael_backpack',
      SecondPropBone = 40269,
      SecondPropPlacement = {-0.07, -0.21, -0.11, -144.93, 117.358, -6.16},
      EmoteLoop = true,
      EmoteMoving = true,
   }},

Where Do I Find A List Of Props?

• Check out this amazing website where you can search for props (any other neat things) as well as seeing a preview :stuck_out_tongue:


HELP! I added animation and props but in game they don’t work! Why??

By default, as of writing this, FiveM is on the Arena Wars DLC. To get clothing, vehicles, animations and props from newer builds, we have to force our server into a higher gamebuild. It’s also important to check that the animation directory is correct; double check that the animation directory is the number zero and not letter O, or number 1 and not the letter I or L.


How to change gamebuild in FiveM

on windows, open your run.bat file with Notepad++ (Download Notepad++ here: Downloads | Notepad++)

Add the following: +set sv_enforceGameBuild 2372. When a newer DLC comes out, replace 2372 with the new DLC number/code.

Save and start server


ENFORCING GAMEBUILD ON LINUX

On Linux, it is the exact same thing, however you need to open run.sh instead of the bat file.

If you have txAdmin, you can put it in the Settings > FXServer > Additional arguments

Add the following: +set sv_enforceGameBuild 2372


The opportunities are endless :blush: Get creative! :stuck_out_tongue:

CREDIT WHERE CREDIT IS DUE:

Huge shoutout to @Dullpear_dev, the original creator of dpEmotes, without you, this would not be possible.


I have done this tutorial with the following in mind:


Feel free to post your creations in here, and if you need any help myself or others from the community can try and help you :smiling_face_with_three_hearts:

Happy coding, guys!

4 Likes

Thank you! :relaxed:

One important thing I forgot to mention is, that if you want all animations and props to work, your server needs to be on the latest available gamebuild:

REQUIREMENTS:

How to change gamebuild in FiveM


ENFORCING GAMEBUILD IN WINDOWS:

on windows, open your run.bat file with Notepad++ (Download Notepad++ here: Downloads | Notepad++)

Add the following: +set sv_enforceGameBuild 2372

Save and start server


ENFORCING GAMEBUILD ON LINUX

On Linux, it is the exact same thing, however you need to open run.sh instead of the bat file.

If you have txAdmin, you can put it in the Settings > FXServer > Additional arguments

Add the following: +set sv_enforceGameBuild 2372

I have personally tested this with Tuners DLC with no issues.


1 Like

This is amazing! Thanks :smiley:

2 Likes

Hi how are things?
I have tried installing Menyoo to FiveM as I see in the tutorials, but this just doesn’t work. Are you using Menyoo in GTA Normal? Or you could tell me how to install it.

1 Like

Instructions updated @Luyh @ThisIsOlaf

Thanks brother :D!

1 Like

@ TayMcKenzieNZ Man, I tried again reading and trying to look at other tutorials and this just doesn’t work for me, I don’t know if I’m doing something wrong, or what. However, I try to square the props using the xyz manually :(. If one day you have the time and can help me, I will be eternally grateful.

1 Like

@Luyh XYZ is in Menyoo is fine. Pitch roll and yaw, needs to be converted. I’ll make a quick little animation and show how you convert it :smiley:

1 Like

OK, try the tutorial now… no offense but, I don’t know how to explain it any better.

1 Like

Thanks for taking the time to explain the conversion, but I was referring to the fact that the Menyoo does not work on my FiveM, I still can’t understand why, however I really appreciate the help. I will try keep looking for a way to make it work, good forum :smiley:

I explained how to get it to work. You need to enable it…

@ThisIsOlaf @Luyh

I have updated the tutorial and provided actual example codes as well as a video for the Menyoo part.

On the website, you enter Menyoo’s Pitch roll and yaw into the XYZ part, not the XYZ of Menyoo; I understand this confuses people, but we are converting the pitch roll and yaw not the positioning.

I hope it now makes some sense and gives you insight of how it is done.

I am also interested in adding more languages! :blush:

2 Likes