First of all, $nick will NEVER equal $me for an on text event.... change 'SOMENICK' to the specific nickname. (note: also according to your script you want the script to work only if $nick is NOT 'somenick', if this is not what is wanted alter the $iif). Secondly the error is caused by the event not the alias, since you fail to send any information 'say' can not be used without parimaters.

As for the say alias, you had mismatched brackets and should probably use return rather than halt. Also changed # to $target since your event is not restricted to just channels. Should work, but untested on my side.
Code:
on *:TEXT:*:*: {
  if ($mid($1-,1,1) == %commandtag) {
    $iif(SOMENICK == $nick,return,$remove($1,%commandtag) $2-)
  }
}
alias -l say {
  if (%sayon == False) { return }
  $iif($ulevel >= %saylevel, msg $target $1-, $notlevel(%saylevel,$nick,$ulevel))
  msgcheck %sayresponse
}


Looking closer, i see no place where %sayresponse is set. So i can only assume that the $notlevel alias call sets this global variable.

If this is the case, you could change the notlevel to 'return blablabla' instead of 'set %sayresponse blablabla', then alter the $iif to something like '$iif($ulevel >= %saylevel, msg $target $1-, msgcheck $notlevel(%saylevel,$nick,$ulevel))' and remove the 'msgcheck %sayresponse' line.

Last edited by Om3n; 27/10/05 02:52 AM.

"Allen is having a small problem and needs help adjusting his attitude" - Flutterby