All pastes #83034 Raw Edit

Untitled

public text v1 · immutable
·published 2006-07-09 07:29 UTC
rendered paste body
; §§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§
; §§
; §§                                       INVISION VERSION 2.0 Script for mIRC 6.02 By cRYOa
; §§                                       FILE: imiscdlg.ini
; §§                                       DATE: 2-4-02
; §§                                       DESCRIPTION: Miscellaneous Dialog Routines
; §§
; §§                                       DO NOT ADD OR CHANGE ANYTHING IN THIS FILE
; §§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§
Dialog Addon {
  title "Addon Manager"
  icon Invision\Themes\gfx\default\i2tray1.ico
  size -1 -1 270 283

  text "Addons:", 1, 5 5 50 13
  list 2, 5 18 260 102

  text "Script:", 10, 5 123 50 13
  edit "", 11, 50 120 215 22
  text "Author:", 15, 5 145 50 13
  edit "", 16, 50 142 215 22
  text "Desc:", 20, 5 167 50 13
  edit "", 21, 50 164 215 60, multi
  text "Date:", 25, 5 227 50 13
  edit "", 26, 50 224 215 22
  text "Size:", 30, 5 249 50 13
  edit "0b", 6, 50 246 50 22
  button "Load", 5, 112 256 100 22
  button "Done", 200, 215 256 50 22, ok
}
Dialog TDCC {
  title "TDCC Server Settings"
  icon Invision\Themes\gfx\default\i2tray1.ico
  size -1 -1 463 353

  radio "TDCC 1", 1, 10 10 123 20, push
  radio "TDCC 2", 2, 10 30 123 20, push
  radio "TDCC 3", 3, 10 50 123 20, push
  radio "TDCC 4", 4, 10 70 123 20, push
  radio "TDCC 5", 5, 10 90 123 20, push
  box "", 6, 143 5 310 312

  box " Advertise to: ", 30, 10 115 123 110
  radio "OPs Only", 31, 17 135 90 15
  radio "Voiced Only", 32, 17 155 100 15
  radio "OPs and Voiced", 33, 17 175 100 15
  radio "Everyone", 34, 17 195 100 15

  box " Max Settings ", 10, 10 235 123 115
  text "Sends Each:", 11, 17 259 65 13
  edit "", 12, 85 254 28 22
  text "Sends Total:", 13, 17 280 65 13
  edit "", 14, 85 276 28 22
  ;box "Max Queues:", 20, 10 276 123 74
  text "Queues Each:", 21, 17 302 70 13
  edit "", 22, 85 298 28 22
  text "Queues Total:", 23, 17 324 70 13
  edit "", 24, 85 320 28 22

  text "Trigger:", 40, 158 28 35 13
  edit "", 41, 200 25 100 22
  text "Ad Delay (min):", 45, 335 28 75 13
  edit "", 46, 410 25 28 22
  box "Advertising Channels:", 50, 158 57 180 140
  combo 51, 168 77 115 100
  check "All Channel", 52, 168 174 75 15
  button "Add", 53, 288 104 40 22
  button "Rem", 54, 288 126 40 22
  check "Enable on Start", 60, 348 72 95 15
  box "", 65, 158 202 280 100
  text "Filename:", 66, 169 217 100 13
  edit "", 67, 168 230 240 22, autohs
  button "...", 68, 408 231 20 20
  text "Description:", 69, 169 257 60 13
  edit "", 70, 168 270 260 22, autohs

  text "Trigger:", 80, 158 28 35 13, hide
  edit "", 81, 200 25 100 22, hide
  text "Ad Delay (min):", 85, 335 28 75 13, hide
  edit "", 86, 410 25 28 22, hide
  box "Advertising Channels:", 90, 158 57 180 140, hide
  combo 91, 168 77 115 100, hide
  check "All Channel", 92, 168 174 75 15, hide
  button "Add", 93, 288 104 40 22, hide
  button "Rem", 94, 288 126 40 22, hide
  check "Enable on Start", 100, 348 72 95 15, hide
  box "", 105, 158 202 280 100, hide
  text "Filename:", 106, 169 217 100 13, hide
  edit "", 107, 168 230 240 22, autohs, hide
  button "...", 108, 408 231 20 20, hide
  text "Description:", 109, 169 257 60 13, hide
  edit "", 110, 168 270 260 22, hide autohs

  text "Trigger:", 120, 158 28 35 13, hide
  edit "", 121, 200 25 100 22, hide
  text "Ad Delay (min):", 125, 335 28 75 13, hide
  edit "", 126, 410 25 28 22, hide
  box "Advertising Channels:", 130, 158 57 180 140, hide
  combo 131, 168 77 115 100, hide
  check "All Channel", 132, 168 174 75 15, hide
  button "Add", 133, 288 104 40 22, hide
  button "Rem", 134, 288 126 40 22, hide
  check "Enable on Start", 140, 348 72 95 15, hide
  box "", 145, 158 202 280 100, hide
  text "Filename:", 146, 169 217 100 13, hide
  edit "", 147, 168 230 240 22, autohs, hide
  button "...", 148, 408 231 20 20, hide
  text "Description:", 149, 169 257 60 13, hide
  edit "", 150, 168 270 260 22, hide autohs

  text "Trigger:", 160, 158 28 35 13, hide
  edit "", 161, 200 25 100 22, hide
  text "Ad Delay (min):", 165, 335 28 75 13, hide
  edit "", 166, 410 25 28 22, hide
  box "Advertising Channels:", 170, 158 57 180 140, hide
  combo 171, 168 77 115 100, hide
  check "All Channel", 172, 168 174 75 15, hide
  button "Add", 173, 288 104 40 22, hide
  button "Rem", 174, 288 126 40 22, hide
  check "Enable on Start", 180, 348 72 95 15, hide
  box "", 185, 158 202 280 100, hide
  text "Filename:", 186, 169 217 100 13, hide
  edit "", 187, 168 230 240 22, autohs, hide
  button "...", 188, 408 231 20 20, hide
  text "Description:", 189, 169 257 60 13, hide
  edit "", 190, 168 270 260 22, hide autohs

  text "Trigger:", 200, 158 28 35 13, hide
  edit "", 201, 200 25 100 22, hide
  text "Ad Delay (min):", 205, 335 28 75 13, hide
  edit "", 206, 410 25 28 22, hide
  box "Advertising Channels:", 210, 158 57 180 140, hide
  combo 211, 168 77 115 100, hide
  check "All Channel", 212, 168 174 75 15, hide
  button "Add", 213, 288 104 40 22, hide
  button "Rem", 214, 288 126 40 22, hide
  check "Enable on Start", 220, 348 72 95 15, hide
  box "", 225, 158 202 280 100, hide
  text "Filename:", 226, 169 217 100 13, hide
  edit "", 227, 168 230 240 22, autohs, hide
  button "...", 228, 408 231 20 20, hide
  text "Description:", 229, 169 257 60 13, hide
  edit "", 230, 168 270 260 22, hide autohs

  button "OK", 498, 203 323 80 25, ok
  button "Cancel", 499, 288 323 80 25, cancel
  button "Apply", 500, 373 323 80 25
}
Dialog Request {
  title "Request Ad Settings"
  icon Invision\Themes\gfx\default\i2tray1.ico
  size -1 -1 260 94
  option dbu 

  text "Request:", 5, 2 2 20 10
  edit "", 6, 2 10 255 10, autohs
  box "Advertising Channels:", 10, 2 23 110 70
  combo 11, 8 32 80 50
  check "All Channels", 12, 8 80 40 10
  button "Add", 13, 90 32 15 12
  button "Rem", 14, 90 47 15 12
  check "Auto Start", 20, 120 45 35 10
  text "Ad Delay (min):", 30, 120 60 40 10
  edit "", 31, 156 58 15 10, center
  button "OK", 200, 228 81 30 12, ok
  button "Cancel", 201, 195 81 30 12, cancel
}

Dialog OKbox {
  title %OKBtitle
  icon Invision\Themes\gfx\default\i2tray1.ico
  size -1 -1 %OKBx %OKBy
  option dbu

  text %OKBmsg, 1, 3 2 154 68, center
  button "Ok", 500,  65 69 30 10, ok

}
Dialog PickChan1 {
  title "Select Channel"
  icon Invision\Themes\gfx\default\i2tray1.ico
  size -1 -1 80 30
  option dbu

  combo 400, 5 2 70 80, drop vsbar edit
  button "Ok", 500, 25 18 30 10, ok
}
Dialog PickChan2 {
  title "Select Channel"
  icon Invision\Themes\gfx\default\i2tray1.ico
  size -1 -1 80 30
  option dbu

  combo 400, 5 2 70 80, drop vsbar edit
  button "Ok", 500, 25 18 30 10, ok
}

Dialog ImpWiz {
  title "Import Wizard"
  icon Invision\Themes\gfx\default\i2tray1.ico
  size -1 -1 300 200
  option dbu 

  box "", 10, 2 4 295 180
  icon 300, 20 12 18 32, $shortfn($mircdir) $+ invision\gfx\wiz.bmp, 1, noborder top
  text "Import Wizard is now importing you settings", 40, 98 12 285 30
  list 50, 8 42 285 140, autovs extsel

  button "Close", 200, 127 187 30 12, ok 
}
Dialog TrigChans {
  title %TCHtitle
  icon Invision\Themes\gfx\default\i2tray1.ico
  size -1 -1 140 80
  option dbu

  button "Ok", 200, 55 70 30 9, ok
  button "ON", 120, 5 2 15 8
  button  "OFF", 130, 120 2 15 8
  check "All Channels", 101, 50 1 40 9
  list 110, 5 10 130 60, autovs
}
on *:dialog:TrigChans:*:*:{
  if $devent == init { 
    var %adchans = $r.set(Fserve,Channels)
    if (%adchans != All) { 
      var %ct = 1
      while (%ct <= $numtok(%adchans,44)) {
        var %chan = $gettok(%adchans,%ct,44)
        if $istok(%TCHChans,%chan,44) == $true || %TCHchans == All { did -a $dname 110 %chan - ON } | else { did -a $dname 110 %chan - OFF }
        inc %ct 1 | continue
      }
    } 
    else { did -c $dname 101 }
    if (%TCHchans == all) { did -c $dname 101 }
    did -b $dname 120,130
  }
  if $devent == sclick {
    if $did == 120 {
      if $did($dname,110).sel >= 1 {
        if %TCHchans == all { unset %TCHchans }
        set %TCHchans $addtok(%TCHchans,$gettok($did($dname,110).seltext,1,32),44)
        did -o $dname 110 $did($dname,110).sel $gettok($did($dname,110).seltext,1,32) - ON
        did -b $dname 120,130
      }
    }
    if $did == 130 {
      if $did($dname,110).sel >= 1 {
        if %TCHchans == all { unset %TCHchans }
        set %TCHchans $remtok(%TCHchans,$gettok($did($dname,110).seltext,1,32),1,44)
        did -o $dname 110 $did($dname,110).sel $gettok($did($dname,110).seltext,1,32) - OFF
        did -b $dname 130,120
        did -u $dname 101
      }
    }
    if $did == 110 {
      did -b $dname 120,130
      if $gettok($did($dname,110).seltext,3,32) == ON { did -e $dname 130 } | else { did -e $dname 120 }
    }
    if $did == 200 {
      setsaved
      if $did($dname,101).state == 1 { w.set [ FServe. [ $+ [ %TCHnum ] ] ] Channels all }
      else { 
        var %ct = 1
        while (%ct <= $did($dname,110).lines) {
          var %chan = $gettok($did($dname,110,%ct).text,1,32)
          var %stat = $gettok($did($dname,110,%ct).text,3,32)
          if %stat == On { set %TCHchans $addtok(%TCHchans,%chan,44) }
          inc %ct 1 | continue
        }
        if %TCHchans == $null { w.set [ FServe. [ $+ [ %TCHnum ] ] ] Channels all }
        else { w.set [ FServe. [ $+ [ %TCHnum ] ] ] Channels %TCHchans }
      }
      dialog -ve InvisFserve
    }
    if $did != 200 { click }
  }
}
Dialog BotDlg {
  title "Custom Bot Commands"
  icon Invision\Themes\gfx\default\i2tray1.ico
  size -1 -1 300 100
  option dbu 

  button "Close", 500, 265 90 30 9, ok

  text "Menu Text for Public Commands", 100, 10 3 100 8
  list 200, 10 10 100 65, autovs
  button "Switch to NickList Msg Commands", 201, 10 66 100 13
  button "Add a New Command", 203, 10 80 100 9
  button "Delete the Selected Command", 204, 10 90 100 9
  text "Command:", 101, 120 3 25 8
  edit "", 202, 120 10 175 10, autohs 

  text "Here you can add you own bot menu commands. The commands you add they will appear in the corresponding menus. You can use ''~#~'' where you want your stored bot password to be inserted. You can also use input prompts like to have user prompt for info i.e.: $$?=''Op who?''.  Public Commands are those that will be used in the channel where everyone can see. Be careful not use any passwords or other sensitive info in these commands. MSG commands are those that are sent via private message to the bot. DCC are those sent via DCC chat to the bot. You don't have to open a dcc chat manually to the bot and if you already have a DCC chat window already open to the bot then you will need to close it first.", 102, 120 22 175 67 
}
alias ebot.set { if ($2 != $null) { return $readini($shortfn($mircdirInvision\botcmds.ini),$1,$2) } }
alias rbot.set { if ($2 != $null) { return $readini($shortfn($mircdirInvision\botcmds.ini),n,$1,$2) } }
alias wbot.set { if ($3 != $null) { writeini -n $shortfn($mircdir) $+ Invision\botcmds.ini $1 $2 $strip($3-,burc) } }
alias dbot.set { if ($2 != $null) { remini $shortfn($mircdir) $+ Invision\botcmds.ini $1 $2 } }
on *:dialog:BotDlg:*:*:{
  if $devent == init {
    set %BOTcmdview Pub
    BotCmdUpdate
  }
  if $devent == sclick {
    if $did == 200 {
      if $did($dname,200).sel >= 1 {
        BotCmdSelect $did($dname,200).sel
      }
    }
    if $did == 201 {
      if %BotCmdView == Pub {
        did -ra $dname 201 Switch to NickList DCC Commands
        did -ra $dname 100 Menu Text for Nicklist Msg Commands
        set %BotCmdView msg
        BotCmdUpdate
        halt
      }
      if %BotCmdView == msg {
        did -ra $dname 201 Switch to Public Commands
        did -ra $dname 100 Menu Text for Nicklist DCC Commands
        set %BotCmdView dcc
        BotCmdUpdate
        halt
      }
      if %BotCmdView == dcc {
        did -ra $dname 201 Switch to NickList Msg Commands
        did -ra $dname 100 Menu Text for Public Commands
        set %BotCmdView pub
        BotCmdUpdate
        halt
      }
    }
    if $did == 203 {
      BotCmdAdd
    }
    if $did == 204 {
      if $did($dname,200).sel >= 1 {
        BotCmdDel $did($dname,200).sel
      }
    }
  }
}
alias -l BotCmdUpdate {
  did -r BotDlg 200,202
  if %BotCmdView == msg { var %section = MSG } | elseif %BotCmdView == dcc { var %section = DCC } | else { var %section = Public }
  var %ct = 1
  while (%ct <= $rbot.set(Counts,%section)) {
    did -a BotDlg 200 $rbot.set(%section $+ Menu,Menu [ $+ [ %ct ] ] )
    inc %ct 1 | continue
  }
  did -ra BotDlg 202 $rbot.set(%section $+ Cmd,Cmd1)
}
alias -l BotCmdSelect {
  if $1 != $null {
    if %BotCmdView == msg { var %section = MSG } | elseif %BotCmdView == dcc { var %section = DCC } | else { var %section = Public }
    did -ra BotDlg 202 $rbot.set(%section $+ Cmd,Cmd [ $+ [ $1 ] ] )
  }
}
alias -l BotCmdAdd {
  if %BotCmdView == msg { var %section = MSG } | elseif %BotCmdView == dcc { var %section = DCC } | else { var %section = Public }
  var %caption = $$?="What would you like the menu caption to be for the [ %section ] command"
  var %command = $$?="What would you like the Command to be for '' [ %caption ] '' [ $iif(%BotCmdView != Public,<use ''~#~'' where you want your password to be inserted ie: opme ~*~>) ] "
  if %caption != $null && %command != $null { 
    var %newcount = $calc($rbot.set(Counts,%section) + 1)
    wbot.set %section $+ Menu Menu [ $+ [ %newcount ] ] %caption
    wbot.set %section $+ Cmd Cmd [ $+ [ %newcount ] ] %command
    wbot.set Counts %section %newcount
    .timer -o 1 0 BotCmdUpdate
  }
}
alias -l BotCmdDel {
  if $1 != $null {
    if %BotCmdView == msg { var %section = MSG } | elseif %BotCmdView == dcc { var %section = DCC } | else { var %section = Public }
    var %curCount = $rbot.set(Counts,%section)
    var %newcount = $calc(%curCount - 1)
    dbot.set %section $+ Menu [ Menu [ $+ [ $1 ] ] ] 
    dbot.set %section $+ Cmd [ Cmd [ $+ [ $1 ] ] ] 
    var %ct = $calc($1 + 1)
    while (%ct <= %curCount) {
      wbot.set %section $+ Menu [ Menu [ $+ [ $calc(%ct - 1) ] ] ] $rbot.set(%section $+ Menu, [ Menu [ $+ [ %ct ] ] ] )
      wbot.set %section $+ Cmd [ Cmd [ $+ [ $calc(%ct - 1) ] ] ] $rbot.set(%section $+ Cmd, [ Cmd [ $+ [ %ct ] ] ] )
      inc %ct 1 | continue
    }
    dbot.set %section $+ Menu [ Menu [ $+ [ %curCount ] ] ] 
    dbot.set %section $+ Cmd [ Cmd [ $+ [ %curCount ] ] ] 
    wbot.set Counts %section %newcount
    BotCmdUpdate
  }
}
dialog INews {
  title "Invision News Update"
  icon Invision\Themes\gfx\default\i2tray1.ico
  size -1 -1 300 200
  option dbu 

  box "", 10, 2 1 296 187
  ; text "Import Wizard is now importing you settings", 40, 8 12 285 30
  edit "" 101, 6 7 288 178, autovs vsbar multi

  button "Close", 200, 135 189 30 10, ok 
}
on *:dialog:OKbox:*:*:{
  if ($devent == sclick) {
    if ($did == 500) { click | dialog -x OKbox | %OKBfunc }
  }
}
on *:dialog:pickchan1:*:*:{
  if ($devent == init) {
    set %pickchanCT 1
    while (%pickchanCT <= $chan(0)) { 
      did -i $dname 400 %pickchanCT $chan(%pickchanCT)
      inc %pickchanCT 1
      continue
    }
    did -i $dname 400 0 $chan(1)
  }
  if ($devent == sclick) {
    if ($did == 500) { 
      click
      set %tempText $did($dname,400).text
      dialog -x pickchan1
      iclonescn %tempText public
    }
  }
}
on *:dialog:pickchan2:*:*:{
  if ($devent == init) {
    set %pickchanCT 1
    while (%pickchanCT <= $chan(0)) { 
      did -i $dname 400 %pickchanCT $chan(%pickchanCT)
      inc %pickchanCT 1
      continue
    }
    did -i $dname 400 0 $chan(1)
  }
  if ($devent == sclick) {
    if ($did == 500) {
      click 
      iclonescn $did($dname,400).text private 
      dialog -x pickchan2 
    }
  }
}
on *:dialog:TDCC:*:*:{ 
  if ($devent == init) {
    dialog -t $dname TDCC Server Settings for $iif($iSetwork != $null,$iSetwork,Global)
    did -c $dname 1
    did -m $dname 67,107,147,187,227
    if $r.set(TDCC,AdTo) == 1 { did -c $dname 34 }
    elseif $r.set(TDCC,AdTo) == 2 { did -c $dname 33 }
    elseif $r.set(TDCC,AdTo) == 3 { did -c $dname 32 }
    else { did -c $dname 31 }
    did -ra $dname 12 $vnum($r.set(TDCC,Max.Sends.Each),1)
    did -ra $dname 14 $vnum($r.set(TDCC,Max.Sends.Total),2)
    did -ra $dname 22 $vnum($r.set(TDCC,Max.Queues.Each),4)
    did -ra $dname 24 $vnum($r.set(TDCC,Max.Queues.Total),10)
    did -ra $dname 41 $r.set(TDCC.1,Trigger)
    did -ra $dname 46 $vnum($r.set(TDCC.1,Ad.Delay),5)
    if (($r.set(TDCC.1,Channels) == All) || ($r.set(TDCC.1,Channels) == $null)) { did -c $dname 52 | did -b $dname 51,53,54 } | else { dla $dname 51 $r.set(TDCC.1,Channels) }
    if ($r.set(TDCC.1,Auto.Start) == On) { did -c $dname 60 }
    did -ra $dname 67 $r.set(TDCC.1,Filename)
    did -ra $dname 70 $r.set(TDCC.1,Desc)
    did -ra $dname 81 $r.set(TDCC.2,Trigger)
    did -ra $dname 86 $vnum($r.set(TDCC.2,Ad.Delay),5)
    if (($r.set(TDCC.2,Channels) == All) || ($r.set(TDCC.2,Channels) == $null)) { did -c $dname 92 | did -b $dname 91,93,94 } | else { dla $dname 91 $r.set(TDCC.2,Channels) }
    if ($r.set(TDCC.2,Auto.Start) == On) { did -c $dname 100 }
    did -ra $dname 107 $r.set(TDCC.2,Filename)
    did -ra $dname 110 $r.set(TDCC.2,Desc)
    did -ra $dname 121 $r.set(TDCC.3,Trigger)
    did -ra $dname 126 $vnum($r.set(TDCC.3,Ad.Delay),5)
    if (($r.set(TDCC.3,Channels) == All) || ($r.set(TDCC.3,Channels) == $null)) { did -c $dname 132 | did -b $dname 131,133,134 } | else { dla $dname 131 $r.set(TDCC.3,Channels) }
    if ($r.set(TDCC.3,Auto.Start) == On) { did -c $dname 140 }
    did -ra $dname 147 $r.set(TDCC.3,Filename)
    did -ra $dname 150 $r.set(TDCC.3,Desc)
    did -ra $dname 161 $r.set(TDCC.4,Trigger)
    did -ra $dname 166 $vnum($r.set(TDCC.4,Ad.Delay),5)
    if (($r.set(TDCC.4,Channels) == All) || ($r.set(TDCC.4,Channels) == $null)) { did -c $dname 172 | did -b $dname 171,173,174 } | else { dla $dname 171 $r.set(TDCC.4,Channels) }
    if ($r.set(TDCC.4,Auto.Start) == On) { did -c $dname 180 }
    did -ra $dname 187 $r.set(TDCC.4,Filename)
    did -ra $dname 190 $r.set(TDCC.4,Desc)

    did -ra $dname 201 $r.set(TDCC.5,Trigger)
    did -ra $dname 206 $vnum($r.set(TDCC.5,Ad.Delay),5)
    if (($r.set(TDCC.5,Channels) == All) || ($r.set(TDCC.5,Channels) == $null)) { did -c $dname 212 | did -b $dname 211,213,214 } | else { dla $dname 211 $r.set(TDCC.5,Channels) }
    if ($r.set(TDCC.5,Auto.Start) == On) { did -c $dname 220 }
    did -ra $dname 227 $r.set(TDCC.5,Filename)
    did -ra $dname 230 $r.set(TDCC.5,Desc)
  }
  if ($devent == sclick) {
    if ($did isnum 1-5) { 
      did -h $dname $tdcc_grp( [ $replace($remtok(1 2 3 4 5,$did,1,32),$chr(32),$chr(44)) ] ) 
      did -v $dname $tdcc_grp($did) 
      if $r.set(TDCC,AdTo) == 1 { did -c $dname 34 }
      elseif $r.set(TDCC,AdTo) == 2 { did -c $dname 33 }
      elseif $r.set(TDCC,AdTo) == 3 { did -c $dname 32 }
      else { did -c $dname 31 }
    }
    if ($did == 52) { if ($did($dname,$did).state == 1) { did -b $dname 51,53,54 } | else { did -e $dname 51,53,54 } }
    if ($did == 53) && ($did($dname,51).sel == $null) && ($did($dname,51).text != $null) { did -a $dname 51 $vc($did($dname,51).text) | did -c $dname 51 $did($dname,51).lines }
    if ($did == 54) && ($did($dname,51).sel isnum) { did -d $dname 51 $did($dname,51).sel }
    if ($did == 68) { .timer 1 0 did -ra $dname 67 $!lower( $chr(91) $!$dir="Choose TDCC Filename" *.* $chr(93) ) }
    if ($did == 92) { if ($did($dname,$did).state == 1) { did -b $dname 91,93,94 } | else { did -e $dname 91,93,94 } }
    if ($did == 93) && ($did($dname,91).sel == $null) && ($did($dname,91).text != $null) { did -a $dname 91 $vc($did($dname,91).text) | did -c $dname 91 $did($dname,91).lines }
    if ($did == 94) && ($did($dname,91).sel isnum) { did -d $dname 91 $did($dname,91).sel }
    if ($did == 108) { .timer 1 0 did -ra $dname 107 $!lower( $chr(91) $!$dir="Choose TDCC Filename" *.* $chr(93) ) }
    if ($did == 132) { if ($did($dname,$did).state == 1) { did -b $dname 131,133,134 } | else { did -e $dname 131,133,134 } }
    if ($did == 133) && ($did($dname,131).sel == $null) && ($did($dname,131).text != $null) { did -a $dname 131 $vc($did($dname,131).text) | did -c $dname 131 $did($dname,131).lines }
    if ($did == 134) && ($did($dname,131).sel isnum) { did -d $dname 131 $did($dname,131).sel }
    if ($did == 148) { .timer 1 0 did -ra $dname 147 $!lower( $chr(91) $!$dir="Choose TDCC Filename" *.* $chr(93) ) }
    if ($did == 172) { if ($did($dname,$did).state == 1) { did -b $dname 171,173,174 } | else { did -e $dname 171,173,174 } }
    if ($did == 173) && ($did($dname,171).sel == $null) && ($did($dname,171).text != $null) { did -a $dname 171 $vc($did($dname,171).text) | did -c $dname 171 $did($dname,171).lines }
    if ($did == 174) && ($did($dname,171).sel isnum) { did -d $dname 171 $did($dname,171).sel }
    if ($did == 188) { .timer 1 0 did -ra $dname 187 $!lower( $chr(91) $!$dir="Choose TDCC Filename" *.* $chr(93) ) }
    if ($did == 212) { if ($did($dname,$did).state == 1) { did -b $dname 211,213,214 } | else { did -e $dname 211,213,214 } }
    if ($did == 213) && ($did($dname,211).sel == $null) && ($did($dname,211).text != $null) { did -a $dname 211 $vc($did($dname,211).text) | did -c $dname 211 $did($dname,211).lines }
    if ($did == 214) && ($did($dname,211).sel isnum) { did -d $dname 211 $did($dname,211).sel }
    if ($did == 228) { .timer 1 0 did -ra $dname 227 $!lower( $chr(91) $!$dir="Choose TDCC Filename" *.* $chr(93) ) }
    if $did != 498 && $did != 500 { click }

    if (($did == 498) || ($did == 500)) {
      setsaved
      w.set TDCC Max.Sends.Each $vnum($did($dname,12).text,1)
      w.set TDCC Max.Sends.Total $vnum($did($dname,14).text,2)
      w.set TDCC Max.Queues.Each $vnum($did($dname,22).text,4)
      w.set TDCC Max.Queues.Total $vnum($did($dname,24).text,10)
      if ($did($dname,34).state == 1) { w.set TDCC AdTo 1 }
      elseif ($did($dname,33).state == 1) { w.set TDCC AdTo 2 }
      elseif ($did($dname,32).state == 1) { w.set TDCC AdTo 3 }
      else { w.set TDCC AdTo 4 }
      iw.set TDCC.1 Trigger $remove($isset($did($dname,41).text,!tdcc-1),$chr(44),$chr(40),$chr(41),$chr(123),$chr(125),$chr(91),$chr(93))
      w.set TDCC.1 Ad.Delay $vnum($did($dname,46).text,5)
      if ($did($dname,52).state == 1) || ($did($dname,51).lines == 0) { w.set TDCC.1 Channels All } | else { dls $dname 51 w.set TDCC.1 Channels }
      if ($did($dname,60).state == 1) { w.set TDCC.1 Auto.Start On } | else { w.set TDCC.1 Auto.Start Off }
      if ($did($dname,67).text != $r.set(TDCC.1,Filename)) { w.set TDCC.1 Downloads 0 | w.set TDCC.1 Record.CPS 0 n/a }
      w.set TDCC.1 Filename $did($dname,67).text
      iw.set TDCC.1 Desc $isset($did($dname,70).text,No Description!)
      iw.set TDCC.2 Trigger $remove($isset($did($dname,81).text,!tdcc-2),$chr(44),$chr(40),$chr(41),$chr(123),$chr(125),$chr(91),$chr(93))
      w.set TDCC.2 Ad.Delay $vnum($did($dname,86).text,5)
      if ($did($dname,92).state == 1) || ($did($dname,91).lines == 0) { w.set TDCC.2 Channels All } | else { dls $dname 91 w.set TDCC.2 Channels }
      if ($did($dname,100).state == 1) { w.set TDCC.2 Auto.Start On } | else { w.set TDCC.2 Auto.Start Off }
      if ($did($dname,107).text != $r.set(TDCC.2,Filename)) { w.set TDCC.2 Downloads 0 | w.set TDCC.2 Record.CPS 0 n/a }
      w.set TDCC.2 Filename $did($dname,107).text
      iw.set TDCC.2 Desc $isset($did($dname,110).text,No Description!)
      iw.set TDCC.3 Trigger $remove($isset($did($dname,121).text,!tdcc-3),$chr(44),$chr(40),$chr(41),$chr(123),$chr(125),$chr(91),$chr(93))
      w.set TDCC.3 Ad.Delay $vnum($did($dname,126).text,5)
      if ($did($dname,132).state == 1) || ($did($dname,131).lines == 0) { w.set TDCC.3 Channels All } | else { dls $dname 131 w.set TDCC.3 Channels }
      if ($did($dname,140).state == 1) { w.set TDCC.3 Auto.Start On } | else { w.set TDCC.3 Auto.Start Off }
      if ($did($dname,67).text != $r.set(TDCC.1,Filename)) { w.set TDCC.3 Downloads 0 | w.set TDCC.3 Record.CPS 0 n/a }
      w.set TDCC.3 Filename $did($dname,147).text
      iw.set TDCC.3 Desc $isset($did($dname,150).text,No Description!)
      iw.set TDCC.4 Trigger $remove($isset($did($dname,161).text,!tdcc-4),$chr(44),$chr(40),$chr(41),$chr(123),$chr(125),$chr(91),$chr(93))
      w.set TDCC.4 Ad.Delay $vnum($did($dname,166).text,5)
      if ($did($dname,172).state == 1) || ($did($dname,171).lines == 0) { w.set TDCC.4 Channels All } | else { dls $dname 171 w.set TDCC.4 Channels }
      if ($did($dname,180).state == 1) { w.set TDCC.4 Auto.Start On } | else { w.set TDCC.4 Auto.Start Off }
      if ($did($dname,187).text != $r.set(TDCC.1,Filename)) { w.set TDCC.4 Downloads 0 | w.set TDCC.4 Record.CPS 0 n/a }
      w.set TDCC.4 Filename $did($dname,187).text
      iw.set TDCC.4 Desc $isset($did($dname,190).text,No Description!)
      iw.set TDCC.5 Trigger $remove($isset($did($dname,201).text,!tdcc-5),$chr(44),$chr(40),$chr(41),$chr(123),$chr(125),$chr(91),$chr(93))
      w.set TDCC.5 Ad.Delay $vnum($did($dname,206).text,5)
      if ($did($dname,212).state == 1) || ($did($dname,211).lines == 0) { w.set TDCC.5 Channels All } | else { dls $dname 211 w.set TDCC.5 Channels }
      if ($did($dname,220).state == 1) { w.set TDCC.5 Auto.Start On } | else { w.set TDCC.5 Auto.Start Off }
      if ($did($dname,227).text != $r.set(TDCC.1,Filename)) { w.set TDCC.5 Downloads 0 | w.set TDCC.5 Record.CPS 0 n/a }
      w.set TDCC.5 Filename $did($dname,227).text
      iw.set TDCC.5 Desc $isset($did($dname,230).text,No Description!)
    }
  }
}
on *:dialog:Addon:*:*:{ 
  if ($devent == init) {
    did -m $dname 6,11,16,21,26
    var %addon = 0
    :start
    inc %addon 1
    set %addon-file $findfile($shortfn($mircdirAddons),*.ini,%addon)
    if (%addon-file == $null) { unset %addon }
    elseif ($r.addon(%addon-file,Script) != $null) && ($r.addon(%addon-file,Version) != $null) && ($r.addon(%addon-file,Author) != $null)  && ($r.addon(%addon-file,Desc) != $null) && ($r.addon(%addon-file,Date) != $null) { did -a $dname 2 %addon-file | goto start }
    else { goto start }
  }
  if ($devent == dclick) {
    if $did == 2 {
      did -ra $dname 6 $size($lof($did($dname,2,$did($dname,2).sel)))
      did -ra $dname 11 $r.addon($did($dname,2,$did($dname,2).sel),Script) v $+ $r.addon($did($dname,2,$did($dname,2).sel),Version)
      did -ra $dname 16 $r.addon($did($dname,2,$did($dname,2).sel),Author)
      did -r $dname 21 | did -a $dname 21 $r.addon($did($dname,2,$did($dname,2).sel),Desc)
      did -ra $dname 26 $r.addon($did($dname,2,$did($dname,2).sel),Date)
      if ($script($did($dname,2).seltext) != $null) { did -ra $dname 5 Unload } | else { did -ra $dname 5 Load }
      if $script($did($dname,2).seltext) == $null { 
        .timer -o 1 0 addonLOAD $did($dname,2).seltext
        did -ra $dname 5 Unload 
        if ($r.set(Invision,SndOpt15) == On) { SoundQ $shortfn($mircdir) $+ $r.glob(Themes,Sound15) } 
      } 
      else { 
        .timer -o 1 0 addonUNLOAD $did($dname,2).seltext 
        did -ra $dname 5 Load 
        if ($r.set(Invision,SndOpt15) == On) { SoundQ $shortfn($mircdir) $+ $r.glob(Themes,Sound16) } 
      } 
    }
  }
  if ($devent == sclick) {
    click
    if ($did == 2) {
      did -ra $dname 6 $size($lof($did($dname,2,$did($dname,2).sel)))
      did -ra $dname 11 $r.addon($did($dname,2,$did($dname,2).sel),Script) v $+ $r.addon($did($dname,2,$did($dname,2).sel),Version)
      did -ra $dname 16 $r.addon($did($dname,2,$did($dname,2).sel),Author)
      did -r $dname 21 | did -a $dname 21 $r.addon($did($dname,2,$did($dname,2).sel),Desc)
      did -ra $dname 26 $r.addon($did($dname,2,$did($dname,2).sel),Date)
      if ($script($did($dname,2).seltext) != $null) { did -ra $dname 5 Unload } | else { did -ra $dname 5 Load }
    }
    if ($did == 5) {
      if $script($did($dname,2).seltext) == $null { 
        .timer -o 1 0 addonLOAD $did($dname,2).seltext
        did -ra $dname 5 Unload 
        if ($r.set(Invision,SndOpt15) == On) { SoundQ $shortfn($mircdir) $+ $r.glob(Themes,Sound15) } 
      } 
      else { 
        .timer -o 1 0 addonUNLOAD $did($dname,2).seltext 
        did -ra $dname 5 Load 
        if ($r.set(Invision,SndOpt15) == On) { SoundQ $shortfn($mircdir) $+ $r.glob(Themes,Sound16) } 
      } 
    }
  }
}
on *:dialog:XDCC_General:*:*:{
  if ($devent == init) {
    dialog -t $dname XDCC Settings for $iif($iSetwork != $null,$iSetwork,Global)
    did -ra $dname 11 $vnum($r.set(XDCC,Max.Sends.Each),1)
    did -ra $dname 6 $vnum($r.set(XDCC,Max.Sends.Total),2)
    did -ra $dname 21 $vnum($r.set(XDCC,Max.Queues.Each),2)
    did -ra $dname 16 $vnum($r.set(XDCC,Max.Queues.Total),5)
    if ($isnum($r.set(XDCC,Pack.List)) == $true) { did -c $dname 30 | did -ra $dname 32 $vnum($r.set(XDCC,Pack.List),30) }
    else { did -b $dname 31,32 | did -r $dname 32 }
    did -ra $dname 41 $vnum($r.set(XDCC,Ad.Delay),5)
    if (($r.set(XDCC,Channels) == All) || ($r.set(XDCC,Channels) == $null)) { did -c $dname 50 | did -b $dname 46,47,48 } | else { dla $dname 46 $r.set(XDCC,Channels) }
    if ($r.set(XDCC,Auto.Start) == On) { did -c $dname 51 }
  }
  if ($devent == sclick) {
    if ($did == 30) { if ($did($dname,$did).state == 1) { did -e $dname 31,32 | did -ra $dname 32 30 } | else { did -b $dname 31,32 | did -r $dname 32 } }
    if ($did == 47) && ($did($dname,46).sel == $null) && ($did($dname,46).text != $null) { did -a $dname 46 $vc($did($dname,46).text) | did -c $dname 46 $did($dname,46).lines }
    if ($did == 48) && ($did($dname,46).sel isnum) { did -d $dname 46 $did($dname,46).sel }
    if ($did == 50) { if ($did($dname,$did).state == 1) { did -b $dname 46,47,48 } | else { did -e $dname 46,47,48 } }
    if $did != 200 { click }
    if ($did == 200) {
      setsaved
      w.set XDCC Max.Sends.Each $vnum($did($dname,11).text,1)
      w.set XDCC Max.Sends.Total $vnum($did($dname,6).text,2)
      w.set XDCC Max.Queues.Each $vnum($did($dname,21).text,2)
      w.set XDCC Max.Queues.Total $vnum($did($dname,16).text,5)
      if ($did($dname,30).state == 1) && ($isnum($vnum($did($dname,32).text),30) == $true) { w.set XDCC Pack.List $vnum($did($dname,32).text,30) }
      else { w.set XDCC Pack.List Off }
      w.set XDCC Ad.Delay $vnum($did($dname,41).text,5)
      if ($did($dname,50).state == 1) || ($did($dname,46).lines == 0) { w.set XDCC Channels All } | else { dls $dname 46 w.set XDCC Channels }
      if ($did($dname,51).state == 1) { w.set XDCC Auto.Start On } | else { w.set XDCC Auto.Start Off }
    }
  }
}
on *:dialog:Request:*:*:{
  if ($devent == init) {
    dialog -t $dname Request Settings for $iif($iSetwork != $null,$iSetwork,Global)
    did -ra $dname 6 $r.set(Request,Request)
    did -ra $dname 31 $vnum($r.set(Request,Ad.Delay),5)
    if (($r.set(Request,Channels) == All) || ($r.set(Request,Channels) == $null)) { did -c $dname 12 | did -b $dname 11,13,14 } | else { dla $dname 11 $r.set(Request,Channels) }
    if ($r.set(Request,Auto.Start) == On) { did -c $dname 20 }
  }
  if ($devent == sclick) {
    if ($did == 12) { if ($did($dname,$did).state == 1) { did -b $dname 11,13,14 } | else { did -e $dname 11,13,14 } }
    if ($did == 13) && ($did($dname,11).sel == $null) && ($did($dname,11).text != $null) { did -a $dname 11 $vc($did($dname,11).text) | did -c $dname 11 $did($dname,11).lines }
    if ($did == 14) && ($did($dname,11).sel isnum) { did -d $dname 11 $did($dname,11).sel }
    if $did != 200 { click }  
    if ($did == 200) {
      setsaved
      iw.set Request Request $isset($did($dname,6).text,Nothing..)
      w.set Request Ad.Delay $vnum($did($dname,31).text,5)
      if ($did($dname,12).state == 1) || ($did($dname,11).lines == 0) { w.set Request Channels All } | else { dls $dname 11 w.set Request Channels }
      if ($did($dname,20).state == 1) { w.set Request Auto.Start On } | else { w.set Request Auto.Start Off }
    }
  }
}
menu @Invision_Pager {
  dclick {
    if ($sline(@Invision_Pager,1) != $null) {
      clear @Invision_Pager
      aline @Invision_Pager Time: $r.pager($sline(@Invision_Pager,1).ln,Time)
      aline -p @Invision_Pager Message: $r.pager($sline(@Invision_Pager,1).ln,Message)
    }
  }
  lbclick {
    if ($sline(@Invision_Pager,1) != $null) {
      clear @Invision_Pager
      aline @Invision_Pager Time: $r.pager($sline(@Invision_Pager,1).ln,Time)
      aline -p @Invision_Pager Message: $r.pager($sline(@Invision_Pager,1).ln,Message)
    }
  }
  Read Page:{
    if ($sline(@Invision_Pager,1) != $null) {
      clear @Invision_Pager
      aline @Invision_Pager Time: $r.pager($sline(@Invision_Pager,1).ln,Time)
      aline -p @Invision_Pager Message: $r.pager($sline(@Invision_Pager,1).ln,Message)
    }
  }
  Del Page:{
    if ($sline(@Invision_Pager,1) != $null) && ($r.pager($sline(@Invision_Pager,1).ln,Message) != $null) {
      var %page-c = $sline(@Invision_Pager,1).ln
      :start-del
      inc %page-c 1
      if ($r.pager(%page-c,Message) == $null) {
        d.pager $calc(%page-c - 1)
        clear @Invision_Pager
        clear -l @Invision_Pager
        var %page-c = 0
        :start-list
        inc %page-c 1
        if ($r.pager(%page-c,Message) == $null) { unset %page-c }
        else { aline -l @Invision_Pager $r.pager(%page-c,Nick) | goto start-list }
      } 
      else {
        w.pager $calc(%page-c - 1) Nick $r.pager(%page-c,Nick)
        w.pager $calc(%page-c - 1) Time $r.pager(%page-c,Time)
        w.pager $calc(%page-c - 1) Message $r.pager(%page-c,Message)
        goto start-del
      }
    }
  }
  -
  Clear All:{
    if ($$?!="Do you really want to Clear every Page?" == $true) {
      write -c $shortfn($mircdir) $+ Invision\Pager.ini
      clear -l @Invision_Pager
      clear @Invision_Pager
    }
  }
}
menu @Ports {
  dclick:{
    if ($strip($gettok($sline(@Ports,1),1,32),burc) == Fastest) {
      if ($strip($gettok($sline(@Ports,1),3,32),burc) != $port) { server $server $strip($gettok($sline(@Ports,1),3,32),burc) | window -c @Ports } | goto leave
    }
    if ($strip($gettok($sline(@Ports,1),2,32),burc) !isnum) || ($strip($gettok($sline(@Ports,1),2,32),burc) == $port) { goto leave }
    server $server $strip($gettok($sline(@Ports,1),2,32),burc) | window -c @Ports
  }
  Refresh Ports:port
  -
  Connect to Selected port:{
    if ($strip($gettok($sline(@Ports,1),1,32),burc) == Fastest) {
      if ($strip($gettok($sline(@Ports,1),3,32),burc) != $port) { server $server $strip($gettok($sline(@Ports,1),3,32),burc) | window -c @Ports } | goto leave
    }
    if ($strip($gettok($sline(@Ports,1),2,32),burc) !isnum) || ($strip($gettok($sline(@Ports,1),2,32),burc) == $port) { goto leave }
    server $server $strip($gettok($sline(@Ports,1),2,32),burc) | window -c @Ports
  }
  Connect to Fastest port:if ($strip($gettok($line(@ports,$line(@ports,0)),2,32),burc) != $port) { server $server $strip($gettok($line(@ports,$line(@ports,0)),2,32),burc) | window -c @Ports }
  -
  Close window:window -c @Ports
  :leave
}
Menu @Invision {
  dclick:run $r.static(Script,WebPage)
  Help:help
  Goto WebPage:run $r.static(Script,WebPage)
  Email $r.static(Script,Author):run mailto: $+ $r.static(Script,Email)
  -
  Close:window -c @Invision
}
Menu @About {
  dclick:Abouti2 | run $r.static(Script,WebPage)
  sclick {
    if $mouse.x >= 335 && $mouse.y >= 365 { Abouti2 }
    if $mouse.x > 190 && $mouse.x < 254 && $mouse.y > 360 { Abouti2 | .run https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&business=support@i-n-v-i-s-i-o-n.com&item_name=support@i-n-v-i-s-i-o-n.com+Donation&no_shipping=1&return=http://www.i-n-v-i-s-i-o-n.com/donation.htm&submit.x=22&submit.y=17 }
  }
}
Menu @Serve_Ads_* {
  $chr(32) $chr(32) $chr(32) $chr(32) $chr(32) $chr(32) $chr(32) $calc($fline($active,*,0,0) - 2) Total Ad Lines Shown:.
  $chr(32) $chr(32) $chr(32) $chr(32) $chr(32) $chr(32) $chr(32) $fline($active,*,0,1) Total Triggers Shown:.
  -
  $iif($r.set(Invision,IsoAdsOThalt) == On,$style(1)) Ads appear only in this window $chr(32) $chr(40) $+ $iNetwork $+ $chr(41):{ if $r.set(Invision,IsoAdsOThalt) == On { w.set Invision IsoAdsOThalt off } | else { w.set Invision IsoAdsOThalt on } }
}
Menu @logviewer {
  dclick:if ($isfile($gettok($window(@logviewer).title,2,32)) == $true) { run Notepad $gettok($window(@logviewer).title,2,32) }
  Run Notepad:if ($isfile($gettok($window(@logviewer).title,2,32)) == $true) { run Notepad $gettok($window(@logviewer).title,2,32) }
  -
  Delete Log:if (($isfile($gettok($window(@logviewer).title,2,32)) == $true) && ($$?!="Do you want to delete this log?" == $true)) { .remove $gettok($window(@logviewer).title,2,32) | clear @logviewer | aline @logviewer $c(1) $+ $nopath($gettok($window(@logviewer).title,2,32)) has been removed. | titlebar @logviewer - $logdir*.log | unset $gettok($window(@logviewer).title,2,32) }
  -
  Load a different day:logviewer $$sfile( [ $nofile($gettok($window(@logviewer).title,2,32)) ] [ $+ [ $gettok($nopath($gettok($window(@logviewer).title,2,32)),1,46) ] ] [ $+ [ *.log ] ] ,Choose Log to View)
  Refresh Log:{
    if ($isfile($gettok($window(@logviewer).title,2,32)) == $true) { 
      titlebar @logviewer - $gettok($window(@logviewer).title,2,32) | clear @logviewer
      aline @logviewer $c(1) $+ Name: $nopath($gettok($window(@logviewer).title,2,32))
      aline @logviewer $c(1) $+ Size: $size($file($gettok($window(@logviewer).title,2,32)).size)
      aline @logviewer $c(1) $+ Lines: $lines($gettok($window(@logviewer).title,2,32))
      aline @logviewer $c(1) $+  
      loadbuf -p @logviewer $gettok($window(@logviewer).title,2,32)
      aline @logviewer  
      aline @logviewer $c(1) $+ *** End of File.
      sline @logviewer 4 | goto leave
    }
  }
  View List:{
    set $gettok($window(@logviewer).title,2,32) $$file="Choose Log to View" $shortfn($logdir) $+ *.log
    titlebar @logviewer - $gettok($window(@logviewer).title,2,32) | clear @logviewer
    aline @logviewer $c(1) $+ Name: $nopath($gettok($window(@logviewer).title,2,32))
    aline @logviewer $c(1) $+ Size: $size($file($gettok($window(@logviewer).title,2,32)).size)
    aline @logviewer $c(1) $+ Lines: $lines($gettok($window(@logviewer).title,2,32))
    aline @logviewer $c(1) $+  
    loadbuf -p @logviewer $gettok($window(@logviewer).title,2,32)
    aline @logviewer  
    aline @logviewer $c(1) $+ *** End of File.
    sline @logviewer 4 | goto leave
  }
  -
  Close Viewer:window -c @logviewer
  :leave
}
Menu @syslogview {
  dclick:if ($isfile($gettok($window(@syslogview).title,2,32)) == $true) { run Notepad $gettok($window(@syslogview).title,2,32) }
  Run Notepad:if ($isfile($gettok($window(@syslogview).title,2,32)) == $true) { run Notepad $gettok($window(@syslogview).title,2,32) }
  -
  Delete Log:if (($isfile($gettok($window(@syslogview).title,2,32)) == $true) && ($$?!="Do you want to delete this log?" == $true)) { .remove $gettok($window(@syslogview).title,2,32) | clear @syslogview | aline @syslogview $c(1) $+ $nopath($gettok($window(@syslogview).title,2,32)) has been removed. | titlebar @syslogview - $logdir*.log | unset $gettok($window(@syslogview).title,2,32) }
  -
  Refresh Log:{
    if ($isfile($gettok($window(@syslogview).title,2,32)) == $true) { 
      titlebar @syslogview - $gettok($window(@syslogview).title,2,32) | clear @syslogview
      aline @syslogview $c(1) $+ Name: $nopath($gettok($window(@syslogview).title,2,32))
      aline @syslogview $c(1) $+ Size: $size($file($gettok($window(@syslogview).title,2,32)).size)
      aline @syslogview $c(1) $+ Lines: $lines($gettok($window(@syslogview).title,2,32))
      aline @syslogview $c(1) $+  
      loadbuf -p @syslogview $gettok($window(@syslogview).title,2,32)
      aline @syslogview  
      aline @syslogview $c(1) $+ *** End of File.
      sline @syslogview 4 | goto leave
    }
  }
  View List:{
    set $gettok($window(@syslogview).title,2,32) $$file="Choose Log to View" $shortfn($logdir) $+ *.log
    titlebar @syslogview - $gettok($window(@syslogview).title,2,32) | clear @syslogview
    aline @syslogview $c(1) $+ Name: $nopath($gettok($window(@syslogview).title,2,32))
    aline @syslogview $c(1) $+ Size: $size($file($gettok($window(@syslogview).title,2,32)).size)
    aline @syslogview $c(1) $+ Lines: $lines($gettok($window(@syslogview).title,2,32))
    aline @syslogview $c(1) $+  
    loadbuf -p @syslogview $gettok($window(@syslogview).title,2,32)
    aline @syslogview  
    aline @syslogview $c(1) $+ *** End of File.
    sline @syslogview 4 | goto leave
  }
  -
  Close Viewer:window -c @syslogview
  :leave
}
alias telcmd {
  if ($1 == $null) return
  if ($2 == $null) return
  bset &telcmd 1 255
  set %telcmd.len $gettok($2-,0,32)
  set %telcmd.num 0
  :telcmd
  inc %telcmd.num
  if (%telcmd.num > %telcmd.len) {
    sockwrite $1 &telcmd
    return
  }
  bset &telcmd $calc(%telcmd.num + 1) $gettok($2-,%telcmd.num,32)
  goto telcmd
}
alias telhp {
  if ($1 == $null) return
  if ($sock($rtrim(1,$1),0) == 0) return
  set $evac(telnet.psn,$rtrim(1,$1)) $calc($telen($editbox($1)) * 2)
  if ($evacl(telnet.psl,$rtrim(1,$1)) == $null) {
    set $evac(telnet.psl,$rtrim(1,$1)) $evacl(telnet.psn,$rtrim(1,$1))
  }
  if (($evacl(telnet.psn,$rtrim(1,$1)) == 2) && ($evacl(telnet.psn,$rtrim(1,$1)) == $evacl(telnet.psl,$rtrim(1,$1))) && ($right($editbox($1),1) != $chr(42))) {
    set $evac(telnet.ps,$rtrim(1,$1)) $asc($right($editbox($1),1)) $+ $chr(44)
  }
  if ($evacl(telnet.psn,$rtrim(1,$1)) > $evacl(telnet.psl,$rtrim(1,$1))) set $evac(telnet.ps,$rtrim(1,$1)) $evacl(telnet.ps,$rtrim(1,$1)) $+ $chr(44) $+ $asc($right($editbox($1),1))
  if ($evacl(telnet.psn,$rtrim(1,$1)) < $evacl(telnet.psl,$rtrim(1,$1))) set $evac(telnet.ps,$rtrim(1,$1)) $ltrim($calc($evacl(telnet.psl,$rtrim(1,$1)) - $evacl(telnet.psn,$rtrim(1,$1))),$evacl(telnet.ps,$rtrim(1,$1)))
  if ($editbox($1) != $null) set $evac(telnet.psl,$rtrim(1,$1)) $evacl(telnet.psn,$rtrim(1,$1))
  editbox $1 $str($chr(42),$calc($evacl(telnet.psn,$rtrim(1,$1)) / 2))
}
alias telhpout {
  if ($1 == $null) return
  unset %telhpout.*
  if (($2 == $null) || ($2 !isnum)) set %telhpout.tok 44
  if (($2 != $null) && ($2 isnum)) set %telhpout.tok $2
  set %telhpout.len $gettok($1,0,%telhpout.tok)
  set %telhpout.num 0
  :telhpout.loop | inc %telhpout.num
  if (%telhpout.num > %telhpout.len) { return %telhpout.val }
  set %telhpout.val %telhpout.val $+ $chr($gettok($1,%telhpout.num,%telhpout.tok))
  goto telhpout.loop
}
alias telen {
  if ($1 == $null) return
  if ($len($1) == $null) return 0
  else return $len($1)
}
alias evac {
  if ($1 == $null) return
  return $chr(37) $+ $1 $+ $2
}
alias evacl {
  if ($1 == $null) return
  return % [ $+ [ $remove($1-2,$chr(32)) ] ]
}
alias evacr return $1-
alias evar {
  if ($1 == $null) return
  return % [ $+ [ $1 ] ]
}
alias evau return $remove($1-,$chr(32))
alias rtrim return $right($2-,$calc($len($2-) - $1))
alias ltrim return $left($2-,$calc($len($2-) - $1))

on 1:INPUT:@telnet*: {
  if ($right($line($target,$line($target,0)),1) == $chr(255)) {
    if ($gettok($line($target,$line($target,0)),1,58) == Yourmomma) {
      if ($timer($rtrim(1,$target)) == 1) .timer $+ $rtrim(1,$target) $+ $iNetwork off
      sockwrite -n $gettok($target,1,64) $telhpout($evacl(telnet.ps,$rtrim(1,$target)))
      set $evac(telnet.tls,$gettok($target,1,64)) $1-
      unset $evac(telnet.ps,$rtrim(1,$target))
      unset $evac(telnet.psl,$rtrim(1,$target))
      unset $evac(telnet.psn,$rtrim(1,$target))
      halt
    }
    else rline $target $line($target,0) $line($target,$line($target,0)) $+ $1-
  }
  else {
    aline $target $1-
    unset $evac(telnet.tcr,$gettok($target,1,64))
  }
  :telnet.end
  sockwrite -n $gettok($target,1,64) $1-
  set $evac(telnet.tls,$gettok($target,1,64)) $1-
  halt
}
on 1:CLOSE:@telnet*: {
  if (tel isin $target) {
    if ($timer($rtrim(1,$target)) == 1) .timer $+ $rtrim(1,$target) $+ $iNetwork off
    echo -s $tptag Closed Connection to $c(2) $+ $sock($target).ip $+ .
    sockclose $target
    unset $evac(telnet.*,$target)
    return
  }
}
on 1:SOCKOPEN:telnet*: {
  if ($sockerr > 0) {
    echo -a $tpse
    echo -a $tptag Could not Connect to $c(2) $+ $sock($sockname).ip $+ .
    return
  }
  window -ek0 $evau(@,$sockname) Terminal
  titlebar $evau(@,$sockname) - CONNECTED
}
on 1:SOCKCLOSE:telnet*: {
  if ($timer($target) == 1) .timer $+ $target $+ $iNetwork off
  window -c @ $+ $sockname
  echo -s $tptag Connection to $c(2) $+ $sock($sockname).ip was disconnected.
  unset $evac(telnet.*,$sockname)
}
on 1:SOCKREAD:telnet*: {
  sockread &tel
  set %telread.len $bvar(&tel,0)
  set %telread.num 0
  set %telread.sp 0
  :telread
  inc %telread.num
  if (%telread.num > %telread.len) {
    if ($evacl(telnet.tls,$sockname) != $null) {
      if ($left($gettok($evacl(telnet.tls,$sockname),1,32),$len($gettok(%telread.str,1,32))) != $null) goto tpa
      if ($left($gettok($evacl(telnet.tls,$sockname),1,32),$len($gettok(%telread.str,1,32))) == $null) return
      :tpa
      if ($gettok(%telread.str,1,32) == $left($gettok($evacl(telnet.tls,$sockname),1,32),$len($gettok(%telread.str,1,32)))) {
        set $evac(telnet.tcn,$sockname) 1
        unset %telread.*
        return
      }
    }
    if (($mid(%telread.str,1,1) == $chr(253)) && ($mid(%telread.str,2,1) == $chr(24))) set %telread.go 1
    if (($mid(%telread.str,1,1) == $chr(255)) && ($mid(%telread.str,2,1) == $chr(251))) set %telread.go 1
    if (%telread.go) {
      unset %telread.go
      unset %telread.str
    }
    if ((%telread.str) && ($replace(%telread.str,$chr(255),$chr(32)) != $evacl(telnet.tls,$sockname))) {
      if ($gettok(%telread.str,1,58) == Yourmamma) .timer $+ $sockname $+ $iNetwork -m 0 1 telhp $evau(@,$sockname)
      aline $evau(@,$sockname) %telread.str
    }
    unset %telread.*
    return
  }
  if (%telread.fst == 1) {
    if ($bvar(&tel,%telread.num) == 109) unset %telread.fst
    goto telread
  }
  if (($bvar(&tel,%telread.num) == 27) && ($bvar(&tel,$calc(%telread.num + 1)) == 91)) {
    set %telread.fst 1
    goto telread
  }
  if (($bvar(&tel,%telread.num) = 255) && ($bvar(&tel,$calc(%telread.num + 1)) == 253)) {
    telcmd $sockname 252 $bvar(&tel,$calc(%telread.num + 2))
    goto telread
  }
  if ($bvar(&tel,%telread.num) == 13) {
    goto telread
  }
  if ($bvar(&tel,%telread.num) == 9) {
    set %telread.str %telread.str $+ $str($chr(255),5)
    goto telread
  }
  if ($bvar(&tel,%telread.num) == 10) {
    if ($evacl(telnet.tcn,$sockname)) {
      unset $evac(telnet.tls,$sockname)
      unset $evac(telnet.tcn,$sockname)
      unset %telread.str
      goto telread
    }
    if (%telread.str == $null) aline $evau(@,$sockname) $chr(255)
    if (($mid(%telread.str,1,1) == $chr(253)) && ($mid(%telread.str,2,1) == $chr(24))) set %telread.go 1
    if (($mid(%telread.str,1,1) == $chr(255)) && ($mid(%telread.str,2,1) == $chr(251))) set %telread.go 1
    if (%telread.go) {
      unset %telread.go
      unset %telread.str
    }
    if ((%telread.str) && ($replace(%telread.str,$chr(255),$chr(32)) != $evacl(telnet.tls,$sockname))) {
      aline $evau(@,$sockname) %telread.str
    }
    unset %telread.al
    unset %telread.str
    goto telread
  }
  if ($bvar(&tel,%telread.num) == 32) {
    set %telread.str %telread.str $+ $chr(255)
    goto telread
  }
  set %telread.str %telread.str $+ $chr($bvar(&tel,%telread.num))
  goto telread
}
Menu @Telnet* {
  Close Connection:{ sockclose $right($mouse.win,-1) | window -c $mouse.win } 
}
alias tptag { return $c(2) $+ $chr(91) $+ $c(1) $+ TELNET $+ $c(2) $+ $chr(93) $+ $c(1) }
alias tpse return $tptag Socket Error
alias telnet {
  if ($1 == $null) {
    Halt
  }
  inc %telnet.num
  if ($2 != $null) { set %telnet.port $2 }
  else { set %telnet.port 23 }
  sockclose Telnet $+ -> $+ $1 $+ : $+ %telnet.port $1
  sockopen Telnet $+ -> $+ $1 $+ : $+ %telnet.port $1 %telnet.port
}
Menu @Serve_Ads* {
  dclick:{ 
    .timerFSEB $+ $iNetwork -o 1 60 unset %altFxPflag [ $+ [ $iNetwork ] ]  
    set %altFxPflag [ $+ [ $iNetwork ] ] 1 
    if $gettok($strip($gettok($sline($active,1),1,32),burc),1,32) != /ctcp {
      if $me ison $right($active,-11) { msg $right($active,-11) $strip($sline($active,1),burc) } 
    }
    else {
      ctcp $strip($gettok($sline($active,1),2-,32),burc)
    }
  }
}
Menu @Clone_Report_* {
  Display in Channel:{ 
    var %lines = $line($active,0,0)
    var %ct = 1
    while (%ct <= %lines) { 
      .timer 1 $calc( [ %ct - 1 ] * 2) if $me ison $right($active,-14) msg $right($active,-14) $line($active,%ct,0)
      inc %ct 1
      continue
    }
  }
  Close:{ window -c $active }
}
dialog spamfilters {
  title "                       Spam Filter List"
  icon Invision\Themes\gfx\default\i2tray1.ico
  size -1 -1 140 100
  option dbu 
  button "" 200 , 109 89 30 10, cancel hide
  button "Add Filter", 20, 4 0 50 10
  button "Remove Selected", 30, 86 0 50 10
  list 50, 4 10 132 80, autohs center
  button "Ok", 100, 55 89 30 10, ok
}
on *:dialog:spamfilters:*:*:{ 
  if ($devent == init) {
    dla $dname 50 $r.set(Invision,SpamList)
  }
  if $devent == sclick {
    if $did == 20 {
      var %joj = $input(New Filter to Add?,129,Add?)
      dialog -v spamfilters
      if %joj != $null {
        did -a $dname 50 %joj
      }
    }
    if $did == 30 {
      if $did($dname,50).sel != $null && $did($dname,50).seltext != $null {
        did -d $dname 50 $did($dname,50).sel
        dialog -v spamfilters
      }
    }
    if $did == 100 {
      if $did($dname,50).lines >= 1 { dls $dname 50 w.set Invision SpamList } | else { d.set Invision SpamList }
      dialog -v InvisMain
    }
    if $did == 200 {
      dialog -v InvisMain
    }
  }
}
alias bug+ { .write $shortfn($mircdir) $+ bugrep $replace($1-,$chr(37),$chr(32) $+ percent,\,-,=,-) }
on *:dialog:bugreport:sclick:500:{ 
  .write -c $shortfn($mircdir) $+ bugrep
  bug+ Invision 2.0 Bug Report Generated [ $time(dddd mm/dd/yyyy h:nntt) ]
  bug+ The added info below what you entered is to help diagnose the problem please feel free to review it before sending.
  bug+ _______________________________________________________________________________________________
  bug+ $chr(160)
  var %ct = 1
  while (%ct <= 100) {
    var %curline = $did($dname,200,%ct).text
    bug+ [ $did($dname,200,%ct).text ]
    inc %ct 1
    continue
  }
  bug+ $chr(160)
  bug+ _______________________________________________________________________________________________
  bug+ $chr(160)
  bug+ Using Invision 2.0 Build $r.static(Script,Build) on Windows $+ $os and mIRC $version 
  bug+ CPU/MEM: $dll(invision.dll,invisionCPU,_) with $dll(invision.dll,invisionMEM,_) 
  ; if %lalala == On {
  bug+ Storage System: $r.set(Personal.Info,HD) Internet Connection: $r.set(Personal.Info,Connection)
  ; }
  ; bug+ Display System: $r.set(Personal.Info,Video) using a $r.set(personal.info,Monitor) monitor at $dll(invision.dll,invisionRES,_)

  bug+ Total Bandwidth at $ratefix($calc($gbandwidth + $bandwidth)) with $send(0) outgoing send $+ $iif($send(0) != 1,s) totaling $ratefix($bandwidth) and $get(0)  incoming get $+ $iif($get(0) != 1,s) totaling $ratefix($gbandwidth)
  bug+ Total DCC's in Progress is $calc($send(0) + $get(0))
  if $send(0) >= 1 {
    var %ct = 1
    while (%ct <= $send(0)) {
      bug+ Send $chr(35) $+ %ct Status:  $send(%ct).status $char(160) CPS: $send(%ct).cps $chr(160) Sent:  $send(%ct).sent $chr(160) Percent Xfered: $send(%ct).pc  
      inc %ct 1
      continue
    }
  }
  if $get(0) >= 1 {
    var %ct = 1
    while (%ct <= $get(0)) {
      bug+ Get $chr(35) $+ %ct Status:  $get(%ct).status $char(160) CPS: $get(%ct).cps $chr(160) Received: $get(%ct).sent $chr(160) Percent Xfered: $get(%ct).pc  
      inc %ct 1
      continue
    }
  }
  if $server != $null {
    bug+ Connected to: $server $+ : $+ $port of $server($server).group as $me $usermode and is $iif($away,away,not away)
    bug+ Network ID: $network  $chr(160) Prefix's: $prefix  $chr(160) Modemax: $modespl
    bug+ In a Total of $chan(0) Channels 
    var %ct = 1
    while (%ct <= $chan(0)) {
      bug+ Channel $chr(35) $+ %ct $chr(160) modes: $gettok($chan(%ct).mode,1,32) $chr(160) status:  $chan(%ct).status $chr(160) IAL synced: $iif($chan(%ct).ial,Yes,No)
      inc %ct 1
      continue
    }
  }
  bug+ Fserve Status: $r.set(Fserve,Status) $chr(160) Listening: $r.set(Fserve,Listen) $chr(160) Pause: $r.set(Fserve,Pause)
  bug+ mp3Serv Status: $r.set(mp3Serv,Status) $chr(160) Listening: $r.set(mp3Serv,Listen) $chr(160) Pause: $r.set(mp3Serv,Pause)
  bug+ XDCC Status: $r.set(XDCC,Status) $chr(160) Anouncer Status: $r.set(Anouncer,Status) $chr(160) Requester Status: $r.set(Request,Status)
  bug+ TDCC1 Status: $r.set(Tdcc.1,status) $chr(160) TDCC2 Status: $r.set(tdcc.2,status) $chr(160) TDCC3 Status: $r.set(tdcc.3,status) $chr(160) TDCC3 Status: $r.set(TDCC.3,status) $chr(160) TDCC4 Status: $r.set(tdcc.4,status) $chr(160) TDCC5 Status: $r.set(tdcc.5,status)

  .timer -o 1 0 bugreport
}
dialog twoinvisions {
  title "WARNING!"
  icon Invision\Themes\gfx\default\i2tray1.ico
  size -1 -1 140 60
  option dbu

  button "Ok",100, 55 50 30 10, ok
  text "Either you are running two Instances of Invision from the same directory or you didn't close mIRC down properly last time. Running two instances from the same directory (other then script rebooting) can cause corrupted Settings and/or script. Please use seperate directories for additional Instances of Invision.", 200, 4 4 132 45, center
}
dialog booterror {
  title "SEVERE ERROR!"
  icon Invision\Themes\gfx\default\i2tray1.ico
  size -1 -1 140 65
  option dbu

  button "Ok",100,55 55 30 10, ok
  text "A serious error has occured during script boot. Invision will not function correctly under this condition and therefor will be forced to shutdown in 60 seconds. Please scroll through the Status Window Text and try and locate the error. Errors by default will appear in green type and be preceded by *. If you need help solving the problem please contact Invision Support at support@i-n-v-i-s-i-o-n.com.", 200, 4 0 132 53, center
}
dialog bugreport {
  title "Invision 2.0 Bug Report"
  icon Invision\Themes\gfx\default\i2tray1.ico
  size -1 -1 240 150
  option dbu

  text "Please Describe the Problem you are having below.", 100, 4 1 232 8
  edit "", 200, 4 10 232 130, multi return vsbar
  button "Ok", 500, 105 140 30 10, Ok
}
Dialog AwayMgr {
  title "Away Manager"
  icon Invision\Themes\gfx\default\i2tray1.ico
  size -1 -1 300 271
  option dbu

  tab "General Settings", 1, 2 0 294 212
  tab "Custom Away Messages", 2

  box " Active Help ", 1501, 4 214 292 47
  edit "", 1502, 8 221 284 37, multi autovs

  button "OK", 498, 91 262 35 9, ok
  button "Cancel", 499, 131 262 35 9, cancel
  button "&Apply", 500, 171 262 35 9

  box "Away Nickname", 190, 10 20 140 30, tab 1
  text "Away:", 193, 15 37 40 10, tab 1
  edit "", 194, 47 35 80 10, autohs, tab 1
  box " Actions ", 344, 10 53 140 120, tab 1
  check "",188, 15 60 8 10, tab 1
  text "Messages to single window when away",189, 24 61 121 8, tab 1
  check "", 195, 15 70 8 10, tab 1
  text "Deop in channels when away", 1091, 24 71 121 8, tab 1
  check "", 196, 15 80 8 10, tab 1
  text "Auto Reply to people", 1092, 24 81 121 8, tab 1
  check "", 197, 15 90 8 10, tab 1
  text "Turn on Pager and Logger", 1093, 24 91 121 8, tab 1
  check "", 198, 15 100 8 10, tab 1
  text "Auto Refuse DCC Chats", 1094, 24 101 121 8, tab 1
  check "", 199, 15 110 8 10, tab 1
  text "Display Away Msg on Nick use", 1095, 24 111 121 8, tab 1

  ;   *****************   Spare Text IDs 1096 - 1100    *******************

  box "Away Message", 204, 155 143 65 30, tab 1
  check "Enabled", 205, 160 150 30 10, tab 1
  text "Timer (min):", 160, 160 162 30 8, tab 1
  edit "", 207, 190 160 20 10, tab 1 center
  box "Auto Away", 200, 225 143 65 30, tab 1
  check "Enabled", 201, 230 150 30 10, tab 1
  text "Timer (min):", 214, 228 162 30 8, tab 1
  edit "", 203, 261 160 20 10, tab 1 center
  box " Active Channels ", 215, 155 20 135 122, tab 1
  radio "Include", 218, 200 30 30 10, tab 1 group
  radio "Exclude", 219, 240 30 30 10, tab 1 
  combo 217, 190 40 90 95, tab 1
  button "Add", 220, 160 40 25 9, tab 1
  button "Rem", 221, 160 50 25 9, tab 1 
  check "All Channels", 222, 210 131 50 10, tab 1
  text "Pretty much a straight forward Away System as in alot of other scripts.  Auto away is just what you think.. Sets you away automatically after the specified time set.  The message tells all the channels your on that your away and why at intervals according to the timer setting.", 208, 15 130 130 40, tab 1
  box " Personal Auto Away Msg ", 345, 10 175 280 23, tab 1
  check "Enable", 346, 15 185 27 10, tab 1
  edit "", 347, 44 185 240 10, tab 1

  ; ################ TAB 2 ##################

  box "", 1200, 4 16 290 186, tab 2
  text "Away 1 Description:", 1201, 8 25 48 10, tab 2
  edit "", 1202, 56 23 75 10, tab 2
  text "Away 1 Message:", 1203, 8 35 45 10, tab 2
  edit "", 1204, 56 33 230 10, tab 2
  box "", 1205, 4 44 290 1, tab 2

  text "Away 2 Description:", 1211, 8 53 48 10, tab 2
  edit "", 1212, 56 51 75 10, tab 2
  text "Away 2 Message:", 1213, 8 63 45 10, tab 2
  edit "", 1214, 56 61 230 10, tab 2
  box "", 1215, 4 72 290 1, tab 2

  text "Away 3 Description:", 1221, 8 81 48 10, tab 2
  edit "", 1222, 56 79 75 10, tab 2
  text "Away 3 Message:", 1223, 8 91 45 10, tab 2
  edit "", 1224, 56 89 230 10, tab 2
  box "", 1225, 4 100 290 1, tab 2

  text "Away 4 Description:", 1231, 8 109 48 10, tab 2
  edit "", 1232, 56 107 75 10, tab 2
  text "Away 4 Message:", 1233, 8 119 45 10, tab 2
  edit "", 1234, 56 117 230 10, tab 2
  box "", 1235, 4 128 290 1, tab 2

  text "Away 5 Description:", 1241, 8 137 48 10, tab 2
  edit "", 1242, 56 135 75 10, tab 2
  text "Away 5 Message:", 1243, 8 147 45 10, tab 2
  edit "", 1244, 56 145 230 10, tab 2
  box "", 1245, 4 156 290 1, tab 2

  text "Away 6 Description:", 1251, 8 165 48 10, tab 2
  edit "", 1252, 56 163 75 10, tab 2
  text "Away 6 Message:", 1253, 8 175 45 10, tab 2
  edit "", 1254, 56 173 230 10, tab 2
  box "", 1255, 4 184 290 1, tab 2

  text "* The Description is what appears in the menu. Leaving a Description Field blank will remove it from the menu.", 1260, 8 193 265 10, tab 2 center

}
on *:dialog:awaymgr:*:*:{
  if $devent == mouse { 
    .timer -om 1 500 AwayHelp $mouse.x $mouse.y
  }
  if $devent == init {
    if $r.set(Away,Msglogger) == On { did -c $dname 188 }
    if ($r.set(Invision,AutoAwayMsg.Status) == On) { did -c $dname 346 }
    did -ra $dname 347 $r.set(Invision,AutoAwayMsg.Msg)
    did -ra $dname 194 $r.set(Away,Away.Nick)
    if ($r.set(Away,Auto.Deop) == On) { did -c $dname 195 }
    if ($r.set(Away,Auto.Reply) == On) { did -c $dname 196 }
    if ($r.set(Away,Pager) == On) { did -c $dname 197 }
    if ($r.set(Away,Reject.Chat) == On) { did -c $dname 198 }
    if ($r.set(Away,Auto.Away) == On) { did -c $dname 201 }
    did -ra $dname 203 $vnum($r.set(Away,Auto.Away.Delay),30)
    if ($r.set(Away,Away.Msg) == On) { did -c $dname 205 }
    did -ra $dname 207 $vnum($r.set(Away,Away.Msg.Delay),60)
    if ($r.set(Away,Channels) == All) || ($r.set(Away,Channels) == $null) { did -c $dname 222 | did -b $dname 217,220,221 }
    else { dla $dname 217 $r.set(Away,Channels) }
    if ($r.set(Away,chanInclude) == On) { did -c $dname 218 } | else { did -c $dname 219 }
    if ($r.set(Invision,AwayAlert) == On) { did -c $dname 199 }
    did -ra $dname 1202 $r.glob(Customs,AWY1.desc)
    did -ra $dname 1204 $r.glob(Customs,AWY1.msg)
    did -ra $dname 1212 $r.glob(Customs,AWY2.desc)
    did -ra $dname 1214 $r.glob(Customs,AWY2.msg)
    did -ra $dname 1222 $r.glob(Customs,AWY3.desc)
    did -ra $dname 1224 $r.glob(Customs,AWY3.msg)
    did -ra $dname 1232 $r.glob(Customs,AWY4.desc)
    did -ra $dname 1234 $r.glob(Customs,AWY4.msg)
    did -ra $dname 1242 $r.glob(Customs,AWY5.desc)
    did -ra $dname 1244 $r.glob(Customs,AWY5.msg)
    did -ra $dname 1252 $r.glob(Customs,AWY6.desc)
    did -ra $dname 1254 $r.glob(Customs,AWY6.msg)
  }
  if $devent == sclick {
    if ($did == 222) { if ($did($dname,$did).state == 1) { did -b $dname 217,220,221 } | else { did -e $dname 217,220,221 } }
    if ($did == 220) && ($did($dname,217).sel == $null) && ($did($dname,217).text != $null) { did -a $dname 217 $vc($did($dname,217).text) | did -c $dname 217 $did($dname,217).lines }
    if ($did == 221) && ($did($dname,217).sel isnum) { did -d $dname 217 $did($dname,217).sel }
    if $did >= 1 && $did <= 9 { did -r $dname 1502 }
    if $did == 498 || $did == 500 {
      if $did($dname,188).state == 1 { w.set Away Msglogger On } | else { w.set Away Msglogger Off }
      if ($did($dname,222).state == 1) || ($did($dname,217).lines == 0) { w.set Away Channels All }
      else { dls $dname 217 w.set Away Channels }
      if ($did($dname,218).state == 1) { w.set Away chanInclude On } | else { w.set Away chanInclude Off }
      if ($did($dname,199).state == 1) { w.set Invision AwayAlert On } | else { w.set Invision AwayAlert Off }
      if ($did($dname,346).state == 1) { w.set Invision AutoAwayMsg.Status On } | else { w.set Invision AutoAwayMsg.Status Off }
      w.set Invision AutoAwayMsg.Msg $isset($did($dname,347).text,$null)
      if $did($dname,194).text == $null { did -ra $dname 194 n/a }
      w.set Away Away.Nick $did($dname,194).text
      if ($did($dname,195).state == 1) { w.set Away Auto.Deop On } | else { w.set Away Auto.Deop Off }
      if ($did($dname,196).state == 1) { w.set Away Auto.Reply On } | else { w.set Away Auto.Reply Off }
      if ($did($dname,197).state == 1) { w.set Away Pager On } | else { w.set Away Pager Off }
      if ($did($dname,198).state == 1) { w.set Away Reject.Chat On } | else { w.set Away Reject.Chat Off }
      if ($did($dname,201).state == 1) { w.set Away Auto.Away On } | else { w.set Away Auto.Away Off }
      w.set Away Auto.Away.Delay $vnum($did($dname,203).text,30)
      if ($r.set(Away,Auto.Away) == On) && ($isnum($r.set(Away,Auto.Away.Delay)) == $true) && ($away != $true) { .timerAuto.Away $+ $iNetwork 1 $calc($r.set(Away,Auto.Away.Delay) * 60) auto-away } | else { .timerAuto.Away $+ $iNetwork Off }
      if ($did($dname,205).state == 1) { w.set Away Away.Msg On } | else { w.set Away Away.Msg Off }
      w.set Away Away.Msg.Delay $vnum($did($dname,207).text,30)
      if ($isnum($r.set(Away,Away.Msg.Delay)) == $true) && ($r.set(Away,Away.Msg) == On) && ($away == $true) { .timerAway.Msg $+ $iNetwork 0 $calc($r.set(Away,Away.Msg.Delay) * 60) away.msg }
      if $did($dname,1202).text != $null { w.glob Customs AWY1.desc $did($dname,1202).text } | else { d.glob Customs AWY1.desc }
      if $did($dname,1204).text != $null { w.glob Customs AWY1.msg $did($dname,1204).text } | else { d.glob Customs AWY1.msg }
      if $did($dname,1212).text != $null { w.glob Customs AWY2.desc $did($dname,1212).text } | else { d.glob Customs AWY2.desc }
      if $did($dname,1214).text != $null { w.glob Customs AWY2.msg $did($dname,1214).text } | else { d.glob Customs AWY2.msg }
      if $did($dname,1222).text != $null { w.glob Customs AWY3.desc $did($dname,1222).text } | else { d.glob Customs AWY3.desc }
      if $did($dname,1224).text != $null { w.glob Customs AWY3.msg $did($dname,1224).text } | else { d.glob Customs AWY3.msg }
      if $did($dname,1232).text != $null { w.glob Customs AWY4.desc $did($dname,1232).text } | else { d.glob Customs AWY4.desc }
      if $did($dname,1234).text != $null { w.glob Customs AWY4.msg $did($dname,1234).text } | else { d.glob Customs AWY4.msg }
      if $did($dname,1242).text != $null { w.glob Customs AWY5.desc $did($dname,1242).text } | else { d.glob Customs AWY5.desc }
      if $did($dname,1244).text != $null { w.glob Customs AWY5.msg $did($dname,1244).text } | else { d.glob Customs AWY5.msg }
      if $did($dname,1252).text != $null { w.glob Customs AWY6.desc $did($dname,1252).text } | else { d.glob Customs AWY6.desc }
      if $did($dname,1254).text != $null { w.glob Customs AWY6.msg $did($dname,1254).text } | else { d.glob Customs AWY6.msg }
      setsaved
    }
  }
}
on *:Dialog:*:*:*:{
  if $devent == sclick {
    ; secho DID: $did > $dialog($dname).ok > $dialog($dname).cancel
    if $did == $dialog($dname).ok || $did == $dialog($dname).cancel {
      if $agent(mirc).visible { .ghide mirc }
    }
  }
}
on $*:TEXT:/^[!@.]bomb /Si:#:{
  if ($nick !isop $chan) { .notice $nick *** [4Time Bomb]: Time Bombs can only be set by Channel Ops. | halt }
  if ($2 !ison $chan) { .notice $nick *** [4Time Bomb]: Usage: !timebomb <nick> (person MUST be on $chan $+ ) | halt }
  if ($2 == $me) { .notice $nick *** [4Time Bomb]: Choose a person OTHER than me please. | halt }
  if (%timebomb) { .notice $nick Timebomb is already being used | halt }
  else timebomb $chan $2
}

alias timebomb {
  set %timebomb 1
  set %timebomb.nick $2
  set %timebomb.address $address($2,3)
  set %tbrunaway. [ $+ [ $address($2,3) ] ] $1
  set %timebomb.chan $1
  set %timebomb.time $rand(20,90)
  set %timebomb.w. $rand(2,6)
  if (%timebomb.w. == 2) { .set %timebomb.w Red, Blue }
  if (%timebomb.w. == 3) { .set %timebomb.w Red, Blue, Green }
  if (%timebomb.w. == 4) { .set %timebomb.w Red, Blue, Green, White }
  if (%timebomb.w. == 5) { .set %timebomb.w Red, Blue, Green, White, Black }
  if (%timebomb.w. == 6) { .set %timebomb.w Red, Blue, Green, White, Black, Purple }
  while (%timebomb.w2 !isin %timebomb.w) {
    set %timebomb.w2 $rand(1,6)
    set %timebomb.w2 $replace(%timebomb.w2,1,Red,2,Blue,3,Green,4,White,5,Black,6,Purple)
  }
  echo -a *** Correct wire is %timebomb.w2
  describe $chan stuffs a Time Bomb down %timebomb.nick $+ 's Pants.  The display reads %timebomb.time seconds.
  msg $chan %timebomb.nick $+ : You have the choice of4 %timebomb.w. wires ( $+ %timebomb.w $+ ) use4 @cut <color> to cut one!
  .enable #bombon
  .timerbombhalf 1 $calc(%timebomb.time / 2) msg %timebomb.chan Hurry %timebomb.nick $+ ! You only have $calc(%timebomb.time / 2) seconds left!
  .timerbomb 1 %timebomb.time /tblose
}

#bombon off
on $*:TEXT:/^[!@.](cut|cutwire) /Si:%timebomb.chan:{
  if ($address($nick,3) == %timebomb.address) {
    if (($findtok($remove(%timebomb.w,$chr(32)),$2,1,44)) && ($2 == %timebomb.w2)) {
      msg $chan $nick has cut the $2 wire and has successfully diffused the Bomb!
      if ($me isop $chan) { mode $chan +v $nick }
      .timerbombhalf off
      .timerbomb off
      .disable #bombon
      .unset %timebomb* %tbrunaway. [ $+ [ $address($nick,3) ] ]
    }
    elseif (!$findtok($remove(%timebomb.w,$chr(32)),$2,1,44)) {
      msg $chan $nick $+ , That's not a valid wire! Choices are %timebomb.w $+ ! Hurry!
    }
    else {
      msg $chan $nick has cut the $2 wire. %timebomb.w2 was the correct wire! The Bomb has EXPLODED!
      if ($me isop $chan) { kick $chan $nick *BOOM* }
      .timerbombhalf off
      .timerbomb off
      .disable #bombon
      .unset %timebomb* %tbrunaway. [ $+ [ $address($nick,3) ] ]
    }
  }
}
#bombon end

alias tblose {
  .disable #bombon
  .unset %tbrunaway. [ $+ [ $address(%timebomb.nick,3) ] ]
  msg %timebomb.chan %timebomb.nick has failed to defuse the bomb, and it has detonated.
  if ($me isop %timebomb.chan) kick %timebomb.chan %timebomb.nick *BOOM*
  .unset %timebomb*
}

on *:part:%timebomb.chan:{
  if ((%timebomb.address) && ($address($nick,3) == %timebomb.address)) { 
    .disable #bombon
    msg $chan [4Time Bomb]: %timebomb.nick can't get away that easily. Wait until he rejoins...
    .unset %timebomb*
    .timerbombhalf off
    .timerbomb off
  }
}

on *:nick:{
  if ((%timebomb.address) && ($address($nick,3) == %timebomb.address)) {
    %timebomb.nick = $newnick
    msg %timebomb.chan [4Time Bomb]: Can't escape me that way %timebomb.nick $+ ! Better Hurry!
  }
}

on *:quit:{
  if ((%timebomb.address) && ($nick == %timebomb.nick)) { 
    .disable #bombon
    .timerbombhalf off
    .timerbomb off
    msg %timebomb.chan [4Time Bomb]: %timebomb.nick can't get away that easily. Wait until he rejoins...
    .unset %timebomb*
  }
}

on *:JOIN:#:{
  if ($chan == %tbrunaway. [ $+ [ $address($nick,3) ] ] ) {
    msg $chan [4Time Bomb]: You thought you could escape, $nick $+ ! But you have a Time Bomb waiting!
    timebomb $chan $nick
  }
}


on *:TEXT:@calc *:#: msg $chan $nick $+ : The answer is $calc($2-)

on *:TEXT:!fuck *:#:{
  if ($2 == RussellReal) {
    halt
  }
  elseif ($2 ison $chan) {
    describe $chan watches $2 get fucked down his gaping pussy by Michael Jackson!
  }
}
#stats on

alias c1 { return $+(7,$1-) }
alias c2 { return $+(04,$1-) }

on *:text:*:#: {

  tokenize 32 $strip($1-)
  if ($left($1,1) !isin @!.) halt
  if ($right($1,-1) == lookup) var %style = astats
  elseif ($regex($1,/co?mb(at)?/Si)) var %style = combat
  elseif ($setskill($remove($1,@,!,.))) var %style = istat, %skill = $setskill($remove($1,@,!,.))
  elseif ($right($1,-1) == setrsn) && ($2) {

    if ($2 == -h) {
      writeini DefRSN.ini RSNs $mask($fulladdress,3) $replace($3-,$chr(32),-)
      .notice $nick You're default RSN for the host $mask($fulladdress,3) has been set to $3-
    }
    else {
      writeini DefRSN.ini RSNs $nick $replace($2-,$chr(32),-)
      .notice $nick You're default RSN for the nick $nick has been set to $2-
    }
    halt
  }
  else halt

  inc %ID
  if ($len($2-) > 12) {
    $($+(%,stats.display.,%ID),2) $c1(The nick) $c2($2-) $c1(is too long)
    cleanup %ID
    halt
  }
  elseif ($2) set $+(%,stats.rsn.,%ID) $replace($2-,$chr(32),-)
  elseif ($readini(DefRSN.ini,RSNs,$mask($fulladdress,3))) set $+(%,stats.rsn.,%ID) $ifmatch
  elseif ($readini(DefRSN.ini,RSNs,$nick)) set $+(%,stats.rsn.,%ID) $ifmatch
  else set $+(%,stats.rsn.,%ID) $nick

  set $+(%,stats.style.,%ID) %style
  set $+(%,stats.skill.,%ID) %skill
  set $+(%,stats.display.,%ID) $iif($left($1,1) == @,msg $chan,notice $nick)
  sockopen $+(stats.,%ID) hiscore.runescape.com 80
}

on *:sockopen:stats.*: {
  var %id = $gettok($sockname,2,46)
  sockwrite -n $sockname GET /lang/en/aff/runescape/hiscorepersonal.ws?user1= $+ $($+(%,stats.rsn.,%ID),2) HTTP/1.1
  sockwrite -n $sockname Host: hiscore.runescape.com $+ $crlf $+ $crlf
}
on *:sockread:stats.*: {
  sockread &Incoming
  bwrite $sockname -1 -1 &Incoming
  if ($bfind(&Incoming, 1, </html>).text) makehash $sockname
  elseif ($bfind(&Incoming, 1, does not feature in the hiscores.).text) {
    $($+(%,stats.display.,%ID),2) $c1(The nick) $c2($($+(%,stats.rsn.,%ID),2)) $c1(Does not appear in the hiscores)
    cleanup $gettok($sockname,2,46)
  }
}
alias -l makehash {
  var %file = $1
  bread %file 1 $file(%file).size &stats
  var %currentstat, %x = 1
  while (%x) {
    var %x = $bfind(&stats,$calc(%x + 1),<a href="overall.ws?table=)
    var %currentstat = $striptags($bvar(&stats,%x,200).text)
    tokenize 32 %currentstat
    hadd -m %file $1 $2 $3 $4 $xp2next($3,$4)
  }
  process %file
}
alias process {
  var %table = $1, %id = $gettok($1,2,46), %x = 0, $&
    %display = $($+(%,stats.display.,%ID),2), $&
    %rsn = $($+(%,stats.rsn.,%ID),2), $&
    %skill = $($+(%,stats.skill.,%ID),2), $&
    %style = $($+(%,stats.style.,%ID),2)

  if (%style == astats) {
    while (%x <= 23) {
      tokenize 32 $hget(%table,$setskill(%x))
      if ($2) var %statline = %statline $c1($setskill(%x)) $c2($2)
      inc %x
    }
    %display $c1(Stats for) $c2(%rsn) $+ $c1(:)
    %display %statline
  }
  elseif (%style == istat) {
    if (!$hget(%table,%skill)) %display $c1(The nick) $c2(%rsn) $c1(does not appear in the hiscores for) $c2(%skill)
    else {
      tokenize 32 $hget(%table,%skill)
      %display $c2(%skill) $c1(stats for) $c2(%rsn) $+ $c1(:)
      %display $c1(Rank:) $c2($1) $c1(Level:) $c2($bytes($2,b)) $c1(Exp:) $c2($3) $&
        $iif(%skill != Overall,$c1(Exp to lvl) $c2($calc($2 + 1)) $+ $c1(:) $c2($bytes($4,b)))
    }
  }
  elseif (%style == combat) {
    var %a.mult = .32707, %s.mult = .324, %d.mult = .25, %h.mult = .25, %p.mult = .124, %r.mult = .487, %m.mult = .487
    var %a = $iif($gettok($hget(%table,attack),2,32),$v1,-), $&
      %s = $iif($gettok($hget(%table,strength),2,32),$v1,-), $&
      %d = $iif($gettok($hget(%table,defence),2,32),$v1,-), $&
      %h = $iif($gettok($hget(%table,hitpoints),2,32),$v1,-), $&
      %r = $iif($gettok($hget(%table,ranged),2,32),$v1,-), $&
      %m = $iif($gettok($hget(%table,magic),2,32),$v1,-), $&
      %p = $iif($gettok($hget(%table,prayer),2,32),$v1,-)

    var %meleecombat  = $calc(%a * %a.mult + %s * %s.mult + %d * %d.mult + %h * %h.mult + %p * %p.mult), $&
      %RangedCombat = $calc(%r * %r.mult + %p * %p.mult + %d * %d.mult + %h * %h.mult), $&
      %MagicCombat  = $calc(%m * %m.mult + %p * %p.mult + %d * %d.mult + %h * %h.mult)

    if (%MagicCombat == %RangedCombat) && (%MagicCombat == %RangedCombat) {
      %display $c1(The nick) $c2(%rsn) $c1(does not appear in the hiscores for any combat skills)
      cleanup %id
      halt
    }
    elseif (%MagicCombat > %RangedCombat) && (%MagicCombat > %MeleeCombat) var %cmbstyle = Magic, %Combat = %MagicCombat
    elseif (%RangedCombat > %MeleeCombat) var %cmbstyle = Ranged, %Combat = %RangedCombat
    else var %cmbstyle = melee, %combat = %MeleeCombat

    var %cmb.temp = $abs($calc($int($calc(%combat +1)) - %combat)), $&
      %a.2lvl = $ceil($calc(%cmb.temp / %a.mult)), %s.2lvl = $ceil($calc(%cmb.temp / %s.mult)), $&
      %d.2lvl = $ceil($calc(%cmb.temp / %d.mult)), %m.2lvl = $ceil($calc(%cmb.temp / %m.mult)), $&
      %r.2lvl = $ceil($calc(%cmb.temp / %r.mult)), %p.2lvl = $ceil($calc(%cmb.temp / %p.mult))

    if (%cmbstyle == magic) var %dynamic.2lvl = $c1(Magic:) $c2(%m.2lvl)
    elseif (%cmbstyle == Ranged) var %dynamic.2lvl = $c1(Ranged:) $c2(%r.2lvl)
    else var %dynamic.2lvl = $c1(Att:) $c2(%a.2lvl) $c1(Str:) $c2(%s.2lvl)
    var %combat = $round(%combat,2), %next = $ceil(%combat)

    %display $c2(%rsn) $c1(is) $c2(%combat) $c1(%cmbstyle style combat)
    %display $c1(Attack:) $c2(%a) $c1(Defence:) $c2(%d) $c1(Strength:) $c2(%s) $c1(Hits:) $c2(%h) $&
      $c1(Mage:) $c2(%m) $c1(Range:) $c2(%r) $c1(Pray:) $c2(%p)
    %display $c1(Levels for) $c2(%next) $+ $c1(:) %dynamic.2lvl $&
      $c1(Def/Hp:) $c2(%d.2lvl) $c1(Prayer:) $c2(%p.2lvl)
  }
  cleanup %id
}

alias -l cleanup {
  unset $+(%,stats.*.,$1)
  sockclose $+(Stats.,$1)
  .remove $+(Stats.,$1)
}

alias -l xp {
  var %x = 1, %level = $calc($1 - 1), %xp = 0
  while (%x <= %level) {
    var %TempXp = $calc((%x + 300 * 2^(%x / 7)) /4)
    inc %xp %TempXp
    inc %x
  }
  return $int(%xp)
}

alias -l xp2Next {
  var %xp = $remove($2,$chr(44)), %nextxp = $xp($calc($1 + 1))
  return $calc(%nextxp - %xp)
}

alias -l striptags { var %x,%y = $regsub($1-,/(<[^>]+>)/g,$null,%x) | return %x }
alias -l setskill {
  if ($1 == 0) || ($regex($1,/^(st|(skill)?total|overall)$/Si)) return Overall
  elseif ($1 == 1) || ($regex($1,/^at(t|k|tack)$/Si)) return Attack
  elseif ($1 == 2) || ($regex($1,/^def(en[cs]e)?$$/Si)) return Defence
  elseif ($1 == 3) || ($regex($1,/^str(ength)?$/Si)) return Strength
  elseif ($1 == 4) || ($regex($1,/^hp|hit(s|points?)?$/Si)) return Hitpoints
  elseif ($1 == 5) || ($regex($1,/^range(r|d|ing)?$/Si)) return Ranged
  elseif ($1 == 6) || ($regex($1,/^Pray(er)?$$/Si)) return Prayer
  elseif ($1 == 7) || ($regex($1,/^mag(e|ic)$$/Si)) return Magic
  elseif ($1 == 8) || ($regex($1,/^cook(ing)?$/Si)) return Cooking
  elseif ($1 == 9) || ($regex($1,/^wc|wood(cut(ting)?)?$/Si)) return Woodcutting
  elseif ($1 == 10) || ($regex($1,/^fletch(ing)?$/Si)) return Fletching
  elseif ($1 == 11) || ($regex($1,/^fish(ing)?$/Si)) return Fishing
  elseif ($1 == 12) || ($regex($1,/^(fire|fm)(make?(ing)?|ing)?$/Si)) return Firemaking
  elseif ($1 == 13) || ($regex($1,/^craft(ing)?$/Si)) return Crafting
  elseif ($1 == 14) || ($regex($1,/^(smith|smelt)(ing)?$/Si)) return Smithing
  elseif ($1 == 15) || ($regex($1,/^mine(ing)?$/Si)) return Mining
  elseif ($1 == 16) || ($regex($1,/^herb(law|lore)?$/Si)) return Herblore
  elseif ($1 == 17) || ($regex($1,/^agil(ity)?$/Si)) return Agility
  elseif ($1 == 18) || ($regex($1,/^(th(ei|ie)[fv](e|ing)?)$/Si)) return Thieving
  elseif ($1 == 19) || ($regex($1,/^slay(er|ing)?$/Si)) return Slayer
  elseif ($1 == 20) || ($regex($1,/^farm(er|ing)?$/Si)) return Farming
  elseif ($1 == 21) || ($regex($1,/^(rc|runecraft)(er|ing)?$/Si)) return Runecraft
  elseif ($1 == 22) || ($regex($1,/^poh|con(struct[ion]|ing)?$/Si)) return Construction
} 
alias statsclear { unset %printline1 | unset %stats.* }
alias stat_check {
  if (%printline1 != $null) {
    if (%stats.Overall.level == $null) { set %stats.Overall.level N/A }
    if (%stats.color.strip == on) { %stats.send %stats.text %stat.name - Skill Total: %stats.Overall.level %cmb.printline | %stats.send $strip(%printline1,cb) | statsclear | halt }
    if (%stats.color.strip == $null) { %stats.send %stat.color1 $+ %stats.text $+ %stat.color2 %stat.name %stat.color1 $+ - Skill Total: $+ %stat.color2 %stats.Overall.level | %stats.send %printline1 | statsclear | halt }
  }
  else { %stats.send %stat.color1 $+ This person doesnt appear on the hiscores for any skill currently listed on the hiscores. | statsclear | halt }
}
on $*:text:/^[!@.](stats) .{1,13}$/Si:#:{
  if ($sock(stats).status != $null) { notice $nick The stats script is currently in use. Try again.... now! | halt }
  if ($left($1,1) == @) && ($left($remove($chan(#).mode,+),1) == c) || ($left($remove($chan(#).mode,+),2) == c) { set %stats.color.strip on }
  set %stats.nick $nick | set %stats.send $iif($left($1,1) == @,msg $chan,notice $nick) | set %stats.name $replace($2-,$chr(32),+) | set %stat.color1 $chr(3) $+ 14 | set %stat.color2 $chr(3) $+ 4
  sockopen stats vulcan.ueuo.com 80
}
on *:sockopen:stats:{
  sockwrite -nt $sockname GET /geniestats.php?rsname= $+ %stats.name HTTP/1.0
  sockwrite -nt $sockname Host: vulcan.ueuo.com $+ $crlf $+ $crlf
}
on *:sockread:stats:{
  if ($sockerr > 0) { .notice %stat.called.nick Error: Try again later. | halt }
  var %read | sockread %read
  if (<b>Personal isin %read) { set %stat.name $remove(%read,Personal $+ $chr(32),Scores $+ $chr(32),For $+ $chr(32),<b>,</b>) | set %stats.text $remove(%read,<b>,</b>) | set %stats.text $left(%stats.text,- $+ $len(%stat.name)) }
  tokenize 124 $remove(%read,Genie:)
  if ($0 == 4) { set %printline1 %printline1 $eval($+(%stat.color1,$1,:,%stat.color2),2) $3 | set %stats. $+ $1 $+ .level $3 }
}
on *:sockclose:stats:{ stat_check } 

#stats off


on *:TEXT:!eightball *:#:{
  var %8ball = $rand(1,4) 
  if (%8ball == 1) { msg $chan 10Please, Nigga, Please }
  if (%8ball == 2) { msg $chan 10Sell me some CrAcK and ill tell you }
  if (%8ball == 3) { msg $chan 10Fuck Ya! }
  if (%8ball == 4) { msg $chan 10Nope }
}