So I'm playing with the latest Voice attack beta, and I'm loving it. I can't speak highly enough of it, and I absolutely think it's a great value for the price. Just had to say it.
That said, I do have a feature suggestion that might be easy to add, and could be exceptionally cool (no pun). Many games have abilities with "cool downs". Execute said action, then you have to wait, say, 10 seconds, or a minute, before you can execute it again. A very, very common feature. Just about any MMO comes to mind.
It'd be pretty cool if when you assigned a variable in voice attack, you could also assign a timer to it. For example, Ability1 = 1 for 30 seconds, then Ability1 = 0. In this way, the actual voice command that sets Ability1 can "complete" setting it's variable, i.e.
Voice command: Ability 1
if null Ability1=nul, set Ability=0
Condition if Ability1 = 0
Activate Cooldown
Ability1=1 for 30 seconds
End
Condition if Ability1=1
Say "Ability is still disabled, you must wait {Ability1Time}
End
...something like that.
In this way, you can make your voice commands "aware" of abilities that may be on cool down timers, and smart enough to respond intelligently (a super neat feature).
My other suggestion, I might have missed this, would be to able to globally initialize all variables or a sub-set of variables in the profile itself.
I can do this within a command, such as the example above. However, if multiple commands use the same variable it's a bit repetitive, and could be a pain to maintain if you use the same variable in many places and you at some point decide to change it's init value. Right now I have it in a command that runs to lacun my game from windows. But to be safe, I also have to add them to commands that use them just case I don't launch the game from voice attack/voice attack crashes/I have to restart voice attack, etc.
If variables could be set at the profile level, then when a command runs, if it encounters an uninitialized variable, it will be set to the specified default value saved in the profile generically, before it's run through a condition. Easy as pie. Just a thought. :)