So I use
Set time scale to 0 to pause my entire game. However I do need one timer (some countdown) to continue it’s work. How to I make it possible?
So I use
You can use Change Layer Time scale so it will only change the time of that layer.
The work that you want to continue, you could have that on a different layer so wouldn’t be affected.
But timer do not belong to any Layer?
If you use this command, it will effect the time scale of the whole game…
But if you use this it will effect time scale of only the layer you choose
Yes I understand that, but Timer objects aren’t bind to any layer, they are in scene scope. So it doesn’t make sense.
I see what you mean. Hopefully someone else will know if/how that’s possible
It’s not possible, sadly. Luckily it is easy to replicate timer functionality. A timer is just a variable which gets TimeDelta() * TimeScale() added to it every frame. To make one ignoring the time scale, you only need to make a variable and add TimeDelta() to it every frame (by using a conditionless event)
Hmm, timeDelta also seems to go zero when time scale is 0
I don’t know if this will be of any use but following on from what Arthuro explained I tested it out. It seems if you tie the variable to TimeDelta() it doesn’t want to continue (maybe because TimeDelta is somehow tied to the TimeScale? I don’t know. Could be an error on my part.)
But if you set the variable to add 0.2 (this won’t be exact timing), it keeps going even when the Time Scale is set to 0. In the example the time scale is set to 0 at the 5 second mark… so one of the timer is paused at around 5 seconds in the preview window (the black text). But the variable I called “vartime”, and the Text object that it’s displayed on (the red text), keeps going and adding up the approximate time, even when the TimeScale is 0 .
Ah I already made my custom function