Aliases: /pkill { set %pkill.nick $?="Enter nick pattern (wildcards accepted)" set %pkill.ident $?="Enter ident pattern (wildcards accepted)" set %pkill.who $?="Enter /who pattern (wildcards accepted)" set %pkill.gtime $?="Enter g:line duration" set %pkill.greason $?="Enter g:line reason" set %pkill.active 1 who %pkill.who } wordc { %x = 1 %out = $null while (%x <= $len($1)) { %out = %out $+ $chrc($mid($1, %x, 1)) inc %x } return %out } chrc { if ($asc($1) >= 48) && ($asc($1) <= 57) return n else if ($asc($1) >= 65) && ($asc($1) <= 90) return u else if ($asc($1) >= 97) && ($asc($1) <= 122) return l else return s } Remotes (delete all existing raw remotes for raws 302, 215, and 352): raw 302:*:{ if (%pkill.active != $null) { gline *@ $+ $mid($2, $calc($pos($2, @, 1)+1)) %pkill.gtime : $+ %pkill.greason } } raw 315:*:{ if (%pkill.active != $null) .timer 1 5 unset %pkill.* } raw 352:*:{ if (%pkill.active != $null) && ((%pkill.nick == *) || (%pkill.nick iswm $wordc($6))) && ((%pkill.ident == *) || (%pkill.ident iswm $wordc($3))) { userhost $6 haltdef } }