ircN for mIRC — File Browser

ircNformIRCv6.0 / ircNformIRCv6.0 / ircn / SYSTEM / XDCCEDIT.MRC

XDCCEDIT.MRC — 21.02 KB — Download this file

;
; Sample XDCC Configure script for mGUI
;
; There is no XDCC to go with this yet, if you
;   are a skilled scripter and wish to make it, email
;   me or msg me on IRC, I haven't made it because
;   I hate making XDCCs.
;
; Chutzpah (Patrick McLean)
;   pmclean@ican.net or chutzpah@ircn.com
;
on 1:load {
  if ($exists( [ [ $nofile($script) ] $+ mgui.mrc ] )) .load -rs $td(mgui.mrc)
  if ($gettok($gui.version,3,32) < 2.1) { echo -a Incompatible version of mGUI, please upgrade. | .unload -rs $nopath($script) | halt }
  xdcc.unset
  update.popups  
  inc %cxdcc.load
  if (%cxdcc.load == 1) {
    echo -a This is far from completion, but heres what I have so far:
    echo -a xdcc.new - add a new offer
    echo -a xdcc.add - add a pack to a offer
    echo -a xdcc.delete - delete a pack from an offer
    echo -a xdcc.deloffer - delete a offer
    echo -a xdcc.edit - edit packs in a offer
    echo -a xdcc.insert - insert a pack into an offer
    echo -a xdcc.setup - Set XDCC settings (not finished)
  }
}
alias xdcc.delete.pack {
  pleasewait while deleting pack $chr(35) $+ $2 $+ .
  if ($exists($td(xdcc.tbk)) == $false) copy $td(xdcc.ini) $td(xdcc.tbk)
  writeini $guifile(xdcc) options command xdcc.offer.change
  gui.write
  xdcc.delete $1 $2
  set %cxdcc.change.set 1
  xdcc.edit $1 -n
}
alias xdcc.insert.pack {
  pleasewait while inserting pack before $chr(35) $+ $2 $+ .
  if ($exists($td(xdcc.tbk)) == $false) .copy $td(xdcc.ini) $td(xdcc.tbk)
  writeini $guifile(xdcc) options command xdcc.offer.change
  gui.write
  set %cxdcc.change.set 1
  xdcc.insert $1 $2 -n
}
alias xdcc.add.pack {
  pleasewait while adding pack.
  if ($exists($td(xdcc.tbk)) == $false) .copy $td(xdcc.ini) $td(xdcc.tbk)
  writeini $guifile(xdcc) options command xdcc.offer.change
  gui.write
  set %cxdcc.change.set 1
  xdcc.add $1 -n
}
alias xdcc.new {
  if ($1) set %xdcc.offer $1
  else set %xdcc.offer $$?="Enter a name for the offer"
  if ($2) set %xdcc.packs $2
  else set %xdcc.packs $$?="Enter $chr(35) of packs"
  set %xdcc.new 1
  writegui
  set %xdcc.ulevel 1 | set %xdcc.sum on | set %xdcc.queue 5 | set %xdcc.slots 3
  guiwin xdcc
}
alias xdcc.deloffer {
  if ($1) set %xdcc.offer $1
  else set %xdcc.offer $$?="Enter a name for the offer"
  if ($getpacks(%xdcc.offer) == $null) { echo -a  $+ $colour(info) $+ *** Could not find XDCC offer " $+ %xdcc.offer $+ " | xdcc.unset | halt }
  remini $td(xdcc.ini) %xdcc.offer
  iecho writeini $td(xdcc.ini) general.xdcc.options list $remtok($getxlist,%xdcc.offer,1,46)
  echo -a  $+ $colour(info) $+ *** Deleted XDCC offer " $+ %xdcc.offer $+ "
  xdcc.unset
}
alias xdcc.edit {
  if ($1) set %xdcc.offer $1
  else set %xdcc.offer $$?="Enter a name for the offer"
  if ($getpacks(%xdcc.offer) == $null) { echo -a  $+ $colour(info) $+ *** Could not find XDCC offer " $+ %xdcc.offer $+ " | xdcc.unset | halt }
  setvars | writegui
  if ($2 == -n) guiwin $2 xdcc
  else guiwin xdcc
}
alias xdcc.add {
  if ($1) set %xdcc.offer $1
  else set %xdcc.offer $$?="Enter name of offer"
  if ($getpacks(%xdcc.offer) == $null) { echo -a  $+ $colour(info) $+ *** Could not find XDCC offer " $+ %xdcc.offer $+ " | xdcc.unset | halt }
  writeini $td(xdcc.ini) %xdcc.offer packs $calc($getpacks($1) + 1)
  xdcc.edit %xdcc.offer $2
}
alias xdcc.delete {
  if (($1 == $null) || ($getpacks($1) == $null)) halt
  if ($1) set %xdcc.offer $1
  else set %xdcc.offer $$?="Enter name of offer"
  if ($getpacks(%xdcc.offer) == $null) { echo -a  $+ $colour(info) $+ *** Could not find XDCC offer " $+ %xdcc.offer $+ " | xdcc.unset | halt }
  if ($2) set %xdcc.delpack $2
  else set %xdcc.delpack $$?="Enter $chr(35) of pack to delete"
  setvars
  set %xdcc.packs $calc(%xdcc.packs - 1)
  remini $td(xdcc.ini) %xdcc.offer
  writeini $td(xdcc.ini) %xdcc.offer packs %xdcc.packs
  if (%xdcc.sum) writeini $td(xdcc.ini) %xdcc.offer summary %xdcc.sum
  writeini $td(xdcc.ini) %xdcc.offer userlevel %xdcc.ulevel
  if (%xdcc.queue != -) writeini $td(xdcc.ini) %xdcc.offer queue %xdcc.queue
  writeini $td(xdcc.ini) %xdcc.offer slots %xdcc.slots
  set %i 0 | :start | inc %i
  if (%i >= %xdcc.delpack) {
    if ($xdcc.desc($calc(%i + 1))) writeini $td(xdcc.ini) %xdcc.offer [ description. $+ [ %i ] ] $xdcc.desc($calc(%i + 1))
    if ($xdcc.com($calc(%i + 1))) writeini $td(xdcc.ini) %xdcc.offer [ comment. $+ [ %i ] ] $xdcc.com($calc(%i + 1))
    if ($xdcc.min($calc(%i + 1))) writeini $td(xdcc.ini) %xdcc.offer [ minspeed. $+ [ %i ] ] $xdcc.min($calc(%i + 1))
    if ($xdcc.file($calc(%i + 1))) writeini $td(xdcc.ini) %xdcc.offer [ file. $+ [ %i ] ] $xdcc.file($calc(%i + 1))
    if (%i < %xdcc.packs) goto start
  }
  else {
    if ($xdcc.desc(%i)) writeini $td(xdcc.ini) %xdcc.offer [ description. $+ [ %i ] ] $xdcc.desc(%i)
    if ($xdcc.com(%i)) writeini $td(xdcc.ini) %xdcc.offer [ comment. $+ [ %i ] ] $xdcc.com(%i)
    if ($xdcc.min(%i)) writeini $td(xdcc.ini) %xdcc.offer [ minspeed. $+ [ %i ] ] $xdcc.min(%i)
    if ($xdcc.file(%i)) writeini $td(xdcc.ini) %xdcc.offer [ file. $+ [ %i ] ] $xdcc.file(%i)
    if (%i < %xdcc.packs) goto start
  }
  unset %xdcc.*
  update.popups
}
alias xdcc.insert {
  if (($1 == $null) || ($getpacks($1) == $null)) halt
  if ($1) set %xdcc.offer $1
  else set %xdcc.offer $$?="Enter name of offer"
  if ($getpacks(%xdcc.offer) == $null) { echo -a  $+ $colour(info) $+ *** Could not find XDCC offer " $+ %xdcc.offer $+ " | xdcc.unset | halt }
  if ($2) set %xdcc.inspack $2
  else set %xdcc.inspack $$?="Enter $chr(35) of pack insert before"
  .copy $td(xdcc.ini) $td(xdcc.bak)
  setvars
  set %xdcc.packs $calc($getpacks(%xdcc.offer) + 1)
  remini $td(xdcc.ini) %xdcc.offer
  writeini $td(xdcc.ini) %xdcc.offer packs %xdcc.packs
  if (%xdcc.sum) writeini $td(xdcc.ini) %xdcc.offer summary %xdcc.sum
  writeini $td(xdcc.ini) %xdcc.offer userlevel %xdcc.ulevel
  if (%xdcc.queue != -) writeini $td(xdcc.ini) %xdcc.offer queue %xdcc.queue
  writeini $td(xdcc.ini) %xdcc.offer slots %xdcc.slots
  set %i 0 | :start | inc %i
  if (%i == %xdcc.inspack) inc %i
  if (%i > %xdcc.inspack) {
    if ($xdcc.desc($calc(%i - 1))) writeini $td(xdcc.ini) %xdcc.offer [ description. $+ [ %i ] ] $xdcc.desc($calc(%i - 1))
    if ($xdcc.com($calc(%i - 1))) writeini $td(xdcc.ini) %xdcc.offer [ comment. $+ [ %i ] ] $xdcc.com($calc(%i - 1))
    if ($xdcc.min($calc(%i - 1))) writeini $td(xdcc.ini) %xdcc.offer [ minspeed. $+ [ %i ] ] $xdcc.min($calc(%i - 1))
    if ($xdcc.file($calc(%i - 1))) writeini $td(xdcc.ini) %xdcc.offer [ file. $+ [ %i ] ] $xdcc.file($calc(%i - 1))
    if (%i  < %xdcc.packs) goto start
  }
  else {
    if ($xdcc.desc(%i)) writeini $td(xdcc.ini) %xdcc.offer [ description. $+ [ %i ] ] $xdcc.desc(%i)
    if ($xdcc.com(%i)) writeini $td(xdcc.ini) %xdcc.offer [ comment. $+ [ %i ] ] $xdcc.com(%i)
    if ($xdcc.min(%i)) writeini $td(xdcc.ini) %xdcc.offer [ minspeed. $+ [ %i ] ] $xdcc.min(%i)
    if ($xdcc.file(%i)) writeini $td(xdcc.ini) %xdcc.offer [ file. $+ [ %i ] ] $xdcc.file(%i)
    if (%i < %xdcc.packs) goto start
  }
  set -u1 %tmp.offer %xdcc.offer
  set %tmp.xdcc.back 1
  set %xdcc.insert 1
  unset %xdcc.*
  set %xdcc.offer %tmp.offer 
  setvars | writegui
  writeini $guifile(xdcc) options cancelcmd xdcc.restore
  if ($3 == -n) guiwin -n xdcc
  else guiwin xdcc
}
alias xdcc.restore { unset %tmp.xdcc.back | .remove $td(xdcc.ini) | .copy $td(xdcc.bak) $td(xdcc.ini) | .remove $td(xdcc.bak) }
alias xdcc.offer.done { savevars | if ($exists($td(xdcc.tbk))) .remove $td(xdcc.tbk) }
alias xdcc.offer.change { savevars }
alias xdcc.cancel.change { if ($exists($td(xdcc.tbk))) { .remove $td(xdcc.ini) | .copy $td(xdcc.tbk) $td(xdcc.ini) | .remove $td(xdcc.tbk) } | xdcc.unset }
alias xdcc.unset { unset %xdcc.* %i %ii %j %xdcc.new }
alias pleasewait {
  window -apfh +fn @Wait $calc(( [ [ $window(-1).w ] ] / 2) - 175) $calc(( [ [ $window(-1).h ] ] / 2) - 100) 350 50 @Error
  drawfill -nr @Wait 12632256 0 12 12
  set -u1 %tmp.wait.text Please wait $1-
  drawtext -no @Wait 1 Arial 18 $abs($int($calc((350 - ($width(%tmp.wait.text,Arial,18,1,0) - ($len(%tmp.wait.text) * 1.8))) / 2))) 16 %tmp.wait.text
  drawdot @Wait
  window -ar @Wait
}
alias -l setvars {
  if ($getpacks(%xdcc.offer) == $null) halt
  set %xdcc.packs $getpacks(%xdcc.offer)
  if ($getsum(%xdcc.offer)) set %xdcc.sum $getsum(%xdcc.offer)
  set %xdcc.ulevel $getlvl(%xdcc.offer)
  if ($getque(%xdcc.offer)) set %xdcc.queue $getque(%xdcc.offer)
  else set %xdcc.queue -
  set %xdcc.slots $getslots(%xdcc.offer)
  set %xdcc.ulevel $getlvl(%xdcc.offer)
  set %i 0 | :start | inc %i
  set [ [ $chr(37) ] $+ xdcc.desc. $+ [ %i ] ] $getdesc(%xdcc.offer,%i)
  if ($getcom(%xdcc.offer,%i)) set [ [ $chr(37) ] $+ xdcc.com. $+ [ %i ] ] $getcom(%xdcc.offer,%i)
  set [ [ $chr(37) ] $+ xdcc.min. $+ [ %i ] ] $getmin(%xdcc.offer,%i)
  set [ [ $chr(37) ] $+ xdcc.file. $+ [ %i ] ] $getfile(%xdcc.offer,%i)
  if (%i < %xdcc.packs) goto start
}
alias -l writegui {
  write -c $guifile(xdcc)
  writeini $guifile(xdcc) options window XDCC
  writeini $guifile(xdcc) options title XDCC Offer Options
  set -u1 %xdcc.width $calc(135 * $round($calc((%xdcc.packs + 2) / 3),0))
  if (%xdcc.width < 373) set %xdcc.width 373
  writeini $guifile(xdcc) options width %xdcc.width
  writeini $guifile(xdcc) options height 470
  writeini $guifile(xdcc) options columns $round($calc((%xdcc.packs + 2) / 3),0)
  writeini $guifile(xdcc) options cancelcmd xdcc.unset
  writeini $guifile(xdcc) options on on
  writeini $guifile(xdcc) options off off
  writeini $guifile(xdcc) options command xdcc.offer.done
  if (%cxdcc.change.set) {
    writeini $guifile(xdcc) options command xdcc.offer.change
    writeini $guifile(xdcc) options cancelcmd xdcc.cancel.change
    writeini $guifile(xdcc) options opencmd window -c @Wait
    unset %cxdcc.change.set
  }
  writeini $guifile(xdcc) column1 n1 check;Summary;xdcc.sum
  writeini $guifile(xdcc) column1 n2 combo;User level;xdcc.ulevel;no;yes
  writeini $guifile(xdcc) column1 n3 combo;Queue;xdcc.queue;yes;yes
  writeini $guifile(xdcc) column1 n4 combo;Slots;xdcc.slots;yes;yes
  writeini $guifile(xdcc) column1 n5 label
  writeini $guifile(xdcc) column1 n6 command;Add Pack;xdcc.add.pack %xdcc.offer
  writeini $guifile(xdcc) column1 n7 label
  writeini $guifile(xdcc) column1 n8 label
  writeini $guifile(xdcc) combo1.2 n1 all;1
  writeini $guifile(xdcc) combo1.2 n2 XDCC;xdcc
  writeini $guifile(xdcc) combo1.2 n3 Level 10;10
  writeini $guifile(xdcc) combo1.2 n4 Level 20;20
  writeini $guifile(xdcc) combo1.2 n5 Level 30;30
  writeini $guifile(xdcc) combo1.2 n6 Level 40;40
  writeini $guifile(xdcc) combo1.2 n7 Level 50;50
  writeini $guifile(xdcc) combo1.2 n8 Level 60;60
  writeini $guifile(xdcc) combo1.2 n9 Level 70;70
  writeini $guifile(xdcc) combo1.2 n10 Level 80;80
  writeini $guifile(xdcc) combo1.2 n11 Level 90;90
  writeini $guifile(xdcc) combo1.2 n11 Level 100;100
  writeini $guifile(xdcc) combo1.3 n1 None;-
  writeini $guifile(xdcc) combo1.3 n2 3
  writeini $guifile(xdcc) combo1.3 n3 4
  writeini $guifile(xdcc) combo1.3 n4 5
  writeini $guifile(xdcc) combo1.3 n5 7
  writeini $guifile(xdcc) combo1.3 n6 10
  writeini $guifile(xdcc) combo1.3 n7 15
  writeini $guifile(xdcc) combo1.3 n8 20
  writeini $guifile(xdcc) combo1.4 n1 2
  writeini $guifile(xdcc) combo1.4 n2 3
  writeini $guifile(xdcc) combo1.4 n3 4
  writeini $guifile(xdcc) combo1.4 n4 5
  writeini $guifile(xdcc) combo1.4 n5 6
  writeini $guifile(xdcc) combo1.4 n6 7
  writeini $guifile(xdcc) combo1.4 n7 8
  writeini $guifile(xdcc) combo1.4 n8 9
  writeini $guifile(xdcc) combo1.4 n9 10
  set %i 0 | set %j 0 | :startwrite | inc %i | set %ii -7 | :startpack | inc %j | set %ii $calc(%ii + 8)
  if ((%i == 1) && (%j == 1)) set %ii 8
  if ((%ii > 1) && (%j > 1)) writeini $guifile(xdcc) [ column $+ [ %i ] ] [ n $+ [ %ii ] ] label
  elseif (%i > 1) set %ii $calc(%ii - 1)
  writeini $guifile(xdcc) [ column $+ [ %i ] ] [ n $+ [ $calc(%ii + 1) ] ] title;Pack %j
  writeini $guifile(xdcc) [ column $+ [ %i ] ] [ n $+ [ $calc(%ii + 2) ] ] text;Description;xdcc.desc. $+ %j $+ ;yes
  writeini $guifile(xdcc) [ column $+ [ %i ] ] [ n $+ [ $calc(%ii + 3) ] ] text;Comment;xdcc.com. $+ %j
  writeini $guifile(xdcc) [ column $+ [ %i ] ] [ n $+ [ $calc(%ii + 4) ] ] combo;Minspeed;xdcc.min. $+ %j
  writeini $guifile(xdcc) [ column $+ [ %i ] ] [ n $+ [ $calc(%ii + 5) ] ] text;File;xdcc.file. $+ %j $+ ;yes;yes;.;Pack $chr(35) $+ %j
  writeini $guifile(xdcc) [ column $+ [ %i ] ] [ n $+ [ $calc(%ii + 6) ] ] command;Delete Pack;xdcc.delete.pack %xdcc.offer %j
  writeini $guifile(xdcc) [ column $+ [ %i ] ] [ n $+ [ $calc(%ii + 7) ] ] command;Insert Pack;xdcc.insert.pack %xdcc.offer %j
  if ((%xdcc.new) || (%xdcc.insert)) set [ [ $chr(37) ] $+ xdcc.min. $+ [ %j ] ] -
  writeini $guifile(xdcc) [ combo $+ [ %i ] $+ . $+ [ $calc(%ii + 4) ] ] n1 None;-
  writeini $guifile(xdcc) [ combo $+ [ %i ] $+ . $+ [ $calc(%ii + 4) ] ] n2 500b/sec;0.5
  writeini $guifile(xdcc) [ combo $+ [ %i ] $+ . $+ [ $calc(%ii + 4) ] ] n3 1k/sec;1
  writeini $guifile(xdcc) [ combo $+ [ %i ] $+ . $+ [ $calc(%ii + 4) ] ] n4 1.5k/sec;1.5
  writeini $guifile(xdcc) [ combo $+ [ %i ] $+ . $+ [ $calc(%ii + 4) ] ] n5 2k/sec;2
  writeini $guifile(xdcc) [ combo $+ [ %i ] $+ . $+ [ $calc(%ii + 4) ] ] n6 3k/sec;3
  writeini $guifile(xdcc) [ combo $+ [ %i ] $+ . $+ [ $calc(%ii + 4) ] ] n7 4k/sec;4
  writeini $guifile(xdcc) [ combo $+ [ %i ] $+ . $+ [ $calc(%ii + 4) ] ] n8 5k/sec;5
  if ((%j < $calc((%i * 3) - 1)) && (%j < %xdcc.packs) && (%j != 2)) goto startpack
  if (%i < $round($calc((%xdcc.packs + 2) / 3),0)) goto startwrite
}
alias -l savevars {
  if ($getpacks(%xdcc.offer)) remini $td(xdcc.ini) %xdcc.offer
  writeini $td(xdcc.ini) %xdcc.offer packs %xdcc.packs
  if (%xdcc.sum) writeini $td(xdcc.ini) %xdcc.offer summary %xdcc.sum
  writeini $td(xdcc.ini) %xdcc.offer userlevel %xdcc.ulevel
  if (%xdcc.queue != -) writeini $td(xdcc.ini) %xdcc.offer queue %xdcc.queue
  writeini $td(xdcc.ini) %xdcc.offer slots %xdcc.slots
  set %i 0 | :start | inc %i
  if ($xdcc.desc(%i)) writeini $td(xdcc.ini) %xdcc.offer [ description. $+ [ %i ] ] $xdcc.desc(%i)
  if ($xdcc.com(%i)) writeini $td(xdcc.ini) %xdcc.offer [ comment. $+ [ %i ] ] $xdcc.com(%i)
  if ($xdcc.min(%i)) writeini $td(xdcc.ini) %xdcc.offer [ minspeed. $+ [ %i ] ] $xdcc.min(%i)
  if ($xdcc.file(%i)) writeini $td(xdcc.ini) %xdcc.offer [ file. $+ [ %i ] ] $xdcc.file(%i)
  if (%xdcc.new) {
    writeini $td(xdcc.ini) general.xdcc.options list $addtok($getxlist,%xdcc.offer,44)
    if ($getxlist == %xdcc.offer) set %cxdcc.default %xdcc.offer
  }
  if (%i < %xdcc.packs) goto start
  if (%tmp.xdcc.back) { .remove $td(xdcc.bak) | unset %tmp.xdcc.back }
  xdcc.unset
  update.popups
}
alias -l nothing { return }
alias -l getpacks { return $readini $td(xdcc.ini) $1 packs }
alias -l getsum { return $readini $td(xdcc.ini) $1 summary }
alias -l getlvl { return $readini $td(xdcc.ini) $1 userlevel }
alias -l getque { return $readini $td(xdcc.ini) $1 queue }
alias -l getslots { return $readini $td(xdcc.ini) $1 slots }
alias -l getdesc { return $readini $td(xdcc.ini) $1 [ description. $+ [ $2 ] ] }
alias -l getcom { return $readini $td(xdcc.ini) $1 [ comment. $+ [ $2 ] ] }
alias -l getmin { return $readini $td(xdcc.ini) $1 [ minspeed. $+ [ $2 ] ] }
alias -l getfile { return $readini $td(xdcc.ini) $1 [ file. $+ [ $2 ] ] }
alias -l getxlist { return $readini $td(xdcc.ini) general.xdcc.options list }
alias -l roundup { if ($gettok($1,2,46)) return $calc($gettok($1,1,46) + 1) | else return $1 }
alias -l xdcc.desc { set -u1 %xdcc.tmp $chr(37) $+ xdcc.desc. $+ $1 | return [ [ %xdcc.tmp ] ]  }
alias -l xdcc.com { set -u1 %xdcc.tmp $chr(37) $+ xdcc.com. $+ $1 | return [ [ %xdcc.tmp ] ]  }
alias -l xdcc.min { set -u1 %xdcc.tmp $chr(37) $+ xdcc.min. $+ $1 | return [ [ %xdcc.tmp ] ]  }
alias -l xdcc.file { set -u1 %xdcc.tmp $chr(37) $+ xdcc.file. $+ $1 | return [ [ %xdcc.tmp ] ]  }
alias xdcc.setup {
  write -c $guifile(xsetup)
  writeini $guifile(xsetup) options window XDCC
  writeini $guifile(xsetup) options title XDCC Settings
  writeini $guifile(xsetup) options columns 2
  writeini $guifile(xsetup) options on on
  writeini $guifile(xsetup) options off off
  writeini $guifile(xsetup) options width 430
  writeini $guifile(xsetup) options height 320
  writeini $guifile(xsetup) options command xsetup.done
  writeini $guifile(xsetup) column1 n1 check;Active;cxdcc.on
  if ($getxlist) writeini $guifile(xsetup) column1 n2 combo;Default Offer;cxdcc.default;yes;yes
  else writeini $guifile(xsetup) column1 n2 label;No Offers Available
  writeini $guifile(xsetup) column1 n3 check;Allow Multiple offers;cxdcc.multi
  writeini $guifile(xsetup) column1 n4 check;Accept Msgs;cxdcc.msg
  writeini $guifile(xsetup) column1 n5 check;Accept CDCC;cxdcc.cdcc
  writeini $guifile(xsetup) column1 n6 check;Use Minspeeds;cxdcc.min
  writeini $guifile(xsetup) column1 n7 title;Show
  writeini $guifile(xsetup) column1 n8 check;Total Snagged;cxdcc.snagged
  writeini $guifile(xsetup) column1 n9 check;Record Speed;cxdcc.record
  writeini $guifile(xsetup) column1 n10 label
  writeini $guifile(xsetup) column1 n11 label
  writeini $guifile(xsetup) column1 n12 label
  writeini $guifile(xsetup) column1 n13 label
  if ($getxlist) {
    set %ij 0 | :start | inc %ij
    writeini $guifile(xsetup) combo1.2 [ n $+ [ %ij ] ] $gettok($getxlist,%ij,44)
    if (%ij < $calc($count($getxlist,$chr(44)) + 1)) goto start
    unset %ij
  }
  writeini $guifile(xsetup) column2 n1 combo;Max Total Sends;cxdcc.sends;no;yes
  writeini $guifile(xsetup) column2 n2 label
  writeini $guifile(xsetup) column2 n3 combo;Max Total Queue;cxdcc.queue;no;yes
  writeini $guifile(xsetup) column2 n4 label
  writeini $guifile(xsetup) column2 n5 combo;Check Speed;cxdcc.delay;no;yes
  writeini $guifile(xsetup) column2 n6 label
  writeini $guifile(xsetup) column2 n7 label
  writeini $guifile(xsetup) column2 n8 label
  writeini $guifile(xsetup) column2 n9 label
  writeini $guifile(xsetup) column2 n10 label
  writeini $guifile(xsetup) column2 n11 label
  writeini $guifile(xsetup) column2 n12 label
  writeini $guifile(xsetup) combo2.1 n1 5 | writeini $guifile(xsetup) combo2.1 n2 7 | writeini $guifile(xsetup) combo2.1 n3 10
  writeini $guifile(xsetup) combo2.1 n4 15 | writeini $guifile(xsetup) combo2.1 n5 20 | writeini $guifile(xsetup) combo2.1 n6 25
  writeini $guifile(xsetup) combo2.1 n7 30
  writeini $guifile(xsetup) combo2.3 n1 10 | writeini $guifile(xsetup) combo2.3 n2 15 | writeini $guifile(xsetup) combo2.3 n3 20
  writeini $guifile(xsetup) combo2.3 n4 25 | writeini $guifile(xsetup) combo2.3 n5 30 | writeini $guifile(xsetup) combo2.3 n6 35
  writeini $guifile(xsetup) combo2.3 n7 40
  writeini $guifile(xsetup) combo2.5 n1 20 secs;20 | writeini $guifile(xsetup) combo2.5 n2 25 secs;25 | writeini $guifile(xsetup) combo2.5 n3 30 secs;30
  writeini $guifile(xsetup) combo2.5 n4 35 secs;35 | writeini $guifile(xsetup) combo2.5 n5 40 secs;40 | writeini $guifile(xsetup) combo2.5 n6 45 secs;45
  writeini $guifile(xsetup) combo2.5 n7 50 secs;50 | writeini $guifile(xsetup) combo2.5 n8 60 secs;60
  guiwin xsetup
}
alias xsetup.done { update.popups }
alias filesize {
  if (($1 isnum) && ($1 > 0)) {
    if ($1 < 1024) return $1 $+ b
    elseif ($1 < 1048576) return $round($calc($1 / 1024),0) $+ k
    elseif ($1 < 1073741824) return $round($calc($1 / 1048576),1) $+ M
    elseif ($1 < 1099511627776) return $round($calc($1 / 1073741824),1) $+ G
    elseif ($1 >= 1099511627776) return $round($calc($1 / 1099511627776),1) $+ T
  }
  else return 0b
}
alias -l td { return $nofile($script) $+ $1- }
alias -l pfile { return $mircdir $+ cxdcc.pop }
alias -l pwrite { write $pfile $1- }
alias -l p { return $chr(36) $+ 1 }
alias -l update.popups {
  write -c $pfile
  pwrite menu menubar $chr(123) | writepop | pwrite $chr(125)
  pwrite menu channel $chr(123) | writepop | pwrite $chr(125)
  pwrite menu nicklist $chr(123)
  pwrite xdcc
  pwrite .list $chr(123) ctcp $p xdcc list $chr(125)
  pwrite .get $chr(123) ctcp $p xdcc send $str($chr(36),2) $+ ?="Enter pack #" $chr(125)
  pwrite .-
  pwrite .add xdcc $chr(123) auser xdcc $chr(36) $+ address($p,3) $chr(125)
  pwrite $chr(125)
  .load -rs $pfile
}
alias -l writepop {
  pwrite xdcc
  pwrite .setup... $chr(123) xdcc.setup $chr(125)
  pwrite .-
  pwrite .offer
  pwrite ..new... $chr(123) xdcc.new $chr(125)
  if ($getxlist) {
    pwrite ..-
    set %ij 0 | :start | inc %ij
    set -u1 %xdcc.tmp.offer $gettok($getxlist,%ij,44)
    if (%cxdcc.default == %xdcc.tmp.offer) pwrite ..¤ %xdcc.tmp.offer
    else pwrite ..   %xdcc.tmp.offer
    pwrite ... $+ edit... $chr(123) xdcc.edit %xdcc.tmp.offer $chr(125)
    pwrite ... $+ delete $chr(123) if ( $+ $str($chr(36),2) $+ ?="Delete pack %xdcc.tmp.offer $+ ? (y|n)" == y) xdcc.deloffer %xdcc.tmp.offer $chr(125)
    pwrite ...-
    pwrite ... $+ packs
    pwrite .... $+ add... $chr(123) xdcc.add %xdcc.tmp.offer $chr(125)
    pwrite .... $+ insert... $chr(123) xdcc.insert %xdcc.tmp.offer $chr(125)
    pwrite .... $+ delete... $chr(123) xdcc.delete %xdcc.tmp.offer $chr(125)
    if (%ij < $calc($count($getxlist,$chr(44)) + 1)) goto start
    unset %ij
  }
}