Actually, you can do this fairly easily all with events. Show a picture of what the player needs to do with the show picture command. Then, do a loop. In this loop, have a conditional branch for if the button you want them to press is being pressed or not. If it is being pressed, break the loop, erase the picture, and do whatever happens next. If not (in the else section), have a new variable named Timer or something get 1 added to it. After that variable, have a conditional branch check if that variable equals however long it takes for the player to fail the event. You'll need to experiment for how long that number is. Anyways, in that conditional branch, have then what will happen if the player fails, erase the picture, and break the loop.
Ex:
-Show Picture
-Loop
-Conditional Branch: If X is being pressed
-Show Text: Tada!
-Erase Picture
-Control Variable: Timer = 0
-Break Loop
-Else
-Control Variable: Timer + 1
-Conditional Branch: If Timer is equal to or more than 100
-Show Text: You failed!
-Erase Picture
-Control Variable: Timer = 0
-Break Loop
-End Branch
-End Branch
-Repeat Above
That should work, though I've not tested it myself yet.