couple of options.
you could use a variable to share a script for 2 different purposes. say, you call script 1 from script 2, and there is room left in script 1. then you could do something like this:
#1
IF && G.BTNV EZ T: reset
IF EZ T: break
the rest of script 1
#2
T 1; SCRIPT 1
basically, variable T tells script 1 whether it’s called from script 2 or from the button. the downside is that it’s possible the reset button is pressed just as script 2 is calling script 1, which means the reset won’t be executed (or it might result in some other side effects, depending on what script 1 does).
second option: you can assign metro and init scripts to grid controls too (set to 9 or 10 respectively), so if you’re not using them for anything else you could use them for reset.