[How-To] Menyoo To RPEmotes - Emote Props, Shared Emotes & Conversions

Hey guys! :slightly_smiling_face:

Whether you’re an animation creator yourself or just looking to add more to RPEmotes, you’ve come to the right place. Although lengthy in text, I hope that this tutorial will provide enough information to bring more excitement to your communities.

With the ongoing support of my good friend and co-developer @AvaN0x, and the generous and supportive community who have graciously provided translations, suggestions and encouragement,
we have been offering our additions over on my RPEmotes repository.

Since doing so, we have updated the code to better support Shared Emotes :smiling_face_with_three_hearts: By doing so, we have getting a ton of people asking us how we did it.

Some of the tips and documentation in this post may work for dpemotes or other animation menus, however this forum was written solely to assist those using my resource.


Adding animations to AnimationListCustom.lua :people_wrestling:

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

First, I will show you some screenshots from Menyoo and then RPEmotes, 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:

This is a fork of the original

  • You may need to update the ASI file, especially when a new gamebuild is supported by cfx.re. - Click here for information on how to do so.

Check the comments regularly, someone may be generous enough to provide the file for us :hugs:

  • 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 Plugins folder doesn’t exist, create one.

  • Put MenyooStuff and fx_asi_build.res (see second bullet point) in data > cache > subprocess

  • Press F8 twice in game. This can be changed to another key by opening the config file found in MenyooStuff. Google to find what keyboard key is what number, and change it to that.


YouTube Tutorial For Menyoo By Games & Graphics :video_game:


FiveM & Scripthook :gear:

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. This website tends to go down sometimes, but a simple GTA 5 Ped Bones google search will guide you in the right direction :sunglasses:.

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

Code Snippet:
    ["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 RPEmotes. The code formatting is very different to other menus out there. Please bare this in mind if or when switching menus


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 RPEmotes :repeat:

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 attached 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 RPEmotes uses the YZX.

So how do we convert from Menyoo to RPEmotes??

One thing to note, your XYZ in Menyoo is fine and can be used in RPEmotes, 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 RPEmotes 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 into RPEmotes’ 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.
Code Snippet:
    ["umbrella"] = {
        "[email protected][email protected]@[email protected]",
        "base",
        "Umbrella",
        AnimationOptions = {
            Prop = "p_amb_brolly_01",
            PropBone = 57005,
            PropPlacement = {
                0.15,
                0.005,
                0.0,
                87.0,
                -20.0,
                180.0
            },
            EmoteLoop = true,
            EmoteMoving = true,
        }
    },
    ['umbrella2'] = {
        'rcmnigel1d',
        'base_club_shoulder',
        'Umbrella 2',
        AnimationOptions = {
            Prop = 'p_amb_brolly_01',
            PropBone = 28422,
            PropPlacement = {
                0.0700,
                0.0100,
                0.1100,
                2.3402393,
                -150.9605721,
                57.3374916
            },
            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}"


Here is a video I have done with @BzZzi’s fire torch prop, showcasing how to attach props :smiley:


Two Props Are Better Than One :fire:

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

We may at some point in the future allow more than two, however for simplicity and familiarity with dpemotes, it is currently set at two.

Here is an example that is already provided in the menu for you:

      ["notepad"] = {
        "missheistdocksse[email protected]",
        "base",
        "Notepad",
        AnimationOptions = {
            Prop = 'prop_notepad_01',
            PropBone = 18905,
            PropPlacement = {
                0.1,
                0.02,
                0.05,
                10.0,
                0.0,
                0.0
            },
            SecondProp = 'prop_pencil_01',
            SecondPropBone = 58866,
            SecondPropPlacement = {
                0.11,
                -0.02,
                0.001,
                -120.0,
                0.0,
                0.0
            },
            EmoteLoop = true,
            EmoteMoving = true,
        }
    },

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 RPEmotes AnimationListCustom.lua.

code snippet
       ["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,
        }
    },

(Again, this is already provided.)

Where Do I Find A List Of Props?

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


Is There Another Way I Can View Animations Other Than Menyoo?

Yes, shoutout to FiveM member Freamee who created a neat little Animation Viewer you can use. I have not personally used it, however came across it so decided to add it here to my tutorial post :grin:

I have not personally used it, nor do I know if it works with custom made animations.


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.

I have already written a tutorial on how to Enforce Gamebuild To A Higher DLC here, so I won’t repeat myself. Please give this a read as there is a few things to keep in mind when enforcing gamebuilds, ie addon clothing ymt limits, and stuff like that.


Add-On Props - RPEmotes

Recently I’ve been getting questions regarding how I was able to add add-on props to RPEmotes and how someone else could go about doing so, so here’s a tutorial video I did;

Example:

You will need to download the latest version of Codewalker

You will have to join their d#scord. If you’re [email protected] from there, that’s your problem, not mine:

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


Shared Emote Coordinates:

We have added code to make shared emotes easier to accomplish.

(See Shared emotes 👩🏻‍❤️‍💋‍👨🏼 of my github repository)

  • Using menyoo, we can atatch an NPC ped or animal to our player using the Spooner options, Attachment Options > Attach to something > Self.

  • We can also convert our BONE ID using the GTA Ped Bones.

In my testing for the shared emotes shown below, I was able to use Menyoo to attach an NPC Rottweiler to myself, and simply copy and paste the coordinates into dpEmotes without requiring any conversion like prop attachments, simply because no rotation was required:

Shared Emotes will work with either SyncOffset or Attachto .

If it is with SyncOffsetFront or SyncOffsetSide , then the offset used is the one from the emote, of which the player started.

For example, if player one starts the emote handshake which has SyncOffsetFront , then player one will have the SyncOffsetFront 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 in carry2 and not carry .

If player one starts the emote carry2 , then player one will be attached and not the other player.

It’s the player who started the animation, who will in most cases, be moved.|

Special case, if both emotes have the Attachto flag, then only the player who started the emote will be attached.


Example of Attachto code:

In the code snippet below (already added to DpEmotes) you can see how is done, and that because no rotation was required, I was able to copy the coordinates straight from menyoo:

Code Snippet
} },
    ["followa"] = { "[email protected]_me_001", "follow_me_001", "Follow A (Front)", "followb",
        AnimationOptions = { --- Ped In Front emote by Dollie Mods
            EmoteLoop = true,
            EmoteMoving = false, -- We can set this to true for lols, however it messes up if you walk through doors. Either player can press X to cancel the shared emotes
        } },
    ["followb"] = { "[email protected]_me_002", "follow_me_002", "Follow B (Back)", "followa",
        AnimationOptions = { --- Ped At Back emote by Dollie Mods
            EmoteLoop = true,
            Attachto = true,
            xPos = 0.078,
            yPos = 0.018,
            zPos = 0.00,
            xRot = 0.00,
            yRot = 0.00,
            zRot = 0.00,
        } },

}

If no bone is provided in the attachment code, SKEL_ROOT or, Bone ID 0 is used by default


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!

11 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.


2 Likes

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.

2 Likes

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:

3 Likes

I’ve never done cutscene animations, but I would presume they’re far more complicated. Sorry, I don’t know. However you would need to be on the latest gamebuild for ALL emotes and scenarios to work.

Hey! When i get your DP Emotes, i have it in the config that the Menu should open with f2 but it opens with F4 too but only for me. do you know how i can fix that

I don’t understand if I activate the version + set sv_enforceGameBuild 2372 the mods manu with the scriptHook no longer work

You need to update the ASI files for it to work on newer Gamebuilds @rocco34

1 Like

Delete your cache and delete server cache. I don’t know what’s going on here but make sure it is indeed F2. You can find the website for the keys provided in the config.

It Opens on F2 and F4. I Have Deactivated the Faviorit Keybind but to make Sure i did give it the F2 Key too. Others can Only open it on F2, as far as i know i am the only one who can open it on F4 too.