ID:170278
 
if(Ox==1||Tiger==1||Bird==1)
usr << "Combo complete"


The user has the verbs "Ox" "Tiger" "Bird" "Serpent" "Tiger. When they click it the variable changes to 1.
What i wan't is that when they click "Ox" "Tiger" "Bird" in the correct order they complete the combo and that it doesn't execute the combo when example "Tiger" "Ox" "Bird" is clicked.

If any of you guys could help me, Thanks in advance
A few things here aren't going to work well for the system you have in mind. To start with, you should never check a true/false value using if(var==1). Always use if(var) instead. Likewise use if(!var) instead of if(var==0).

For this situation, a whole set of different true/false vars is just plain wasteful. Instead you should use something like a string or a list, that can keep track of the combo as it's being built. Compare that string or list to the desired result, and if it doesn't match any potential combo, reset it; use only the last-clicked verb.

For example, we'll say you have var/combo="" representing the current combo, and we'll add "[verbname]:" to it every time you use these verbs.

The player clicking Tiger would change combo to "Tiger:", which is not the beginning of a combo. If you have another single action for this verb you can just go ahead and execute it now, and reset the combo to "".

When Ox is clicked, combo is now "Ox:". This does nothing yet because it could turn out to be a combo. If Ox has another action it can perform, you need some sort of timer that keeps track of how long it's been since a verb was entered.

Then when Bird is clicked, combo is "Ox:Bird:", which is not a potential combo anymore, so the Ox action (if any) can now be executed. The combo var is now "Bird:", which like "Tiger:" is also not a potential combo. Execute the Bird action (if any) and reset combo to "".

Lummox JR