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:sclick:1:{ unset %nickz did -ra nicklist 4,6,8,10 var %x, %r, %c %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 } }