rendered paste body
on *:JOIN:*:{ if ($dialog($nicklist) != $null) { 2refresh } }
on *:PART:*:{ if ($dialog($nicklist) != $null) { 2refresh } }
on *:KICK:*:{ if ($dialog($nicklist) != $null) { 2refresh } }
on *:QUIT:{ if ($dialog($nicklist) != $null) { 2refresh } }
on *:OWNER:*:{ if ($dialog($nicklist) != $null) { 2refresh } }
on *:DEOWNER:*:{ if ($dialog($nicklist) != $null) { 2refresh } }
on *:OP:*:{ if ($dialog($nicklist) != $null) { 2refresh } }
on *:DEOP:*:{ if ($dialog($nicklist) != $null) { 2refresh } }
alias nicklist {
if ($dialog(nicklist) == $null) { dialog -m nicklist nicklist }
else { dialog -x nicklist }
}
dialog nicklist {
title "nicklist"
size 515 35 166 240
option dbu
list 1, 83 0 83 195, size vsbar
list 2, 83 0 83 195, size vsbar hide
text "Selected Nickname:", 3, 2 0 80 7
edit "", 4, 0 8 83 10, autohs readonly
text "Decoded Nickname:", 5, 2 20 80 7
edit "", 6, 0 28 83 10, autohs readonly
text "GateKeeper:", 7, 2 40 80 7
edit "", 8, 0 48 83 10, autohs readonly
text "Gender:", 9, 2 60 80 7
edit "", 10, 0 68 83 10, autohs readonly
}
on *:dialog:nicklist:init:*:{
2refresh
}
on *:dialog:nicklist:dclick:1:{
if (%nickz != $null) { query %nickz }
}
on *:dialog:nicklist:sclick:1:{
var %x, %r, %c
unset %nickz
did -ra nicklist 4,6,8,10
%c = $did(1).seltext
%x = $did(1).sel
did -c nicklist 2 %x
%r = $did(2).seltext
set %nickz %r
set %cpro %c
.whois %r
did -ra nicklist 4 %c
did -ra nicklist 6 %r
did -ra nicklist 8 $$ial(%r $+ *,1).addr
}
alias setgend {
if (!$1) { halt }
did -ra nicklist 10 $1
}
raw 311:*:{
if (%cpro != $null) {
var %r, %x
if (!$7) { %r = U }
else {
if ($left($7,1) == M) { %r = M }
elseif ($left($7,1) == F) { %r = F }
else { %r = U }
}
if (%r == M) { %x = Male }
if (%r == F) { %x = Female }
if (%r == U) { %x = Unknown }
setgend %x
unset %cpro
}
}
alias refresh {
.timerref -m 1 1 ref3esh
.timerref3 -m 1 1 ref4esh
}
alias 2refresh {
.timerref2 -m 1 1 refresh
}
alias ref3esh {
set %nko 1
set %totals $nick($comchan($me,1),0)
did -r nicklist 1
:nko
if (%nko == $calc($nick($comchan($me,1),0) + 1)) { unset %nko | return }
if (%nko != $calc($nick($comchan($me,1),0) + 1)) {
; if $nick($comchan($me,1),%nko) isowner $comchan($me,1))
did -a nicklist 1 $nick.decode($nick($comchan($me,1),%nko))
inc %nko 1
goto nko
return
}
}
alias ref4esh {
set %nk2o 1
did -r nicklist 2
:nk2o
if (%nk2o == $calc($nick($comchan($me,1),0) + 1)) { unset %nk2o | return }
if (%nk2o != $calc($nick($comchan($me,1),0) + 1)) {
did -a nicklist 2 $nick($comchan($me,1),%nk2o)
inc %nk2o 1
goto nk2o
return
}
}
alias check.encdec {
if (!$1) { halt }
var %x
if ($left($1,2) == $+($chr(90),$chr(48))) { %x = 1 }
if ($left($1,2) == $+($chr(90),$chr(49))) { %x = 1 }
if ($left($1,2) == $+($chr(90),$chr(50))) { %x = 1 }
if ($left($1,2) == $+($chr(90),$chr(51))) { %x = 1 }
if ($left($1,2) == $+($chr(90),$chr(52))) { %x = 1 }
if ($left($1,2) == $+($chr(90),$chr(53))) { %x = 1 }
if ($left($1,2) == $+($chr(90),$chr(54))) { %x = 1 }
if ($left($1,2) == $+($chr(90),$chr(55))) { %x = 1 }
if ($left($1,2) == $+($chr(90),$chr(56))) { %x = 1 }
if ($left($1,2) == $+($chr(90),$chr(57))) { %x = 1 }
if ($left($1,2) == $+($chr(90),$chr(65))) { %x = 1 }
if ($left($1,2) == $+($chr(90),$chr(66))) { %x = 1 }
if ($left($1,2) == $+($chr(90),$chr(67))) { %x = 1 }
if ($left($1,2) == $+($chr(90),$chr(68))) { %x = 1 }
if ($left($1,2) == $+($chr(90),$chr(69))) { %x = 1 }
if ($left($1,2) == $+($chr(90),$chr(70))) { %x = 1 }
if (%x == $null) { %x = 0 }
return %x
}
alias nick.decode {
if (!$1) { halt }
var %r
if ($check.encdec($1) == 1) { %r = $ta.nicklist($1).decode }
else { %r = $1 }
return %r
}
alias nick.encode {
if (!$1) { halt }
return $ta.nicklist($1).encode
}
alias ta.nicklist {
if ($1) {
if ($prop == encode) {
var %l 1, %r
while (%l <= $len($1-)) {
%r = $+(%r,$chr(90),$base($asc($mid($1-,%l,1)),10,16,2))
inc %l
}
return %r
}
if ($prop == decode) {
var %l 1, %r
var %o $remove($1-,$chr(90))
while (%l <= $len(%o)) {
if (!$2) {
if ($mid(%o,%l,2) != 20) %r = %r $+ $chr($base($mid(%o,%l,2),16,10))
else %r = %r $chr($base($mid(%o,%l,2),16,10))
}
else %r = %r $+ $chr($base($mid(%o,%l,2),16,10))
inc %l 2
}
return %r
unset %o
}
unset %r
}
}