Shaz, would it be possible to simply set up X number of parallel process events that check to see if they are occupied by said object (i.e. the boulder) and while they are increment a single shared variable that when it equals the number of boulders (using a constant for that puzzle) it would run the puzzle solved event?
- There are 4 boulders in the room and 4 "hotspots" to place them.
- Each "hotspot" is an event that checks to see if the boulder is above them (as a parallel process)
- If the "hotspot" is occupied, then increment the 'puzzlevariable' by 1.
- Else, wait a few frames and try again.
- When 'puzzlevariable' reaches 4, the door opens, or a chest unlock SE plays (you could even allow it to temporarily increment by 1 when the player steps on the 'hotspot', especially if it's a floor switch).
- In the case of the player stepping on the last 'hotspot' to "complete" the puzzle, you could have the 'hotspot' decrement the variable every time it finds that nothing is on top of it (thus playing the unlock/open SE when the player steps on it, but then playing a close/lock SE when they step off, requiring them the use the boulders/boxes).
I hope my explanation is clear. 1 variable, 4 moveable objects (boulders/crates), 4 hotspots/switches
Edited by voymasa, 08 August 2013 - 09:50 PM.