#Lethal Emotes API
1 messages · Page 5 of 1
For example, the "Butt" emote from the "BadAss" mod
it is because of the contraints for the skeleton, there is a minimum overhead cost to doing complex emotes like this
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
It’s okay, I’ll try to look at a lot more between our guys and notice the problems
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.
will add that to the to-do
I can interact with the rest
no with terminal
Taking off and flying back to the planet doesn't help.
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
Re-entering the save game doesn't help either.
I've seen this error somewhere before
When moving away from the screen, he used
When I left the screen, I again can’t interact with it
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
I could post my build
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
testing with the most recent DLL being added to your modpack code, wasn't having the terminal issue on my end, also fixed the issue with animations not ending from earlier
pushing out 1.5.1 to thunderstore
It's a pity
no I think that's a good thing
Then I'll do without dancing for now 😭
unless it still happens for you
yeah I would suggest testing with 1.5.1 once it propigates
if it still breaks lemme know
Okay 👌
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
@ 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
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)
👀
Hi, it's me. First of all, thank you for making the API. Secondly, I will do that tomorrow. I've been working on making the mod for four days in a row (currently playing Persona 3 Reload), but I'll fix it. Thirdly, I wanted to change the name of my mod, and sadly, I created another mod. I wouldn't be able to sleep with that in mind.
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
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
sounds like a you need to change the import settings for your audio clips
I feel that, we all went on hiatus for a week or 2 after it came out to binge through it, I'm still trying to finish it up myself lmao
I went on hiatus a week earlier to finish LAD: IW and then went right into P3R
Hmm, that's strange. They were unchecked (they were when I assetbundled them). Okay, I'll fix that too
make sure Load Type is set to Compressed In Memory
Yeah, I was hoping I didn't forget anything so I could start my gameplay today, but I'll fix everything first tomorrow
otherwise you may find yourself with inflated RAM usage
I will, I must have missed that in the tutorial while I was speedrunning. Sorry about that
The problem with the terminal remains @grizzled lava
018dc596-015b-7218-cf5d-103ceaf92dbc
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
Hmmm
What language do you play lethal company in?
en
I'll check it a little later and send you a full report.
With magazine and video+logs
Alright, was just curious, thought that maybe it could be a locale issue or something
I gave up Russian a long time ago, I had problems with it before
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
I'll try to test for the issue myself, but send the log whenever you get the chance
I used to vacuum up mods like this and found 6 unstable ones
I have a problem with this
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 ^^
@grizzled lava
https://drive.google.com/drive/folders/1kbLlDH1w6-huWWCwqxeHUkQcdeIvyxtD
Video report from the console
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
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
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
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
yeah so, seems like something TF2Emotes is just not present, gonna see about a workaround from my end
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

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
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
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 >_>
so, sorry I never followed up on this, we were busy 
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.
Holly shit, it’s skibidi snake toilet
ah, oky doki
.
.
I feel this conversation on an emotional level
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
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?
For playing the animations on the emote skeleton
https://github.com/Wet-Boys/LethalEmotesAPI/blob/main/CustomEmotesAPI/Core/EmoteConstraint.cs for moving the base skeleton transforms
if you're looking for the part that plays animations on the original animator
uhhh
we don't
Latelate update rigmapping my beloved
it was a mix of both, but this is the one i was looking for, thanks
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
Excluding the cleanup that @red needle did, we used AssetRipper and then exported the model + rig from unity using a GLTF exporter
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
I used the latest version
really?
yeah the weird web ui one
@red needle should be able to provide more info here in a few minutes
oh yeah
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
I may suck ass at even basic scripting but let me use blender and I'll cook a little 
gigachad GLTF export user
why are my bones not look like bones
change the bone model
uhh
lemme make quick clip
yeah there
fuck yeah holy shit this is perfect
gltf masterrace
thanks for all your help
fuck fbx, all my homies hate fbx
one last question tho, you know any good tutorials for making IK
is it built in blender?
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
to make sure that the joints are connected
tbh i dont think i need to do any
oh joints connected
maybe
ye
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
i think they are connected
but
bcz hand moves with arm
but the lines dont line up, so im not too sure they do
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
yee connected fixed it

make them randomly play so people think they're insane
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
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
so, if you include the unity camera when you do the gltf export
the camera will be included in blender
game rest position is still listening to zeekerss runtime IK
in the correct spot
would it be smart to just include the entire player rig you think?
it wouldn't hurt, you can always delete what you don't want from the blender scene
it probably wouldn't hurt anything
do the arms actually use IK? with zeekerrs i feel like he'd hand animate the arms moving up
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
Hey everyone! Today I'll be showing you how to create inverse kinematics for your character in Blender 2.8 in 2 minutes!
If you enjoyed this video, please don't forget to like and subscribe for more content!
You can find my entire Blender 2.8 Speed Tutorial series playlist here:
https://www.youtube.com/watch?v=f6vgICNCVxQ&list=PLZpDYt0cyiuu-sx...
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)
oh yeah the one thing you shouldn't follow in this tutorial is the "delete 1 half of bones and mirror" step which is the first one
I literally can only use blender properly because of @red needle's rig lol
lmao
yeah you made that bitching puddi puddi model
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
just rightclick and hit "delete hierarchy"
i
if you want to bind a key to that you can rightclick the rightclick menu button and assign a key to it 
i see why you had to do some cleanup
needless to say I had setup a few hotkeys to do cursor bone snapping lmao
you think i could just ignore the main player model and just focus on the arms?
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
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
that's what i want
that's why im going through the problem of extracting the first person view model
yeah there should be no issue with that method
i could definitely just animate the arms and plop them onto the main player and it'd work
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
oh yeah that's what i was gonna do
i was going to flat copy your guys' method(with credit)
credit is cringe stealing is based, pirate our code
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
yeah thats fair, I'm excited to see what you end up making with all this
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
hm.
just close your eyes 
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
Well fix is ready, having to adjust some other stuff though but ya know
give or take 30 minutes to an hour
no need to rush
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.
I just finished implementing a similar thing for InputUtils, so I have a good idea on how to solve our problem here
prob releasing this sometime tomorrow if I don't suck
for reference https://www.youtube.com/watch?v=VkkS3kJAG7g
every image i used in this came from shutterstock.
also had to reupload cuz it wasnt in hd for some reason
song: Lights, Camera, Action! - Studiopolis Zone Act 1
https://www.youtube.com/watch?v=PvuYSybooLg&ab_channel=TeeLopes-Topic
Original post on my twitter: https://twitter.com/BugOlively/status/1676020779392307201
My Stu...
Is out now, should work with custom models/VRM stuff, but lemme know if it doesn't cause it's doing some funky stuff
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
uhhh, hypothetically the process should be the same. Technically I ripped all the enemies with the old fbx method
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
could you send a modpack code?
no code sorry 😦
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
should have a fix out here soon
got it, should be on the thunderstore soon
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
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
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
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
Ok so yeah, there is a bit of mess around, but it ultimately boils down to https://github.com/Wet-Boys/LethalEmotesAPI/blob/048426361733fa4e7707c92bbe3974dcd72b4d8d/CustomEmotesAPI/Core/BoneMapper.cs#L582
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
Hello, could you people add a config to toggle certain enemies on and off for the EnemyInteractions mod?
I mean, technically possible, if I might ask for any particular reason?
so only the masked emote
I c
there is TooManyEmotes but I dont want to have to download 200+ emotes for that
anyway its just a suggestion
shouldn't be that hard to get around too, I might get to it tonight or tomorrow
it's not an unreasonable ask tbh
well if it happens, thanks in advance!
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
you are seriously a goober nunchuk lmao
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
Hey at least that is purely a debug command 
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
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
i tried that but the unedited ones give the same errors
(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
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
it still shows errors
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
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
you're on windows I assume?
yes
could you open a command prompt (windows 10) or windows terminal (windows 11)
and type dotnet --list-sdks and press enter
i just installed 8
ah
so yeah looks like that was the problem
hopefully re-opening visual studio should fix it
sadly no
💀
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
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
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
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
np, glad you got it working
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
Can someone help me with badass emotes not working with certain custom player models?
Hello, @half atlas, we have a dedicated support channel and forum here: #help-and-troubleshooting #1185732310700654732
Anyone responding is a volunteer so be patient.
bad @torn terrace
you're in the right place
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
alright, I'm taking a look right now
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
weird, creating a profile using that code gave me no errors...
couldn't find it?
The errors seem to appear after you open a lobby then return to the main menu
not sure how to equip it
let me load again
There's a mirror you can purchase from the terminal to see if you got it on too
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
Try disabling model API
of replacing every player with their model
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
Oh, so it's working now?
well again, this is with a minimal setup
Oh okie
like 4 mods
well
it's implemented super destructively
it seems like it just overwrites stuff
not adding its own model
I love the custom facial animations
well, it's closed source, so without permission, they'd have to make it from scratch
Awww, unfortunate
it was created (and last updated) mid December, which was before a lot of standards got popular
Bad timing
most things were still a free for all then
Seems the creator is inactive everywhere too
yeah, it's a conflict with modelAPI
tested it with the full pack
mind you, you won't see the model in third-person
Also might switch emote API to force first person
But gosh the camera movement on some of the emotes gives me motion sickness
XD
you can turn the first person motion off
You can?
I'll give it a look
Thanks for your help
I absolutely adore your monster emotes mod

So sillly
glad you enjoy it lol
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
Nice
currently the least nausiating option is head bobbing
loooool that happened to me today
which isn't terrible but I understand if it's still a lot
they were dancing on my body
Does seeing the model in the mirror not work?
Mine is invisible in the mirror
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
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
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?
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
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?
did you make sure to set the displayName field of the CustomEmoteParams?
Hm I thought the internal name was enough. Seems like that worked though. thanks
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
emoteGUID moment
Well it's not a unique identifier because other people can use the same name. That's why I auto append the guid to the internal name, to guarantee it is unique
The only aspect that must be unique is in the scope of a single mod, no two internal names can be the same
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
hold on, is internalName a required param?
No
it should really say, "Override the internal Identifier used to reference this emote in code, <bold>Not the Name Displayed in UI</bold>"
<bold> 🤓 </bold>
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.
- 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 😬
- 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?
I can't quite picture what you are doing but it sounds like you want https://docs.unity3d.com/ScriptReference/ParticleSystem.html
line renderer?
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
local configs do still exist, but the default will use the global config
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
Man this game is so boring, glad I got my phone with me
0/10 no family guy

brainrot is going to be real
you should make the other hand able to open another phone with family guy
Enemy Interactions has those toggles now
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
thanks so much!
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
All good. I prefer it when things are synced for everyone
Yeah
On a technicality
Same with the slime
It's not really emoting
But ya know
rare chance for the earth leviathan to grow arms and legs and start flossing
how did you implement the video player?
pretty much just "put video player on a plane lol"
- hyper compressed videos
like super hyper compressed
90 minutes of video -> 79MB lol
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?
The global settings are stored separately from your profile config
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
Ohh okay, thank you very much
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.
What mod adds this?
its always a good day when emotes2 gets to be shilled
Gonna try it out next time I play. Thanks!
Hi can you add a config to set how long enemies can emote?
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
oh really? I always assumed it played it for however long the loop lasts
well I'm only using the default emotes from BadAssEmotes which afaik is a depedancy
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
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
Once monsters start emoting they never stop
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
They keep emoting even when dead
It's a bug, not a feature I'm suggesting

#750645813771763723 message
(
Should I remove the mod for now?
it's in open beta, so unless you are playing that you should be fine
working fine so far
also, changelog where 👀
don't think you will need any update for emotes api
no changelog yet
boring ahh new moon
Wait, enemies can emote?
Yeah emotesapi supports all vanilla enemies (+ a few modded, I need to expand that a bit)
https://thunderstore.io/c/lethal-company/p/Gemumoddo/EnemyInteractions/
this actually makes use of them being able to emote
Oh, but not with your emote mod
?
BadAssCompany?
yeah badasscompany is what actually provides the emotes, for enemies to use
NekiymanEmotes also does as far as I know
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.
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
pushing this out in a few minutes
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™️
[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
oooooh
let me guess EladsHUD is installed?
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
yeah EladsHUD is installed
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
The stop current emote button isn't working for me for some reason
The button on the wheel or the keybind?
Button on the wheel
Can you send me a log
Output log?
Yeah
I'm using v50
- a profile code if you have one
Okie
018ea113-a4bc-f491-14fc-2c76c7425915

Terminal is also blank for some reason
I got both versions in the pack
the what now
Both LLL in my modpack
oh ALL?
The fixed one and the other one
Okie
well
terminal is def breaking, but the stop button seems fine
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
every copy is personalized
I just wanna confirm how it's breaking
There's not much stuff to record tbh
Literally just me using the emote and then clicking the stop emote button
like it does here
also I disabled LLL + LLL fixed and their moons, seems like the terminal works again
F
I'm assuming it was highlighting since I could use emotes
hmmmm
Thanks for letting me know
To capture and share your gaming highlights, download the Outplayed app on Overwolf
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?
@narrow geyser thoughts, opiniots?
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
Alrighty, I'll bind it to something
Selecting none also doesn't cancel the emote
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
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
I'll try the manual keybind next time I boot up my PC
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||
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?
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
Alrighty
Still not working. I also tried binding stop emote but that didn't work either]
Log from that test
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
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

None emote is how we cancel emotes
Huge oversight that you can disable it
Pretty funny though
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
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
F
018ea773-b6f1-e5f9-1c1c-7ca279d96246
idea for emotes and knuckles https://youtube.com/shorts/8k7_bz2lF2s?si=wJ4OT8OfiXObJUt3
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
guess I could also ping you @tender sinew, if one of y'all wants to change your assetbundle to be not "props"
Yeah, it wouldn't hurt. I'll likely push an update today anyways, but I could quickly rename it 👍
is this on v49 or v50?
what did you do to make the error happen?
that second one seems unrelated to emotes api
Thought i'd include it just incase
seems to be a mod conflict of some kind
testing emotes api on it's own, no issues occur
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
Strange
on the first screenshot
I need the error that's above the one from emotes api
could you send a full log?
How do I send logs that aren't the latest?
iirc bepinex only keeps the latest logs, so if you've already lost them, it's too late
Aghh
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
have you verified that all of the mods you're using are compatible with v50?
Is there a list
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
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?
I don't think it's related to emotes api
once I touch the terminal, I can't back out and no commands work
you might be better off making a post in the #1185732310700654732 forums.
Okie
1.8.0 is out, Keybinds are now a thing
big thanks to @narrow geyser for doing all the UI work so I don't have to
@grizzled lava Hi, do you have any desire to import the mod into Content Warning?
I thought about it, tbh having to fiddle with Photon networking seems annoying + content warning already has a pretty solid emote system built in place. I'm not saying it will never happen, but I currently don't have much desire to deal with that unfortunately
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"
Coding isnt hard, just hit a few buttons and make it work
I only work on important things here 
Just letting anyone know who needs to know, I'm currently testing v50 (not the beta branch) and stuff seems fine still

new worst mod ever just dropped lmao https://thunderstore.io/c/lethal-company/p/Gemumoddo/TulipSnakeFlashbang/
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?
what? there shouldn't be a limit to how much the emote list can show
not currently, we don't have any good ideas on how it would fill the wheels other than just generated wheels for every emote installed.
Oh. I'll check for conflicting mods then. I thought that maybe I just had too many and had to reach a second page of emotes or something. It stops around G due to the sheer amount and I have to use the search to look up more emotes after that
the problem with that, is that the current UI doesn't have great UX for manipulating a large amount of wheels yet
that's odd, the emotes past G show up when searched?
could you send logs?
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?
Like this?
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?
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!
018edd06-7b43-3cc1-b6ba-e37fc19e219e
to keep you updated, I found the cause, I'm now looking into how to fix it.
it's an issue related to our old legacy (v1) emote importer
Oh, okay! Thank you for the help and the info! 😄
@versed obsidian fixed it in 1.9.1. It was an issue with legacy emote packs working weird with keybinds.
Cool! Good to know. Thank you everyone for the help 😄
Tried the patch. Definitely fixed now 👍
back-tracking a bit, is this related to how long it takes to open the customize panel?
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
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
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?
uhh, for the local emote wheels, that's just in your config already. doesn't that get synced automatically with modpacks?
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.
are you sure you weren't editing the global settings?
hey again
it's global stuff again
sorry 
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?
yeah let me find the global config location
yeah
Great, thank you
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
nah, this is either local or global
Is that something I can change for the player?
unfortunately not, but it's very easy to change when in game
using global settings, is in of itself, a global setting
to prevent headache for people sharing around codes constantly and having to reset it
Gotcha, I'll just have to let them know then
yeah it's just the single checkbox they have to switch
or at the very top of lethal config, whichever is easier
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).
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
yeah, wre're looking into a way to make it so modpacks can specify not to have global enabled by default
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
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
Fine by me, i was looking into doing the same thing a while back but didnt have time.
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
where did you get some of these? they're really cool
the snake, sign, and flat one
Snake is from TooManyEmotes, AFK sign is from BadassCompany, flat (Lights Camera Action) is from Emotes2 And Knuckles
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
I believe the AFK sign is from TME
I don't believe anyone has but with this system you will be able to call them via the EAPI wheel, though they will have the same bugs and issues that calling them normally via ME already does. With how EAPI works anyone could port the emotes over but we specifically didn't really wanna step on any toes with just remaking or yoinking a bunch of hand gestures from other existing mods.
Hey just following up, I'm setting up the join key. In TME specifically, the current join functionality is effectively "interact with player in melee range to join", is that a design decision? EmoteApi's join system is just "join closest emoter regardless of distance"
Just trying to figure out how I want to set that part up
Yeah, give me a second. I'm in a meeting right now, but I'll shoot a reply in just a bit.
yeah no rush, take your time
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
}
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
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?
that's not a known issue no, it could be a mod conflict, could you send a modpack code?
sure this is the most recent one where we noticed problems: 018ee309-3c2d-412f-a3da-885197988f12
Was it a constant problem or just sometimes?
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
If you still have the log from that run it might help, if not all good
uhh never checked logs before, where could i find those?
Uhh I'm on mobile at the moment let me see if there is an image
@narrow geyser get me an image
is this it?
is that bad? xD
Probably just means something was spamming
@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?
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?
yeah it's probably a mod conflict if anything so I need a modpack code. With just other emote mods it works fine
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?
no we played on v50, but i do think that log might have been from a test session and not the actual session where we played and had issues
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?
will do

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
100% consistently reproduceable
One sec
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
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
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
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
Alright, thanks again
Out of curiosity, what do you use to run two sessions at once?
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
And that works with r2modman? Or are you dragging in the mod files manually?
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
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
It was 100% happening without DiscJockey, this wouldn't be the first time BSP broke something, apparently it causes the same type of bug with Rosie's Moons on v49
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
yep
pulling up my unity project to see if I did a stupid with my NetworkId as well
In any case I'll probably look around to see if I can find a reasonably updated mod that does something similar
just randomize the NetworkId on launch 
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
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

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



