There may come a time when a user may need to assign an arbitrary number of sprites a unique identifier. For instance, say the user has ten bullet sprites with a local variable. Rather than individually assigning each of them a number in a set () to () block, it might be handy to do this automatically. That way, a script could specifically call bullet number seven without hard-coding it.
Firstly, a global variable
(sprite count is created. Then, on the stage, this script is added:
when gf clicked set [sprite count v] to  broadcast [count sprites v] and wait . . .
Now, for all the sprites that want to be counted (and generally these will be clones of the same sprite) this script is added:
when I receive [count sprites v] change [sprite count v] by (1) //This takes advantage of the fact that scripts are not run at the same time. set [my number v] to (sprite count) //Swap these two blocks to start count at 0 instead of 1
Then, when the flag is clicked, each sprite will obtain a unique number in
This works because of the execution order of broadcasts.