It's okay to be confused and ask questions Justin. This is how we learn after all
Justintime9 wrote:For the first part, it seems there is a list of the buttons, each is assigned a number, and the second part has the button object name. ('Act: MyButton01') or in the case of this file ('Act: Button 01'). The first 6 buttons are for telling it that the buttons are part of the combination (defining it's name etc.)
The first six aren't actually the buttons. They're the logic modifiers. Each button in your puzzle gets its own unique logic modifier (They can all share the same region, but there has to be six logic modifiers, one for each button). ptAttribActivator is the plasma description in python for an activator (usually a logic modifier like in this case) The 'Act: Button 01' is just telling whoever is reading the file what the button is and what it's assigned to. The code doesn't use this. what the code uses is the number that precedes this (the 1-6)
The second 1-6 are the same buttons, but telling it that when a button is down it responds. Then I'm assuming #13 is the reset button.
Correct. The second 1-6 are the responders for each of the buttons. so if the button has an animation of some kind, this responder controls it (making it light up, or move, whatever). In plasma a ptAttribResponder is what calls the responder in the prp files.
The solution is the sequence of numbers in which the buttons must be pushed to open the door.
Yes.
Not sure what the 'buttonSDL' Variable is for, perhaps so that when you leave the age while in the middle of pressing buttons it won't reset?
Nope, the button sdl is the variable for the code string. It works like this, you press button 1 (actButton1) in the OnNotify section of the python file, it registers that you pressed that button and plays the responder (respButton1). It then adds the number for that button (1) to a string that's represented by "buttonspushed" the buttonsdl is the variable for that string. Then each time you press another button it plays that buttons responder and adds the button number to the string. So let's say you pressed button 1 first, then button 3. in the vault, the buttonsdl would read 1,3.
What happens is that each time you press a button, the buttonsdl is checked against the solution to see if it matches. Once it matches it opens the door.
Then the UnlockSDL must be so that once opened, the door opened by the combination will stay open unless reset by the reset button.
Right.