Hey there stalker,
A few things; you didn't define the huds at the begining of the script.
Should be something like this
:state=0:hudreset,hudx=50,hudy=50,hudimage=path to the hud image,hudname=flashlight,hudtype=display,hudhide=1
Your going to need to do that for each of the huds you are going to use.
You should also use the action/condition etimer,etimergreater. That way you won't interefere with other timers in the game.
Now as far as getting a script to work the way you want. Scrap the Vaaribles and use timers. I have trouble understanding variables, timers are jst easier IMO. although they wont always work so I should take the skirt off and figure out variables.
So without my system infront of me to test, I wrote this, its just the begining to get you started.
:state=0:hudreset,hudx=50,hudy=50,hudimage=gamecore\huds\user\light100,hudname=flash100,hudmake=display,hudhide=display
:state=0:hudreset,hudx=50,hudy=50,hudimage=gamecore\huds\user\light90,hudname=flash90,hudmake=display,hudhide=display
:state=0:hudreset,hudx=50,hudy=50,hudimage=gamecore\huds\user\light80,hudname=flash80,hudmake=display,hudhide=display
:state=0:hudreset,hudx=50,hudy=50,hudimage=gamecore\huds\user\light70,hudname=flash70,hudmake=display,hudhide=display
*note: you'll have to define each hud this way all the way to zero, and you have to be sure each hud is in the correct folder.
:state=1,scancodekeypressed=28:etimerstart,hudshow=flash100
:state=2,etimergreater=5000:etimerstart,hudshow=flash90,hudunshow=flash100
:state=3,etimergreater=5000:etiemrstart,hudshow=flash80,hudunshow=flash=90
(and so on) at the end of just point it back to state=1 you'll also have to put a line in there to toggle the flashlight off. Personally when I use a key command to turn on a flashlight or something. I use two different keys one for on one for off, that way I eliminate issues that may come from using the same key to do two different things.
Hope this helps