#Lethal Emotes API

1 messages · Page 5 of 1

grizzled lava
#

Curious

#

I'll make sure to fix that before the real update comes out

crystal nimbus
#

For example, the "Butt" emote from the "BadAss" mod

red needle
#

it is because of the contraints for the skeleton, there is a minimum overhead cost to doing complex emotes like this

narrow geyser
#

There were some pretty big logic changes that were done to help performance, so it's expected that we miss a few things.

#

That's why it isn't released yet

crystal nimbus
#

We won't upload to Thunder or anything else.

#

We will simply create an archive and install it manually

#

And there it will already be clear what is missing, and so on.

#

But the work is already great, I'm really happy

#

I have a problem...

#

After emotions, I can’t log into the terminal

#

Even canceling the emotion doesn't help.

grizzled lava
#

will add that to the to-do

crystal nimbus
#

I can interact with the rest

#

no with terminal

#

Taking off and flying back to the planet doesn't help.

narrow geyser
#

Probably something broken with a patch we have

#

We've got a patch to disable emotes when entering the terminal

#

I guess it's something to do with that

#

But I'll have to check later when I can

crystal nimbus
#

Re-entering the save game doesn't help either.

#

I've seen this error somewhere before

#

When moving away from the screen, he used

crystal nimbus
grizzled lava
#

uhhh, not seeing the terminal bug you got, could be a mod conflict or something

#

or something I fixed on my end already, not sure

crystal nimbus
#

But I'm not sure that you can find a mod that somehow conflicts

#

But there are options, everything related to TerminalApi

#

And in general with the terminal

#

018dbe34-4e5a-112c-2025-19ec415edea7

#

Just a guess, nothing more

grizzled lava
#

pushing out 1.5.1 to thunderstore

grizzled lava
#

no I think that's a good thing

crystal nimbus
#

Then I'll do without dancing for now 😭

grizzled lava
#

unless it still happens for you

crystal nimbus
#

oh, my translator translated it wrong

#

So I'll take a look

grizzled lava
#

yeah I would suggest testing with 1.5.1 once it propigates

#

if it still breaks lemme know

crystal nimbus
#

I can guess which mods might break it

#

because I know them by heart

#

I will then test each of them separately

#

Maybe I'll find an incompatibility

#

Once I checked each mod out of 140 separately, found 7 unstable mods and 3 of which greatly reduced performance

grizzled lava
#

@ whoever is making the JKR emotes couldn't load an asset, + you should probably rename the assetbundles to anything else, such as jkr_animation and jkr_audio as to not conflict with other mods

grizzled lava
#

oh uhh

#

also

#

you didn't mark stuff as dmca safe/unsafe properly

#

(also you don't have to mark your package as deprecated and upload a new one, unless you needed to change some specific stuff with the core manifest package)

#

👀

vagrant sapphire
grizzled lava
#

totally fair, just making sure as I've seen a couple other folks before not realize they can update

#

but yeah if it was a new name then it be like that

vagrant sapphire
# grizzled lava

Cool, I'll fix what you told me tomorrow. I still have some issues to sort out on my end, though. For some reason, the first time an audio plays for any of my emotes, there's a one-second delay, and they freeze sometimes mid-play, but only the first time playing them

narrow geyser
grizzled lava
narrow geyser
#

specifically

#

these are our recommended import settings

red needle
narrow geyser
#

I went on hiatus a week earlier to finish LAD: IW and then went right into P3R

vagrant sapphire
# narrow geyser

Hmm, that's strange. They were unchecked (they were when I assetbundled them). Okay, I'll fix that too

narrow geyser
#

make sure Load Type is set to Compressed In Memory

vagrant sapphire
narrow geyser
vagrant sapphire
crystal nimbus
#

The problem with the terminal remains @grizzled lava

#

018dc596-015b-7218-cf5d-103ceaf92dbc

grizzled lava
#

Can you also send a log file? I have a feeling it might be something specific

#

I'll take a look when I get off work

narrow geyser
#

Hmmm

narrow geyser
crystal nimbus
#

I'll check it a little later and send you a full report.

#

With magazine and video+logs

narrow geyser
# crystal nimbus en

Alright, was just curious, thought that maybe it could be a locale issue or something

crystal nimbus
#

But now everything is fine

#

The problem here is something else

#

And to find out, I have to disable 160 mods one by one

#

Which is very difficult for me...

#

But I'll try to find out the reason

narrow geyser
#

I'll try to test for the issue myself, but send the log whenever you get the chance

crystal nimbus
#

I used to vacuum up mods like this and found 6 unstable ones

crystal nimbus
#

I use mods to hide console mod errors

#

I turn them off when there are problems

#

To check with your own example

#

excuse me for this...

#

But for such a large assembly, sometimes intervention is required

#

People accidentally touch the console and their game breaks

#

and if there is no console, everything is fine ^^

crystal nimbus
#

@grizzled lava

#

018dc6fd-b34f-7b89-d8dc-a540a66667ba

#

This is the first test, with an error and stuff

#

You can watch (numbering, sequence of replays)

#

Now I will disable each mod and their libraries and look at the behavior

#

If I see something, I'll let you know

#

There is progress

#

I found the problem right away

#

https://thunderstore.io/c/lethal-company/p/IAmBatby/LethalLevelLoader/
https://drive.google.com/drive/folders/1kbLlDH1w6-huWWCwqxeHUkQcdeIvyxtD
I disabled this kernel and all the mods associated with it, the console at least started to work and did not freeze, as in previous videos 1-3.
In video report number 4, you can see that sometimes when spamming emotions or something like that, the console screen moves away slightly, but still works.
When updating the lobby on video number 6, after numerous spams of emotions, the console works stably - there was no distance, which is very strange (perhaps the error is random and is also corrected when the ship flies back into orbit, but this is not certain) @grizzled lava

#

Therefore, I think the issue needs to be resolved with LLL, and only then further testing the main

#

I hope this somehow helps in solving the problem 🥺 @grizzled lava

narrow geyser
#

he's at work atm, so he may not be able to respond right now

#

but we'll take a look as soon as we get the chance

#

thanks for looking into it

crystal nimbus
#

I checked without this mod...

#

But I don't think much would change there.

vagrant sapphire
#

So, hopefully, I just fixed what was remaining. I'll be off sometime, but I wanted to ask if there are plans for more parameters on the API, like animation speed or input for loop points in music. Anyway, that's all. Thanks

grizzled lava
#

Loop points in music: not exactly, but you can feed in primary and secondary audio since that probably covers your use case? Primary audio gets played once, then the secondary audio loops forever

Animation speed: we found in the past in a couple niche cases, the animation speed needed to change dynamically, so instead of being a parameter for emotes, when your emote plays you can call (I can't remember the syntax properly but I'll look it up) bonemapper.setanimationspeed(1f) where 1 is normal speed

#

SetAnimationSpeed

grizzled lava
#

without tf2 emotes, the terminal works fine, but I'll get a fix out

#

ah, yeah I think it's similar to the issue emotesapi had before, where there is something breaking in the NetworkManagerStart and I am going late so it broke my stuff by proxy

crystal nimbus
#

I never would have thought of it

#

What does LLL have to do with it then?

grizzled lava
#

possibly nothing, if they are "in the car crash" as you will (I know it's a poor analogy) they might not be the cause, but they also show up

#

for reference, this is the "car crash"

#

as you can see it still shows tf2 emotes and emotes api

#

however, as you can see, at least for tf2 emotes

#

it's basically impossible for tf2emotes to cause any issue, but it still hooks into that function so it shows up

#

my fix worked for tf2 though, so I'm gonna push that out

#

1.0.5 should fix it whenever that propigates

#

#thunderstore-releases message

crystal nimbus
#

Wow

#

By the way, is it convenient for you to work via video + console?

#

:3

#

I’ve been using this for a week, it’s a convenient theme

grizzled lava
#

this time? nah cause I was able to reproduce the bug easily, but honestly it's nice to have the video as an option, since that guaruntees the repro steps are laid out correctly, so I wouldn't stop the additional videos even if they aren't always needed

#

I wish I could convince people at my job to use videos in addition to repro steps >_>

red needle
#

so, sorry I never followed up on this, we were busy WaferWorry

The camera alignment issue is actually not an alignment issue as during emotes players are capable of looking up or down whenever they want so the only real alignment that can be done is for a vertical slice as shown by example in this photo

#

if we were to hard lock the camera to not allow any player control which would feel really un-natural and bad (we tested early on in development) then you would see exactly what is in the square.

Due to the nature of the "roll on X" being un-locked you must make some assumptions about the angle at which the player is looking vertically with your emotes.

hazy dew
#

Holly shit, it’s skibidi snake toilet

faint bane
#

.

narrow geyser
#

.

grizzled lava
#

I feel this conversation on an emotional level

faint bane
#

discord wouldnt follow the thread i had to put a period so i could

#

cause i was gonna ask which script on your emotes api github actually does the emoting

grizzled lava
#

Are you looking for the part that performs the animations on the emote skeleton, or the part that copies the original bone locations to the emote skeleton's locations?

#

if you're looking for the part that plays animations on the original animator

#

uhhh

#

we don't

red needle
#

Latelate update rigmapping my beloved

faint bane
faint bane
#

could i ask how you managed to pull the player model with proper rigging? i tried to do it with the first person arms and it didnt come out too well

narrow geyser
#

Excluding the cleanup that @red needle did, we used AssetRipper and then exported the model + rig from unity using a GLTF exporter

faint bane
#

did the rig come out cleanly with the model or did you have to go through and manually make sure stuff lined up

#

and also which version of asset ripper, recently it got worse

narrow geyser
#

I used the latest version

faint bane
#

really?

narrow geyser
#

yeah the weird web ui one

faint bane
#

i can barely stand it

#

thanks for the help btw

narrow geyser
#

@red needle should be able to provide more info here in a few minutes

red needle
#

I did like tons of custom rig work, it was just the skeleton and weights when we got out

#

I made the IK myself as well

faint bane
#

oh, damn

#

good work

#

100% thought it was just fully ripped from the game

red needle
#

I may suck ass at even basic scripting but let me use blender and I'll cook a little smirkimus_maximus

faint bane
#

lmao

#

i think i cooked?

#

idk if this is right

red needle
#

gigachad GLTF export user

faint bane
#

why are my bones not look like bones

red needle
#

uhh

#

lemme make quick clip

faint bane
#

under the gltf_not_exported?

#

fix it, thank you though

red needle
#

yeah there

faint bane
#

fuck yeah holy shit this is perfect

grizzled lava
#

gltf masterrace

faint bane
#

thanks for all your help

red needle
#

fuck fbx, all my homies hate fbx

faint bane
#

one last question tho, you know any good tutorials for making IK

red needle
#

so

#

here is the neat part

faint bane
#

is it built in blender?

red needle
#

unless you are doing like tons of animation, blender has auto IK

#

for basic stuff

#

there is no IK poling so its a little jank but

#

granted, you will most likely need to do a smidge of touchup on your gltf skeleton export

red needle
#

to make sure that the joints are connected

faint bane
#

oh joints connected

#

maybe

#

ye

red needle
#

depending on what your gltf export and import settings are, some settings make none of the joints stay connected which is just as simple as clicking on each bone that needs to be connected and hitting "connected"

#

I had to do that with some of our gltf exports for various version of our rig

faint bane
#

i think they are connected

#

but

#

bcz hand moves with arm

#

but the lines dont line up, so im not too sure they do

red needle
#

they should be fine to hit connected, if you hit connected and something moves noticably when you hit it there is a problem

#

otherwise just hit crtl z

faint bane
#

yee connected fixed it

red needle
faint bane
#

i should make funny first person animations no one else can see

grizzled lava
narrow geyser
#

make them randomly play so people think they're insane

red needle
#

from there auto IK should be good enough

also hitting "R + Z + Z" with all finger bones bar the thumb selected should give you a fairly natural automatic hand close

faint bane
#

i need a nice fireball holding animation

#

and a reference to how it'd look in game

#

that's the hardest

#

game rest position vs blender rest position

narrow geyser
#

the camera will be included in blender

red needle
narrow geyser
#

in the correct spot

faint bane
#

would it be smart to just include the entire player rig you think?

red needle
#

it wouldn't hurt, you can always delete what you don't want from the blender scene

narrow geyser
#

it probably wouldn't hurt anything

faint bane
#

do the arms actually use IK? with zeekerrs i feel like he'd hand animate the arms moving up

red needle
#

ingame feet and hands use runtime IK that zeekerss animated in unity with

#

oh yeah

#

here is a real ik tutorial if you want to do more than basics

faint bane
#

alright give me a second to re-do this whole thing so i can have a good way to animate in blender with

#

again thanks for all the help lol, im not good at modelling(yet)

red needle
#

no prob

red needle
grizzled lava
#

I literally can only use blender properly because of @red needle's rig lol

faint bane
#

lmao

grizzled lava
#

ehh I can use blender

#

but animation properly

faint bane
#

i can barely use blender tbh

#

im just too used to unitys navigation

red needle
grizzled lava
#

don't remind me

#

or do, it's funny

red needle
faint bane
#

what's the key to delete an object and every child it has? delete by itself just sends the children to the top of the hierarchy

#

probably googleable but i have no idea how i'd word that without getting put on a list

red needle
#

just rightclick and hit "delete hierarchy"

#

if you want to bind a key to that you can rightclick the rightclick menu button and assign a key to it WaferShrug

faint bane
#

i see why you had to do some cleanup

grizzled lava
#

wym that looks exactly like our rig?

faint bane
#

he's got that one fracture

#

its a compound fracture i think

red needle
#

needless to say I had setup a few hotkeys to do cursor bone snapping lmao

faint bane
#

lmao

#

im just gonna Pose mode -> press A -> bone connected

red needle
faint bane
#

you think i could just ignore the main player model and just focus on the arms?

red needle
#

yeah you could but only the user would see their animations

#

how emotesAPI handles it is it just forces the first person arms to follow the full 3rd person model

#

so first person animations match exactly what other players see

#

or what you yourself would see if 3rd person was enabled

grizzled lava
#

the main "downside" to that is that your hands aren't always in front of your camera, if you want that to be a thing

faint bane
#

that's what i want

#

that's why im going through the problem of extracting the first person view model

red needle
#

yeah there should be no issue with that method

faint bane
#

i could definitely just animate the arms and plop them onto the main player and it'd work

red needle
#

however instead of screwing with the base games animator with animation overrides or whatver that nonsense is you can make your own "animation injection skeleton" for just the first person arms. This will keep broad animation compatibility with all other mods while saving you the pain of screwing with the base animator

#

i don't know your exact plan for executing the animations

faint bane
#

oh yeah that's what i was gonna do

faint bane
#

i was going to flat copy your guys' method(with credit)

red needle
#

credit is cringe stealing is based, pirate our code

faint bane
#

for the most part lmao, all i need is the arms to change since it's not full body animation

#

you will receive credit

#

i fucked up the order dammit

red needle
#

yeah thats fair, I'm excited to see what you end up making with all this

faint bane
#

hang on let me see if i can pull up the prefab rq

#

i need to make it a bit more emissive but im cooking

#

the player will hold a spell ball and when its cast they'll throw or do some kind of arm movement(to be determined) and itll spawn from their hand and go off

azure plaza
#

spammy

grizzled lava
#

just close your eyes 5Head

#

spam can't hurt you if you can't see it, it's not allowed to

#

I'll push out a fix in a couple minutes

azure plaza
#

woo hoo

#

you're amazing

grizzled lava
#

Well fix is ready, having to adjust some other stuff though but ya know

#

give or take 30 minutes to an hour

azure plaza
#

no need to rush

velvet monolith
#

Is it possible to have the emote wheel saved to the player data instead of the configs? Importing a new code overrides all the wheels it seems.

narrow geyser
#

We're looking into a solution for that

#

no ETA right now, but soon-ish

narrow geyser
#

I just finished implementing a similar thing for InputUtils, so I have a good idea on how to solve our problem here

grizzled lava
#

prob releasing this sometime tomorrow if I don't suck

grizzled lava
faint bane
#

hello, its me again, unrelated to the arms of the player, if i want to rip just the rig of something and have the bones still be bones and not just objects, is the process the same or is there something special i need to do

#

i tried with the bracken bones and it was just the empty indicator

grizzled lava
#

uhhh, hypothetically the process should be the same. Technically I ripped all the enemies with the old fbx method

faint bane
#

i figured it out

#

for some reason the gltb plugin likes to just spit out only a bin

#

bin is when i tried to do the whole hierarchy, animcontainer worked, only after i deleted everything in it

grizzled lava
#

Yeah, the exporter itself seems a bit wonky

#

But at least it works

unreal aurora
narrow geyser
#

could you send a modpack code?

unreal aurora
#

no code sorry 😦

narrow geyser
#

creating a fresh profile doesn't give me any errors

#

not sure what's causing that for you

#

gonna need more details than a screenshot

#

could you send a log

unreal aurora
#

sure where do i grab the log?

narrow geyser
#

in the BepInEx folder

#

there should be a LogOutput.log

unreal aurora
narrow geyser
#

ahh shoot

#

I know what went wrong

unreal aurora
#

yeah?? lol

#

glad you already know lol

narrow geyser
#

should have a fix out here soon

narrow geyser
#

got it, should be on the thunderstore soon

faint bane
#

im trying to understand your code, not making it easy X)

#

just trying to figure out how you actually assign emote constraints via the bonemapper, if its even done there

narrow geyser
#

the nonsensical variable names are all @grizzled lava s doing

#

don't quote me on this, but I think we set them up in Unity and package the prefab into an assetbundle?

#

yeah that's what it seems like we do

grizzled lava
#

I can get more info when I get out of my meeting, but it boils down to having the emote skeleton have the exact same bone names, and then matching them

faint bane
#

gotcha

#

what i did see is you get the root bone of the main guy(i assume) and spawn the emote skeletons root there

#

but im not sure how you're connecting the rest of the bones in code

grizzled lava
#

where it effectively loops through the base SkinnedMeshRenderers and checks their bones to the emoteSkeleton's SkinnedMeshRenderer and if the bone names match, it creates the emote constraint

#

there is a bit of extra code thrown in there to help it "guess" and be a little more optimized for standard models that don't move stuff around, but it really boils down to

foreach baseBone in BaseSMR
  foreach emoteBone in EmoteSMR
    if baseBone.name == emoteBone.name
      attach an emote constraint to baseBone with a source bone of emoteBone
faint bane
#

gotcha

#

i couldnt find the loop for some reason

azure plaza
#

Hello, could you people add a config to toggle certain enemies on and off for the EnemyInteractions mod?

grizzled lava
#

I mean, technically possible, if I might ask for any particular reason?

azure plaza
#

so only the masked emote

grizzled lava
#

I c

azure plaza
#

there is TooManyEmotes but I dont want to have to download 200+ emotes for that

#

anyway its just a suggestion

grizzled lava
#

shouldn't be that hard to get around too, I might get to it tonight or tomorrow

narrow geyser
#

it's not an unreasonable ask tbh

azure plaza
#

well if it happens, thanks in advance!

whole vault
#

Thank you for making this mod! I would like to ask if it were possible to add a config option to only emote while standing still? Some mods have done that individually, but I'd love to have it as a general option because I love the emotes, just not when running around inside the dungeons

faint bane
#

you are seriously a goober nunchuk lmao

narrow geyser
#

it's been requested a few times

#

tldr: we may eventually add an option for this client-side only

#

it's on the backlog of features right now

#

a host deciding option will probably never be made by us, however if someone else were to implement the feature, we won't stop them

grizzled lava
storm wren
#

im trying to follow the example project but the importanimation function doesnt want to accept anything

#

for some reason if i remove the [] around the first argument (even though thats definately not correct) the error just becomes

#

removing the brackets around both gives this

grizzled lava
#

Well, those are using the example helper functions I made which are in that same file, I suggest looking at them and even editing them to suit your needs better

storm wren
#

i tried that but the unedited ones give the same errors

grizzled lava
#

(sorry I'm not home at the moment so I can't do a deeper dive)

Try copying the code from one of the functions then and adjust that with what you have

#

Like copy the body of the function and paste/use that instead of the function itself

#

If that still throws errors then lemme know

narrow geyser
#

well, if you understand C# it may be better to look at how the helper function works

#

it creates an EmoteParams instance

#

that it passes to the importer

#

not all of the fields are required

storm wren
narrow geyser
#

hmmm

#

do you have dotnet 8.0 installed?

#

the SDK

#

the [....(something)...] syntax is a C# language version 12 feature

#

which only exists in dotnet 8.0 and up

storm wren
#

yeah incorrect version is what i thought might be the problem but i didnt know which version the api was on or which i have

narrow geyser
#

you're on windows I assume?

storm wren
#

yes

narrow geyser
#

could you open a command prompt (windows 10) or windows terminal (windows 11)

#

and type dotnet --list-sdks and press enter

storm wren
#

i just installed 8

narrow geyser
#

ah

storm wren
#

so yeah looks like that was the problem

narrow geyser
#

hopefully re-opening visual studio should fix it

storm wren
#

sadly no

narrow geyser
#

💀

eager cradle
#

You need to set LangVersion to latest

#

in csproj

narrow geyser
#

if they copied from the template project

#

it should already be set to preview

#

which would support it

#

I assume Visual Studio is still using the previous Sdk

#

not sure how to tell visual studio to use a different dotnet sdk

#

you might need to look it up

whole vault
narrow geyser
# whole vault Alright thanks for the answer :)

sorry if it's not the answer you wanted, it's just that none of us on the dev team want to implement the feature in which the host decides. once again the mod is open-source and we have no issues with anyone who wants to implement this feature, either as an addon mod or a PR

whole vault
#

I'm totally fine with it being a backlog priority for client-only. And there's a few mods that fit my criteria right now as well

storm wren
#

so deleted the old sdk to force the new one to be use, had to install visual studio 2022 because 2019 doesnt support version 8 and now it works

#

thank you

narrow geyser
#

np, glad you got it working

grizzled lava
#

I should probably add a note in the example repo mentioning that, I kinda overlooked that aspect when setting stuff up

#

Glad you got it worked out though

half atlas
#

Can someone help me with badass emotes not working with certain custom player models?

torn terraceBOT
#

Hello, @half atlas, we have a dedicated support channel and forum here: #help-and-troubleshooting #1185732310700654732
Anyone responding is a volunteer so be patient.

narrow geyser
#

bad @torn terrace

half atlas
#

Oh good

#

018e77c5-4215-3709-5052-8fe1c9e9d6ca

#

My modpack code

#

I'm trying to get this model mod to work with it

#

It just refuses to load this model whenever I have the emote api enabled

#

I'll send the error log

narrow geyser
#

alright, I'm taking a look right now

half atlas
#

Huh, strange. Even with emotes API disabled, the mod still refuses to load. I know another friends pack that has the Protogen model mod and it loads just fine, so I'm very confused

#

Disabling emotes API fixed the model last time I tested a few weeks back but now it doesn't work anymore

narrow geyser
#

weird, creating a profile using that code gave me no errors...

half atlas
#

Whaa

#

Could you see the proto in game?

narrow geyser
#

couldn't find it?

half atlas
#

The errors seem to appear after you open a lobby then return to the main menu

narrow geyser
#

not sure how to equip it

half atlas
#

It's on by default

#

It replaces the default player model

#

It's not a suit

narrow geyser
#

let me load again

half atlas
#

There's a mirror you can purchase from the terminal to see if you got it on too

narrow geyser
#

I see

#

it didn't replace the default suit

half atlas
#

Yeah, it's just not working at all for some reason

#

Does the Proto mod rely on model API? Maybe that's messing with it since it isn't integrated

narrow geyser
#

doesn't seem like it

#

seems like they are doing their own custom thing

half atlas
#

Try disabling model API

narrow geyser
#

of replacing every player with their model

grizzled lava
#

this model doesn't work in third person, that's kinda weird I think the GameObject's layer isn't set correctly. But with a more minimal testing setup it works "ok enough"

#

I don't have modelreplacementapi

half atlas
#

Oh, so it's working now?

grizzled lava
#

well again, this is with a minimal setup

half atlas
#

Oh okie

narrow geyser
#

like 4 mods

grizzled lava
#

yeah emotes, the skin, and some debug tools

#

nothing else

half atlas
#

At least we know the emotes aren't the issue

#

The model is just wonky

grizzled lava
#

well

#

it's implemented super destructively

#

it seems like it just overwrites stuff

#

not adding its own model

half atlas
#

Oh gosh

#

Wish someone could make a fork of it that was less destructive

grizzled lava
#

but it does work technically

#

realistically

half atlas
#

I love the custom facial animations

narrow geyser
half atlas
#

Awww, unfortunate

grizzled lava
#

it was created (and last updated) mid December, which was before a lot of standards got popular

half atlas
#

Bad timing

grizzled lava
#

most things were still a free for all then

half atlas
#

Seems the creator is inactive everywhere too

narrow geyser
#

tested it with the full pack

half atlas
#

Had a feeling

#

I suppose I'll just disable model API in the meantime

narrow geyser
#

mind you, you won't see the model in third-person

half atlas
#

Also might switch emote API to force first person

#

But gosh the camera movement on some of the emotes gives me motion sickness

#

XD

grizzled lava
#

you can turn the first person motion off

half atlas
#

You can?

grizzled lava
#

yeah I forget the name

#

lemme find it

half atlas
#

Imagine doing ROFL copter...

#

With camera movement on

grizzled lava
#

yeah there are like 3 ways

#

nothing -> head bobbing -> full lock

half atlas
#

I'll give it a look

#

Thanks for your help

#

I absolutely adore your monster emotes mod

#

So sillly

grizzled lava
#

glad you enjoy it lol

grizzled lava
#

oh

#

ok so the "None" option only partially works at the moment, never noticed that

#

we have a patch coming out in a day or two with global configs, I'll sneak it into that

half atlas
#

Nice

grizzled lava
#

currently the least nausiating option is head bobbing

azure plaza
grizzled lava
#

which isn't terrible but I understand if it's still a lot

azure plaza
#

they were dancing on my body

half atlas
#

Mine is invisible in the mirror

grizzled lava
#

I didn't check

#

but that makes sens

#

because for my third person method. I literally just take the culling mask of the spectator camera and use that (aka, you can see anything a spectator would) and that doesn't work

#

I assume the mirror works in the same way

half atlas
#

Oooh okie

#

Still seeing the proto mod spam errors after exiting a save file btw

#

Hopefully it can be ignored and it's still visible to friends at least

limber wind
#

So I'm trying to import my animation to Unity, I'm using the chadrig thing but once I apply the chadrigavatar.asset to my rig, the animation only works with the default unity model and the scavenger model stays stationary? Is this to be expected?

grizzled lava
#

Yeah I've noticed this on my end sometimes as well

#

It works fine in game though

#

I think it has something to do with having extra objects in the blender scene

limber wind
#

I've ported my emote to the game just fine. But for some reason my emote name seems to be appending my GUID to the front. Any idea why this happens?

narrow geyser
#

did you make sure to set the displayName field of the CustomEmoteParams?

limber wind
#

Hm I thought the internal name was enough. Seems like that worked though. thanks

narrow geyser
#

The internalName is more of a unique id for the emote

#

It should've been called that tbh

#

Unless nunchuk had a good reason that I'm forgetting about

faint bane
#

emoteGUID moment

grizzled lava
#

The only aspect that must be unique is in the scope of a single mod, no two internal names can be the same

narrow geyser
#

Alright, so I understand where you're coming from, but that's basically the same thing?

#

like it's still unique

#

it can't have a duplicate within the same mod

#

the XMLDocs should at least explain that

grizzled lava
#

It kinda do

narrow geyser
#

hold on, is internalName a required param?

grizzled lava
#

No

narrow geyser
#

it should really say, "Override the internal Identifier used to reference this emote in code, <bold>Not the Name Displayed in UI</bold>"

grizzled lava
#

<bold> 🤓 </bold>

limber wind
#

I'm trying to get a 2d beam effect to work as a prop in an emote. Right now I'm considering 2 methods and so far neither work.

  1. Create a beam in blender with a particle sim. Problem is blender doesn't have a good way to import these to Unity and the only way is keyframing a 1000 particles as individual objects which is 😬
  2. Import a 2D beam effect green screen mp4, apply it to a quad on a video player and chromakey out the green. This seems to look fine in unity, But problem is I can't really apply quads to timelines and video players don't work on it either. Any idea how I can work around this?
grizzled lava
grizzled lava
#

Global config has been pushed! Whenever you launch for the first time after installing 1.7.0, your global config will be created copying off of whatever profile you are currently on. This way you won't need to reassign emotes and settings whenever switching profiles, sorry this took so long

#

Also you can now use the join key to join any emote that doesn't explicitly have the parameter
allowJoining == false

#

previously this was exclusive to only emotes that supported full sync, but now it works on anything because that just makes sense

grizzled lava
#

Relevant with global configs mainly, if you have emotes on your wheel that are not currently installed, it should look something like this

#

doesn't break anything, just lets you know that these emotes will not work

grizzled lava
faint bane
#

0/10 no family guy

grizzled lava
grizzled lava
granite star
#

This is the best thing ever

#

I love brainrot

faint bane
grizzled lava
#

mind you, it only prevents Enemy Interactions from causing enemies to emote. If another mod comes along and makes enemies emote for any reason that's out of my scope

azure plaza
#

thanks so much!

grizzled lava
#

Also for technical reasons, it only uses the host's config, because making enemies emote only for select players could cause issues in a few scenarios

azure plaza
#

All good. I prefer it when things are synced for everyone

azure plaza
grizzled lava
#

Yeah

#

On a technicality

#

Same with the slime

#

It's not really emoting

#

But ya know

faint bane
#

rare chance for the earth leviathan to grow arms and legs and start flossing

limber wind
grizzled lava
#
  • hyper compressed videos
#

like super hyper compressed

#

90 minutes of video -> 79MB lol

craggy geyser
#

I have just two questions, maybe I'm just missing something, but anyway. What does the "Use Global Settings" toggle do?

Second question, before when I customized the emote wheel it would update for my friends through the config they'd get from the profile code, but now that config doesn't seem to be updating for them. Did an update get pushed recently that altered the config?

narrow geyser
#

it lets you keep a set of settings that won't get overwritten

#

disabling it will give you the old behavior, where the config is stored in the profile

craggy geyser
sleek copper
#

Is there a way to disable movement while emoting? Love the mod but my players keep spamming them it in the facility and it is starting to become really annoying.

grizzled lava
half atlas
red needle
#

its always a good day when emotes2 gets to be shilled

half atlas
#

Gonna try it out next time I play. Thanks!

azure plaza
#

Hi can you add a config to set how long enemies can emote?

grizzled lava
#

I would like to hear more info on that. Because as it is right now, whenever emote devs setup their emotes with EnemyInteractions. They themselves determine how long said emotes will be playing for

#

Not enemy interactions

azure plaza
#

oh really? I always assumed it played it for however long the loop lasts

grizzled lava
#

yeah the emote devs themselves already are forced to specify that

azure plaza
#

well I'm only using the default emotes from BadAssEmotes which afaik is a depedancy

grizzled lava
#

It was a dependency for the duration of it being the only one that added enemy interactions, but since there are others now, it's all optional

#

For BadAssEmotes, I could look into it when I get the chance, no timeline on that though

#

My main concern with that would just be, config overload. Where most people will just see it and glaze over it all

#

but it is possible

azure plaza
#

alright

#

its just a small thing. I just wished that some emotes like the dead player ones lasted longer so that my friend would get confused

half atlas
#

Once monsters start emoting they never stop

grizzled lava
#

Define never stop

#

or was that more of a suggestion for when I get around to adding the config option

#

I think it was that

half atlas
#

It's a bug, not a feature I'm suggesting

grizzled lava
#

o

#

oh

#

fuck

#

v50 is on the beta branch on steam

red needle
grizzled lava
#

#750645813771763723 message

eager cradle
half atlas
#

Should I remove the mod for now?

grizzled lava
#

it's in open beta, so unless you are playing that you should be fine

faint bane
grizzled lava
#

as for if it works with the v50 beta

#

uhhhh

eager cradle
#

let's gooo

#

time to test

grizzled lava
#

working fine so far

eager cradle
#

also, changelog where 👀

grizzled lava
#

don't think you will need any update for emotes api

#

no changelog yet

velvet monolith
grizzled lava
velvet monolith
#

Oh, but not with your emote mod

grizzled lava
#

?

velvet monolith
#

BadAssCompany?

grizzled lava
#

yeah badasscompany is what actually provides the emotes, for enemies to use

#

NekiymanEmotes also does as far as I know

velvet monolith
#

I see

#

So this could make masked emote also? Would be funny since with Mirage it's harder to tell, but emoting can confirm that your not a masked at the moment.

grizzled lava
#

yeah masked also emote

#

I'll be keeping an eye out, if anyone has issues with emotesapi on v50 pls lemme know

#

seems pretty stable at the moment though

grizzled lava
#

emotes api already works in v50, just adding the emote skeletons for the new enemies

#

from what I can tell, no emote mod devs will need to update at all, should just work™️

eager cradle
#
[16:58:18.8658947] [Error  : Unity Log] NullReferenceException: Object reference not set to an instance of an object
Stack trace:
LcEmotes2AndKnucklesFeaturingDante.Emotes.EmoteRegistry.OnSpawnWorldProps (System.String animName, BoneMapper mapper) (at G:/LcEmotes2AndKnucklesFeaturingDante/LcEmotes2AndKnucklesFeaturingDante/Emotes/EmoteRegistry.cs:81)
EmotesAPI.CustomEmotesAPI.Changed (System.String newAnimation, BoneMapper mapper) (at <5ea6a76e68b64a939aa92612cba2c84f>:0)
BoneMapper.PlayAnim (System.String s, System.Int32 pos) (at <5ea6a76e68b64a939aa92612cba2c84f>:0)
BoneMapper.PlayAnim (System.String s, System.Int32 pos, System.Int32 eventNum) (at <5ea6a76e68b64a939aa92612cba2c84f>:0)
EmoteNetworker.SyncEmoteToClientRpc (System.UInt64 playerId, System.String animation, System.Int32 pos, System.Int32 eventNum) (at <5ea6a76e68b64a939aa92612cba2c84f>:0)
EmoteNetworker.__rpc_handler_1218916340 (Unity.Netcode.NetworkBehaviour target, Unity.Netcode.FastBufferReader reader, Unity.Netcode.__RpcParams rpcParams) (at <5ea6a76e68b64a939aa92612cba2c84f>:0)
Unity.Netcode.RpcMessageHelpers.Handle (Unity.Netcode.NetworkContext& context, Unity.Netcode.RpcMetadata& metadata, Unity.Netcode.FastBufferReader& payload, Unity.Netcode.__RpcParams& rpcParams) (at <895801699cfc4b4ab52267f31e2a4998>:0)
Rethrow as Exception: Unhandled RPC exception!
UnityEngine.Logger:LogException(Exception, Object)
AsyncLoggers.Wrappers.Unity.<>c__DisplayClass4_0:<LogException>b__0()
AsyncLoggers.Wrappers.Unity.<>c__DisplayClass28_0:<wrapCallback>b__0()
AsyncLoggers.Wrappers.JobWrapper:LogWorker()
AsyncLoggers.Wrappers.LogJob:Execute()
Unity.Jobs.JobStruct`1:Execute(LogJob&, IntPtr, IntPtr, JobRanges&, Int32)

hmm

grizzled lava
#

oooooh

grizzled lava
#

It removes the hud healthbar guy, and I have checks in base emotesapi for this, but Emotes2 fucks with it a bit, and I didn't implement checks there as well

#

Fix for Emotes2 coming in a few minutes

eager cradle
#

yeah EladsHUD is installed

grizzled lava
#

yeah that's my b then. Kinda forgor to actually check that stuff

#

#thunderstore-releases message

just gotta wait on r2modman to pick it up now

half atlas
#

The stop current emote button isn't working for me for some reason

grizzled lava
half atlas
#

Button on the wheel

grizzled lava
#

Can you send me a log

half atlas
#

Output log?

grizzled lava
#

Yeah

half atlas
#

I'm using v50

grizzled lava
#
  • a profile code if you have one
half atlas
#

Okie

half atlas
grizzled lava
half atlas
#

Terminal is also blank for some reason

grizzled lava
#

I think that is LLL but don't quote me on that

#

might be a few things

half atlas
#

I got both versions in the pack

grizzled lava
#

the what now

half atlas
#

Both LLL in my modpack

grizzled lava
#

oh ALL?

half atlas
#

The fixed one and the other one

grizzled lava
#

o

#

I'll fact check myself while I'm at it

half atlas
#

Okie

grizzled lava
#

well

#

let me do some digging in your log

#

hmmm, seems like on your end, the button wasn't even being "pressed"

#

as in there is no sign of it being used, correctly or in error form

half atlas
#

Whaaa

#

Why is it just broken for me lol

grizzled lava
#

great question

#

can you send me a video of it breaking for you?

narrow geyser
#

every copy is personalized

grizzled lava
#

I just wanna confirm how it's breaking

half atlas
#

Literally just me using the emote and then clicking the stop emote button

grizzled lava
#

well more what I meant I guess

#

is the stop button highlighting for you?

grizzled lava
#

also I disabled LLL + LLL fixed and their moons, seems like the terminal works again

half atlas
#

Oooh, I'm unsure if it was highlighting

#

I just turned my PC off though

grizzled lava
#

F

half atlas
#

I'm assuming it was highlighting since I could use emotes

grizzled lava
#

hmmmm

half atlas
grizzled lava
#

what.... it's even highlighting

#

I'm so confused now lol

#

can you send me the log file from that session?

#

also hypothetically, if you hover over a "none" slice and let go, does it stop your emote?

grizzled lava
#

for reference this was the last log output, which shows just nothing happened

#

@half atlas as a backup, not that this is a good answer, but if you check in the keybinds, you can bind something to cancel your emote. I would suggest using that while we take a look at it

half atlas
#

Alrighty, I'll bind it to something

half atlas
#

I turned off my PC again without reading your last message about sending the log, but I assume the log is the same as the last one since I didn't do anything different

#

For reference, the cancel button just recently stopped working for me. I've been using emotes API for months without issue

grizzled lava
#

that's so weird, I almost wonder if "none" is not getting bound for you

#

if the manual keybind doesn't work that's what I'm going with

half atlas
#

I'll try the manual keybind next time I boot up my PC

grizzled lava
#

also whenever you are playing again, as a desperate attempt to make sure stuff is installed correctly, if you could do this, but for EmotesAPI not BadAssCompany

#

||sorry for turning you into the guinea pig :c||

half atlas
#

Sure, I could delete the cache and see

#

I didn't know it cached stuff

#

I'm wondering if I should just delete all of the cache for every mod

#

Is the cache necessary?

grizzled lava
#

I mean, unless a mod is acting up I wouldn't delete the cache. while it's not explicitly necessary, unless you need to debug something there isn't a whole lot of reasons to delete your cache unless you really wanna suck up that sweet sweet bandwidth

half atlas
#

Alrighty

half atlas
#

Log from that test

grizzled lava
#

wait

#

wait

#

this is really funny if this is the case

#

and I'm 99% sure that's the case now

#

@half atlas send me your local/global cfg file

#

or actually, it would be easier

#

let me show you what I wanna see

#

mind you this is an oversight I need to fix, but I think I have figured it out

#

I think you disabled the "none" emote

grizzled lava
#

That's probably your problem if I were to guess

#

because it has the exact same symptoms you are having

#

you can just re-enable the none emote for now

#

I'll uhh, fix that tomorrow

red needle
half atlas
#

Disabling the none emote does that?!

#

XD

#

You're kidding

#

It's working now lol

narrow geyser
#

None emote is how we cancel emotes

#

Huge oversight that you can disable it

#

Pretty funny though

grizzled lava
#

Yeah disabling emotes is only for if you just don't want to see an emote at all since you won't see others use it either. But yeah you shouldn't be able to disable "none" lol

half atlas
#

So silly

#

Thanks for the fix

#

Only thing I'm dealing with now is monsters not spawning

#

But of course that's not related to this mod

grizzled lava
#

F

half atlas
#

018ea773-b6f1-e5f9-1c1c-7ca279d96246

grizzled lava
#

well, neither of the credits in UntitledEmotesPack are valid discord tags so I'm just gonna shout this into the void

#

you have an assetbundle called props, TooManyEmotes also has an assetbundle called props

#

as a result, only one can be loaded at a time, so I would recommend changing that bundle name to something more unique

grizzled lava
#

guess I could also ping you @tender sinew, if one of y'all wants to change your assetbundle to be not "props"

tender sinew
half atlas
#

Another stack of errors with emote api included in there

#

Terminal is broken

narrow geyser
#

is this on v49 or v50?

half atlas
#

V50

#

018ebf5f-21b6-2b08-39cb-d71d009c43bd

narrow geyser
#

what did you do to make the error happen?

half atlas
#

Just used the terminal

#

Another error

narrow geyser
#

that second one seems unrelated to emotes api

half atlas
#

Thought i'd include it just incase

narrow geyser
#

seems to be a mod conflict of some kind

#

testing emotes api on it's own, no issues occur

half atlas
#

I'll do some more testing

#

My guess is it's just some terminal mod messing up

narrow geyser
#

well, we do have some patching done with terminals

#

specifically to disable emotes when entering a terminal

#

so if I had to guess, it's probably a patch conflict

#

well

#

took a look at where the error shows emotes api

#

the error came from a regular hook method

#

which is even more odd

half atlas
#

Strange

narrow geyser
#

on the first screenshot

#

I need the error that's above the one from emotes api

#

could you send a full log?

half atlas
#

How do I send logs that aren't the latest?

narrow geyser
#

iirc bepinex only keeps the latest logs, so if you've already lost them, it's too late

half atlas
#

Aghh

narrow geyser
#

could try reproducing the error

#

and then send it

half atlas
#

I removed a few mods since then and it seems the error with emotes api is gone but i still can't use the terminal

narrow geyser
#

have you verified that all of the mods you're using are compatible with v50?

half atlas
#

Is there a list

narrow geyser
#

well, the official way of finding out, is to check the mod releases thread and see if it's tagged with v50

#

otherwise

#

the list isn't very big though

#

and some of the data isn't accurate

half atlas
#

Tried everything I could

#

Still the same error

narrow geyser
#

that error is just a text rendering issue

#

it shouldn't stop the terminal from working

#

if you have everything else enabled, does the error still occur with emotes api disabled?

half atlas
#

I don't think it's related to emotes api

#

once I touch the terminal, I can't back out and no commands work

narrow geyser
#

you might be better off making a post in the #1185732310700654732 forums.

half atlas
#

Okie

grizzled lava
#

big thanks to @narrow geyser for doing all the UI work so I don't have to

hazy dew
#

@grizzled lava Hi, do you have any desire to import the mod into Content Warning?

grizzled lava
#

actually it's much less "I don't have much desire to deal with that" and much more "I have other stuff I wanna do"

#

but ya know, LethalEmotesAPI is fully open source so if there is someone with coding knowledge they are always free to. Granted it's not as simple as "port it lmao"

grizzled lava
grizzled lava
grizzled lava
#

Just letting anyone know who needs to know, I'm currently testing v50 (not the beta branch) and stuff seems fine still

grizzled lava
#

Jerma Window is out now isaac_smug

narrow geyser
grizzled lava
versed obsidian
#

Just wanted to ask if there is a way to extend the available emotes list, since I installed so many that mine doesn't show all of them 😅

#

Also, is there a way to auto-fill wheels or add emotes faster than using the drag-and-drop?

narrow geyser
narrow geyser
versed obsidian
narrow geyser
narrow geyser
#

could you send logs?

versed obsidian
#

If I look up emotes past G they seem to show up. Should I try to turn off mods that may cause conflicts and perform a clean install first or do you want the logs now?

narrow geyser
#

send the logs first

#

should help me narrow the cause

versed obsidian
narrow geyser
#

yup

#

welp

#

found the problem

#

it's an issue on our end

#

going to fix it as soon as I can

#

can you send an modpack code so that I can test the fix?

versed obsidian
#

Sure, I was only testing out emotes since my old modpack was messed up and I was installing mods "slowly" now. Thanks for the help!

versed obsidian
narrow geyser
#

it's an issue related to our old legacy (v1) emote importer

versed obsidian
#

Oh, okay! Thank you for the help and the info! 😄

grizzled lava
#

@versed obsidian fixed it in 1.9.1. It was an issue with legacy emote packs working weird with keybinds.

versed obsidian
#

Cool! Good to know. Thank you everyone for the help 😄

#

Tried the patch. Definitely fixed now 👍

narrow geyser
versed obsidian
#

Uhh no, I don't mind having to press the customize panel if that's what you mean. I just wish there was a button to create wheels that added all emotes in alphabetical order for example, or a button/click that automatically added an emote to the wheel without having to drag and drop it

narrow geyser
#

well, I ask because when I tested your modpack, it took like 3-4 seconds just to open the customize panel

#

which is 3-4 seconds too long

versed obsidian
#

Oh, my customize panel opens quite quickly

narrow geyser
#

huh

#

weird

woven heron
#

Regarding the json data for emote wheels, if I wanted to ship already configured emote wheels with my modpack, where could I find my local emote wheels' json string?

grizzled lava
#

uhh, for the local emote wheels, that's just in your config already. doesn't that get synced automatically with modpacks?

woven heron
#

So it is in the config but the emote wheel I created in-game did not update in the config even after closing the game.

grizzled lava
#

are you sure you weren't editing the global settings?

narrow geyser
#

it's global stuff again

#

sorry pensive_cowboy

woven heron
#

Hello again, this is another case of me editing global without knowing it existed lmao

#

Is there any way for me to get those settings over to local since I already configured some stuff?

grizzled lava
#

yeah let me find the global config location

narrow geyser
#

yeah

woven heron
#

Great, thank you

grizzled lava
woven heron
#

Guess I'll ask the same question here, does it work like in InputUtils where it only overrides if you create your own settings? @narrow geyser

woven heron
#

To clarify I mean global when I say "it"

narrow geyser
#

nah, this is either local or global

woven heron
#

Is that something I can change for the player?

narrow geyser
#

unfortunately not, but it's very easy to change when in game

grizzled lava
#

using global settings, is in of itself, a global setting

#

to prevent headache for people sharing around codes constantly and having to reset it

woven heron
#

Gotcha, I'll just have to let them know then

grizzled lava
#

yeah it's just the single checkbox they have to switch

narrow geyser
#

it's in the customize panel even

#

once they change that it'll stick

grizzled lava
#

or at the very top of lethal config, whichever is easier

woven heron
#

Question, if there are no Global settings defined (eg. a freshly generated config on first launch), does LEAPI copy the local config file into the global config? I'm in the mentioned directory and am removing the global config file to test a first-time experience, but every time I restart the game it regenerates including the values it had previously (which are currently identical to the local settings).

narrow geyser
#

yes

#

it copies the local into the global if global doesn't exist

woven heron
#

Cool, that solves my issue entirely then although I'm under the impression it won't sync again if I make further changes to the local config

#

I'd kind of appreciate an option in the (local) config to have the global config be respected or not so I can sidestep this issue entirely, but I understand implementing it that way causes other issues

narrow geyser
#

yeah, wre're looking into a way to make it so modpacks can specify not to have global enabled by default

woven heron
#

All good, ideally if I set this up right I won't have to make further revisions until one of the emote mods ends up adding new emotes, so I think I'm good for now

#

Thanks for all the help and sorry if I came off as kind of assholeish yesterday with that antagonistic comment lol

narrow geyser
#

it's fine

#

the criticism helps us figure out what we need to improve on

grizzled lava
#

hey @tender sinew and @lilac ice, just want your opinions on something I threw together today before I put more effort into it. Was looking into having EmotesAPI register y'alls emotes into itself only if your mods are already present. The end result would still follow the rules your mods have in place for the emotes since it is just calling your play functions. For TME specifically I would also make sure it checks for emotes being unlocked before they are allowed to be used.

The main purpose of this would be to allow further customization + allowing people to utilize all emote mods at once without having to juggle 3 different emote wheels.

I just wanted to hear your thoughts on this since, while I'm not technically consolidating your mods into EmotesAPI since it's just grabbing info from your mods if they are already loaded, I can understand if you would rather I don't

lilac ice
tender sinew
# grizzled lava hey <@139243578504249344> and <@173693029662588930>, just want your opinions on ...

Yeah, you should definitely do it! I am about to pass out for the night, but let me get back to you tomorrow. I'll let you know anything related to if you can perform one of my emotes, and the conditions for adding them to the emote wheel, for instance if they are unlocked or not 👍

Edit: I didn't realize you posted a quick video. Honestly, it looks like it's already mostly setup. If I think of anything I think you might need to know, I'll let you know

azure plaza
#

the snake, sign, and flat one

woven heron
#

On a similar note, has anyone made a More Emotes port to EmotesAPI or something like that? I’m mainly interested in using some of the emotes that aren’t otherwise available (specifically the middle finger, clap, shy, and salute emotes as those don’t appear to have equivalents on EmotesAPI)? Bonus points if it maintains the feature where using the emote twice throws out double middle fingers/faster clapping (or another emote for those if EmotesAPI can’t do that) and extra credit if it has the writable sign

red needle
red needle
grizzled lava
tender sinew
grizzled lava
#

yeah no rush, take your time

tender sinew
# grizzled lava Hey just following up, I'm setting up the join key. In TME specifically, the cur...

I can't imagine there would be a problem with using your current system for syncing emotes with a player who's performing a TME emote.
It would probably just make sense to keep your logic as it is so you don't have to worry about adding functionality for interacting with the player like my mod does.

I will assume you're looping over all of the players, and comparing the distances if they are performing an emote, and then choosing the closest player.

If you want to check if a player is performing an emote from TME, you could probably write something similar to this.
Not all emotes are syncable, but you can easily check if it is.

public static bool IsPlayerPerformingSyncableTMEEmote(PlayerControllerB playerController)
{
    if (EmoteControllerPlayer.emoteControllerLocal == null) // This should never be null, but just in case
        return false;

    if (EmoteControllerPlayer.allPlayerEmoteControllers.TryGetValue(playerController, out var emoteController) && !emoteController.isLocalPlayer)
    {
        if (emoteController.IsPerformingCustomEmote() && emoteController.performingEmote.canSyncEmote) // emoteController.performingEmote should not be null if emoteController.IsPerformingCustomEmote() returns true
        {
            return true;
        }
    }
    return false;
}

And if you wanted to finally sync with a player who is performing an emote from TME, you could write something similar to this.

public static void SyncWithPlayerPerformingTMEEmote(PlayerControllerB playerController)
{
    if (EmoteControllerPlayer.emoteControllerLocal == null)
        return;

    bool success = false;
    if (EmoteControllerPlayer.allPlayerEmoteControllers.TryGetValue(playerController, out var syncWithEmoteController) && !syncWithEmoteController.isLocalPlayer)
        success = EmoteControllerPlayer.emoteControllerLocal.TrySyncingEmoteWithEmoteController(syncWithEmoteController);
        
    // If success is false, that's okay. Nothing broke. It just won't perform the emote on the local player for whatever reason.
    if (!success)
        LogWarning("Failed to sync with TME emote controller. This is okay.");
}

Obviously those two methods are just an example on how you could do it, but you can implement this whichever works best for you.
I can't think of a reason why this wouldn't work with how you guys sync with the nearest player who's emoting, but I'll let you know if something pops in my head that you might want to know.

Also, if you were wanting to only add unlocked TME emotes to the emote wheel, you could do so by looping over this list. This list can update mid-session.

foreach (UnlockableEmote emote in SessionManager.unlockedEmotes)
{
    // Add to emote menu or something, idk
}
grizzled lava
#

cool, got it working with both emote mods now. But we've realized we are the only emote mod without gamepad support, so I'm going to at least partially rectify that before pushing this out

austere hearth
#

question: is it a known issue that some players can't see some others emote in multiplayer? like they will still hear the music playing but no animation. or could this be a conflicting mods problem?

narrow geyser
#

that's not a known issue no, it could be a mod conflict, could you send a modpack code?

austere hearth
#

sure this is the most recent one where we noticed problems: 018ee309-3c2d-412f-a3da-885197988f12

grizzled lava
#

Was it a constant problem or just sometimes?

austere hearth
#

constant but it was different for each player, like i could see player 1 and 2 emote but not 3 and 4. where someone else saw only player 2 not emote

grizzled lava
#

If you still have the log from that run it might help, if not all good

austere hearth
#

uhh never checked logs before, where could i find those?

grizzled lava
#

Uhh I'm on mobile at the moment let me see if there is an image

#

@narrow geyser get me an image

austere hearth
grizzled lava
#

Yes

#

1.26 MB for a log file monkaS

austere hearth
#

is that bad? xD

grizzled lava
#

Probably just means something was spamming

hazy dew
#

@grizzled lava Hello, they wrote to me that my dances do not work on version 50. Is this due to the fact that I have not updated it for a long time or because your mod has not been updated for version 50?

grizzled lava
#

Uhh, you shouldn't need to update stuff on your end, I can take a look when I get off work

#

Do they have a profile code I could use when I get the time?

grizzled lava
grizzled lava
# austere hearth question: is it a known issue that some players can't see some others emote in m...

As for this issue, I'm not so sure, testing locally with your profile and it seems fine so far.

Looking at the log you sent, there are only 4 emote at all, all of which are Recieved message to play none on client. Playing on Player (UnityEngine.GameObject) which just amounts to canceling the emote on the base player. I'm wondering if there was something else going on. Are y'all still playing on v49 by any chance or something like that?

austere hearth
grizzled lava
#

ah ok

#

well I'll be on the look out for the issue, if it happens again to y'all can you send me the log from that session?

austere hearth
#

will do

grizzled lava
woven heron
#

Debugging my modpack with a friend. I was able to start a game fine, but whenever my friend would join, he'd join into a black screen. I've determined the cause to be Emotes2 And Knuckles specifically as it doesn't occur when that mod is disabled (even if other mods that use EmotesAPI like BadAssCompany and TF2Emotes are)

#

Log file. The stack trace implicates ReservedItemSlotCore, but it was also implicating DiscJockey before I disabled it during troubleshooting. Appears to just spit out whatever is doing stuff on join

grizzled lava
#

that sound strange...

#

is it consistant?

woven heron
#

100% consistently reproduceable

grizzled lava
#

profile code?

#

I wanna test around with it

woven heron
#

One sec

red needle
#

Emotes 2 and Knuckle issues

woven heron
#

This code should be able to reproduce it, I haven't tried it with just Emotes2 enabled, but my testing methodology was to start with BAC, TF2Emotes, and Emotes2 disabled (so that only EmotesAPI was enabled). No issue, so I enabled BAC on next run. No issue, so I enabled TF2Emotes. No issue, so I enabled Emotes2, and the issue manifested immediately on someone joining the lobby.

018eea15-4a1d-e26e-fb8e-1b8ea18e2430

grizzled lava
#

yep that would uhh, that would def be us

#

not sure how that is happening mind you, because I've never seen that

#

I'll start digging

woven heron
#

Alrighty, thanks

#

Glad I caught this trying to show the emotes to a friend ahead of our gameplay session with other friends lol, would've been a pain in the moment

grizzled lava
#

yeah it's def some sort of conflict, as you can see by the window (from emotes 2) showing up. I just shot the first large groups of mods and it seems to work fine. I'll try and figure out the exact root cause though

woven heron
#

Alright, thanks again

#

Out of curiosity, what do you use to run two sessions at once?

narrow geyser
#

double clicking the LethalCompany.exe twice

#

LethalCompany doesn't use steam DRM

#

so you can launch multiple instances of it by launching the executable directly

woven heron
#

And that works with r2modman? Or are you dragging in the mod files manually?

narrow geyser
#

you need to manage the mods manually

#

r2modman requires steam

woven heron
#

Gotcha. I'll probably give it a try to help with solo testing since I wouldn't have caught this unless I coincidentally had my friend check something, thanks

grizzled lava
#

well it's down to two culprits

#

time to find out which

#

""culprits"" in heavy air quotes here

#

It's better spray paint

#

why is it better spraypaint?

#

maybe I am stupid, let's check

woven heron
#

Now as to why it's disagreeing with an emote mod is beyond me but the mod also hasn't been updated for a long while

grizzled lava
#

well it's a conflicting NetworkId

#

and it's spraypaint, not discjockey doing it

woven heron
#

yep

grizzled lava
#

pulling up my unity project to see if I did a stupid with my NetworkId as well

woven heron
#

In any case I'll probably look around to see if I can find a reasonably updated mod that does something similar

narrow geyser
#

just randomize the NetworkId on launch 3Head

grizzled lava
#

I think

#

I'm doing something stupid

#

well maybe

#

I'm giving it a networkObject in code, not in Unity, I think that is a bad thing to do

#

we'll see

#

(I was doing a stupid thing)

#

sorry about that, will push out an update here in a couple minutes

#

really I think it boils down to -> we both assign a NetworkObject in code, which just gives it a networkId of 0, which causes conflicts

#

but if you do it in unity it's actually reliable

#

it's been fixed #thunderstore-releases message

woven heron
#

Thanks again, my friend went to bed so I won't be testing it ASAP but I'll let you know if we run into any further issues

grizzled lava
woven heron
#

I think I'll also be throwing this conversation over to Rosie since their mod experiences a similar issue

grizzled lava
#

where now?