You was almost there...

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 [color:green]#test[/color]) {       
        if ($me isin $nick(#test,%nicks)) { return }        
        [color:green]if ($nick(#test,%nicks) !isvoice #test) {[/color]           
          mode #test +v $nick(#test,%nicks)   
        }      
      }    
    }    
    dec %nicks 
  }
}