In my game, I load animations onto characters via ServerScripts, then render visuals with LocalScripts. I know it’s advised to handle animations locally, I do it on the server because most of the abilities include some type of movement, then server stuff, then movement, then server stuff, that kind of pattern. Loading animations on the server makes it easier for me to use
waitForKeyframe(anim, framename)
--Code
plus logic to time stuff that has to be done on the server. By server stuff I mean server-handled actions such as detecting and damaging players, moving attachments, etc.
The problem is that animation tracks don’t replicate after being loaded/played on the server, so I cannot use AnimationTrack.Stopped
for chronology. I’ve tried passing the tracks as part of the render remote event, and it passes as nil. I tried using Humanoid:GetPlayingAnimationTracks()
but it seems the it’s been deprecated with no replacement (correct me if I’m wrong). Any idea how I might go about timing the client stuff?
The one hacky fix I can think of is passing Animation.Length
and waiting on the client, which I’ll do for now, but if anyone has any other ideas then I’m all ears. Thanks for reading