Code:
ON 1: TEXT:*:# {
  if ($nick isin %watch) {
    set %checknick $nick
    set %checkmsg $1-

    ;[Test1]
    if (check1 isin %checkmsg) && (check2 isin %checkmsg) {
      if ($read(c:\check.txt,w,$3) == $null) {
        if (check3 isin %checkmsg) && (check4 isin %checkmsg) {
          if (fail1 isin %checkmsg) || (fail2 isin %checkmsg) || (fail3 isin %checkmsg) || (fail4 isin %checkmsg) || (fail5 isin %checkmsg) { halt }
          elseif (-Variable1 isin %checkmsg) { $read(c:\check2.txt,w,$checker($fixstr($cutoff($3)))) isin %checkmsg) { //echo -a action 1 is working }
            if ($read(c:\check2.txt,w,$checker($cutoff($3))) isin %checkmsg) { //echo -a action 2 is working }
            else { //echo -a action 3 is working }
          }
        }
      }
    }

    unset %checknick
    unset %checkmsg
  }
  else {
    halt
  }
}


anyone have any idea why this doesnt work?
$checker, $fixstr, $cutoff are regex variables which work fine when testing with //echo -a

any advice would be very welcome