This tutorial explains how to require multiple triggering events before performing a command. This is written about breaking a wall by pressing two buttons but can be used with anything that can be set to give an output and with any number of triggers.
1) a) Select the wall that you wish to break and tie it to "func_breakable" and name it breakable_wall (or whatever you want). b) Under flags check "Only Break on Trigger".
2) a) Create an entity "math_counter" and name it counter (or whatever you want). b) The "Initial Value" and "Minimum Legal Value" should be set to 0 leave them. c) Set the "Maximum Legal Value" to the number of triggers you want to have activated before the wall breaks. In this case 2. d) Add a new output and under "My output named" select "OnHitMax". Under "Target entities named" select "breakable_wall" (or whatever you named it). Under "Via this input" select "break".
3) a) Select one of the buttons that you want to have pressed to break the wall and tie it to "func_button". b) Under flags check "Use Activates". c) Set "Delay Before Reset" to -1. This is very important or else once it resets it can be pressed again which will trigger the wall to break. d) Add a new output and under "My output named" select "OnPressed". Under "Target entities named" select "counter" (or whatever you named it). Under "Via this input" select "Add". Under "With a parameter override of" type 1.
4) a) Repeat step 3 for all buttons that you want to have activated before the wall breaks.
That's all. If you have any questions PM me or post them in the forums and I will help you as best I can.