About the last capx you placed.
You always start at the bottom condition, and trace back. Knowing that: a pick condition looks at only the objects in the previous picked list of objects. Unless the list is forgotten. Forgotten is not the same as empty. So. When the list is forgotten you can read in the manual as i linked it for you.
- The does not work section:
Starting at the 'cursor is over sprite'. The previous picked list for that condition is made by the 'sprite is not on screen' condition. Al sprites are on screen, so that picked list is empty. Meaning, the 'cursor is over sprite' does not find any sprite in the SOL, and can therefor never be true. There are no referenced or unreferenced objects in the actions section, so we do not have to talk about at that. Althaught thats is mostly the problem. Because since the SOL is empty, no action can ever work on the sprite object.
Starting at the 'cursor is over sprite'. That is a new 'top' condition. Or 'root' condition, or how you want to call it. This means that there is no previous picked list. The picked list is forgotten. Not the same as empty !. Just forgotten. So, in fact, it makes its own pick list from scratch, starting from all the sprites again. And in the picklist that it made are all sprites that are overlapped by the cursor included.
Same for 'sprite is not on screen' in there. It has no previous picked list, because it is a root, a new condition. So it has all the sprites to pick from.
Dont know how to explain it better to you. I hope i made things a little clear.
So, basecaly. When you compare 2 'pick condtions' (in an or, or an and, or an else, or in a sub) you have the obvious flag true/false. But besides that, the mutch more importand 'previous SOL'.
Two things can happen.
1/ Althaught the flag reads true as you expect it to be, the actions can get an empty SOL, an therefor work, but work on nothing.
2/ The second (or third, 4th, 5th ....) condition can look for objects that are excluded by the previous picked list. Than the condition will not be true.
There is one more way for me to state it more clear. When i may say it in my moms language. : )