alias scanip { if ( $1 == $null ) { echo -a 3* Scanip syntax: /scanip | halt } if (*.*.*.* !iswm $1) { echo -a 3* Retreiving IP address for $1 $+ ... | set %nick.ip $1 | scan.nick | return } echo -a 3 * Scanning # for ( $+ $1 $+ )... set -u20 %scanning.for $1 set -u20 %scan.active $true set -u20 %chan $chan($active) set -u20 %st $nick( %chan ,0) set -u20 %sp 1 .userhost $nick( %chan , %sp ) } alias scan.nick { set -u20 %scan.nick $true userhost %nick.ip } raw 302:*:{ if (%scan.active) || (%scan.nick) { set -u20 %nickhost $2 scan.for.match } } alias scan.for.match { tokenize 64 %nickhost set -u20 %curr.nick $1 set -u20 %toknickhost $2 tokenize 61 %curr.nick set -u20 %current.nick $1 .dns %toknickhost } on 1:DNS:{ if (%scan.active) { if ( $dns(1).ip == %scanning.for ) { echo -a 3* %current.nick Matches $dns(1).ip unset %scan.active halt } inc %sp if ( %sp < %st ) { userhost $nick( %chan , %sp ) } } if (%scan.nick) { if (!$dns(1).ip) { echo -a 3* %nick.ip has userhost %toknickhost | unset %scan.nick | halt } echo -a 3* %nick.ip has resolved to $dns(1).ip unset %scan.nick halt } } menu channel { Ip Scanner:scanip $$?="Nick/Ip" }