on @*:join:#: { set -u8 %door. [ $+ [ $wildsite ] $+ . $+ [ $chan ] ] 1 } on @*:part:#: { if (%door. [ $+ [ $wildsite ] $+ . $+ [ $chan ] ] && %door.check == $null) { set -u6 %door.check 1 ban -u200 # $nick 2 } } ----------------------------the above is fine The following part got problem, makes the mirc hanged, on @*:quit: { var %nick = $nick | var %v = 1 while ($comchan(%nick, %v)) { if ($me isop $comchan(%nick,%v)) && (%door. [ $+ [ $wildsite ] $+ . $+ [ $comchan(%nick,%var) ] ]) { mode $comchan(%nick,%var) +b $wildsite } inc %var } return }