@Guyverzero - I use variables to do this inside your player character. Base the action of the items that ‘move’ to a Branch and get the Boolian value of the switch. IE: Does “firstswitchvariable” = 1. If not nothing happens. When you flip the 1st switch, set the firstswitchvariable to 1. Then the action will happen, but the second action wont because it too is waiting for secondswitchvariable to be =1. Until it is, it wont do anything. When the player character goes over to switch 2 and flips it, set the second variable to 1 (or positive), and the 2nd action should take place. Within the Branch, if you get a false, it does nothing. This is how locked doors and drawers know that you have the right key usually, when you pick up the key, the drawer variable becomes positive, so when you click on the drawer, it checks the variable, and either opens or does not.
Hope that helps in theory.
Jerry