Changed the default animation structure to include a Emotes and Animations table for R6 and R15 each instead of a seperate EmoteAnims module, this also adds a second specifier parameter to SimpleAnimate.getCopyOfAnimsList() which requires you to specify to copy the animations or the emotes
Added SimpleAnimate.getAnimPackageAsync(...) and SimpleAnimate.getEmotePackageAsync(...) which can be used like this:
This fetches the animations (core and emotes respectively) that the user owns and retrieves the new list with the new animations.
The RemoteFunctions associated with these async functions have a player request cooldown of 10 seconds (to prevent exploiters from spamming them), but you can adjust them (by setting the REQUEST_COOLDOWN variable) for each async function inside these handlers:
Added Connections:SetSwimThreshold() and Connections:SetSwimIdleSpeed()
WIP:
Make the new async functions accessible on both server and client (currently only works on client)
The new update is available on the latest package version (61+) and the marketplace
Made it so that SimpleAnimate.getAnimPackageAsync(...) and SimpleAnimate.getEmotePackageAsync(...) now require you to pass the player as the first parameter (in order for it to work properly on the server)
If you call it from the client just pass it as nil
Added an AsyncRequestCooldown attribute to the module which determines the cooldown for a player requesting anim and emote packages
Appended a playground (test) place to the main post
The new update is available on the latest package version (62+) and the marketplace
Honestly if people wanna change the speed of an animation let them do it the built in way, next thing you know youāll have to add this for actions and itll be a mess
I do still think the pause idea is a good idea for some situations though, for example
if contextaction == begin then
Anim:Pause()
elseif contextaction == end then
if not anim.ispaused then return end
Anim:Play()
end
best example i could think of but wtv (im on phone)
The only reason i added this is because if I use the speed parameter of Humanoid.Running as the speed for the idle animation, itāll be 0 so it wonāt run :V, the animation speed iirc is actually scaled by this so maybe Iāll change that to use the builtin method of having the .speed member in the animation infos instead
Isnāt pause essentially just Stop() without resetting the TimePosition? I donāt think this 1 feature warrants creating an AnimationTrack wrapper :WHYYYYYY:
Unfortunately I canāt really do this as the EmotesBar module uses the HumanoidDescription which as far as i know i canāt modify :V
Also, I just realised HumanoidDescription:GetEmotes() exists and a whole buncha other emote related stuff so I donāt even need to retrieve emotes asynchronously