How can i make a “time stop” like jojo time stop?
It’d be nice if you provided more information like what you’ve tried or a reference video for those who do not know what you’re talking about.
For a simple time-stop you could just iterate through
workspace:GetDescendants() and Anchor each BasePart you find.
I’ll try that, but i’m trying like, stop players HP downing when they get attacked and freeze they [I’m portuguese/brasil sorry for bad english]
I think you could really try this tutorial:
To prevent player’s HP from reducing, add a forcefield into their character. This won’t work when setting character’s health directly though.
The time stop concept is really dependent on your game and it’s features, but i’l have a small list of tasks that generally apply to 90% of game styles.
first we’l need to freeze every part (obviously) by anchoring them, but then un-pausing would be a problem, because many parts are supposed to stay anchored (like the ones that already were, static map parts, barriers ect.), so we’l need to iterate through every workspace descendant (most likely exclude player/players) and save their state of “Anchored” before they are frozen, then freeze them, so when the time comes to un-freeze you know which ones were anchored before the freeze, so you keep them, the rest - unanchor.
same thing with velocity - parts that are moving or falling would freeze at first, but unfreezing them would start their momentum/velocity at 0 and they will slowly fall, you’d most likely want to save the parts velocity (or Primary parts if it’s a model, DO NOT save every parts velocity under a model, only the center/primary part) in a table, then apply them after un-freeze.
You can lower gravity for extra effect (for the player feeling the frozen time more, just an extra if it doesn’t affect the gameplay that much)
the rest is on you, npc behavior, canceling all damage / health lost, and all the other features your game has, i can’t predict them. I might have forgotten a few things but hopefully someone corrects / adds them.
(also, make sure all this is happening on SERVER side, set the unanchored parts owners to be the server, later when un-freezing put it back to automatic, we don’t wanna glitch physics)
Thanks for the help! ^^ , Now I just need the player to stop losing hp and when the time comes back he takes the damage of whoever stopped the time.
You can do this by having a damage function that repeatedly waits until the timestop ends, then deal the damage. Thats how I achieved it in my game.
Theres a lot of ways to do that as well, best way would be to have a custom function for weapons (or a small if condition check in damage script) to see if the time is stopped (by the attacker if you want) and if it is, instead of dealing damage to the humanoid it would save the damage number inside a variable, that could be a NumberValue under humanoid called like “TimeDamage” (created under every player when time stops, and when time continues it reads all the values and does damage accordingly to each player) . so while time is frozen, every players humanoid has a numbervalue, the weapons now add up their damage to that value and after time unfreezes, server script goes through all players and damages them for the amount of damage in the value (amount of damage done while in slow mo, with a multiplier too if you want)