From the help document :
Text (and Text-To-Speech) Tokens
A VoiceAttack Token is a tag that can be used as a placeholder to represent a value in places that use text. Tokens are surrounded by curly brackets { } and will always contain a title that is case-sensitive : {DATE} or {CMD} or {CLIP}. Tokens started their life in VoiceAttack for use in Text-To-Speech (TTS). Over time, the uses for tokens grew and now they can be used in all sorts of places that require text, such as file paths for launching apps and use in conditional statements. Some tokens you may use a lot, others you may never use at all. Some are simple (like {DATE} ) and some are way out there (like {EXP} ). An example of how to use the first token ( {TIME} ) is below. It was used in TTS to help indicate the local time to the VoiceAttack user.
“The current time is now {TIME}”.
This value was put in the, 'Say Something with Text-To-Speech' action. When the action is executed, VoiceAttack replaces the {TIME} tag with the local time (24 hour clock) :
“The current time is thirteen hundred hours”.
A variation of the {TIME} token is {time} (notice the lower case). This token will be rendered as a 12 hour clock, so, “The current time is now {time}” would be rendered as “The current time is now one o'clock” when the action is executed.
Some tokens are a little bit more complicated (or flexible, depending on how you look at it) and contain parameters. An example of this would be the {RANDOM:lowValue:highValue} token. The purpose of this token is to generate a random number within a range. Notice that this token has TWO parameters : lowValue and highValue to represent the lower and upper boundaries of the range (I believe its first use was to roll virtual, 'dice'). Notice also that the parameters are separated from the title (and other parameters) by colons. As an example, let's say we want to generate a random number between 10 and 20. The token would look like this: {RANDOM:10:20}.
Using Text-To-Speech, your action could use the following statement :
“I am generating a random number and it is {RANDOM:10:20}”.
When the action is executed, VoiceAttack will generate the random number and replace the tag, so the result would be something like, “I am generating a random number and it is 16”.
There are some tokens that take a variable name as a parameter, such as {TXT:variableName}. When VoiceAttack encounters a token that accepts variable names as parameters, it replaces the tag with the value in that variable. In the case of {TXT:variableName}, VoiceAttack will get a text variable's value. {INT:variableName} will get an integer variable's value. {BOOL:variableName} will get a boolean variable's value (and so on). Let's say you set up a text variable called, 'myText' to have a value of, 'Dave'. The token you would use to get the value from 'myText' would be {TXT:myText}. You could
use the token in a Text-To-Speech statement such as this:
“I'm sorry, {TXT:myText}, I'm afraid I can't do that.” When the action is executed, the rendered statement would be, “I'm sorry, Dave, I'm afraid I can't do that.” Then, if you set 'myText' to have a value of, 'Sally' and execute the statement again, the rendered statement would be, “I'm sorry, Sally, I'm afraid I can't do that.”.
Note: VoiceAttack's tokens work even when there are multiple entries for random TTS statements. Remember, tokens are case-sensitive... {Time} will not be processed properly, but, {TIME} or {time} will.
////////////////////////////////////////////////////////////////////