Ok I have it, What you do, is you have the rock event, and when you push it, it checks the location of the rock, by palcing it in a variable, and uses conditional branch. When it is on the switch, the door variable will change, opening it. IU have a demo file, which oyu can open up to see how I did it.
(Make sure the switch is part of the chipset, (layer 1 2 or 3, else it will not let the rock go on top of it.)
After you have placed the puzzles, tlak to the door to unlock it (in my demo)
Also, remmber, that when you set the x,y vairalbe's, click on the space where the switch is to get the position.