What event is this in? $1 is not filled in all events. If you want $1 from a variable, then you need to tokenize the variable first.
Example:
set %var this is a test
tokenize 32 %var
echo -a $1-
If you're in an event like ON TEXT, then $1- is the text shown without needing to tokenize it.
Also, remember that if the text is !say helloworld, then $2 is helloworld... $1 is !say.