Modifying just the code you posted, rather than rewriting it the way I think is best:
alias setup {
if (%nick == $null) || (%pass == $null) {
:start
set %nick $?="Enter your normal NickName"
set %pass $?*="Enter your Password"
echo -a Setup Completed!
goto end
}
else {
var %x = $?!="Your pass and nick are already set $crlf $+ Do u wish to change them?"
if ($result == $true) goto start
}
:end
}
However, I'd suggest splitting that into 2 aliases, one that checks and one that sets. Also, I'd suggest that you use $input() over $?. And finally, I'd suggest that you put the newly set values into temp variables so you can test to see if they have entered nothing and then decide what to do if they have.