That should work if you safe the elapsed time in a global variable:
This is qick made script which shows how it could be done:
(It's a 10 minutes timer (600 seconds))
;Artificial Intelligence Script
;Header
desc = countdown with global variable
;Triggers
:state=0:globalvar=0,state=1
:state=1,varless=600,vargreater=0:state=2
:state=1:setvar=600,state=2
:state=2:fpgcrawtextsize=24,fpgcrawtextfont=verdana
:state=2:fpgcrawtextr=255,fpgcrawtextg=255,fpgcrawtextb=255
:state=2:fpgcrawtextx=50,fpgcrawtexty=70
:state=2:state=3
:state=3:timerstart,state=4
:state=4,timergreater=1000:decvar=1,state=5
:state=5,varequal=540:fpgcrawtext= >> 9 << minutes left
:state=5,varequal=480:fpgcrawtext= >> 8 << minutes left
:state=5,varequal=420:fpgcrawtext= >> 7 << minutes left
:state=5,varequal=360:fpgcrawtext= >> 6 << minutes left
:state=5,varequal=300:fpgcrawtext= >> 5 << minutes left
:state=5,varequal=240:fpgcrawtext= >> 4 << minutes left
:state=5,varequal=180:fpgcrawtext= >> 3 << minutes left
:state=5,varequal=120:fpgcrawtext= >> 2 << minutes left
:state=5,varequal=60:fpgcrawtext= >> 1 << minute left
:state=5,varequal=30:fpgcrawtext= >> 30 << seconds left
:state=5,varequal=20:fpgcrawtext= >> 20 << seconds left
:state=5,varequal=10:fpgcrawtext= >> 10 << seconds left
:state=5,varequal=9:fpgcrawtext= >> 9 <<
:state=5,varequal=8:fpgcrawtext= >> 8 <<
:state=5,varequal=7:fpgcrawtext= >> 7 <<
:state=5,varequal=6:fpgcrawtext= >> 6 <<
:state=5,varequal=5:fpgcrawtext= >> 5 <<
:state=5,varequal=4:fpgcrawtext= >> 4 <<
:state=5,varequal=3:fpgcrawtext= >> 3 <<
:state=5,varequal=2:fpgcrawtext= >> 2 <<
:state=5,varequal=1:fpgcrawtext= >> 1 <<
:state=5,varequal=0:fpgcrawtext= >> BOOOOOOM <<,state=6
:state=5:state=3
;End of Script
The second and third line:
Quote: "
:state=1,varless=600,vargreater=0:state=2
:state=1:setvar=600,state=2
"
If the scrip starts in the "next" level the value of the variable will be less than 600. So it will not get set to 600 again.
Edit: Or maybe more easy: Make a version of the script without these 2 lines for the other "levels" and change line 1 to:
:state=0,globalvar=0:state=2
These lines save the time every second by decreasing the global var by 1:
Quote: "
:state=3:timerstart,state=4
:state=4,timergreater=1000:decvar=1,state=5
"
Not tested but should work..
p.s. rawtext works only with FPSC v.1.16 or 1.17