bonesy..
looking at your code.. I see..
1. It is the [ assualt_mech_exit(e) ] function..
2. It uses the StartTimer(e) and GetTimer(e) functions..
Information...
How does a GG lua script run...( this is what I think when I code)
1. The script is attached to a mech model.
2. At run test level GG will call the [ assualt_mech_init(e) ] function.
once at the very start up.(for each mech with this script)
3. GG will then call the [ assualt_mech_main(e) ] function.
every FPS that the level is running.. (for each mech with this script)
4. When the mech [e] is killed GG will call the [ assualt_mech_exit(e) ] function.
Just the once .. it is dead it is no more it is a dead parrot.. mech I mean..
So do you see..
there is no way to use the Timer(e) code in exit function as this exit is only ever called once for [e].
I have not looked at the other parts of your code but thought it helpful to share this..
Hope this helps..