How to slow down every animation currently playing?

Hello!

So, I am trying to make a… time stop? but it’s not like Dio’s.

I just want the players in a certain radius to be slowed down significantly.
But, how would I do that?

FIRST PROBLEM:
How would I make all animations slow down? I’ve done stuff like 'Humanoid:GetPlayingAnimationTracks()", but for some reason, that never works. How would I do this?

SECOND PROBLEM:
How do I make them fall slower?
You may say, “oh, easy, Just lower gravity”, However, players will float VERY high when they jump. I just want the players to go the same distance they would normally go, but just in slow motion.

THIRD PROBLEM:
How would I make projectiles freeze? I mean, I may be able to just affect one person with the time stop, making it so only the projectiles thrown from the player seemingly freeze with animation.

remember; you dont have to solve all of these, just try and help me with one if you can.

Thank you in advance.

5 Likes

To slow down an animation, you can use Track:AdjustSpeed(0.1) after Track:Play().

3 Likes

Instead of doing that in humanoid, try it on the humanoid.Animator

2 Likes

For the second problem, the only realistic answer would be probably to time gravity. I guess you could also use global wind to blow the player upwards so they fall slow

2 Likes

the sad thing is, i’ve tried to do this but it wont update real time.

like, lets say an animation is playing RIGHT when time stop, so its slowed.

after time stop, I cant change the animation speed back for some reason.

1 Like
  1. Have you tried doing this client-side?
  2. You may need to lower jumppower, though I’m not sure how well that would scale with slower speed.
  3. This depends on how your projectiles work. If you’re linear projectiles that update every frame, you may be able to slow them down according to a global timescale value.
2 Likes

To slow down everyone’s animations on the server, you’d need to loop through the players service and then adjust the speed on everyone’s animation tracks.

local Players = game:GetService("Players")

for _, player in pairs(Players:GetPlayers()) do
	for _, animation in pairs(player.Character:FindFirstChildOfClass("Humanoid"):GetPlayingAnimationTracks()) do
		animation:AdjustSpeed(0.2)
	end
end
2 Likes

Slowing down animations works, though you might need to do it only from the server OR on each player’s client (I’m not sure which).

2 Likes

thank you all for your help.

all of these solutions worked, but ill mark @lgotanintendoswitch 's post since he visually showed how to fix the problem via code.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.