on *:text:`o*:#:{ var %z, %t, %q, %g, %n if ($me !isowner $chan) { halt } if ($getustatus($nick) > 4) { halt } if (!$2) { %z = $nick if (%get.nick isowner $chan) { mode $chan -qo %get.nick %get.nick mode $chan +o %get.nick halt } if (%z isop $chan) { halt } mode $chan +o %z halt } else { %t = $+($2,$chr(95)) | %q = $len(%t) var %nko 1 while (%nko <= $nick($chan,0)) { if ($left($nick($chan,%nko),%q) == %t) { %g = $replace($+($gettok($$ial($nick($chan,%nko) $+ *,1).addr,1,64),$chr(42),$chr(64),$chr(42)),$chr(126),$chr(42)) %n = $+($chr(42),$chr(33),%g) set %get.nick $nick($chan,%nko) set %get.gate %n if (($getustatus($nick) > 3) && (%get.nick isowner $chan)) { halt } if (%get.nick isowner $chan) { mode $chan -qo %get.nick %get.nick mode $chan +o %get.nick halt } if (%get.nick isop $chan) { halt } mode $chan +o %get.nick halt } inc %nko } } haltdef }