I use a sound timer that isn't affected by lag but that sometimes cuts out if there are lots of sounds going on around you. When you start priming a grenade, it says "three" and then counts down to "zero", at which time the grenade blows. To get it running, create a file called "timer.cfg" in your tfc directory, and put the following line in it:
speak "three _comma _comma _comma two _comma _comma _comma one _comma _comma _comma zero"
Then in your soldier.cfg file, you can use the phrase "exec timer.cfg" to make the timer go once. One simple way is:
bind MOUSE2 doTimedGren
alias doTimedGren "+gren1; exec timer.cfg"
Normally you have to hold the button down to prime a grenade and then release the button to throw it. A grenade primer allows you to hit the button once to start priming it, and a second time to throw it. This improves your game in two ways: (1) you don't have to develop the dexterity to hold the button down while doing other things; (2) it's easier to release at the right time if clicking a button does it, rather than releasing a button. Here it is:
bind mouse2 g1
alias g1 g1prime
alias g1prime "primeone; alias g1 g1throw"
alias g1throw "throwgren; alias g1 g1prime"
bind mouse3 g2
alias g2 g2prime
alias g2prime "primetwo; alias g2 g2throw"
alias g2throw "throwgren; alias g2 g2prime"
If you also want a timer, insert "exec timer.cfg; " after primeone and primetwo.
MAKING THINGS OPTIONAL
For different classes and different times in the game you might want to turn some scripts on and off. To be able to toggle priming off or on for example, use this:
bind b togglePriming
alias togglePriming primingOff
alias primingOff "bind mouse2 +gren1; bind mouse3 +gren2; alias togglePriming primingOn"
alias primingOn "bind mouse2 g1; bind mouse3 g2; alias togglePriming primingOff"
If you wait to see your grenade blow to start priming another one, then you will get off a grenade every 4 to 5 seconds. But if right when you release a grenade you start priming another, then you can get off a grenade every 2 to 3 seconds. Its useful to have a script do this for you since it lets you focus on other things. The only time you have to worry about grenades is when you hit the button to release a primed one. And you get to release one twice as fast as most enemies. Here it is:
alias g1primeR "primeone; exec timer.cfg; alias g1 g1throwR"
alias g1throwR "throwgren; alias g1 g1primeR; wait; wait; wait; g1"
bind n toggleRepriming
alias toggleRepriming reprimingON
alias reprimingON "alias g1 g1primeR; alias toggleRepriming reprimingOFF"
alias reprimingOFF "alias g1 g1prime; alias toggleRepriming reprimingON"
December 19, 1999