Minjaware That definately helped and I found the problem.
Asuming you have selected the third item "Freeze" and all other items has been bought.
Now you select the fourth item "Slow", the following steps will be walked through.
Global variable freeze will be set to 2 (starting from row 120 in Eventsheet). Note, at this state the global variable freeze and slow have a value 2.
The eventsheet will be readed till the last event and there after it starts from the top. The next influental event occures in the group "variable is 2". Within that group the first met condition is freeze=2 (remember event sheets reads from top to down). This event sets globale variable "bridge", "long" AND "freeze" to 1!
Now freeze is 1, the next condition where freeze should be selected will not be met.
Same applies to other items.
There is a point I would like to make. In row 115 you stated in the condition item=item_buy.item
You don't have to use it. When you use on-touch-object condition, only the touched objected will be taken account to check the sub events.
At the end, you should try to read like C2. Read the events from top to down. Perhaps you can find a solution now for your problem