# Activation Order - Switch/Variable Door Opening Routine

#### gondracorn

##### Villager
I'm perplexed on how a switch would work if you have 4 switches that would have to be activated in a certain order to get the doors/pads/ect  to activate all in the correct way you want them. Otherwise, Only this door will open, and this door will stay closed.

Is there some deep programming for this, or does this require code that I'm not seeing to?

For an instance...

Door #1 can be opened by all for buttons, but depending on which button you press 1st and which buttons you have pressed, door 1 may or may not open. Same rule applys for all other doors. Also, if button A initially opens Door 1, Button B, C, or D CAN re-close that door. Also, if the door was reclosed by button B or C, Button C or D may Reopen that door. In the same case, Button D may close that door once more.

You see, this doesn't seem to be "Button 1 will open Door 1 and Button 2 will close door 1 and open door 2... end of story"

In fact, we're talking about a scenario of 4  buttons, 4 doors, possibly 16 or more scenarios I believe, If my math is correct.

And if order of opening IS relative, perhaps times that by somewhere between 3 and 4?

Last edited by a moderator:

#### Andar

##### Veteran
you'll need a variable to check and record the sequence.

Let's say you have Buttons A, B, C, D and they have to be pressed in exactly that order

Upon entering the map, Variable X is set to Zero.

Now the event for button A checks the Variable when activated. If the variable X == 0 (first press) then it'll increase X by +1 and does whatever should be done on a successfull activation.

If the variable is NOT 0, then the button was pressed out of sequence, sequence is set back to 0 and all doors close (or whatever you want).

Now the event for button B checks the variable for X == 1. If that is correct, the button was pressed in sequence - X+1 and everything as intended. If X is not 1 (either 0 or 2+) then it was pressed out of sequence - reset to Zero etc.

if you want a more complex sequence you might need to use a bit more in variables and switches, that depends on what exactly you want to do.

You can also sequence conditions to have different reactions depending on the current sequence count.

#### gondracorn

##### Villager
you'll need a variable to check and record the sequence.

Let's say you have Buttons A, B, C, D and they have to be pressed in exactly that order

Upon entering the map, Variable X is set to Zero.

Now the event for button A checks the Variable when activated. If the variable X == 0 (first press) then it'll increase X by +1 and does whatever should be done on a successfull activation.

If the variable is NOT 0, then the button was pressed out of sequence, sequence is set back to 0 and all doors close (or whatever you want).

Now the event for button B checks the variable for X == 1. If that is correct, the button was pressed in sequence - X+1 and everything as intended. If X is not 1 (either 0 or 2+) then it was pressed out of sequence - reset to Zero etc.

if you want a more complex sequence you might need to use a bit more in variables and switches, that depends on what exactly you want to do.

You can also sequence conditions to have different reactions depending on the current sequence count.
Yeah,  I was kinda thinking it was a variable addition problem

#### TheRiotInside

##### Extra Ordinaire
Here's maybe a more simple use of variables to get done what you want.

Make the switches do addition and multiplication, then check for a specific amount at the end. For example:

Switch 1: Variable + 2

Switch 2: Variable * 4

Switch 3: Variable + 1

Switch 4: Variable * 2

I haven't tested every combination, but you should be able to check for a specific number which represents a certain switch order. So if you wanted a 1, 2, 3, 4 switch order, your end check would be looking to see if the variable is equal to 18: (((0 + 2) * 4) + 1) * 2 = 18

Something to note is your desired order couldn't do an addition or multiplication twice in a row (as you get 3 by doing 2 + 1 or 1 + 2, you know?). So as long as you alternate your addition and multiplication for the correct order, only one combination should give you that number.

Last edited by a moderator:

### Latest Profile Posts

I couldn't help myself, so I edited the tiles a bit and made a birdhouse I hope I will finish the town today!
How do I find the threads I have watched? It's been so long I've forgotten
So far, this is how the wall tileset its looking in-editor.

Still thinking on details to add.
Added a plugin to RMMV Plugin Releases with all relevant info but it looks like the topic wasn't approved for whatever reason. Cool.
Working in the IT industry:
- "How long does it take?".
- "It takes 1 month".
- "What if we add more people to the project?".
- "It would take 2 months".