hscan
dialog hostcan {
title "Host.Scan"
size -1 -1 296 216
option dbu
list 1, 0 16 295 123, size vsbar
list 5, 1 138 295 76, size vsbar
edit "#", 2, 116 3 50 10
button "Echo $active", 3, 1 3 37 12
}
on *:dialog:hostcan:*:*:{
if ($devent == init) { did -ra hostcan 2 $active | set %host.channel $active | hostscaning }
if ($devent == edit) {
if ($did == 2) { did -r hostcan 1 | did -r hostcan 5 | dialog -t hostcan :: Hostscan $+ @ $+ $remove($did(hostcan,2),#) :: | set %host.channel $did(hostcan,2) | .hostscaning | .fill.scan }
}
if ($devent == sclick) {
if ($did == 3) { echo -a :: $did(hostcan,1).seltext ~ $did(hostcan,5) } }
}
alias hostscaning {
set %nicks 1
while ( %nicks <= $nick(%host.channel,0) ) {
did -a hostcan 5 $nick(%host.channel,%nicks) $+ @ $+ %host.channel
did -a hostcan 1 $nick(%host.channel,%nicks) $+ : $+ $address($nick(%host.channel,%nicks),1)
inc %nicks
}
unset %nicks
halt
}
alias fill.scan {
while ( %nicks <= $nick(%host.channel,0) ) {
did -a hostcan 5 $nick(%host.channel,%nicks) $+ @ $+ %host.channel
inc %nicks
}
}
alias /hscan {
if (!$1) { echo -a /hscan #channel }
else { dialog -m hostcan hostcan }
}
menu channel {
Hostscan Channel:/hscan #
}