Here is a scene that does what you want. It uses global variables so you have to import them BEFORE you open the scene. Make sure you import playmaker and import the variables FIRST.
To do this properly you need lots of booleans.
Each door needs a Locked and State Boolean. You need them because you have to check if the door is locked and also check if the door is open, since that is the lock for the next door. I threw this together in a couple of minutes so maybe its simpler than I think...
Anyway all you have to do is setup the button to flip a bool variable when it is clicked, it flips the door 1 lock.
now door 1 is unlocked, so you can click it and open it.
after opening it, door 2 is now unlocked. clicking door 2 will open it.
after opening door 2, clicking door 3 will test to see if both boolean variables for the open state of door 1 and door 2 are true, meaning they are both open and if so, the door will open.
There are no real "locks", just tests to see if the bools are true or false and if they are false it just tells you "hey, cant open it", and if they're true it goes through the other path, opening the door.
Its just a matter of creating the bools and setting up the checks. This needs more work, since you can close doors intermittently, but I think you'll get the idea from looking at the scene.
Hope it helps.