Lets not forget about the IAL (Internal Address List).

Here are 2 scripts for searching for users in either a specific channel or all channels.

Usage:
/hc [#channel] <hostmask> <-- Searches a specific/active channel and selects nicks.
/hs <hostmask> <-- Searches all channels and displays first 8 results.

If the user you are searching for has been in the channel longer than you, and has said and done nothing since you joined, then use this command to freshen the IAL for that channel.

/wc

Paste these into Aliases Section...

/hc {
if ( $1 ischan ) var %chan = $1, %host = $2
else var %chan = #, %host = $1
if ( !%host ) var %host = $input(Enter the host to search for in %chan,e,Input Host,*!*@*)
if ( *!*@* !iswm %host ) var %host = *!*@ $+ %host
echo $colour(info) -a *** Found $chr(3) $+ 05 $+ $ialchan(%host,%chan,0) users $+ $chr(3) with the host matching $chr(3) $+ 05 $+ %host $+ $chr(3)
sline -r %chan
var %i = 1
WHILE $ialchan(%host,%chan,%i) {
sline -a %chan $gettok($ifmatch,1,33)
inc %i
} }

/hs {
var %host = $1
if ( !%host ) var %host = $input(Enter the host to search for in all channels.,e,Input Host,*!*@*)
if ( *!*@* !iswm %host ) var %host = *!*@ $+ %host
echo $colour(info) -a *** Found 05 $+ $ial(%host,0) users with the host matching 05 $+ %host $+ 
var %i = 1
WHILE $ial(%host,%i) {
var %nick = $gettok($ifmatch,1,33), %address = $deltok($ifmatch,1,33)
var %j = 1, %chans = ""
WHILE $comchan(%nick,%j) {
var %chans = %chans $ifmatch
inc %j
}
echo $colour(info) -a ( $+ $base(%i,10,10,2) $+ ) 5 $+ %nick $+  ( $+ %address $+ ) on 05 $+ %chans $+ 
if ( %i >= 8 ) break
inc %i
} }

/wc { WHO $iif($1,#$1,#) }

- Raccoon


Well. At least I won lunch.
Good philosophy, see good in bad, I like!