define Order Sprite by (z position :: custom-arg) // Check "Run without screen refresh"
set [i v] to (1)
repeat until <not <(z position :: custom-arg) < (item (i) of [Z ORDER v])>>
change [i v] by (1)
end
insert (z position :: custom-arg) at (i) of [Z ORDER v]
go [forward v] ((i) - (1)) layers
when I receive [Order Sprites v]
Order Sprite by () :: custom // The smaller the value, the higher the layer
Main loop
when flag clicked
forever
delete all of [Z ORDER v]
broadcast [Order Sprites v]
end