All pastes #266344 Raw Edit

Mine

public text v1 · immutable
·published 2006-12-04 01:09 UTC
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: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
  }
}