All pastes #1294743 Raw Edit

Coffey's Atomic Theme

public text v1 · immutable
#1294743 ·published 2008-12-28 01:02 UTC
rendered paste body
alias themestart {
  .timestamp on
  .timestamp -f 2(12ddd hh2:12nn2.12ss TT2)
  .timestamp -g 2(12ddd hh2:12nn2.12ss TT2)
  .color background 11
  .color editbox 11
  .color editbox text 1
  .color treebar 11
  .color treebar text 1
  .color listbox 11
  .color listbox text 1
  .color inactive 11 
  .color 2 $rgb(192,19,19)
  .color 3 $rgb(0,147,0)
  .color 10 $rgb(100,100,100)
  .color 11 $rgb(212,212,212)
  .color 12 $rgb(90,90,90)
  .color 14 $rgb(54,64,71)
  .color 15 $rgb(141,155,169)
  .font -z 12 tahoma
  .timerdcre 1 300 .timerdc -io 00:00 1 0 chgday
  .cnick -r *
  .cnick -r * 
  .cnick -r * 
  .cnick -r * 
  .cnick -r *
  .cnick -r *
  .cnick -r *
  .cnick -r *
  .cnick $!me 7 *
  .cnick * 1 ~&@%
  .cnick * 15 +
  .cnick * 2 *
  changeversion
  echo -st 2((
  echo -st     2 $tmb Welcome to Coffey's Atomic Theme.
  echo -st     2 $tmb You are running mIRC $version on $os $+ .
  echo -st     2 $tmb Enjoy!
  qotd
  echo -st 2((
  sportsfeed
  topfeed
  usafeed
}

alias tmb { return —› }

alias form_lag_ {
  set %temp_t $ticks
  .raw ping %temp_t
  titlebar Lag: $+($calc($calc($ticks - %temp_t) / 1000),sec)
}


alias lag_ { 
  set %temp_t $ticks 
  .raw ping %temp_t
}


on ^*:PONG:{
  haltdef 
  var %u $calc($ticks - %temp_t)
  echo -s     2$tmb 12Lag: 2(12 $+ $server $+ 2) (12 $+ $+($calc(%u / 1000),$chr(32),seconds,.) $+ 2)
}

on *:disconnect:{ .timer1_check off | unset %temp_t }

alias amsg {
  var %t = $$1-
  if (!$isid) && ($remove(%t,$chr(32)) != $null) {
    !.amsg 2(12Amsg2) $+ $tmb $+12 $2-
    if ($show) {
      if ($chan(0)) {
        var %c = $v1
        while (%c) {
          tokenize 32 $chan(%c) %t
          echo -tm $1 2(12 $+ $me $+ 2) (12Amsg2) $+ $tmb $+ 12 $2-
          dec %c
        }
      }
    }
  }
}

alias ame {
  var %t = $$1-
  if (!$isid) && ($remove(%t,$chr(32)) != $null) {
    !.ame %t
    if ($show) {
      if ($chan(0)) {
        var %c = $v1
        while (%c) {
          tokenize 32 $chan(%c) %t
          echo -tm $1 2 $+ $tmb $+  $me $2-
          dec %c
        }
      }
    }
  }
}


alias msg {
  if (!$isid) && ($remove($2-,$chr(32)) != $null) {
    !.msg $$1-
    if ($show) {
      if ($1 ischan) || ($query($1)) || (=* iswm $1) {
        if ($1 ischan) {
          $iif($me isop $1, echo -tm $1 02(@1 $+ $me $+ 02)1 $2-)
          $iif($me ishop $1, echo -tm $1 02(%1 $+ $me $+ 02)1 $2-)
          $iif($me isvoice $1, echo -tm $1 02(+1 $+ $me $+ 02)1 $2-)
          $iif($me isreg $1, echo -tm $1 02(1 $+ $me $+ 02)1 $2-)
        }
        else {
          echo -tm $1 02(1 $+ $me $+ 02)1 $2-
        }
      }
      else {
        echo -ta  02 $tmb 12 $+ $1 $+ 12 $+ $tmb $2-
      }
    }
  }
}


alias describe {
  haltdef
  .describe $1 $2-
  echo -tm $1  $+ $tmb $+  $me $2-
}
alias me {
  haltdef
  .me $active $1-
  echo -tm $active  $+ $tmb $+  $me $1-
}
on ^*:text:*:#:{
  if ($nick isop #) { haltdef | echo -tm $chan 02(@01 $+ $nick $+ 02)01 $1- }
  elseif ($nick ishop #) { haltdef | echo -tm $chan 02(%01 $+ $nick $+ 02)01 $1- }
  elseif ($nick isvoice #) { haltdef | echo -tm $chan 02(+01 $+ $nick $+ 02)01 $1- }
  elseif ($nick isreg #) { haltdef | echo -tm $chan 02(01 $+ $nick $+ 02)01 $1- }
}

on *:INPUT:#:{
  if ($left($1,1) != /) {
    haltdef
    var %lines = $1-
    if (%lines == $null) { %lines  }
    if (!$window(@Pastedelay)) { window -lh @Pastedelay }
    if (($target ischan) && (c isincs $gettok($chan($active).mode,1,32))) { 
      %lines = $strip(%lines,c) 
    }
    if ($window(@Pastedelay)) { aline @Pastedelay %lines }
    .timerpastedelay 1 0 start.pastedelay
    halt
    if ($me isop #) { .msg # $1- | echo -tm $chan 02(@01 $+ $me $+ 02)01 $1- | haltdef }
    if ($me ishop #) { .msg # $1- | echo -tm $chan 02(%01 $+ $me $+ 02)01 $1- | haltdef }
    if ($me isvoice #) { .msg # $1- | echo -tm $chan 02(+01 $+ $me $+ 02)01 $1- | haltdef }
    if ($me isreg #) { .msg # $1- | echo -tm $chan 02(01 $+ $me $+ 02)01 $1- | haltdef }
    if ($inpaste) && ($istok(channel query chat,$window($active).type,32)) {
    }
  }
}

alias -l start.pastedelay {
  var %PDWindow = @Pastedelay, %pastedelay
  if (($line(%PDWindow,0) > 3) && (!$$input(Paste $line(%PDWindow,0) lines to $active $+ ? $crlf $pdpreview,iyw,Confirm Paste Delay))) {
    var %play = $$input(Play $line(%PDWindow,0) lines to $active $+ ? $crlf $pdpreview,iyw,Confirm Playback text))
    $iif((%play),!.play -b $active 3000)
    window -c @Pastedelay
    return
  }
  pastedelay $active 1 %pastedelay
}

alias -l pdpreview {
  return $crlf $line(@Pastedelay,1) $crlf $line(@Pastedelay,2) $crlf $line(@Pastedelay,3) $crlf $line(@Pastedelay,4)
}


alias -l pastedelay {
  var %PDWindow = @Pastedelay
  if ($line(%PDWindow,$2) != $null) { msg $1 $ifmatch }
  if ($2 == $line(%PDWindow,0)) { 
    window -c @Pastedelay 
  }
  else { 
    .timerpastedelay2 -m 1 3000 pastedelay $1 $calc($2 + 1) $3
  }
}


on *:INPUT:?:{
  if ($left($1,1) != /) {
  .msg $active | echo -ta $active 02(01 $+ $me $+ 02)01 $1- | haltdef }
}


on ^*:text:*:?:{
  haltdef
  echo -tm $nick 02(01 $+ $nick $+ 02) $1-
}


alias quit { raw quit :: Coffey's . Atomic . Theme :: | .timer1_check off | unset %temp_t } 
alias notice {
  if (!$isid) {
    .!notice $1-
    if (!$show) { return }
    echo -tma      $+ $tmb $+ 12 - $+ $1 $+ 12- $2-
  }
}
alias dns {
  if (!$isid) {
    if ($1) {
      !.dns $1-
      if ($show) {
        var %h = $1,%f
        if ($istok(-h -c,$1,32)) { var %f = $1,%h = $2 }
        if (%f != -h) && (. !isin %h) && ($address(%h,5)) { %h = $gettok($v1,2,64) }
        echo -tma     02 $+ $tmb $+ 12 DNS: resolving $thmbr(%h) $+ ...
      }
    }
  }
}

on ^*:notify:{
  haltdef
  echo -tms     02 $+ $tmb $+ 12 Notify: $thmbr($nick) is now online!
}
on ^*:unotify:{
  haltdef
  echo -tms     02 $+ $tmb $+ 12 Unnotify: $thmbr($nick) is now offline!
}
alias thmhl {
  if ($1- != $null) {
    return 02(12 $+ $1- $+ 02)12
  }
}
alias thmbr {
  if ($1- != $null) {
    return 02(12 $+ $1- $+ 02)12
  }
}
on ^*:join:#:{
  haltdef
  if ($nick == $me) {
    haltdef
    echo -tm $chan 02((
    echo -tm $chan     02 $+ $tmb $+ 12 Now talking in $thmbr($chan)
    echo -tm $chan     02 $+ $tmb $+ 12 Users: $nick($chan,0) users, $nick($chan,0,o) ops, $nick($chan,0,v) voiced, $nick($chan,0,r) regular.
  }
  else {
    haltdef
    var %x = 1 
    while (%x <= $nick($chan,0)) { 
      if ($address($nick($chan,%x),2) == $address($nick,2)) && ($nick($chan,%x) != $me) { 
        var %clones %clones $nick($chan,%x) 
      } 
      inc %x 
    }
    echo -tm $chan     02 $+ $tmb $+ 12 Join: $thmbr($nick) $thmbr($address) $iif(%clones != $null && %clones != $nick, $chr(124) 12Clones Found: $thmbr(%clones))
  }
  if ($query($nick)) {
    echo -tm $nick     02 $+ $tmb $+ 12 Join: $thmbr($+($nick,:,$chan)) $thmbr($address)
  }
}

on ^*:part:#:{
  haltdef
  if ($nick == $me) {
    echo -ts     02 $+ $tmb $+ 12 Part: You have parted $chan $thmbr($1-)
  }
  else {
    echo -tm $chan     02 $+ $tmb $+ 12 Part: $thmbr($nick) $thmbr($address) $thmbr($1-)
  }
  if ($query($nick)) {
    echo -tm $nick     02 $+ $tmb $+ 12 Part: $thmbr($+($nick,:,$chan)) $thmbr($address) $thmbr($1-)
  }
}

on ^*:kick:#:{
  haltdef
  if ($knick == $me) {
    echo -tma $chan     02 $+ $tmb $+ 12 Kick: You were kicked out of $thmbr($chan) by $thmbr($nick) $thmbr($1-)
  }
  else {
    echo -tm $chan     02 $+ $tmb $+ 12 Kick: $thmbr($knick) was kicked by $thmbr($nick) $thmbr($1-)
  }
  if ($query($knick)) {
    echo -tm $knick     02 $+ $tmb $+ 12 Kick: $thmbr($knick) was kicked by $thmbr($+($nick,:,$chan)) $thmbr($1-)
  }
  if ($query($nick)) {
    echo -tm $nick     02 $+ $tmb $+ 12 Kick: $thmbr($knick) was kicked by $thmbr($+($nick,:,$chan)) $thmbr($1-)
  }
}

on ^*:quit:{
  haltdef
  if ($nick == $me) {
    .timer1_check off | unset %temp_t
  }
  else {
    haltdef
    var %i $comchan($nick,0) 
    while (%i) { 
      echo -tm $comchan($nick,%i)     02 $+ $tmb $+ 12 Quit: $thmbr($nick) $thmbr($address) $thmbr($1-)
      dec %i
    }
    if ($query($nick)) {
      echo -tm $nick     02 $+ $tmb $+ 12 Quit: $thmbr($nick) $thmbr($address) $thmbr($1-)
    }
    elseif (*.*.*.* iswm $1) && (*.*.*.* iswm $2) { 
      $iif(!%firstsplit, var %firstsplit true)
      $iif(%firstsplit, window -k0x @Netsplit $+ [ $+ $network] | echo -a 2 $+ $tmb $+  12Netsplit: 2(12 $+ $1 $+ 2) 12and 2(12 $+ $2 $+ 2))
      aline @Netsplit $+ [ $+ $network] 2 $+ $tmb $+ (12 $+ $nick $+ 2) (12 $+ $address $+ 2)
      inc %netsplit
      $iif(%firstsplit, iline 1 @Netsplit $+ [ $+ $network] 2 $+ $tmb $+ 12Netsplit: 2(12 $+ $network $+ 2) (12 $+ %netsplit $+ 2), netsplitdisplay)
      netsplitdisplay
    }
  }
}


alias netsplitdisplay {
  rline 1 @Netsplit $+ [ $+ $network] 2 $+ $tmb $+ 12Netsplit: 2(12 $+ $network $+ 2) (12 $+ %netsplit $+ 2)
}

on ^*:nick:{
  haltdef
  if ($newnick != $me) {
    var %i = 1
    while ($comchan($newnick,%i)) { 
      echo -tm $comchan($newnick,%i)     02 $+ $tmb $+ 12 Nick: $thmbr($nick) is now known as $thmbr($newnick)
      inc %i
    }
    if ($nick == $me) {
      var %d 1
      while (%d <= $chan(0)) {
        echo -tms $chan(%d)     02 $+ $tmb $+ 12 Nick:12 You are now known as $thmbr($newnick)
        inc %d
      }
      if ($query($newnick)) {
        echo -tm $newnick     02 $+ $tmb $+ 12 Nick: $thmbr($nick) is now known as $thmbr($newnick)
      }
    }
  }
}

on ^*:topic:#:{
  haltdef
  var %x = 1 
  while ($ini(topic.ini,$chan,n $+ %x)) { inc %x } 
  writeini -n topic.ini $chan $+(n,%x) $replace($1-,$chr(2),<b>,$chr(3),<c>,$chr(15),<n>,$chr(22),<r>,$chr(31),<u>) 
  echo -tm $chan     02 $+ $tmb $+ 12 Topic: $thmbr($nick) changes topic to 02( $+ $1- $+ 02)
}

ctcp *:*:*:{
  if (!$istok(dcc version,$1,32)) {
    haltdef
    if ($1 == ping) { .ctcpreply $nick PING $ctime }
    if ($chan) {
      echo -tm $chan 02? $+ $nick $+ 02@ $+ $chan $+ 02? $1 $2-
    }
    else {
      echo -tma 02? $+ $nick $+ 02? $1 $2-
    }
  }
}

on ^*:rawmode:#:{
  haltdef
  echo -tm $chan     02 $+ $tmb $+ 12 Mode: $thmbr($nick) sets mode $thmbr($1-)
}
on ^*:invite:#:{
  haltdef
  echo -tmsa     02 $+ $tmb $+ 12 Invite: $thmbr($nick) invites you to join $thmbr($chan)
}
on ^*:usermode:{
  haltdef
  echo -tmsa     02 $+ $tmb $+ 12 Your usermode is now: $thmbr($1-)
}

on ^*:chat:*:{
  haltdef
  echo -tm =$nick 2 $+ $tmb $+ (12 $+ $nick $+ 12)1 $+ $1-
}

on ^*:action:*:#:{
  haltdef
  echo -tm $chan 4 $+ $tmb $+ $nick $1-
}

on ^*:action:*:?:{
  haltdef
  echo -tm $chan 4 $+ $tmb $+  $nick $1-
} 

on ^*:notice:*:?:{
  haltdef
  echo -tmas 12-1 $+ $nick $+ 12-1 $1-
}

on ^*:notice:*:#:{
  haltdef
  echo -tmas 12-1 $+ $nick $+ @ $+ $chan $+ 12-1 $1-
}

on ^*:snotice:*:{
  haltdef
  echo -tmas 1- $+ $nick $+ - $1-
}

on *:ban:#:{
  if ($banmask iswm $address($me,5)) { mode # -bbb $banmask }
  set -u10 %banz true
  var %x = 1
  while ($nick(#,%x)) {
    if ($banmask iswm $address($nick(#,%x),5)) {
      var %y %y $nick(#,%x)
    }
    inc %x
  }
  $iif(%y,echo -t $chan       2 $+ $tmb $+ 12 This 2(12 $+ $banmask $+ 2)12 ban affects: 2(12 $+ %y $+ 2))
}


on *:open:?:{
  inc %myqueries
  if (%qc == on) {
    if (%ehost. [ $+ [ $address($nick,2) ] ] ) || (%enick. [ $+ [ $nick ] ] ) || (%ac == on) {
      echo -t $nick 2((
      echo -t $nick     2 $+ $tmb $+ 12Query with 2(12 $+ $nick $+ 2)12/2(12 $+ $address $+ 2)12 opened on 2(12 $+ $asctime(ddd mmmm d yyyy h:nn:ss) $+ 2)
      echo -t $nick     2 $+ $tmb $+ 12Total queries: 2(12 $+ %myqueries $+ 2)
      echo -tma     2 $+ $tmb $+ (12 $+ $nick $+ 2)12/2(12 $+ $address $+ 2)12 opened a query with you:1 $1-
      var %x 1
      while (%x <= $comchan($nick,0)) {
        var %y %y $comchan($nick,%x)
        inc %x
      }
      $iif(%y != $null, echo -t $nick     2 $+ $tmb $+ 12Common channels:2 (12 $+ %y $+ 12))
      echo -t $nick 2((
    }
    elseif (!%ehost. [ $+ [ $address($nick,2) ] ] ) || (%enick. [ $+ [ $nick ] ] ) || (%ac == off)
    .msg $nick     2 $+ $tmb $+ 12 PM Blocker: Is currently 2(12on2)12 and either 2(12auto-decline2)12 is on or you aren't on my 2(12except list2)12 If it is important please send a 2(12memo2)
    .close -m $nick
    .ignore -pu300 $address($nick,2)
  }
  else { 
    echo -t $nick 2((
    echo -t $nick     2 $+ $tmb $+ 12Query with 2(12 $+ $nick $+ 2)12/2(12 $+ $address $+ 2)12 opened on 2(12 $+ $asctime(ddd mmmm d yyyy h:nn:ss) $+ 2)
    echo -t $nick     2 $+ $tmb $+ 12Total queries: 2(12 $+ %myqueries $+ 2)
    echo -tma     2 $+ $tmb $+ (12 $+ $nick $+ 2)12/2(12 $+ $address $+ 2)12 opened a query with you:1 $1-
    var %x 1
    while (%x <= $comchan($nick,0)) {
      var %y %y $comchan($nick,%x)
      inc %x
    }
    $iif(%y != $null, echo -t $nick     2 $+ $tmb $+ 12Common channels:2 (12 $+ %y $+ 12))
    echo -t $nick 2((
  }
}

menu channel {
  $chan 
  .&Quickinfo	 $chan: echo     2 $+ $tmb $+ 1 $1-
  .-
  .&Modes	 $chan(#).mode: echo     2 $+ $tmb $+ 1 $1-
  .&Users	 $nick(#,0): echo     2 $+ $tmb $+ 1 $1-
  .&Opped	 $nick(#,0,o): echo     2 $+ $tmb $+ 1 $1-
  .&Helpopped	 $nick(#,0,h): echo     2 $+ $tmb $+ 1 $1-
  .&Voiced	 $nick(#,0,v): echo     2 $+ $tmb $+ 1 $1-
  .&Regular	 $nick(#,0,r): echo     2 $+ $tmb $+ 1 $1-
  -
  &Channel Central: dialog -md chanc chanc
  -
  &Scan for clones: clonescan
  -
  &Tools
  .&MP3 Player: /mp3pl -o
  .&Query Control:
  ...$iif(%qc == on, $style(1)) &On: set %qc on | echo -a     2 $+ $tmb $+ 12Query Control: Is now 2(12on2) 
  ...$iif(!%qc, $style(1)) &Off: unset %qc | echo -a     2 $+ $tmb $+ 12Query Control: Is now 2(12off2)
  ..&Options
  ...$iif(%ac == on, $style(1)) &Auto Accept: set %ac on | echo -a     2 $+ $tmb $+ 12Query Control: Auto except is now 2(12on2) 
  ...$iif(%ac == off, $style(1)) &Auto Decline: set %ac off | echo -a     2 $+ $tmb $+ 12Query Control: Auto decline is now 2(12off2)
  ...$iif(!%ac, $style(1)) &Normal: unset %ac | echo -a     2 $+ $tmb $+ 12Query Control: Normal 2(12Pms will now be blocked according to the except list settings2)
  ..&Excepts
  ...&Add Nick: var %x $?="Please enter a nick to add to the except list." | set %enick. [ $+ [ %x ] ] True | echo -a     2 $+ $tmb $+ 12Except List: Added nick 2(12 $+ %x $+ 2)
  ...&Add Host: var %x $?="Please enter a host to add to the except list in the format *!*@*" | set %ehost. [ $+ [ %x ] ] True | echo -a     2 $+ $tmb $+ 12Except List: Added host 2(12 $+ %x $+ 2)
  ...-
  ...&Del Nick: var %x $?="Please enter a nick to delete from the except list." | $iif(%enick. [ $+ [ %x ] ] , unset %enick. [ $+ [ %x ] ] | var %t 1) | $iif(!%t, echo -a     2 $+ $tmb $+  12Except List: 2(12 $+ %x $+ 2)12 not found in the except list., echo -a     2 $+ $tmb $+  12Except List: Deleted nick 2(12 $+ %x $+ 2))
  ...&Clear Nicks:
  ...-
  ...&Del Host: var %x  $?="Please enter a host to add to the except list in the format *!*@*" | $iif(%ehost. [ $+ [ %x ] ], unset %ehost. [ $+ [ %x ] ] | var %d 1) | $iif(!%d, echo -a     2 $+ $tmb $+  12Except List: 2(12 $+ %x $+ 2)12 not found in the except list.,echo -a     2 $+ $tmb $+  12Except List: Deleted host 2(12 $+ %x $+ 2))
  ...&Clear Hosts: $iif($?!="Do you really want to clear all hosts from the except list?" == $true,unset %ehost.* | echo -a echo -a     2 $+ $tmb $+  12Except List: 2(12Cleared all hosts2)
  ...-
  ...&View Except List: qelist
  - 
  &Search...:.com.sendkeys ^F
  -
  &View Log: viewer
  -
}

on *:dns:{
  haltdef
  if ($dns(0)) {
    var %i = 1,%t = $dns(0)
    while (%i <= %t) {
      echo -tmas     02 $+ $tmb $+ º12 DNS: resolved $thmbr($dns(%i)) to $thmbr($remtok($dns(%i).ip $dns(%i).addr,$dns(%i),1,32))
      inc %i
    }
  }
  else {
    echo -tmas     02 $+ $tmb $+ 12 DNS: unable to resolve $thmbr($iif($address,$v1,$nick))
  }
}

on ^*:wallops:*:{
  haltdef
  if (!$window(%w)) {
    window -nk0g1e %w
    thmecho %w Wall message window for $thmhl($1-) opened on $thmhl($asctime(h:nn.ss)) $+ .
    echo %w 
  }
  echo -tm %w 02( $+ $nick $+ 02) %t
}

raw 324:*:{
  haltdef
  echo -t $2     02 $+ $tmb $+ 12 Modes on $2 $+ : 02(12 $+ $3- $+ 02)
}
raw 329:*:{
  haltdef
  echo -t $2     02 $+ $tmb $+ 12 $2 creation time: $thmbr($asctime($3))
  echo -tm $2 02((
}
raw 367:*:{
  if ($dialog(chanc)) {
    haltdef
    did -a chanc 4 $3 $4 $asctime($5,dddd mmmm d h:nn:ss TT) 
    did -z chanc 4 
  }
  elseif (%banz) {
    haltdef
  }
  else {
    haltdef
    echo -t $2     02 $+ $tmb $+ 12 $thmbr($3) set on $thmbr($asctime($5)) by $thmbr($4)
  }
}
raw 368:*:{
  if ($dialog(chanc)) { 
    haltdef
    did -e chanc 5-7
  }
  elseif (%banz) {
    haltdef
  }
  else { 
    haltdef
    echo -t $2     02 $+ $tmb $+ 12 End of $thmbr($2) ban list!
  }
}

raw 347:*:{
  if ($dialog(chanc)) {
    haltdef 
    did -e chanc 5-7
  }
  else {
    haltdef
    echo -t $2     02 $+ $tmb $+ 12 End of $thmbr($2) invite list!
  }
}

raw 349:*:{
  if ($dialog(chanc)) {
    haltdef 
    did -e chanc 5-7
  }
  else {
    haltdef
    echo -t $2     02 $+ $tmb $+ 12 End of $thmbr($2) except list!
  }
}

raw 404:*:{
  haltdef
  echo -t $2     02 $+ $tmb $+ 12 Unable to send message to $thmbr($2) $+ !
}
raw 482:*:{
  haltdef
  echo -t $2     02 $+ $tmb $+ 12 You're not opped on $thmbr($2) $+ !
}
raw 396:*:{
  haltdef
  echo -st     02 $+ $tmb $+ 12 $thmbr($2) is now your hidden host!
}
raw 451:*:{
  haltdef
  echo -st     02 $+ $tmb $+ 12 Register first!
}
raw 311:*:{
  haltdef
  if (%whois. [ $+ [ $cid ] ]) {
    echo -tma 02((12 /whois end 02))
  }
  else {
    set %whois. $+ $cid 1
  }
  echo -tma 02((12 /whois start 02))
  echo -tma 02 $+ $tmb $+ 01 $+ $2 12is "1 $+ $6- $+ 12" $thmbr($+($3,@,$4))
}
raw 319:*:{
  haltdef
  echo -tma 11 $+ $tmb $2 12Is on:1 $3-
}

raw 312:*:{
  haltdef
  echo -tma 11 $+ $tmb $2 12Using1 $3 1 $+ $thmbr($4-)
}
else {
  echo -tma 11 $+ $tmb $2 12Used1 $3 1 $+ $thmbr($4-)
}

raw 313:*:{
  haltdef
  echo -tma 11 $+ $tmb $2 12is1 $5-
}
raw 314:*:{
  haltdef
  set %whowas. $+ $cid 1
  echo -tma 02((12 /whowas start 02))
  echo -tma 02  $+ $tmb $+ 01 $+ $2 12was " $+ $6- $+ 12" $thmbr($+($3,@,$4))
}
raw 301:*:{
  haltdef
  if (%whois. [ $+ [ $cid ] ]) {
    echo -tma 11  $+ $tmb $2 12is away "1 $+ $3- $+ 12"
  }
  elseif (%whowas. [ $+ [ $cid ] ]) {
    echo -tma 11  $+ $tmb $2 12was away "1 $+ $3- $+ 12"
  }
  elseif ($2 != $me) && (!%away.seen. [ $+ [ $2 ] $+ ] . [ $+ [ $cid ] ]) {
    set -u300 %away.seen. [ $+ [ $2 ] $+ ] . [ $+ [ $cid ] ] 1
    echo -tma     02  $+ $tmb $+ 12 Away: $thmbr($2) is marked as being away as $thmbr($3-)
  }
}
raw 369:*:{
  haltdef
  if (%whowas. [ $+ [ $cid ] ]) {
    echo -tma whois 02((12 /whowas end 02))
    unset %whowas. $+ $cid
  }
}
raw 330:*:{
  haltdef
  echo -tma 11 $+ $tmb $2 12Authed as "1 $+ $3 $+ 12"
}
raw 338:*:{
  haltdef
  echo -tma 11 $+ $tmb $2 12Real host $3 $thmbr($4-)
}
raw 317:*:{
  haltdef
  echo -tma 11 $+ $tmb $2 12Has been idle for1 $duration($3)
  echo -tma 11 $+ $tmb $2 12Signed on1 $duration($calc($ctime - $4)) 12ago
}
raw 318:*:{
  haltdef
  if (%whois. [ $+ [ $cid ] ]) {
    echo -tma 02((12 /whois end 02))
    unset %whois. $+ $cid
  }
}
raw 331:*:{
  haltdef
  if ($me ison $2) { 
    echo -tm $2     02 $+ $tmb $+ 12 No topic set: $thmbr($2)
  }
}
raw 332:*:{
  haltdef
  if ($me ison $2) { 
    echo -tm $2     02 $+ $tmb $+ 12 Topic: $thmbr($3-)
  }
}
raw 333:*:{
  haltdef
  if ($me ison $2) { 
    echo -tm $2     02 $+ $tmb $+ 12 Set by: $thmbr($3) on $thmbr($asctime($4))
  }
}
raw 341:*:{
  haltdef
  echo -t $3     02 $+ $tmb $+ 12 Invite: $thmbr($2) has been invited to join $thmbr($3)
}
raw 443:*:{
  haltdef
  echo -ts $3     02 $+ $tmb $+ 12 Invite: $thmbr($2) is already on $thmbr($3)
}
raw 353:*:{
  haltdef
  echo -st     02 $+ $tmb $+ 12 Names: $thmbr($3) $4-
}

raw 355:*:{
  haltdef
  echo -st     02 $+ $tmb $+ 12 Names: $thmbr($3) $4-
}

raw 366:*:{
  haltdef
  echo -st     02 $+ $tmb $+ 12 End of /names list for $thmbr($2)
}

raw 421:*:{
  haltdef
  echo -sta     02 $+ $tmb $+ 12 Error: unknown command $thmbr($2)
}
raw 352:*:{
  haltdef
  echo -ts     02 $+ $tmb $+ 12 Who: 02(12 $+ $6 $+ ! $+ $+($3,@,$4) $+ 02)12 on $thmbr($2) using $thmbr($5) $+ . real name: $thmbr($9-)
}
raw 315:*:{
  haltdef
  echo -ts     02 $+ $tmb $+ 12 End of /who request for $thmbr($2)
}
raw 433:*:{
  haltdef
  echo -ta     02 $+ $tmb $+ 12 Error: nickname $thmbr($2) is already in use! 
}
raw 471:*:{
  haltdef
  echo -ta     02 $+ $tmb $+ 12 Can't join $2 02(12full (+l)02)12! 
}
raw 473:*:{
  haltdef
  echo -ta     02 $+ $tmb $+ 12 Can't join $2 02(12invite only (+i)02)12! 
}
raw 474:*:{
  haltdef
  echo -ta     02 $+ $tmb $+ 12 Can't join $2 02(12you're banned (+b)02)12! 
}
raw 475:*:{
  haltdef
  echo -ta     02 $+ $tmb $+ 12 Can't join $2 02(12requires key (+k)02)12! 
}
raw 477:*:{
  if ($left($2,1) isin $chantypes) {
    haltdef
    echo -ta     02 $+ $tmb $+ 12 Can't join $2 02(12auth'ed only (+r)02)12!
  }
}
raw 401:*:{
  haltdef
  echo -tma     02 $+ $tmb $+ 12 No such nickname: $thmbr($2)
  unset $+(%,whois.,$2,.,$cid)
}
raw 406:*:{
  haltdef
  echo -tma     02 $+ $tmb $+ 12 No such nickname: $thmbr($2)
}
raw 403:*:{
  haltdef
  echo -tma     02 $+ $tmb $+ 12 No such channel: $thmbr($2)
}
raw 251:*:{
  haltdef
  echo -stm     02 $+ $tmb $+ 12 There are $thmbr($4) users and $thmbr($7) invisible on $thmbr($10) servers
}
raw 252:*:{
  haltdef
  echo -stm     02 $+ $tmb $+ 12 There are $thmbr($2) operator(s) online
}
raw 253:*:{
  haltdef
  echo -stm     02 $+ $tmb $+ 12 There are $thmbr($2) unknown connection(s)
}
raw 254:*:{
  haltdef
  echo -stm     02 $+ $tmb $+ 12 There are $thmbr($2) channels formed
}
raw 472:*:{ 
  haltdef
}
raw 255:*:{
  haltdef
  echo -stm     02 $+ $tmb $+ 12 I have $thmbr($4) clients and $thmbr($7) servers
}
raw 001:*:{
  haltdef
  echo -stm     02  $+ $tmb $+ 12 Welcome to the internet relay network, $thmbr($8)
}
raw 002:*:{
  haltdef
  echo -stm     02  $+ $tmb $+ 12 Your host is $thmbr($left($5,-1)) $+ , running version $thmbr($8)
}

raw 003:*:{
  haltdef
  echo -stm     02 $+ $tmb $+ 12 This server was created $thmbr($6-)
}

raw 004:*:{
  haltdef
  echo -stm     02 $+ $tmb $+ 12 Server: $thmbr($2) $+ , version: $thmbr($3) $+ , usermodes: $thmbr($4) $+ , channelmodes: $thmbr($5)
}

raw 005:*:{
  haltdef
  echo -stm     02 $+ $tmb $+ 12 Supported by this server: $thmbr($deltok($2-,-5-,32))
}

raw *:*:{ 
  if ($dialog(chanc)) {  
    if ($numeric == 348) { 
      haltdef 
      did -a chanc 4 $3 $4 $asctime($5,dddd mmmm d h:nn:ss TT) 
      did -z chanc 4 
    } 
    elseif ($numeric == 346) { 
      haltdef
      did -a chanc 4 $3 $4 $asctime($5,dddd mmmm d h:nn:ss TT) 
      did -z chanc 4 
    }
    else {
      echo -t $2     02 $+ $tmb $+ 12 $thmbr($3) set on $thmbr($asctime($5)) by $thmbr($4)
    }
    else {
      echo -t $2     02 $+ $tmb $+ 12 $thmbr($3) set on $thmbr($asctime($5)) by $thmbr($4)
    } 
  }
}


raw *:*:{
  if (!$istok(321 322 323,$numeric,32)) {
    haltdef
    echo -tma     02 $+ $tmb $+ 12 $2-
  }
}

alias qotd sockudp -k q 85.25.143.214 17 ~ 
on *:udpread:q:{ 
  var %s 
  sockread -f %s 
  echo -st     2  $+ $tmb $+ Quote of the day: " $replace($remove(%s,(quotes4all.net),.),~~~," -)
}

chgday {
  join #Coffey522
  echo -a  $+ $tmb $+ Day changed to $thmhl($asctime(dddd $+ $chr(44) mmmm doo yyyy)) $+ . $specialday
  .timerdcre 1 300 .timerdc -io 00:00 1 0 chgday
}
specialday {
  var %d = $asctime(ddmm)
  if (%d == 0101) { return Happy new year! }
  elseif (%d == 1402) { return Will you be my valentine? <3 }
  elseif (%d == 1703) { return It's St. Patrick's day, time to get some booze! }
  elseif (%d == 2205) { return Happy $ord($calc($asctime(yyyy) -1993)) birthday Coffey522! :) }
  elseif (%d == 3110) { return Trick or treat! }
  elseif (%d == 0612) { return Santa Claus is coming to town! }
  elseif (%d == 2412) || (%d == 2512) || (%d == 2612) { return Merry Christmas! }
}

Alias Changeversion { 
  .Ignore -tw * 
  .Debug -i NUL Versionrep 
}
Alias Versionrep { 
  If ($Regex($1,/^<- :(\S+?)!\S+ PRIVMSG \S+ :\001VERSION\001/)) { 
    .Ctcpreply $Regml(1) VERSION :: Atomic . Theme . By . Coffey522 ::
  } 
}

alias myslogan {
  sockopen slogan www.buzzydude.com 80
  set %sloganname $me
}
on *:SOCKOPEN:slogan*:{
  sockwrite -nt $sockname GET /parsers/slogan.php?slogan= $+ %sloganname HTTP/1.0
  sockwrite -nt $sockname Host: www.buzzydude.com
  sockwrite -nt $sockname $crlf 
} 
on *:SOCKREAD:slogan*:{ 
  var %read
  sockread %read
  if (* $+ $me $+ * iswm %read) {
    tokenize 32 %read
    echo -a $1-
  }
}

alias clonescan {
  who $chan
  var %nicks = $nick($chan,0), %x = 0
  while (%x <= %nicks) {
    var %host = $address($nick($chan,%x),2)
    if (%host != $address($me,2)) && (!$read(allowedhost.txt,w,%host)) {
      if ($ialchan(%host,$chan,0) > 1) && (!$istok(%clone.hosts,%host,44)) {
        var %y = 1, %clones = $ialchan(%host,$chan,0), %clones.found = yes
        while (%y <= %clones) {
          var %nick = $gettok($ialchan(%host,$chan,%y),1,33)
          var %clone.nicks = $iif(%clone.nicks,%clone.nicks &) %nick
          inc %y
        }
        echo -tm $chan     2 $+ $tmb $+ Clones: $thmbr(%clone.nicks @ $gettok(%host,2,64))
        var %clone.hosts = $addtok(%clone.hosts,%host,44)
        unset %clone.nicks
      }
    }
    inc %x
  }  
  if (!%clones.found) echo -tm $chan     2 $+ $tmb $+ Clones: $thmbr(None found)
}

alias loader { return $findfile($logdir,*.log,0,1,aline -l @Log $nopath($1-)) }

alias viewer {
  window -Skal15 @Log 300 150 500 300 @Log Tahoma 12 | titlebar @Log Viewer
  aline 1 @Log 0,10 Logs !  $loader Log(s) Were Found
  aline 1 @Log -
  if ($1 != $null) { seefile 0 $1- }
}

alias seefile {
  if ( $isfile($2-) ) {
    loadbuf -rp @Log $+(",$2-,")
    if ( $1 == 0 ) { sline @Logs 10 | sline @Log 10 }
    else {
      sline @Log $calc($1 + 2) | sline @Log $calc($1 + 2)
      rline @Log $1 $line(@Log,$1)
    }
    if ( $fline(@Log,$nopath($2-),1,1)  ) { sline -l @Log $ifmatch }
  }
}

alias erase { var %lvar = $sline(@Log,0)
  while ( %lvar ) { .signal removefile @Log $sline(@Logs,%lvar).ln $+($logdir,$sline(@Log,%lvar)) | dec %lvar }
}

alias eraseall {
  var %lvar = $line(@Log,0,1)
  while ( %lvar ) { .signal removefile @Log %lvar $+($logdir,$line(@Log,%lvar,1)) | dec %lvar }
}

on *:signal:removefile: { .remove $+(",$3-,") | dline -l $1 $2 }

menu @Log {
  dclick: { if ( $1 ) { seefile 0 $+($logdir,$line(@Log,$1,1)) } }
  .$iif(!$sline(@Log,0),$style(2)) Erase: { erase }
  .-
  .Erase all: { eraseall }
  -
  Update: { window -c @Log | viewer }
  -
  Close: { window -c @Log }
  -
}

alias sportsfeed {
  rss -f http://rss.cnn.com/rss/si_topstories.rss sports.txt
  window -k0xb @Sports
  loadbuf 10 -r @Sports sports.txt
  .timer 1 1800 sportsfeed

}
alias topfeed {
  rss -f http://rss.cnn.com/rss/cnn_topstories.rss top.txt
  window -k0xb @TopStories
  loadbuf 10 -r @TopStories top.txt
  .timer 1 1800 topfeed
}
alias usafeed {
  rss -f http://rss.cnn.com/rss/cnn_us.rss usa.txt
  window -k0xb @UsNews 
  loadbuf 10 -r @UsNews usa.txt
  .timer 1 1800 usafeed
}
alias rss {
  var %e = !echo $color(info) -a * Rss:, %r = return $false
  if ($os isin 9598) { halt }
  if ($version < 5.91) { halt }
  if (!$regex(%e,$1-,/^-[fhi] \S+ \S+$/i)) { halt }
  var %flag = $mid($1,2), %filepath
  if (%flag == h) %filepath = " $+ $mircdirtmprss"
  else {
    var %dir = $nofile($3-), %file = $nopath($3-)
    if (%file != $mkfn(%file)) { halt }
    if (* !iswm %dir) %dir = $mircdir
    elseif (!$isdir(%dir)) { halt }
    %filepath = $+(",%dir,%file,")
  }
  var %w = $+(@rss,$ticks,$r(1111,9999),.vbs), %a = aline %w, %size, %n = $lf
  write -c %filepath
  window -h %w
  %a Function nohtml(byref string)
  %a set regex = new regexp
  %a regex.global = true : regex.pattern = "<[^>]*>|[\r\n\177]+" : nohtml = regex.replace(string,"")
  %a set regex = nothing
  %a End Function
  %a set xml = createobject("msxml.domdocument") : set ado = createobject("adodb.stream") 
  %a ado.open : ado.type = 2 : ado.charset = "ascii" 
  %a xml.validateonparse = false : xml.async = false : xml.load " $+ $2" 
  %a for each item in xml.getelementsbytagname("item")
  if (%flag == i) {
    %a i = i + 1
    %a ado.writetext "[#" & i & "]",1
    %a for each node in item.childnodes
    %a if node.text <> "" then ado.writetext node.nodename & "=" & nohtml(node.text),1
    %a next %n ado.writetext vbcrlf
  }
  else {
    %a for each node in item.childnodes
    %a name = node.nodename
    %a if name = "description" then %n desc = name & ": " & nohtml(node.text)
    %a elseif name = "link" or name = "title" then %n tmp = tmp & name & ": " & nohtml(node.text) & chr(127)
    %a end if %n next 
    if (%flag == h) %a i = i + 1 %n ado.writetext i & chr(10) & left(tmp & desc,920) & chr(10)
    else %a ado.writetext left(tmp & desc,920) & vbcrlf
    %a tmp = null 
  }
  %a next %n ado.savetofile %filepath ,2 : ado.close %n set ado = nothing : set xml = nothing 
  savebuf %w %w | close -@ %w
  .comopen %w wscript.shell
  if (!$comerr) .comclose %w $com(%w,run,1,bstr*,%w,uint,0,bool,true)
  .remove %w  
  if (%flag == h) {
    if ($hget($3)) hfree $3
    hmake $3 
    hload $3 %filepath
    .remove %filepath
    %size = $hget($3,0).item  
  }
  else %size = $file(%filepath)
  return
  :error
  if ($com(%w)) .comclose %w
  if ($isfile(%w)) .remove %w
  if ($window(%w)) close -@ %w
}

on *:start: { 
  hmake Addtrack 100 
  if ($isfile(Addtrack.hsh)) hload Addtrack Addtrack.hsh 
} 
on *:exit: if ($hget(Addtrack)) hsave -o Addtrack Addtrack.hsh 

#Addtrack on
on *:join:#: { 
  if ($wildsite iswm $address($me,5)) return 
  var %mask = $mask($fulladdress,3) 
  if ($hget(Addtrack,%mask)) { 
    var %usednicks = $ifmatch 
    if (%usednicks != $nick) && ($group(#Addtrack) == on) echo -t $chan     2 $+ $tmb $+ 12Nick Tracker: 2(12 $+ $nick $+ 2)12 has also used the nicks 2(12 $+ $remtok(%usednicks,$nick,1,44) $+ 2)
    if (!$istok(%usednicks,$nick,44)) hadd -m Addtrack %mask $addtok(%usednicks,$nick,44) 
    if ($numtok(%usednicks,44) > 10) hadd -m Addtrack %mask $deltok(%usednicks,1,44) 
  } 
  else { 
    hadd -m Addtrack %mask $nick 
  } 
} 
on *:START:{ $iif($status == connected,join #Coffey522) | themestart | .timerdc -io 0:00 1 0 chgday }
on *:LOAD:{ $iif($status == connected,join #Coffey522) | themestart }
on *:CONNECT:{ join #Coffey522 | .timerl_check 0 60 /form_lag_ }
on *:nick: { 
  if ($wildsite iswm $address($me,5)) return 
  var %mask = $mask($fulladdress,3) 
  if ($hget(Addtrack,%mask)) { 
    var %usednicks = $ifmatch 
    if (!$istok(%usednicks,$newnick,44)) hadd -m Addtrack %mask $addtok(%usednicks,$newnick,44) 
    if ($numtok(%usednicks,44) > 10) hadd -m Addtrack %mask $deltok(%usednicks,1,44) 
  } 
  else { 
    hadd -m Addtrack %mask $newnick 
  } 
} 
#addtrack end 

alias CheckNicks { 
  if (*!*@* iswm $1) { 
    var %mask = $mask($1,3) 
    if (!$hget(Addtrack,%mask)) echo -ta     2 $+ $tmb $+ 12Nick Tracker: No entry found for 2(12 $+ $1 $+ 2)
    else echo -ta     2 $+ $tmb $+ 12Nick Tracker: 2(12 $+ $1 $+ 2) 12has used the nicks 2(12 $+ $hget(Addtrack,$1) $+ 2)
  } 
  elseif (!$hget(Addtrack,$address($1,3))) echo -ta     2 $+ $tmb $+ 12Nick Tracker: No entry found for 2(12 $+ $1 $+ 2) 
  elseif ($hget(Addtrack,$address($1,3)) != $1) { 
    var %usednicks = $ifmatch 
    echo -ta     2 $+ $tmb $+ 12Nick Tracker: 2(12 $+ $1 $+ 2) 12has also used the nicks ( $+ $remtok(%usednicks,$1,1,43) $+ )
  } 
  else echo -ta     2 $+ $tmb $+ 12Nick Tracker: 2(12 $+ $1 $+ 2)12 has not been seen on any other nicks.
}

alias com.sendkeys {
  var %o = sendkeys 
  .comopen %o WScript.Shell
  if ($com(%o)) { .comclose %o $com(%o,SendKeys,3,bstr,$1-) }
}
 
menu status {
  $iif($status != connected,$style(2)) & $network 
  .&Quickinfo	 $network:pcb Quickinfo $cr $curconserv
  .-
  .&Server	 $server: echo -a Server $cr $server
  .&IP/port	 $+($serverip,$chr(58),$port): echo -a Server IP/port $cr $+($serverip,$chr(58),$port)
  .&Connected	 $duration($uptime(server,3)).nosec:echo -a Connected to server for $cr $duration($uptime(server,3))
  .I&dle	 $duration($idle):echo -a Idle time on server $server $duration($idle)
  .-
  -
  &Search...:.com.sendkeys ^F
  -
  $iif($status != connected,$style(2)) &Information
  .&List channels
  ..&All:list
  ..&Wildcard search...:list $?="Please enter a word you want to search for. Wildcards are allowed."
  ..-
  ..&More than 200 users...:list -min 200
  ..M&ore than 100 users...:list -min 100
  ..Mo&re than 50 users...:list -min 50
  ..Mor&e than 10 users...:list -min 10
  .&Show MOTD:motd
  .S&how info:info
  .Sh&ow links:links
  &Setup:dialog -m setup setup
  .-
  .&New server...:server -m $?="Enter the server"
  .$iif($status != connected,$style(2)) &Change server...: server $?="Enter the server"
  .$iif($status != connected,$style(2)) R&econnect:reconnect
  .-
  .$iif($status != connected,$style(2)) &Disconnect:disconnect
  -
  &Clear
  .&Active window:clear 
  .A&ll windows:clearall -snqm
  .All &windows on all servers:clearall -a
  -
  $iif($status == connected, &Quit connection):quit
}

menu nicklist {
  $1 
  . &Quickinfo 	 $1: echo     2 $+ $tmb $+ 1 $1-
  .-
  . &Channel 	 $chan: echo     2 $+ $tmb $+ 1 $1-
  . &User Mode 	 ( $left($nick(#,$1).pnick,1) ): echo     2 $+ $tmb $+ 1 $1-
  . &Idle Time 	 $duration($nick(#,$1).idle): echo     2 $+ $tmb $+ 1 $1-
  . &Com Chan 	 $comchan($1,1) $comchan($1,2) $comchan($1,3): echo     2 $+ $tmb $+ 1 $1-
  . &Address 	 $address($1,0): echo     2 $+ $tmb $+ 1 $1-
  -
  &Information
  .&Whois: whois $1
  .&DNS: dns $1
  .&Ping: ctcp $1 PING
  -
  &Nick Tracker
  .$iif($group(#Addtrack) == on,$style(1)) Show used nicks on join: var %status = $iif($group(#Addtrack) == on,Disable,Enable) | $+(.,%status) #Addtrack | echo -at     02 $+ $tmb $+ 12Nick Tracker: 2(12users previous nicks will $iif(%status == Disable,no longer,now) be shown on join2)
  .&Check nicks for $1: CheckNicks $1 
  .&Check nicks for an address: CheckNicks $+(*!,$$?="Enter the hostmask you want to check in the format NICK!IDENT@HOST*") 
  -
  &Usermodes:
  .&Give owner: mode # +q $1
  .&Give protect: mode # +a $1
  .&Give op: mode # +o $1
  .&Give halfop: mode # +h $1
  .&Give voice: mode # +v $1
  .-
  .&Take owner: mode # -q $1
  .&Take protect: mode # -a $1
  .&Take op: mode # -o $1
  .&Take halfop: mode # -h $1
  .&Take voice: mode # -v $1
  .-
  .&Take all modes: mode # -qaohv $1 $1 $1 $1 $1
  -
  &Kick/Ban
  .&Kick: mode # -Q | kick # $1
  .&Kick (Reason): mode # -Q | kick # $1 $?="Enter a kick reason".
  .-
  .&Ban: mode # +b $address($1,2)
  .&Unban: mode # -b $address($1,2)
  .-
  .&Kickban: mode # -Q+b $address($1,2) | kick # $1
  .&Kickban (Reason): mode # -Q+b $address($1,2) | kick # $1 $?="Enter a kickban reason."
  .-
  .&Timeban: mode # -Q | ban -ku $+ $calc($?="Enter the length of the ban in minutes" * 60) # $1 Timeban
}

alias qelist {
  var %x = 1 
  while ($var(%enick.*,%x)) {
    var %y %y $v1 
    inc %x
  }
  $iif(%y,echo -a     2 $+ $tmb $+ 12Except List: Nicks 2(12 $remove(%y,no,enick.,%) 2),echo -a     2 $+ $tmb $+ 12Except List: No nicks found.)
  qelist2
}

alias qelist2 {
  var %a = 1
  while ($var(%ehost.*,%a)) {
    var %b %b $v1
    inc %a
  } 
  $iif(%b,echo -a     2 $+ $tmb $+ 12Except List: Hosts 2(12 $remove(%b,no,ehost.,%) 2), echo -a     2 $+ $tmb $+ 12Except List: No hosts found.)
}



dialog chanc { 
  title "Channel Central" 
  size -1 -1 305 160
  option dbu 
  tab "Channel", 40, -1 -1 290 150
  tab "User Modes", 50
  text "Topic History:", 1, 3 39 40 8, tab 40
  combo 2, 3 50 281 10, tab 40 drop edit limit 300 hsbar 
  edit "Ban List", 3, 3 33 36 10, tab 50 read
  list 4, 1 47 281 79, tab 50, size multsel vsbar hsbar 
  button "List Bans", 5, 135 20 37 12, tab 50 
  button "List Excepts", 6, 180 20 37 12, tab 50
  button "List Invites", 7, 225 20 37 12, tab 50
  button "Remove", 8, 80 135 37 12, tab 50
  button "Edit", 9, 120 135 37 12, tab 50
  check "Only ops set Topic", 10, 3 70 54 10, tab 40
  check "No external messages", 11, 3 80 63 10, tab 40
  check "Invite only", 12, 3 90 35 10, tab 40
  check "Moderated", 13, 3 100 35 10, tab 40
  check "Key:", 14, 72 70 21 10, tab 40
  edit "", 15, 94 70 23 8, autohs, tab 40
  check "Limit to:", 16, 72 80 28 10, tab 40
  edit "", 17, 100 80 23 8, autohs, tab 40
  text "users", 18, 126 82 13 8, tab 40
  check "Private", 19, 72 90 27 10, tab 40
  check "Secret", 20, 72 100 26 10, tab 40
  button "Set", 21, 85 120 37 12, tab 40
  button "Exit", 22, 125 120 37 12, tab 40, cancel 
  button "Help", 23, 165 120 37 12, tab 40
  combo 25, 3 20 93 50, drop
  check "Block color", 27, 147 70 35 10, tab 40
  check "Secure connections only", 28, 147 80 68 10, tab 40
  check "No CTCP's", 29, 147 90 34 10, tab 40
  check "Filter", 30, 147 100 22 10, tab 40
  check "No nickname changes", 31, 221 70 63 10, tab 40
  check "No kicks", 32, 221 80 29 10, tab 40
  check "Registered only", 33, 221 90 47 10, tab 40
  check "Strip color", 34, 221 100 34 10, tab 40
} 

on *:DIALOG:chanc:init:*:{ 
  var %x = 1 
  while (%x <= $chan(0)) { 
    did -a chanc 25 $chan(%x) 
    inc %x 
  } 
  did -a chanc 25 None
  if (#* iswm $active) { 
    var %x = 1 
    while ($chan(%x) != $active) { inc %x } 
    did -c chanc 25 %x 
  } 
  else { did -c chanc 25 1 } 
  if ($did(25) == None) { halt } 
  did -a chanc 2 $chan($did(25)).topic 
  did -z chanc 2 
  var %x = 1 
  while ($readini(topic.ini,-n,$did(25),n $+ %x)) { 
    did -a chanc 2 $replace($ifmatch,<b>,$chr(2),<c>,$chr(3),<n>,$chr(15),<r>,$chr(22),<u>,$chr(31)) 
    inc %x 
  } 
  did -c chanc 2 1 
  var %m = $gettok($chan($did(25)).mode,1,32) 
  if (*t* iswmcs %m) { did -c chanc 10 } 
  if (*n* iswmcs %m) { did -c chanc 11 } 
  if (*i* iswmcs %m) { did -c chanc 12 } 
  if (*m* iswmcs %m) { did -c chanc 13 } 
  if (*k* iswmcs %m) { 
    did -c chanc 14 
    did -ra chanc 15 $chan($did(25)).key 
  } 
  if (*l* iswmcs %m) { 
    did -c chanc 16 
    did -ra chanc 17 $chan($did(25)).limit 
  } 
  if (*p* iswmcs %m) { did -c chanc 19 } 
  if (*s* iswmcs %m) { did -c chanc 20 } 
  if (*c* iswmcs %m) { did -c chanc 27 } 
  if (*z* iswmcs %m) { did -c chanc 28 } 
  if (*C* iswmcs %m) { did -c chanc 29 } 
  if (*G* iswmcs %m) { did -c chanc 30 } 
  if (*N* iswmcs %m) { did -c chanc 31 } 
  if (*Q* iswmcs %m) { did -c chanc 32 } 
  if (*R* iswmcs %m) { did -c chanc 33 } 
  if (*S* iswmcs %m) { did -c chanc 34 } 
  did -r chanc 4 
  did -ra chanc 3 Ban List
  did -b chanc 5-7 
  mode $did(25) +b 
  if ($me !isop $did(25)) { did -m chanc 2 } 
  else { did -n chanc 2 } 
  if ($me !isop $did(25) && $me !ishop $did(25)) { did -b chanc 15,17,10-14,16,19,20,27-34 } 
  else { did -e chanc 15,17,10-14,16,19,20,27-34 } 
  did -b chanc 8,9 
} 
on *:DIALOG:chanc:sclick:25:{ 
  did -r chanc 2,4,15,17 
  did -u chanc 10-14,16,19,20,27-34 
  if ($did(25) == None || !$did(25)) { 
    did -r chanc 35,36 
    halt 
  } 
  did -r chanc 2 
  did -a chanc 2 $chan($did(25)).topic 
  var %x = 1 
  while ($readini(topic.ini,-n,$did(25),n $+ %x)) { 
    did -a chanc 2 $replace($ifmatch,<b>,$chr(2),<c>,$chr(3),<n>,$chr(15),<r>,$chr(22),<u>,$chr(31)) 
    inc %x 
  } 
  did -c chanc 2 1 
  did -z chanc 2 
  var %m = $gettok($chan($did(25)).mode,1,32) 
  if (*t* iswmcs %m) { did -c chanc 10 } 
  if (*n* iswmcs %m) { did -c chanc 11 } 
  if (*i* iswmcs %m) { did -c chanc 12 } 
  if (*m* iswmcs %m) { did -c chanc 13 } 
  if (*k* iswmcs %m) { 
    did -c chanc 14 
    did -ra chanc 15 $chan($did(25)).key 
  } 
  if (*l* iswmcs %m) { 
    did -c chanc 16 
    did -ra chanc 17 $chan($did(25)).limit 
  } 
  if (*p* iswmcs %m) { did -c chanc 19 } 
  if (*s* iswmcs %m) { did -c chanc 20 } 
  if (*c* iswmcs %m) { did -c chanc 27 } 
  if (*z* iswmcs %m) { did -c chanc 28 } 
  if (*C* iswmcs %m) { did -c chanc 29 } 
  if (*G* iswmcs %m) { did -c chanc 30 } 
  if (*N* iswmcs %m) { did -c chanc 31 } 
  if (*Q* iswmcs %m) { did -c chanc 32 } 
  if (*R* iswmcs %m) { did -c chanc 33 } 
  if (*S* iswmcs %m) { did -c chanc 34 } 
  did -r chanc 4 
  did -ra chanc 3 Ban List
  did -b chanc 5-7 
  mode $did(25) +b 
  if ($me !isop $did(25)) { did -m chanc 2 } 
  else { did -n chanc 2 } 
  if ($me !isop $did(25) && $me !ishop $did(25)) { did -b chanc 15,17,10-14,16,19,20,27-34 } 
  else { did -e chanc 15,17,10-14,16,19,20,27-34 } 
  did -b chanc 8,9 
} 
on *:DIALOG:chanc:sclick:4:{ 
  if ($did(4).seltext) && ($me isop $did(25) || $me ishop $did(25)) { did -e chanc 8,9 } 
  else { did -b chanc 8,9 } 
} 

on *:DIALOG:chanc:sclick:5:{ 
  did -r chanc 4 
  did -ra chanc 3 Ban List
  did -b chanc 5-7,8,9 
  mode $did(25) +b 
} 
on *:DIALOG:chanc:sclick:6:{ 
  did -r chanc 4 
  did -ra chanc 3 Except List
  did -b chanc 5-7,8,9 
  mode $did(25) +e 
} 
on *:DIALOG:chanc:sclick:7:{ 
  did -r chanc 4 
  did -ra chanc 3 Invite List
  did -b chanc 5-7,8,9 
  mode $did(25) +I 
} 
on *:DIALOG:chanc:sclick:8:{ 
  var %x = 1, %m = 1, %r = 1, %t = 1, %y = 1 
  while ($did(4,%x).sel) { 
    set $+(%,modes.,%m) $($+(%,modes.,%m),2) $gettok($did(4,$did(4,%x).sel),1,32) 
    if (%t == $modespl) { 
      inc %m 
      var %t = 1 
    } 
    else { inc %t } 
    inc %x 
  } 
  while ($($+(%,modes.,%y),2)) { 
    mode $did(25) $+(-,$iif($left($did(3),1) == i,$str($upper($ifmatch),$modespl),$str($lower($ifmatch),$modespl))) $($+(%,modes.,%y),2) 
    inc %y 
  } 
  while ($did(4).sel) { did -d chanc 4 $ifmatch } 
  unset %modes.* 
} 
on *:DIALOG:chanc:sclick:9:{ 
  if ($did(4).seltext) { 
    set %address $gettok($ifmatch,1,32) 
    set %type $iif($left($did(3),1) == i,$upper($ifmatch),$lower($ifmatch)) 
    set %line $did(4).sel 
    dialog -ma chance chance 
    if (%type != b) { did -h chance 3-5 } 
    else { did -b chance 4,5 } 
    did -a chance 2 %address 
  } 
} 
on *:DIALOG:chanc:sclick:21:{ 
  if ($me isop $did(25)) { 
    if ($chan($did(25)).topic != $did(2)) { topic $did(25) $did(2) } 
    mode $did(25) $+($iif($did(10).state,+,-),t,$iif($did(11).state,+,-),n,$iif($did(12).state,+,-),i,$iif($did(13).state,+,-),m,$iif($did(19).state,+,-),p,$iif($did(20).state,+,-),s,$iif($did(27).state,+,-),c,$iif($did(28).state,+,-),z,$iif($did(29).state,+,-),C,$iif($did(30).state,+,-),G,$iif($did(31).state,+,-),N,$iif($did(32).state,+,-),Q) 
    mode $did(25) $+($iif($did(33).state,+,-),R,$iif($did(34).state,+,-),S) 
    mode $did(25) $iif($did(16).state,+,-) $+ l $did(17) 
    mode $did(25) $iif($did(14).state,+,-) $+ k $iif($did(14).state,$did(15),$chan($did(25)).key) 
  } 
} 
on *:DIALOG:chanc:sclick:23:{ help channel central } 

dialog chance { 
  title "Channel Central" 
  size -1 -1 109 68 
  option dbu 
  text "Edit address:", 1, 3 3 32 8 
  edit "", 2, 2 12 104 10, autohs 
  check "Remove ban in:", 3, 27 25 47 10 
  combo 4, 30 37 27 50, drop 
  text "mins", 5, 59 39 11 8 
  button "Ok", 6, 5 54 27 12 
  button "Cancel", 7, 36 54 26 12 
} 
on *:DIALOG:chance:init:*:{ 
  var %x = 1 
  while (%x < 61) { 
    did -a chance 4 %x 
    inc %x $iif(%x isnum 1-9,1,5) 
  } 
} 
on *:DIALOG:chance:sclick:3:{ 
  if (!$did(3).state) { did -b chance 4,5 } 
  else { did -e chance 4,5 } 
} 
on *:DIALOG:chance:sclick:6:{ 
  if ($did(2)) { 
    mode $did(chanc,25) $+(-,%type,+,%type) %address $did(2) 
    if ($did(3).state && $did(4)) { .timer 1 $calc( $did(4) * 60 ) /mode $did(chanc,25) -b $did(2) } 
    did -d chanc 4 %line 
    did -a chanc 4 $did(2) $me $time($ctime,dddd mmmm) $ord($time($ctime,d)) $time($ctime,h:nn TT) 
    did -b chanc 8,9 
  } 
  unset %address %type %line 
  dialog -x chance 
} 
on *:DIALOG:chance:sclick:7:{ 
  unset %address %type %line 
  dialog -x chance 
} 
on *:DIALOG:chance:close:*:{ unset %address %type %line } 

alias mp3play { 
  var %a, %b $qt(mp3play.txt), %c !did -ra mp3pl 
  if ($1) {  
    if ($1 = -n) && ($2) %a = $2    
    if ($read(%b,w,$+(*,$1-,*))) %a = $readn 
    !splay -p $read(%b,%a) 
    %c 19 
    %c 10 $nopath($read(%b,%a)) 
    !did -c mp3pl 1 %a 
    .timermp3 -m 27 $ceil($calc($mp3($read(%b,%a)).length / 27)) /did -a mp3pl 19 * 
    !set %songtime 0 
    !set %songlength $asctime($calc($mp3($read(%b,$did(mp3pl,1).sel)).length / 1000),nn:ss) 
    .timermp4 0 1 st
    if ($did(40)) { 
      var %out 02 $+ $tmb $+ 12 mp3: Now listening to 2(12 $+ $iif($sound($insong.fname).title,$v1) $+ 2) 12by 2(12 $+ $iif($sound($insong.fname).artist,$v1) $+ 2)12 length 2(12 $+ %songlength $+ 2)
      var %x 1
      while ($chan(%x)) {
        describe $v1 %out
        inc %x
      }
    }
  }
}

alias -l st { 
  !did -ra mp3pl 27 $asctime(%songtime,nn:ss) - %songlength 
  !inc %songtime 
} 

alias mp3pause { 
  var %a !splay -p 
  if ($inmp3) { 
    if (%paused = 5) && ($insong.pause) { 
      %a resume 
      !unset %paused 
      .timermp3 -r 
      .timermp4 -r 
    }  
    else { 
      %a pause 
      !set %paused 5 
      .timermp3 -p 
      .timermp4 -p 
    } 
  } 
} 

alias mp3stop { 
  if ($inmp3) { 
    !splay stop 
    .timermp* off 
    !did -r mp3pl 19 
  } 
} 
alias mp3pl { 
  !var %b $qt(mp3play.txt), %c $readini(mp3play.ini, n, settings, display) 
  if ($1 = -o) { 
    if ($dialog(mp3pl)) dialog -v mp3pl mp3pl 
    else { 
      !dialog -md mp3pl mp3pl 
      if ($isfile(%b)) { 
        if (%c = filename) || (%c = $null) { 
          !var %x 1 
          while ($read(%b,%x)) { 
            !did -za mp3pl 1 $nopath($v1) 
            !inc %x 
          } 
        } 
        elseif (song isin %c) && (artist isin %c) { 
          !var %x 1 
          while ($read(%b,%x)) { 
            !did -za mp3pl 1 $replace(%c,song,$iif($sound($read(%b,%x)).title,$v1,$iif($sound($read(%b,%x),TIT2).tag,$v1,N/A)),artist,$iif($sound($read(%b,%x)).artist,$v1,$iif($sound($read(%b,%x),TPE1).tag,$v1,N/A))) 
            !inc %x 
          } 
        } 
      } 
    } 
  } 
  elseif ($1 = -c) && if ($isfile(%b)) { 
    .remove %b 
    if ($dialog(mp3pl)) !did -r mp3pl 1  
  } 
} 
alias mp3pla {  
  var %a 1, %b $qt(mp3play.txt), %c !write %b, %d $qt($iif($1 = -d,$sdir(C:\),$sfile($mircdir))), %e !did -az mp3pl 1 
  if ($1 = -d) { 
    while ($findfile(%d,*.mp3,%a)) { 
      !var %f $v1 
      if (!$read(%b,w,$+(*,%f,*))) { 
        %c %f 
        if ($dialog(mp3pl)) %e $nopath(%f) 
      } 
      !inc %a 
    } 
    !echo -ac info You have added %a files to the playlist. 
  } 
  elseif (!$read(%b,w,$+(*,$remove(%d,"),*))) { 
    %c %d 
    if ($dialog(mp3pl)) %e $remove($nopath(%d),") 
    !echo -ac info File $qt($nopath(%d)) was added to the playlist. 
  } 
} 
alias mp3plr { 
  !var %a $qt(mp3play.txt) 
  if ($1) && ($read(%a,w,$+(*,$1-,*))) { 
    !var %c $input(Would you like to continue with the removal of $qt($v1) ?,ynv,Remove?) 
    if (%c == $yes) { 
      !write -dl $+ $readn %a 
      if ($dialog(mp3pl)) !did -d mp3pl 1 $readn 
    } 
  } 
} 
alias mp3info { 
  if (!$dialog(mp3f)) dialog -mv mp3f mp3f 
  var %a !did -ra mp3f, %b $iif($isfile($qt($1-)),$1-,$iif($inmp3,$insong.fname,$null)) 
  %a 1 $nopath(%b) 
  %a 3 Title: $iif($sound(%b).title,$v1,$iif($sound(%b,TIT2).tag,$v1,N/A)) 
  %a 4 Track length: $asctime($calc($mp3(%b).length / 1000),nn:ss) 
  %a 2 Artist: $iif($sound(%b).artist,$v1,$iif($sound(%b,TPE1).tag,$v1,N/A)) 
  %a 5 Bitrate: $+($sound(%b).bitrate,kbps) / Mode: $sound(%b).mode / Size: $bytes($file(%b)).suf 
  %a 6 $str(-,25) 
  %a 7 Year: $iif($sound(%b).year,$v1,$iif($sound(%b,TYER).tag,$v1,N/A)) 
  %a 8 Genre: $iif($sound(%b).genre,$v1,N/A) 
  %a 10 $iif($sound(%b).comment,$v1,$iif($sound(%b,COMM).tag,$v1,N/A)) 
  %a 11 Copyright: $iif($sound(%b).copyright,$iif($v1 = $false,No,Yes),N/A) 
  %a 12 Album: $iif($sound(%b).album,$v1,$iif($sound(%b,TALB).tag,$v1,N/A)) 
} 
dialog -l mp3f { 
  title "File info" 
  size -1 -1 127 132 
  option dbu 
  edit "", 1, 1 1 126 10, read autohs 
  text "Title: N/A", 3, 1 11 125 9 
  text "Artist: N/A", 2, 1 20 125 9 
  text "Track length: 00:00", 4, 1 29 125 9 
  text "Bitrate: 0kbps / Mode: N/A / Freq: 0 Hz", 5, 1 38 125 9 
  text "", 6, 1 47 125 9 
  text "Year: N/A", 7, 1 56 125 9 
  text "Genre: N/A", 8, 1 65 125 9 
  text "Comment:", 9, 1 92 125 9 
  edit "", 10, 1 101 125 21, read autovs multi 
  text "Copyright: N/A", 11, 1 74 125 9 
  text "Album: N/A", 12, 1 83 125 9 
  button "Done", 13, 48 122 30 10, cancel 
} 
dialog mp3pl { 
  title "MP3 Player" 
  size -1 -1 133 186 
  option dbu 
  list 1, 1 49 131 124, hsbar vsbar size 
  menu "&File", 2 
  menu "Add/Delete", 3, 2 
  item "Directory", 4, 3 
  item "File", 5, 3 
  item "break", 6, 2 
  item "Delete Selected", 7, 2 
  item "break", 8, 2 
  item "Clear", 9, 2 
  edit "", 10, 1 11 128 10, center read
  text "Now Playing:", 11, 3 4 40 7 
  button "-", 12, 1 23 10 10 
  button "+", 13, 27 23 10 10 
  check "Amsg?", 40, 6 36 24 10
  button "<<", 14, 39 23 15 10 
  button "Stop", 15, 55 23 16 10 
  button "Pause", 16, 72 23 19 10 
  button "Play", 17, 92 23 16 10 
  button ">>", 18, 109 23 15 10 
  edit "", 19, 39 34 85 6 
  menu "Tools/Options", 21, 2 
  item "Continuous", 22, 21 
  item "Repeat", 23, 21 
  item "Shuffle", 24, 21 
  edit "", 25, 26 175 94 9, center  
  text "Search:", 26, 7 176 17 7 
  text "", 27, 39 41 85 7, center 
  edit "", 28, 11 24 16 8, center read
  item "Song Info", 32, 2 
  item "Lyrics Search", 34, 2 
  menu "Display", 35, 2 
  item "Filename", 36, 35 
  item "Song Artist", 37, 35 
  item "Artist Song", 38, 35 
} 
dialog -l mp3ly { 
  title "Lyrics Searcher" 
  size -1 -1 200 247 
  option dbu 
  edit "", 1, 5 10 190 230, center, read, vsbar, multi 
  text "Lyrics Searcher for Extreme MP3", 2, 5 240 190 8, center 
} 
on *:dialog:*:init:0:{ 
  if ($dname = mp3pl) { 
    !did -b $dname 7,19,32,34 
    !did -a $dname 10 Pick a song and press Play to begin 
    if (!$readini(mp3play.ini, n, settings, volume)) !writeini -n mp3play.ini settings volume 100 
    !did -a $dname 28 $+($readini(mp3play.ini, n, settings, volume),$chr(37)) 
    !vol -v $ceil($calc(($readini(mp3play.ini, n, settings, volume) * 65535) / 100)) 
  } 
  if ($dname = mp3o) { 
    if (!$readini(mp3play.ini, n, settings, adenable)) !did -b $dname 4,6 
    else !did -c $dname 2 
    if ($readini(mp3play.ini, n, settings, adchans)) { 
      tokenize 124 $v1 
      !did -a $dname 4 $* 
    } 
    var %x 1 
    while ($chan(%x)) { 
      !did -a $dname 6 $v1 
      inc %x 
    } 
  } 
  if ($dname = mp3am) { 
    !tokenize 124 @title@ - title|@artist@ - artist|@album@ - album|@bitrate@ - bitrate|@length@ - length of song 
    !did -a mp3am 2 $* 
    !did -a mp3am 4 $readini(mp3play.ini, n, settings, message) 
  } 
  if ($dname = mp3ly) { 
    if ($sock(lyr)) .sockclose lyr 
    sockopen lyr www.azlyrics.com 80 
  } 
} 
on *:dialog:*:close:0: { 
  if ($dname = mp3pl) { 
    .timermp* off 
    !splay stop 
  } 
  if ($dname = mp3o) { 
    !dialog -v mp3pl 
  } 
  if ($dname = mp3ly) { 
    !dialog -v mp3pl 
  } 
} 
on *:dialog:mp3pl:edit:25: { 
  !var %a $read(mp3play.txt,w,$+(*,$did(25).text,*)) 
  !did -c mp3pl 1 $readn 
} 
on *:dialog:mp3pl:menu:*:{ 
  if ($did = 4) mp3pla -d 
  if ($did = 5) mp3pla -f 
  if ($did = 7) mp3plr $did($dname,1).seltext 
  if ($did = 9) mp3pl -c 
  if ($did isnum 22-24) !writeini -n mp3play.ini settings songend $did($v1).text 
  if ($did = 32) mp3info $read(mp3play.txt,$did(mp3pl,1).sel) 
  if ($did = 33) { dialog -m mp3o mp3o } 
  if ($did = 34) { dialog -m mp3ly mp3ly } 
  if ($did isnum 36-38) !writeini -n mp3play.ini settings display $did($v1).text 
} 
on *:dialog:*:sclick:*: { 
  var %i $readini(mp3play.ini, n, settings, volume) 
  if ($dname = mp3pl) { 
    if ($did = 1) { did -e $dname 7,32,34 } 
    if ($did = 12) && (%i > 4) { 
      !writeini -n mp3play.ini settings volume $calc(%i - 5) 
      !did -ra $dname 28 $calc(%i - 5) 
      !vol -v $ceil($calc((%i * 65535) / 100)) 
    } 
    if ($did = 13) && (%i < 96) { 
      !writeini -n mp3play.ini settings volume $calc(%i + 5) 
      !did -ra $dname 28 $calc(%i + 5) 
      !vol -v $ceil($calc((%i * 65535) / 100)) 
    } 
    if ($did = 14) { 
      if ($insong.fname) { 
        !var %b $calc($readn - 1) 
        mp3play $did(mp3pl,1,%b).text 
        !did -c mp3pl 1 %b 
      } 
      else { 
        !did -ra mp3pl 10 You aren't playing a song! 
      } 
    } 
    if ($did = 15) { 
      mp3stop 
      !unset %paused 
    } 
    if ($did = 16) { 
      mp3pause 
    } 
    if ($did = 17) { 
      if (%paused == 5) { 
        !splay -p resume 
        unset %paused 
        .timermp3 -r 
        .timermp4 -r 
      } 
      elseif ($did(1).sel) { 
        mp3play -n $v1 
      } 
      else { 
        !did -ra mp3pl 10 You didn't select a song to play! 
      } 
    } 
    if ($did = 18) { 
      if ($insong.fname) { 
        !var %b $calc($readn + 1) 
        mp3play $did(mp3pl,1,%b).text 
        !did -c mp3pl 1 %b 
      } 
      else { 
        !did -ra mp3pl 10 You aren't playing a song! 
      } 
    } 
  } 
  if ($dname = mp3o) { 
    if ($did = 2) { 
      if ($readini(mp3play.ini, n, settings, adenable) != $null) { 
        !remini mp3play.ini settings adenable 
        !did -b $dname 4,6 
      } 
      else { 
        !writeini -n mp3play.ini settings adenable 1 
        !did -e $dname 4,6 
      } 
    } 
    if ($did = 7) && ($readini(mp3play.ini, n, settings, adchans) != $null) { 
      !writeini -n mp3play.ini settings adchans $deltok(%adchans,$findtok($readini(mp3play.ini, n, settings, adchans),$iif($did(mp3o,6).seltext,$v1,$did(mp3o,4).seltext),1,124),124) 
      tokenize 124 $readini(mp3play.ini, n, settings, adchans) 
      !did -r $dname 4 
      !did -a $dname 4 $* 
    } 
    if ($did = 9) && (!$findtok($readini(mp3play.ini, n, settings, adchans),$did(mp3o,6).seltext,1,124)) { 
      !writeini -n mp3play.ini settings adchans $addtok($readini(mp3play.ini, n, settings, adchans),$did(mp3o,6).seltext,124) 
      !did -a mp3o 4 $did(mp3o,6).seltext 
    } 
    if ($did = 10) !dialog -m mp3am mp3am 
  } 
  if $dname = mp3am && $did = 5 !writeini -n mp3play.ini settings message $did(4).text 
} 

on *:dialog:mp3f:close:0:!dialog -v mp3pl mp3pl 
on *:dialog:mp3pl:dclick:1:mp3play $read("mp3play.txt",$did($dname,1).sel) 
on *:mp3end:{ 
  !var %a mp3play, %b $qt(mp3play.txt), %d $did(mp3pl,1).sel 
  if ($readini(mp3play.ini, n, settings, songend) != $null) { 
    if ($v1 = continuous) && (%d != $lines(%b)) %a $read(%b,$calc(%d + 1)) 
    elseif ($v1 = repeat) %a $read(%b,w,$+(*,$nopath($insong.fname),*)) 
    elseif ($v1 = shuffle) %a $read(%b,$r(1,$lines(%b))) 
  } 
} 
on *:SOCKOPEN:lyr:{ 
  !var %x $read(mp3play.txt,$did(mp3pl,1).sel), %a $remove($iif($sound(%x).artist,$v1,$iif($sound(%x,TPE1).tag,$v1,N/A)),$chr(32),$chr(47),$chr(45)), %t $remove($iif($sound(%x).title,$v1,$iif($sound(%x,TIT2).tag,$v1,N/A)),$chr(32),$chr(47),$chr(45)) 
  !sockwrite -nt $sockname GET $lower($+(/lyrics/,%a,/,%t,.html)) HTTP/1.1 
  !sockwrite -nt $sockname Host: www.azlyrics.com 
  !sockwrite -nt $sockname $crlf 
} 
on *:SOCKREAD:lyr: { 
  if ($sockerr) !did -a mp3ly 1 $sockerr 
  else { 
    !var %v, %t 
    !sockread %v 
    if (*Not Found* iswm %v) { !did -a mp3ly 1 Lyrics not found. | halt } 
    elseif (*<FONT size=2>* iswm %v) %b = yes 
    elseif (%b == yes) { 
      if (*[ <a href=* iswm %v) || (*[Thanks* iswm %v) %b = no 
      else { 
        !did -a mp3ly 1 $htmlfree(%v) $crlf 
      } 
    } 
  } 
} 

alias htmlfree { var %x, %i = $regsub($1-,/(^[^<]*>|<[^>]*>|<[^>]*$)/g,$null,%x), %x = $remove(%x,&nbsp;) | return %x } 

#away.stuff off
on *:TEXT:*:?: {
  if (%away.log == on) { inc %away.log.count | did -ra awaysys 25 %away.log.count | did -a awaysys 27 $chr(91) $+ $asctime(h:nn) $+ $chr(93) < $+ $nick $+ > $1- $+ $crlf | msg $nick I Am Away. I left at %away.left Reason: %away.reason Loging: %away.log Pager: %away.pager  | close -m $nick }
  if (%away.log == off) { msg $nick I Am Away. I left at %away.left Reason: %away.reason Loging: %away.log Pager: %away.pager %ver | close -m $nick }
}
ctcp 1:page:*:{ inc %away.pager.count | did -ra awaysys 29 %away.pager.count | did -a awaysys 31 $chr(91) $+ $asctime(h:nn) $+ $chr(93) $chr(60) $+ $nick $+ $chr(62) $1- $+ $crlf } 
#away.stuff end

alias away1 { dialog -md awaysys awaysys }
dialog awaysys {
  title "Away System"
  size -1 -1 163 162
  option dbu
  tab "Main Options", 21, 1 0 160 159
  box "Nick Management", 2, 3 16 156 41, tab 21
  check "Change Nick", 3, 5 23 50 10, tab 21
  text "Away Nick:", 5, 5 34 27 8, tab 21
  text "Back Nick:", 7, 80 34 27 8, tab 21
  edit "", 4, 5 41 75 12, tab 21 autohs
  edit "", 6, 80 41 75 12, tab 21 autohs
  box "Options:", 8, 3 60 156 28, tab 21
  combo 14, 6 75 45 30, tab 21 size drop
  text "Log:", 15, 7 67 11 8, tab 21
  text "Pager:", 16, 55 68 16 8, tab 21
  text "Msg Chan Interval:", 18, 103 68 45 8, tab 21
  combo 17, 54 75 44 30, tab 21 size drop
  combo 19, 102 75 52 60, tab 21 size drop
  edit "", 20, 6 98 150 36, tab 21 multi
  box "Reason:", 13, 3 89 156 49, tab 21
  tab "Logging", 22
  text "While you were away, you recieved", 24, 4 18 87 8, tab 22
  edit "", 25, 92 16 15 12, tab 22 read
  text "messages for people.", 26, 108 18 52 8, tab 22
  edit "", 27, 4 29 155 107, tab 22 read multi autovs vsbar
  tab "Pages:", 23
  text "While you were away, you recieved", 28, 4 18 87 8, tab 23
  edit "", 29, 92 16 16 12, tab 23 read
  text "pages for people.", 30, 111 18 43 8, tab 23
  edit "", 31, 4 29 155 107, tab 23 read multi autovs vsbar
  button "Go Away", 32, 3 142 37 12
  button "Come Back", 33, 43 142 37 12, ok
  button "Cancel", 34, 82 142 37 12, cancel
}

on 1:DIALOG:awaysys:sclick:3: {
  if ($did(awaysys,3).state == 0) { did -m $dname 6 | did -m $dname 4 | set %change.nick off } 
  if ($did(awaysys,3).state == 1) { did -n $dname 6 | did -n $dname 4 | set %change.nick on }
}

on 1:DIALOG:awaysys:sclick:32: {
  if ($did(awaysys,14).sel == 1) { set %away.log On }
  if ($did(awaysys,14).sel == 2) { set %away.log Off } 
  if ($did(awaysys,17).sel == 1) { set %away.pager On }
  if ($did(awaysys,17).sel == 2) { set %away.pager Off } 
  if ($did(awaysys,19).sel == 1) { set %away.msg 5 | set %away.timer 300 }
  if ($did(awaysys,19).sel == 2) { set %away.msg 10 | set %away.timer 600 } 
  if ($did(awaysys,19).sel == 3) { set %away.msg 15 | set %away.timer 900 }
  if ($did(awaysys,19).sel == 4) { set %away.msg 20 | set %away.timer 1200 } 
  if ($did(awaysys,19).sel == 5) { set %away.msg 25 | set %away.timer 1500 }
  if ($did(awaysys,19).sel == 6) { set %away.msg 30 | set %away.timer 1800 } 
  if ($did(awaysys,19).sel == 7) { set %away.msg 35 | set %away.timer 2100 }
  if ($did(awaysys,19).sel == 8) { set %away.msg 40 | set %away.timer 2500 } 
  if ($did(awaysys,19).sel == 9) { set %away.msg 45 | set %away.timer 2800 }
  if ($did(awaysys,19).sel == 10) { set %away.msg 50 | set %away.timer 3100 } 
  if (%change.nick == on) { nick $did(awaysys,4) }
  enable #away.stuff 
  set %away.left $asctime(h:nn)
  set %away.left2 $ctime
  set %away.reason $did(awaysys,20)
  ame is Now Away ( Reason: %away.reason ) Loging: %away.log Pager: %away.pager
  .timerAWAY 0 %away.timer ame is Away. I Left At %away.left Reason: %away.reason Loging: %away.log Pager: %away.pager %ver 
}

on 1:DIALOG:awaysys:sclick:33: {
  if (%change.nick == on) { nick $did(awaysys,6) } 
  disable #away.stuff 
  ame Is Back ( From: %away.reason ) Loging: %away.log Pager: %away.pager Away Time: $duration($calc($ctime - %away.left2))
  set %away.log.count 0
  set %away.pager.count 0
  .timerAWAY off 
}

on 1:DIALOG:awaysys:init:*: {
  if (%change.nick == on) { did -c $dname 3 | did -n $dname 6 | did -n $dname 4 }
  if (%change.nick == off) { did -u $dname 3 | did -m $dname 6 | did -m $dname 4 } 
  did -i $dname 14 1 On
  did -i $dname 14 2 Off 
  did -i $dname 17 1 On
  did -i $dname 17 2 Off 
  did -i $dname 19 1 5mins
  did -i $dname 19 2 10mins
  did -i $dname 19 3 15mins
  did -i $dname 19 4 20mins
  did -i $dname 19 5 25mins
  did -i $dname 19 6 30mins
  did -i $dname 19 7 35mins
  did -i $dname 19 8 40mins
  did -i $dname 19 9 45mins
  did -i $dname 19 10 50mins 
  did -ra $dname 20 Away
  if (%away.log == On) { did -c $dname 14 1 }
  if (%away.log == Off) { did -c $dname 14 2 }
  if (%away.pager == On) { did -c $dname 17 1 }
  if (%away.pager == Off) { did -c $dname 17 2 } 
  if (%away.msg == 5) { did -c $dname 19 1 }
  if (%away.msg == 10) { did -c $dname 19 2 }
  if (%away.msg == 15) { did -c $dname 19 3 }
  if (%away.msg == 20) { did -c $dname 19 4 }
  if (%away.msg == 25) { did -c $dname 19 5 }
  if (%away.msg == 30) { did -c $dname 19 6 }
  if (%away.msg == 35) { did -c $dname 19 7 }
  if (%away.msg == 40) { did -c $dname 19 8 }
  if (%away.msg == 45) { did -c $dname 19 9 }
  if (%away.msg == 50) { did -c $dname 19 10 } 
  did -ra $dname 4 $me $+ |Away
  did -ra $dname 6 $me 
}