having problems...

Code:
on !*:Join:#test: {
  if ($timer(idlechk)) {
    return
  }
  else {
    .timeridlechk 0 60 check.idle
  }
}

alias check.idle {
  var %nicks = $nick(#test,0)
  while (%nicks) {
    if ($nick(#test,%nicks).idle > 120) {
      if ($me isop #test12345) {
        if ($me isin $nick(#test,%nicks)) { return }
         [color:green] if ($nick !isvoice #test) { [/color]
          mode #test +v $nick(#test,%nicks)
         [color:green] } [/color]
      }
    }
    dec %nicks
  }
}

I looked at the mirc help files, maybe my code is wrong syntax
thanx