Sephiroth
http://sephiroth.scifi-action.de/board/

Nickchangepopup w/ Dialogexample for up/down moving
http://sephiroth.scifi-action.de/board/viewtopic.php?f=4&t=30
Seite 1 von 1

Autor:  Sephiroth [ 18. März 2008 00:20 ]
Betreff des Beitrags:  Nickchangepopup w/ Dialogexample for up/down moving

;;
;; Usage: /nchange
;; Simple Script to change nicks fast with the help of a popup menu
;;
;; Update:
;;  - Fixed High CPU Load while opening popup Menu
;;  - Added $me, $mnick and $anick from all Networks you are connected too
dialog nchange {
  title "Nickchange"
  size -1 -1 70 110
  option dbu
  combo 1, 5 11 60 70, size
  box "Nickchange", 2, 2 2 66 106
  button "&Add", 3, 5 81 30 12, default
  button "&Del", 4, 35 81 30 12
  button "&Up", 5, 5 93 30 12
  button "Do&wn", 6, 35 93 30 12
}
on *:dialog:nchange:init:0:{
  var %x = $var(%fnc.*,0),%i = 0
  while (%i < %x) {
    inc %i
    did -a $dname 1 $eval($var(%fnc.*,%i),2)
  }
}
on *:dialog:nchange:close:0:{
  unset %fnc.* | var %x = $did(1).lines
  while (%x) { set %fnc. $+ %x $did(1,%x) | dec %x }
}
on *:dialog:nchange:sclick:3:{ if (!$didwm(1,$$did(1).text)) { did -a $dname 1 $$did(1).text } | else beep }
on *:dialog:nchange:sclick:4:{ did -d $dname 1 $$did(1).sel | if ($did(1,1)) { did -c $dname 1 1 } }
on *:dialog:nchange:sclick:5:{ move -1 }
on *:dialog:nchange:sclick:6:{ move +1 }
alias -l move {
  if ($did(1).sel) {
    var %l = $ifmatch,%o = $did(1,%l),%nl = $calc(%l $1)
    if (%nl > $did(1).lines) { %nl = $did(1).lines | beep } | elseif (!%nl) { %nl = 1 | beep }
    did -d $dname 1 %l | did -i $dname 1 %nl %o | did -c $dname 1 $didwm(1,%o)
  }
}
alias nchange { _nickchange }
menu channel,status,query {
  Nickchange
  .$submenu($_nickchange($1))
  .-
  .$!me
  ..$submenu($_nicks($1).me)
  .$!mnick
  ..$submenu($_nicks($1).m)
  .$!anick
  ..$submenu($_nicks($1).a)
  .-
  .Setup:nchange
}
alias -l _nicks {
  if ($isid) {
    if ($1 isnum 1- $+ $scon(0)) {
      var %x = $scon($1). [ $+ [ $iif($prop == me,me,$iif($prop == a,anick,$iif($prop == m,mnick))) ] ]
      return $iif($me === %x,$style(3),$iif($me == %x,$style(1))) $iif(%x,%x $chr(9) $scon($1).network) (Conn $1 $+ ): nick %x
    }
  }
  else { if (!$dialog(nchange)) { dialog -m nchange nchange } }
}
alias -l _nickchange {
  var %n = $var(%fnc.*,0)
  if ($isid) { if ($1 isnum 1- $+ %n) { var %x = %fnc. [ $+ [ $1 ] ] | return $iif($me === %x,$style(3),$iif($me == %x,$style(1))) %x : nick %x } }
  else { if (!$dialog(nchange)) { dialog -m nchange nchange } }
}

Seite 1 von 1 Alle Zeiten sind UTC + 1 Stunde
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/