So you basically want to monitor someones movement? Too bad GSC doesn't support accessing memory or we could do it the easy way, only thing you can do is send notifies after calling the function...
player freezeControls(true)
player notify("frozen");
...
player freezeControls(false);
player notify("unfrozen");
Then inside your thread, you would use waittil to wait until a string value is notified, so you could do whatever you want when they are in that state...so on player spawn, you would have to call it using true, to notify everyone is frozen (no way of grabbing the data via gsc) but I seriously don't even see the point in doing it...onPlayerSpawn is spawn monitoring, setting it to false will be walking when the countdown clock is ticking, is that what you want? I see no use in monitoring people's movement