

then take the number from Charms02GlobalCheck and make it the animation from for Charms02 Line 4 - If Charms02Global is not equal to 0 (because it should have had the frame number written to it above).

make Charms02 and it's chosen frame visible set the value of Charms02GlobalCheck to the new number of Charms02Global set the value of Charms02Global to the chosen frame number for Charms02 then choose a random frame from Charms02 Line 3 - If Charms02Global is equal to 0.Line 2 - If the Score is equal or above 2.

Generally, if you feel the need to call wait(), there's probably a better way to do what you're trying to do that won't tick off your entire program update cycle. It's different in a command prompt situation where everything is conveyed as lines of text, but once you move past that it's generally wise to use timer variables or something like GM's alarms (which are the same concept, just automated to a fair degree for you). The thing with waits are that they do stall everything, and a lot of programming languages provide for that, but I don't hear much of a wait() being called in anything beyond a console application, because outside of multithreading you're stopping everything and that's generally not a wise decision.

You can still accomplish similar things manually by using timers and a boolean or two, only allowing objects to be active and respond to things so long as a global allows them to do so. GM originally had a wait() function that stalled the entire program for a given period of time, but when converting to Studio and its multiplatform intention it was discovered this made a lot of OSs incredibly angry, especially with mobile.
