What you're describing is your own fault, you want the code to happen when the $nick is equal to something you put in, but you have it set to return.

Read the help files for reference.
Originally Posted By: Help Files: /return
The Return command
The /return command halts a currently executing script and allows the calling routine to continue processing.
You can also optionally specify a return value which will be stored in the $result identifier. The $result can then be used in the calling routine.
/return [value]
The Halt command
The /halt command halts a script and prevents any further processing. You can use this in remote scripts to prevent mIRC from replying to normal ctcp messages, or in aliases to halt an alias, and any calling aliases, completely.

For basic stuff like this it's better off if you read the help files or read/watch a guide, as these aren't question one would normally have trouble with.
See the help files for reference, type "/help if" in your application and read up on that.

Here's an example for reference:
Code:
on $*:text:/^!points (on|off)/:#:{
 ;!isop means Is NOT an OP (mod) - Do the code:
  if $nick !isop # { msg # You're not a mod so you can't use this. | return }
 ;If $2 (Second word) is OFF, do this code.
  if $2 == off { 
    set -e %point.off 1 
    msg # Not collecting points anymore.
 ;Ending bracket for $2 == off
  }
 ;Otherwise if $2 is ON, do this code.
  elseif $2 == on { 
    unset %point.off 
    msg # Collecting points now.
 ;Ending bracket for $2 == on
  } 
 ;Ending bracket for this whole command.
}


Nillens @ irc.twitch.tv
Nillen @ irc.rizon.net