Hey, welcome back!
Yeah, the problem is in the last part:
//if it's different then last time tell them a minute has passed
if( 7F020C != 7F0210)
Textbox( "Hurry a minute has passed" )
//store this minute for the above comparison
Assigment (Mem to Mem)
7F020C -> 7F0210
It's unfinished, and you are comparing a static value (the "time up" minute), so that's why you keep getting the textbox. At the moment, I'm having a hard time thinking up a working solution that loops the minute value.
I was experimenting and here's a solution I came up with using seconds instead:
The idea here is to record the second of the start time, and decrease the "time left" counter each time that second is found again (which would be 1 minute later)
Mem.7F0210 = 05 //Player has 5 minutes
Assign(Mem.7E0401, Mem.7F020C, Two) //Copy start time second to work memory
Assign(Mem.7F020C, Mem.7F0042, Two) //Copy start time second to more permanent address (across locs.)
Pause 1.000 //Wait for 1 second so the following statement isn't triggered instantly
_X Assign(Mem.7E0401, Mem.7F020E, Two) //Copy current seconds to work memory
If (Mem.7F020C == 7F020E) //If current second is equal to start second
7F0210 -= 0001 //Subtract 1 minute from counter
If Mem.7F0210 == 00) //If out of time
Textbox (Bottom, "Sorry! Out of time.")
Goto Y
Assign(Mem.7F0210, Mem.7E0200, One)
Textbox (Bottom, "{value 8} minute(s) left!")
_Y Goto _X
Try that one out. One potential problem: if the player is mashing the confirm button to close the textbox before it even has a chance to finish, a minute may be lost if it can display a second textbox within the same second. In other words, it would display two "x minutes left" boxes in a row, with the second one being 1 minute less. See if you can trigger that. If you can, a Pause 1.000 after the "x minutes left" textbox should fix it. Or maybe delay or stop text commands in the text would work also.
Finally, I'm not sure how you plan to end the minigame (if that's what this is) You'll need to add a status flag so that it isn't displaying the textboxes even after the minigame has ended. An If statement where _X is should do the trick.