Ren-Ren's Fileserver — File Browser

Ren-RensFileserverv1.2 / Ren-RensFileserverv1.2 / rfs-evnt.mrc

rfs-evnt.mrc — 37.16 KB — Download this file

; Ren-Ren's Fileserver v1.2
; Copyright© 2001-2003 by Adrian Au. All rights reserved.
; http://adrian.saxtus.gr
; http://www.geocities.com/renx2
; renx2@yahoo.com
;
on 1:unload:{
  var %~rfsu = $rfs-def(win)
  if (%_rfsunload != 1) unset %rfs*
  hfree -w rfs*
  if ($dialog(%~rfsu) != $null) dialog -x %~rfsu
}
on 1:connect:{
  if ($network == $null) rfs-setnetwork
  var %~rfscon = $ini($rfs-def(ini),fs,0)
  while (%~rfscon > 0) {
    var %~rfscon2 = $readini $rfs-def(ini) fs- $+ $ini($rfs-def(ini),fs,%~rfscon) fsopt
    if ($rfs-opt(fsopt,auto-on,%~rfscon2) == 1) rfs-fson $ini($rfs-def(ini),fs,%~rfscon)
    dec %~rfscon 1
  }
}
on 1:disconnect:{
  unset %rfs-network
  .timerrfsad* off
}
on 1:quit:if ($send($nick,0) > 0) && ($rfs-opt(onchan) == 0) && ($rfs-opt(quitdelay) > 0) && ($1 == Quit:) .timerrfsquit $+ $nick 1 $rfs-opt(quitdelay) rfs-quit $nick
on 1:part:#:{
  if ($rfs-opt(onchan) == 1) || ($rfs-opt(partdelay) < 1) goto End
  var %~rfspart = $send($nick,0)
  while (%~rfspart > 0) {
    var %~rfspart2 = %rfs-send- [ $+ [ $nick ] $+ [ $chr(160) ] $+ [ $replace($send($nick,%~rfspart).path,$chr(32),$chr(95)) ] $+ [ $replace($send($nick,%~rfspart).path,$chr(32),$chr(95)) ] ]
    var %~rfspart2 = $gettok(%~rfspart2,7-,32)
    var %~rfspart3 = $numtok(%~rfspart2,32)
    while (%~rfspart3 > 0) {
      if ($nick ison $gettok(%~rfspart2,%~rfspart3,32)) goto A
      dec %~rfspart3 1
    }
    .timerrfspart $+ $nick $+ @ $+ %~rfspart 1 $rfs-opt(partdelay) rfs-part $nick $replace(%~rfspart2,$chr(32),$chr(160)) $replace($send($nick,%~rfspart).path,$chr(32),$chr(95)) $+ $replace($send($nick,%~rfspart).path,$chr(32),$chr(95))
    :A
    dec %~rfspart 1
  }
  :End
}
on 1:exit:unset %rfs-network
; userhost
raw 302:*:{
  if ($findtok(%rfs-whois. [ $+ [ $rfs-network ] ],$gettok($2,1,61),1,32) != $null) {
    if ($numtok($2,61) < 2) halt
    set -u60 %rfs-whois> [ $+ [ $rfs-network ] $+ [ $gettok($2,1,61) ] ] $gettok($2,1,61) $+ ! $+ $right($gettok($2,2,61),$calc($len($gettok($2,2,61)) - 1))
    if (%rfs-whois- [ $+ [ $rfs-network ] $+ [ $gettok($2,1,61) ] ] != $null) {
      %rfs-whois- [ $+ [ $rfs-network ] $+ [ $gettok($2,1,61) ] ]
      unset %rfs-whois- [ $+ [ $rfs-network ] $+ [ $gettok($2,1,61) ] ]
    }
    %rfs-whois. [ $+ [ $rfs-network ] ] = $remtok(%rfs-whois. [ $+ [ $rfs-network ] ],$gettok($2,1,61),32)
    if (%rfs-whois. [ $+ [ $rfs-network ] ] == $null) {
      unset %rfs-whois. [ $+ [ $rfs-network ] ]
      if ($dialog(RFSAlert [ $+ [ $rfs-network ] ] ) != $null) && ($did(RFSAlert [ $+ [ $rfs-network ] ] ,1,1) == Please wait...) dialog -c RFSAlert $+ $rfs-network
    }
    halt
  }
  if ($2 == $null) && ($did(RFSAlert [ $+ [ $rfs-network ] ] ,1,1) == Please wait...) {
    inc %rfs-whois< [ $+ [ $rfs-network ] ] 1
    if (%rfs-whois< [ $+ [ $rfs-network ] ] >= $numtok(%rfs-whois. [ $+ [ $rfs-network ] ] ,32)) {
      unset %rfs-whois< [ $+ [ $rfs-network ] ] %rfs-whois. [ $+ [ $rfs-network ] ]
      dialog -c RFSAlert $+ $rfs-network
    }
    halt
  }
}
on 1:text:*:#:{
  if ($findtok($rfs-opt(list),$1-,1,160) != $null) rfs-list $nick $chan
  elseif ($2 != $null) && ($findtok($rfs-opt(find),$1,1,32) != $null) rfs-find $nick $chan $2-
  else rfs-fs $nick $chan 0 $1-
}
on 1:action:*:#:{
  if ($findtok($rfs-opt(list),$1-,1,160) != $null) rfs-list $nick $chan
  elseif ($2 != $null) && ($findtok($rfs-opt(find),$1,1,32) != $null) rfs-find $nick $chan $2-
  else rfs-fs $nick $chan 0 <action> $1-
}
ctcp 1:DCC Send *:{
  if ($rfs-opt(slowonget) > 0) && (%rfs-maxcps == $null) {
    %rfs-maxcps = $rfs-dccmaxcps
    .dcc maxcps $rfs-opt(slowonget)
    rfs-log 0  $+ $rfs-opt(color1) $+ DCC Maxcps adjustment to  $+ $rfs-opt(color3) $rfs-opt(slowonget)
  }
  if ($rfs-opt(pauseqonget) == 1) {
    var %~rfsonget = $ini($rfs-def(ini),fs,0)
    while (%~rfsonget > 0) {
      var %~rfsonget2 = $ini($rfs-def(ini),fs,%~rfsonget)
      if ($findtok(%rfs-q,%~rfsonget2,1,32) == $null) {
        %rfs-maxcpsq = $addtok(%rfs-maxcpsq,%~rfsonget2,32)
        %rfs-q = $addtok(%rfs-q,%~rfsonget2,32)
      }
      dec %~rfsonget 1
    }
  }
}
ctcp 1:*:*:{
  if ($1- == RFS version) ctcp $nick RFS-Version $rfs-def(script) ( $+ $rfs-def(page) $+ )
  rfs-fs $nick 0 0 <ctcp> $1-
}
on 1:open:!:{
  %rfs-fsroot- [ $+ [ $nick ] ] = $cd
  if (%rfs-whois> [ $+ [ $rfs-network ] $+ [ $nick ] ] != $null) %rfs-whois> [ $+ [ $rfs-network ] $+ [ $nick ] ] = %rfs-whois> [ $+ [ $rfs-network ] $+ [ $nick ] ]
  msg =$nick  $+ $rfs-opt(color1) $+ $rfs-def(script) »   $+ $rfs-opt(color3) $+ $rfs-def(page)
  var %~rfsopen4 = $rfs-address($nick,5)
  if ($numtok(%~rfsopen4,64) > 1) && ($hget(rfs-login,$gettok(%~rfsopen4,2-,33)) != $null) {
    var %~rfsopen3 = $gettok($hget(rfs-login,$gettok(%~rfsopen4,2-,33)),1,32)
    hadd rfs-login $gettok(%~rfsopen4,2-,33) %~rfsopen3 $uptime(mirc)
    var %~rfsopen = 1
    :A
    var %~rfsopen2 = $readini $rfs-def(ini) profile- $+ $rfs-opt(fs,fs,$nick) %~rfsopen
    if (%~rfsopen2 == $null) { unset %~rfsopen3 | goto B }
    if ($gettok(%~rfsopen2,1,32) != %~rfsopen3) {
      inc %~rfsopen 1
      goto A
    }
    var %~rfsopen = %rfs-fs- [ $+ [ $nick ] ]
    %rfs-fs- [ $+ [ $nick ] ] = $gettok(%~rfsopen,1-3,32) $gettok(%~rfsopen2,3-4,32) $gettok(%~rfsopen,6,32) $gettok(%~rfsopen2,5-8,32) $gettok(%~rfsopen,11-,32)
    if ($gettok(%~rfsopen2,9-,32) != $null) msg =$nick $replace($gettok(%~rfsopen2,9-,32),<me>,$me,<nick>,$nick)
    else msg =$nick  $+ $rfs-opt(color1) $+ Access granted.
    var %~rfsopen3 = (Logged in: %~rfsopen3 $+ )
  }
  :B
  rfs-welcome $nick
  if ($rfs-opt(fs,maxsize,$nick) > 0) msg =$nick  $+ $rfs-opt(color1) $+ « You only have access to files   $+ $rfs-opt(color3) $+ $rfs-opt(fs,maxsize,$nick) Kb   $+ $rfs-opt(color1) $+ or less. »
  if ($rfs-opt(fs,ipsend,$nick) == 1) msg =$nick  $+ $rfs-opt(color1) $+ « IP send is on. Please enable DCC Server and turn on "Listen for Send" on port   $+ $rfs-opt(color3) $+ $rfs-opt(ipsendport)   $+ $rfs-opt(color1) $+ (in mIRC DCC Options) to receive files (or type: /dccserver +s on $rfs-opt(ipsendport) ) »
  if ($rfs-opt(autosendb) > 0) msg =$nick  $+ $rfs-opt(color1) $+ « Files less than   $+ $rfs-opt(color3) $+ $rfs-opt(autosendb) Kb   $+ $rfs-opt(color1) $+ are sent immediately on demand. »
  unset %~rfsopen
  if ($rfs-opt(antiidle) == 1) var %~rfsopen = « Anti-camping is  $+ $rfs-opt(color3) $+ on  $+ $rfs-opt(color1) $+ »
  if ($rfs-opt(onchan) == 0) var %~rfsopen = %~rfsopen « Off-Channel access is  $+ $rfs-opt(color3) $+ not allowed  $+ $rfs-opt(color1) $+ »
  if ($rfs-opt(fstimelimit) > 30) var %~rfsopen = %~rfsopen « You are allowed  $+ $rfs-opt(color3) $rfs-opt(fstimelimit) seconds $+ $rfs-opt(color1) on this Fserve »
  if (%~rfsopen != $null) msg =$nick  $+ $rfs-opt(color1) $+ %~rfsopen
  msg =$nick $chr(160)
  if ($rfs-opt(fstimeout) > 30) .timerrfs-fs- $+ $nick 1 $calc($rfs-opt(fstimeout) - 30) rfs-timeout $nick
  if ($rfs-opt(fstimelimit) > 30) .timerrfs-fstl- $+ $nick 1 $calc($rfs-opt(fstimelimit) - 30) rfs-timelimit $nick
  if ($rfs-opt(fsopt,stataccess,$readini $rfs-def(ini) fs- [ $+ [ $rfs-opt(fs,fs,$nick) ] ] fsopt) == 1) {
    var %~rfsopen = $readini $rfs-def(ini) stat- $+ $rfs-opt(fs,fs,$nick) access
    writeini -n $rfs-def(ini) stat- $+ $rfs-opt(fs,fs,$nick) access $calc(%~rfsopen + 1)
  }
  rfs-log $rfs-opt(log,fsopen)  $+ $rfs-opt(color1) $+ Fserve open:  $+ $rfs-opt(color3) $+ $nick %~rfsopen4 %~rfsopen3
}
on 1:close:!:{
  if ($rfs-opt(fsopt,slot,$readini $rfs-def(ini) fs- [ $+ [ $rfs-opt(fs,fs,$nick) ] ] fsopt) != 1) goto A
  var %~rfsclose = $fserv(0)
  var %~rfsclose2 = 0
  var %~rfsclose3 = $rfs-opt(fs,fs,$nick)
  while (%~rfsclose > 0) {
    if ($fserv(%~rfsclose).status == active) && ($rfs-opt(fs,fs,$fserv(%~rfsclose)) == %~rfsclose3) inc %~rfsclose2 1
    dec %~rfsclose 1
  }
  if ($rfs-opt(fs,maxonline,$nick) == %~rfsclose2) rfs-msgchan $rfs-opt(fs,fs,$nick)  $+ $rfs-opt(color1) $+ A user has left My Fserve. 1 out of $rfs-opt(fs,maxonline,$nick) slots open.
  :A
  .timer 1 3 unset %rfs-fs- [ $+ [ $nick ] ] % $+ rfs-fsroot- [ $+ [ $nick ] ] % $+ rfs-whois> [ $+ [ $rfs-network ] $+ [ $nick ] ]
  .timerrfs-fs- $+ $nick off
  rfs-log $rfs-opt(log,fsopen)  $+ $rfs-opt(color1) $+ Fserve close:  $+ $rfs-opt(color3) $+ $nick $rfs-address($nick,5) %~rfsopen3
}
on 1:close:@RFS-Log:{
  %rfs-opt = $puttok(%rfs-opt,$window(@RFS-Log).x $window(@RFS-Log).y $window(@RFS-Log).w $window(@RFS-Log).h,25,46)
  if ($dialog($rfs-def(win)) != $null) .timer -m 1 300 dialog -v $rfs-def(win)
}
on 1:serv:help:{
  msg =$nick  $+ $rfs-opt(color1) $+ Standard commands:  $+ $rfs-opt(color3) $+ cd dir ls get read help exit
  msg =$nick  $+ $rfs-opt(color1) $+ sends »  $+ $rfs-opt(color3) $+ display current sends
  msg =$nick  $+ $rfs-opt(color1) $+ queues »  $+ $rfs-opt(color3) $+ display current queues
  msg =$nick  $+ $rfs-opt(color1) $+ clr_queues [number(s)] »  $+ $rfs-opt(color3) $+ clear specified number in queue or clear entire queue (if no number specified)
  msg =$nick  $+ $rfs-opt(color1) $+ stats »  $+ $rfs-opt(color3) $+ display Fserve stats
  msg =$nick  $+ $rfs-opt(color1) $+ who »  $+ $rfs-opt(color3) $+ display who are on the Fserve
  msg =$nick  $+ $rfs-opt(color1) $+ login <username> <password> »  $+ $rfs-opt(color3) $+ log in for special access
  msg =$nick  $+ $rfs-opt(color1) $+ logout »  $+ $rfs-opt(color3) $+ remove your address from cache
  msg =$nick  $+ $rfs-opt(color1) $+ End of Help
  rfs-lastcom $nick help
  halt
}
on 1:serv:stats:{
  msg =$nick  $+ $rfs-opt(color1) $+ Fserve created on:  $+ $rfs-opt(color3) $+ $readini $rfs-def(ini) stat- $+ $rfs-opt(fs,fs,$nick) 1
  msg =$nick  $+ $rfs-opt(color1) $+ Access:  $+ $rfs-opt(color3) $+ $readini $rfs-def(ini) stat- $+ $rfs-opt(fs,fs,$nick) access times
  msg =$nick  $+ $rfs-opt(color1) $+ Sent:  $+ $rfs-opt(color3) $+ $readini $rfs-def(ini) stat- $+ $rfs-opt(fs,fs,$nick) sent files ( $+ $bytes($readini $rfs-def(ini) stat- [ $+ [ $rfs-opt(fs,fs,$nick) ] ] sentb,3).suf $+ )
  msg =$nick  $+ $rfs-opt(color1) $+ Failed:  $+ $rfs-opt(color3) $+ $readini $rfs-def(ini) stat- $+ $rfs-opt(fs,fs,$nick) fail files ( $+ $bytes($readini $rfs-def(ini) stat- [ $+ [ $rfs-opt(fs,fs,$nick) ] ] failb,3).suf $+ )
  if ($rfs-opt(fsopt,statpop,$readini $rfs-def(ini) fs- [ $+ [ $rfs-opt(fs,fs,$nick) ] ] fsopt) == 1) rfs-filerecshow $rfs-opt(fs,fs,$nick) $nick %rfs-fsroot- [ $+ [ $nick ] ]
  msg =$nick  $+ $rfs-opt(color1) $+ End of Stats
  rfs-lastcom $nick stats
  halt
}
on 1:serv:who:{
  unset %~rfswho2
  var %~rfswho = $fserv(0)
  while (%~rfswho > 0) {
    if ($rfs-opt(fs,fs,$fserv(%~rfswho)) == $rfs-opt(fs,fs,$nick)) var %~rfswho2 = $addtok(%~rfswho2,$fserv(%~rfswho),32)
    dec %~rfswho 1
  }
  if ($numtok(%~rfswho2,32) > 1) msg =$nick  $+ $rfs-opt(color1) $+ Currently on Fserve:  $+ $rfs-opt(color3) $+ %~rfswho2
  else msg =$nick  $+ $rfs-opt(color1) $+ Currently on Fserve:  $+ $rfs-opt(color3) $+ Just you...
  rfs-lastcom $nick who
  halt
}
on 1:serv:login *:{
  if (%rfs-fs- [ $+ [ $nick ] ] == $null) %rfs-fs- [ $+ [ $nick ] ] = 1 $rfs-opt(prop) 0
  var %~rfslogin3 = %rfs-fs- [ $+ [ $nick ] ]
  var %~rfslogin = 1
  :A
  var %~rfslogin2 = $readini $rfs-def(ini) profile- $+ $rfs-opt(fs,fs,$nick) %~rfslogin
  if (%~rfslogin2 == $null) { msg =$nick  $+ $rfs-opt(color2) $+ Incorrect username/password. | goto End }
  if ($2 != $gettok(%~rfslogin2,1,32)) {
    inc %~rfslogin 1
    goto A
  }
  if ($3 != $gettok(%~rfslogin2,2,32)) { msg =$nick  $+ $rfs-opt(color2) $+ Access denied. | goto End }
  var %~rfslogin7 = $rfs-address($nick,5)
  if ($rfs-opt(logincache) > 0) && ($numtok(%~rfslogin7,64) > 1) {
    if ($hget(rfs-login) == $null) hmake rfs-login 5
    if ($hget(rfs-login,0).item > $rfs-opt(logincache)) {
      var %~rfslogin5 = 1 $gettok($hget(rfs-login,$hget(rfs-login,1).item),2,32)
      var %~rfslogin4 = $hget(rfs-login,0).item
      while (%~rfslogin4 > 1) {
        var %~rfslogin6 = $gettok($hget(rfs-login,$hget(rfs-login,%~rfslogin4).item),2,32)
        if (%~rfslogin6 < $gettok(%~rfslogin5,2,32)) var %~rfslogin5 = %~rfslogin4 %~rfslogin6
        dec %~rfslogin4 1
      }
      hdel rfs-login $hget(rfs-login,$gettok(%~rfslogin5,1,32)).item
    }
    hadd rfs-login $gettok(%~rfslogin7,2-,33) $2 $uptime(mirc)
  }
  %rfs-fs- [ $+ [ $nick ] ] = $gettok(%~rfslogin3,1-3,32) $gettok(%~rfslogin2,3-4,32) $gettok(%~rfslogin3,6,32) $gettok(%~rfslogin2,5-8,32) $gettok(%~rfslogin3,11,32)
  if ($gettok(%~rfslogin2,9-,32) != $null) msg =$nick $replace($gettok(%~rfslogin2,9-,32),<me>,$me,<nick>,$nick)
  else msg =$nick  $+ $rfs-opt(color1) $+ Access granted.
  rfs-welcome $nick
  rfs-log $rfs-opt(log,fslogin)  $+ $rfs-opt(color1) $+ Fserve login $2 $+ :  $+ $rfs-opt(color3) $+ $nick %~rfslogin7
  :End
  rfs-lastcom $nick login $2-
  halt
}
on 1:serv:logout:{
  var %~rfslogout = $gettok($rfs-address($nick,5),2-,33)
  if ($hget(rfs-login) != $null) && ($numtok(%~rfslogout,64) > 1) {
    msg =$nick  $+ $rfs-opt(color1) $+ You have been logged out.
    close -f $nick
    if ($hget(rfs-login,%~rfslogout) != $null) {
      hdel rfs-login %~rfslogout
      if ($hget(rfs-login,0).item < 1) hfree rfs-login
      rfs-log $rfs-opt(log,fslogin)  $+ $rfs-opt(color1) $+ Fserve logout:  $+ $rfs-opt(color3) $+ $nick %~rfslogout
    }
  }
  else close -f $nick
  halt
}
on 1:serv:queues:{
  if (%rfs-fs- [ $+ [ $nick ] ] == $null) %rfs-fs- [ $+ [ $nick ] ] = 1 $rfs-opt(prop) 0
  rfs-qchk $gettok(%rfs-fs- [ $+ [ $nick ] ],1,32)
  var %~rfsqs = 1
  while ($line(@rfs-q- [ $+ [ $rfs-opt(fs,fs,$nick) ] ] ,%~rfsqs) != $null) {
    var %~rfsqs2 = $line(@rfs-q- [ $+ [ $rfs-opt(fs,fs,$nick) ] ] ,%~rfsqs)
    msg =$nick  $+ $rfs-opt(color1) $+ Queue %~rfsqs $+ :  $+ $rfs-opt(color3) $+ $nopath($gettok(%~rfsqs2,4-,32)) $chr(40) $+ $bytes($file($gettok(%~rfsqs2,4-,32)).size,3).suf $+ $chr(41) $chr(91) $+ $gettok(%~rfsqs2,1,32) $+ $chr(93)
    inc %~rfsqs 1
  }
  if (%~rfsqs == 1) msg =$nick  $+ $rfs-opt(color1) $+ The queue for this Fserve is currently empty.
  else msg =$nick  $+ $rfs-opt(color1) $+ End of Queue Listing.
  rfs-lastcom $nick queues
  halt
}
on 1:serv:sends:{
  if (%rfs-fs- [ $+ [ $nick ] ] == $null) %rfs-fs- [ $+ [ $nick ] ] = 1 $rfs-opt(prop) 0
  var %~rfssends = $gettok(%rfs-fs- [ $+ [ $nick ] ],1,32)
  var %~rfssends2 = 1
  var %~rfssends3 = 0
  while ($send(%~rfssends2) != $null) {
    var %~rfssends4 = $send(%~rfssends2) $+ $chr(160) $+ $replace($send(%~rfssends2).path,$chr(32),$chr(95)) $+ $replace($send(%~rfssends2).file,$chr(32),$chr(95))
    if ($gettok(%rfs-send- [ $+ [ %~rfssends4 ] ],1,32) == %~rfssends) {
      inc %~rfssends3 1
      msg =$nick  $+ $rfs-opt(color1) $+ Send %~rfssends3 $+ :  $+ $rfs-opt(color3) $+ $send(%~rfssends2).file $chr(40) $+ $bytes($send(%~rfssends2).size,3).suf $+ $chr(41) $chr(91) $+ $send(%~rfssends2) $+ $chr(93)
    }
    inc %~rfssends2 1
  }
  if (%~rfssends3 < 1) msg =$nick  $+ $rfs-opt(color1) $+ Currently no sends from this Fserve.
  else msg =$nick  $+ $rfs-opt(color1) $+ End of Sends Listing.
  rfs-lastcom $nick sends
  halt
}
on 1:serv:clr_queues*:{
  if ($1 != clr_queues) goto End
  if (%rfs-fs- [ $+ [ $nick ] ] == $null) %rfs-fs- [ $+ [ $nick ] ] = 1 $rfs-opt(prop) 0
  rfs-qchk $rfs-opt(fs,fs,$nick)
  var %~rfscq5 = $rfs-address($nick,3)
  if ($numtok(%~rfscq5,64) < 2) unset %~rfscq5
  if ($rfs-opt(ratio) == 1) && ($rfs-opt(fs,ratio,$nick) > 0) && (%~rfscq5 != $null) {
    var %~rfscq6 = $gettok($readini $rfs-def(inir) credit %~rfscq5,1,32)
    var %~rfscq7 = %~rfscq6
  }
  else unset %~rfscq5
  var %~rfscq = @rfs-q- $+ $rfs-opt(fs,fs,$nick)
  if ($2 == $null) {
    var %~rfscq2 = 0
    while ($fline(%~rfscq,$nick *) != $null) {
      inc %~rfscq2 1
      if (%~rfscq5 != $null) inc %~rfscq6 $calc($file($gettok($line(%~rfscq,$fline(%~rfscq,$nick *)),3-,32)).size / $rfs-opt(fs,ratio,$nick))
      msg =$nick  $+ $rfs-opt(color1) $+ Removed from queue:  $+ $rfs-opt(color3) $+ $nopath($gettok($line(%~rfscq,$fline(%~rfscq,$nick *)),3-,32))
      dline %~rfscq $fline(%~rfscq,$nick *)
    }
    if (%~rfscq2 < 1) msg =$nick  $+ $rfs-opt(color1) $+ Your queue was empty.
    else {
      msg =$nick  $+ $rfs-opt(color1) $+ %~rfscq2 files were removed from your queue. Your queue is now empty.
      savebuf %~rfscq " $+ $rfs-opt(dir) $+ rfs-q- $+ $rfs-opt(fs,fs,$nick) $+ .rfs"
      var %~rfscq2 = [ [ $rfs-opt(dir) ] $+ ] rfs-q- [ $+ [ $rfs-opt(fs,fs,$nick) ] $+ ] .rfs
      if ($file(%~rfscq2).size < 1) .remove " $+ %~rfscq2 $+ "
      if (%~rfscq5 != $null) && (%~rfscq6 > %~rfscq7) { writeini -n $rfs-def(inir) credit %~rfscq5 %~rfscq6 $ctime | msg =$nick  $+ $rfs-opt(color1) $+ Adjusted credits from %~rfscq7 to %~rfscq6 }
    }
    rfs-lastcom $nick clr_queues
    halt
  }
  var %~rfscq4 = $sorttok($2-,32,nr)
  var %~rfscq2 = 1
  while ($gettok(%~rfscq4,%~rfscq2,32) != $null) {
    if ($gettok(%~rfscq4,%~rfscq2,32) isnum) {
      var %~rfscq3 = $line(%~rfscq,$gettok(%~rfscq4,%~rfscq2,32))
      if ($gettok(%~rfscq3,1,32) == $nick) {
        if (%~rfscq5 != $null) inc %~rfscq6 $calc($file($gettok(%~rfscq3,3-,32)).size / $rfs-opt(fs,ratio,$nick))
        msg =$nick  $+ $rfs-opt(color1) $+ Removed from queue:  $+ $rfs-opt(color3) $+ $nopath($gettok(%~rfscq3,3-,32))
        dline %~rfscq $gettok(%~rfscq4,%~rfscq2,32)
      }
    }
    inc %~rfscq2 1
  }
  var %~rfscq2 = [ [ $rfs-opt(dir) ] $+ ] rfs-q- [ $+ [ $rfs-opt(fs,fs,$nick) ] $+ ] .rfs
  savebuf %~rfscq " $+ %~rfscq2 $+ "
  if ($file(%~rfscq2).size < 1) .remove " $+ %~rfscq2 $+ "
  if (%~rfscq5 != $null) && (%~rfscq6 > %~rfscq7) { writeini -n $rfs-def(inir) credit %~rfscq5 %~rfscq6 $ctime | msg =$nick  $+ $rfs-opt(color1) $+ Adjusted credits from %~rfscq7 to %~rfscq6 }
  rfs-lastcom $nick clr_queues
  halt
  :End
}
on 1:serv:get *:{
  if ($2 == $null) goto End
  rfs-timeout0 $nick
  var %~rfsget6 = [ [ $cd ] $+ ] \ [ $+ [ $2- ] ]
  if ($file(%~rfsget6) == $null) {
    msg =$nick  $+ $rfs-opt(color2) $+ Invalid filename.
    goto End
  }
  if (%rfs-fs- [ $+ [ $nick ] ] == $null) %rfs-fs- [ $+ [ $nick ] ] = 1 $rfs-opt(prop) 0
  if ($rfs-opt(fs,maxsize,$nick) > 0) && ($rfs-opt(fs,maxsize,$nick) < $remove($bytes($file(%~rfsget6).size,k),$chr(44))) { msg =$nick  $+ $rfs-opt(color2) $+ You do not have access to $2- (File size greater than allowed.) | goto End }
  if ($rfs-opt(ratio) == 1) && ($rfs-opt(fs,ratio,$nick) > 0) {
    var %~rfsget3 = $mask($fserv($nick).ip,3)
    var %~rfsget = $gettok($readini $rfs-def(inir) credit %~rfsget3,1,32)
    var %~rfsget2 = $calc($file(%~rfsget6).size / $rfs-opt(fs,ratio,$nick))
    if (%~rfsget == $null) || (%~rfsget < %~rfsget2) {
      msg =$nick  $+ $rfs-opt(color2) $+ $2- requires %~rfsget2 credits. Current credits: %~rfsget ( $+ %~rfsget3 $+ ). Need $calc(%~rfsget2 - %~rfsget) credits more.
      goto End
    }
    var %~rfsget4 = msg =$nick  $+ $rfs-opt(color1) $+ Used %~rfsget2 credits. $calc(%~rfsget - %~rfsget2) credits remaining ( $+ %~rfsget3 $+ )
    var %~rfsget5 = writeini -n $rfs-def(inir) credit %~rfsget3 $calc(%~rfsget - %~rfsget2) $ctime
  }
  if ($remove($bytes($file(%~rfsget6).size,k),$chr(44)) > $rfs-opt(autosendb)) && (($rfs-sendcnt($rfs-opt(fs,fs,$nick),$rfs-opt(fs,maxsend,$nick)) < 1) || ($rfs-sendcnti($nick,$rfs-opt(fs,maxsend-i,$nick)) < 1)) {
    rfs-qchk $rfs-opt(fs,fs,$nick)
    var %~rfsget = @rfs-q- $+ $rfs-opt(fs,fs,$nick)
    if ($fline(%~rfsget,$nick *,0) >= $rfs-opt(fs,maxq-i,$nick)) { msg =$nick  $+ $rfs-opt(color2) $+ Sorry. Your queue is full. | goto End }
    if ($line(%~rfsget,0) >= $rfs-opt(fs,maxq,$nick)) { msg =$nick  $+ $rfs-opt(color2) $+ Sorry. The fserve's queue is full. | goto End }
    if ($rfs-opt(qdupchk) == 1) {
      var %~rfsget2 = $fline(%~rfsget,$nick *,0)
      while (%~rfsget2 > 0) {
        if ($gettok($fline(%~rfsget,$nick *,%~rfsget2),4-,32) == %~rfsget6) { msg =$nick  $+ $rfs-opt(color2) $+ This file already exists in your queue. | goto End }
        dec %~rfsget2 1
      }
    }
    aline %~rfsget $nick $rfs-opt(fs,maxsend-i,$nick) $+ . $+ $rfs-opt(fs,mincps,$nick) $+ . $+ $rfs-opt(fs,maxcps,$nick) $+ . $+ $rfs-opt(fs,autoresume,$nick) $fserv($nick).ip %~rfsget6
    savebuf %~rfsget " $+ $rfs-opt(dir) $+ rfs-q- $+ $rfs-opt(fs,fs,$nick) $+ .rfs"
    msg =$nick  $+ $rfs-opt(color1) $+ Queued $2- into slot $line(%~rfsget,0)
    if ($rfs-opt(fsopt,statpop,$readini $rfs-def(ini) fs- [ $+ [ $rfs-opt(fs,fs,$nick) ] ] fsopt) == 1) rfs-filerec $rfs-opt(fs,fs,$nick) %~rfsget6
    if (%~rfsget4 != $null) { %~rfsget4 | %~rfsget5 }
    goto End
  }
  if ($rfs-opt(onchan) == 0) var %~rfsget = $rfs-onchan($rfs-opt(fs,fs,$nick),$nick,0)
  else var %~rfsget = 0
  if ($numtok(%~rfsget,32) > 1) msg =$nick  $+ $rfs-opt(color2) $+ You must be on one of these channels to have access to files: %~rfsget
  else {
    msg =$nick  $+ $rfs-opt(color1) $+ Sending $2-
    %~rfs-send- [ $+ [ $nick ] ] = $readini $rfs-def(ini) fs- $+ $rfs-opt(fs,fs,$nick) chan
    if ($rfs-opt(fs,ipsend,$nick) == 0) rfs-send $rfs-opt(fs,fs,$nick) $rfs-opt(fs,maxsend-i,$nick) $rfs-opt(fs,mincps,$nick) $rfs-opt(fs,maxcps,$nick) $rfs-opt(fs,autoresume,$nick) 0 $nick %~rfsget6
    else rfs-send $rfs-opt(fs,fs,$nick) $rfs-opt(fs,maxsend-i,$nick) $rfs-opt(fs,mincps,$nick) $rfs-opt(fs,maxcps,$nick) $rfs-opt(fs,autoresume,$nick) $fserv($nick).ip $nick %~rfsget6
    if ($rfs-opt(fsopt,statpop,$readini $rfs-def(ini) fs- [ $+ [ $rfs-opt(fs,fs,$nick) ] ] fsopt) == 1) rfs-filerec $rfs-opt(fs,fs,$nick) %~rfsget6
    if (%~rfsget4 != $null) { %~rfsget4 | %~rfsget5 }
  }
  :End
  rfs-lastcom $nick get
  halt
}
on 1:serv:*:{
  if ($1 == dir) || ($1 == ls) || (($1 == cd) && ($2 != $null)) rfs-timeout0 $nick
  rfs-lastcom $nick $1-
}
on 1:snotice:*is not accepting DCC sends of filetype *:if ($rfs-opt(msg,dccallow) == 1) rfs-notice $3 The server is not allowing me to send you this file type. Please type "/dccallow + $+ $me $+ " and try again. (Type "/dccallow - $+ $me $+ " after the send finishes to remove me from the allow list.)
on 1:filercvd:*:{
  var %~rfsfilercvd3 = $rfs-address($nick,5)
  var %~rfsfilercvd2 = $mask(%~rfsfilercvd3,3)
  if ($rfs-opt(ratio) == 1) && ($numtok(%~rfsfilercvd3,64) > 1) {
    var %~rfsfilercvd = $gettok($readini $rfs-def(inir) credit %~rfsfilercvd2,1,32)
    writeini -n $rfs-def(inir) credit %~rfsfilercvd2 $calc($file($filename).size + %~rfsfilercvd) $ctime
    rfs-notice $nick Adjusted credits from %~rfsfilercvd to $calc($file($filename).size + %~rfsfilercvd) ( $+ %~rfsfilercvd2 $+ )
  }
  rfs-log $rfs-opt(log,filercvd)  $+ $rfs-opt(color1) $+ File received:  $+ $rfs-opt(color3) $+ $nick %~rfsfilercvd3 » $filename
  rfs-resumecps
}
on 1:filesent:*:{
  if ($send(0) < 2) && ($timer(rfscps) != $null) .timerrfscps off
  var %~rfssent = $gettok(%rfs-send- [ $+ [ $nick ] $+ [ $chr(160) ] $+ [ $replace($filename,$chr(32),$chr(95)) ] ],1,32)
  if (%~rfssent == $null) goto End
  unset %rfs-send- [ $+ [ $nick ] $+ [ $chr(160) ] $+ [ $replace($filename,$chr(32),$chr(95)) ] ]
  if ($rfs-opt(fsopt,statsend,$readini $rfs-def(ini) fs- [ $+ [ %~rfssent ] ] fsopt) == 1) {
    var %~rfssent2 = $readini $rfs-def(ini) stat- $+ %~rfssent sent
    writeini -n $rfs-def(ini) stat- $+ %~rfssent sent $calc(%~rfssent2 + 1)
    var %~rfssent2 = $readini $rfs-def(ini) stat- $+ %~rfssent sentb
    writeini -n $rfs-def(ini) stat- $+ %~rfssent sentb $calc(%~rfssent2 + $file($filename).size)
  }
  .timer 1 1 rfs-qsend %~rfssent
  rfs-log $rfs-opt(log,filesent)  $+ $rfs-opt(color1) $+ File sent:  $+ $rfs-opt(color3) $+ $nick $rfs-address($nick,5) » $filename
  :End
}
on 1:getfail:*:rfs-resumecps
on 1:sendfail:*:{
  if ($send(0) < 2) && ($timer(rfscps) != $null) .timerrfscps off
  var %~rfsfail = %rfs-send- [ $+ [ $nick ] $+ [ $chr(160) ] $+ [ $replace($filename,$chr(32),$chr(95)) ] ]
  if (%~rfsfail == $null) goto End
  if ($gettok(%~rfsfail,5,32) > 0) {
    if ($rfs-opt(autoresumeb) > 0) {
      var %~rfsfail2 = $send($nick,0)
      while (%~rfsfail2 > 0) {
        if ($send($nick,%~rfsfail2).path $+ $send($nick,%~rfsfail2).file == $filename) goto A
        dec %~rfsfail2 1
      }
      :A
      if ($right($rfs-opt(autoresumeb),1) == $chr(37)) {
        if ($calc(100 - $send($nick,%~rfsfail2).pc) > $int($rfs-opt(autoresumeb))) goto B
      }
      elseif ($remove($bytes($calc($file($filename).size - $send($nick,%~rfsfail2).sent),k),$chr(44)) > $rfs-opt(autoresumeb)) goto B
    }
    %rfs-send- [ $+ [ $nick ] $+ [ $chr(160) ] $+ [ $replace($filename,$chr(32),$chr(95)) ] ] = $puttok(%~rfsfail,$calc($gettok(%~rfsfail,5,32) - 1),5,32)
    if ($gettok(%~rfsfail,6,32) == 0) dcc send -cl $+ $gettok(%~rfsfail,4,32) $nick $filename
    else dcc send -cl $+ $gettok(%~rfsfail,4,32) $gettok(%~rfsfail,6,32) $filename
    rfs-log $rfs-opt(log,sendfail)  $+ $rfs-opt(color2) $+ File send failed:  $+ $rfs-opt(color3) $+ $nick $rfs-address($nick,5) » $filename (Retrying. $calc($gettok(%~rfsfail,5,32) - 1) retries remaining)
    goto End
  }
  :B
  unset %rfs-send- [ $+ [ $nick ] $+ [ $chr(160) ] $+ [ $replace($filename,$chr(32),$chr(95)) ] ]
  if ($rfs-opt(fsopt,statfail,$readini $rfs-def(ini) fs- [ $+ [ $gettok(%~rfsfail,1,32) ] ] fsopt) == 1) {
    var %~rfsfail2 = $readini $rfs-def(ini) stat- $+ $gettok(%~rfsfail,1,32) fail
    writeini -n $rfs-def(ini) stat- $+ $gettok(%~rfsfail,1,32) fail $calc(%~rfsfail2 + 1)
    var %~rfsfail3 = 1
    while ($send($nick,%~rfsfail3).path $+ $send($nick,%~rfsfail3).file != $filename) {
      inc %~rfsfail3 1
    }
    var %~rfsfail2 = $readini $rfs-def(ini) stat- $+ $gettok(%~rfsfail,1,32) failb
    writeini -n $rfs-def(ini) stat- $+ $gettok(%~rfsfail,1,32) failb $calc(%~rfsfail2 + $send($nick,%~rfsfail3).size - $send($nick,%~rfsfail3).sent)
  }
  .timer 1 1 rfs-qsend $gettok(%~rfsfail,1,32)
  rfs-log $rfs-opt(log,sendfail)  $+ $rfs-opt(color2) $+ File send failed:  $+ $rfs-opt(color3) $+ $nick $rfs-address($nick,5) » $filename
  :End
}
on 1:dialog:RFSQ-*:init:0:{
  if (%rfsq == $null) goto End
  var %~rfsq = %rfsq
  if ($findtok(%rfs-q,%~rfsq,1,32) != $null) dialog -t RFSQ- $+ $rfs-network Fserve %~rfsq Queues (Paused)
  rfs-qchk %~rfsq
  var %~rfsq2 = 1
  while ($line(@rfs-q- [ $+ [ %~rfsq ] ] ,%~rfsq2) != $null) {
    did -a RFSQ- $+ $rfs-network 1 $line(@rfs-q- [ $+ [ %~rfsq ] ] ,%~rfsq2)
    inc %~rfsq2 1
  }
  if (%~rfsq2 < 2) window -c @rfs-q- $+ %~rfsq
  :End
}
on 1:dialog:RFSQ-*:sclick:2:{
  var %~rfsq = $gettok($rfs-alert(2,Nickname?),1,32)
  if (%~rfsq == $null) goto End
  var %~rfsq4 = $gettok($dialog(RFSQ- [ $+ [ $rfs-network ] ] ).title,2,32)
  var %~rfsq3 = %~rfsq4 $readini $rfs-def(ini) fs- $+ %~rfsq4 prop
  if ($numtok(%~rfsq3,32) < 2) var %~rfsq3 = %~rfsq4 $rfs-opt(prop)
  var %~rfsq4 = $rfs-opt(fs,maxsend-i,%~rfsq3) $+ . $+ $rfs-opt(fs,mincps,%~rfsq3) $+ . $+ $rfs-opt(fs,maxcps,%~rfsq3) $+ . $+ $rfs-opt(fs,autoresume,%~rfsq3)
  var %~rfsq6 = $rfs-opt(dir)
  :A
  var %~rfsq2 = $sfile(%~rfsq6,RFS Choose file to queue [Cancel to end]:)
  var %~rfsq6 = $nofile(%~rfsq2)
  if (%~rfsq2 == $null) goto End
  if ($address(%~rfsq,5) == $null) && (%rfs-whois> [ $+ [ $rfs-network ] $+ [ %~rfsq ] ] == $null) {
    rfs-whois %~rfsq echo
    rfs-alert 3 Please wait...
  }
  if ($address(%~rfsq,5) != $null) did -a RFSQ- $+ $rfs-network 1 %~rfsq %~rfsq4 $gettok($address(%~rfsq,2),2,64) %~rfsq2
  elseif (%rfs-whois> [ $+ [ $rfs-network ] $+ [ %~rfsq ] ] != $null) did -a RFSQ- $+ $rfs-network 1 %~rfsq %~rfsq4 $gettok($mask(%rfs-whois> [ $+ [ $rfs-network ] $+ [ %~rfsq ] ],2),2,64) %~rfsq2
  else {
    var %~rfsq5 = $gettok($rfs-alert(2,Cannot determine IP. Please enter manually:),1,32)
    if (%~rfsq5 == $null) goto End
    set -u60 %rfs-whois> [ $+ [ $rfs-network ] $+ [ %~rfsq ] ] %~rfsq5
    if ($numtok(%~rfsq5,64) > 1) did -a RFSQ- $+ $rfs-network 1 %~rfsq %~rfsq4 $gettok($mask(%~rfsq5,2),2,64) %~rfsq2
    else did -a RFSQ- $+ $rfs-network 1 %~rfsq %~rfsq4 $mask(%~rfsq5,2) %~rfsq2
  }
  goto A
  :End
}
on 1:dialog:RFSQ-*:sclick:3:{
  while ($did(1).sel != $null) {
    did -d RFSQ- $+ $rfs-network 1 $did(1).sel
  }
}
on 1:dialog:RFSQ-*:sclick:4:did -r RFSQ- $+ $rfs-network 1
on 1:dialog:RFSQ-*:sclick:5:rfs-moveup RFSQ- $+ $rfs-network 1 $calc($did(1).sel - 1) 
on 1:dialog:RFSQ-*:sclick:6:rfs-movedown RFSQ- $+ $rfs-network 1 $calc($did(1).sel + 2)
on 1:dialog:RFSQ-*:sclick:7:rfs-moveup RFSQ- $+ $rfs-network 1 1
on 1:dialog:RFSQ-*:sclick:8:rfs-movedown RFSQ- $+ $rfs-network 1 $calc($did(1).lines + 1)
on 1:dialog:RFSQ-*:sclick:9:{
  var %~rfsq = $gettok($dialog(RFSQ- [ $+ [ $rfs-network ] ] ).title,2,32)
  if ($window(@rfs-q- [ $+ [ %~rfsq ] ] ) == $null) window -h @rfs-q- $+ %~rfsq
  else clear @rfs-q- $+ %~rfsq
  var %~rfsq2 = 1
  while ($did(1,%~rfsq2) != $null) {
    aline @rfs-q- $+ %~rfsq $did(1,%~rfsq2)
    inc %~rfsq2 1
  }
  savebuf @rfs-q- $+ %~rfsq " $+ $rfs-opt(dir) $+ rfs-q- $+ %~rfsq $+ .rfs"
  var %~rfsq2 = [ [ $rfs-opt(dir) ] $+ ] rfs-q- [ $+ [ %~rfsq ] $+ ] .rfs
  if ($file(%~rfsq2).size < 1) .remove " $+ %~rfsq2 $+ "
}
on 1:dialog:RFSQ-*:sclick:10:if ($rfs-alert(1,Close without saving queue list?) == Yes) dialog -x RFSQ- $+ $rfs-network
on 1:dialog:RFSQ-*:sclick:11:{
  var %~rfsq = $gettok($dialog(RFSQ- [ $+ [ $rfs-network ] ] ).title,2,32)
  %rfs-q = $remtok(%rfs-q,%~rfsq,1,32)
  if (%rfs-q == $null) unset %rfs-q
  dialog -t RFSQ- $+ $rfs-network Fserve %~rfsq Queues
  rfs-qsend %~rfsq
}
on 1:dialog:RFSQ-*:sclick:12:{
  var %~rfsq = $gettok($dialog(RFSQ- [ $+ [ $rfs-network ] ] ).title,2,32)
  %rfs-q = $addtok(%rfs-q,%~rfsq,32)
  dialog -t RFSQ- $+ $rfs-network Fserve %~rfsq Queues (Paused)
}
on 1:dialog:RFSQ-*:sclick:13:{
  if ($did(1).sel == $null) goto End
  var %~rfsq = $gettok($dialog(RFSQ- [ $+ [ $rfs-network ] ] ).title,2,32)
  var %~rfsq2 = $readini $rfs-def(ini) fs- $+ %~rfsq prop
  if (%~rfsq2 == $null) var %~rfsq2 = $rfs-opt(prop)
  rfs-qchk %~rfsq
  if ($fline(@rfs-q- [ $+ [ %~rfsq ] ] ,$did(1).sel) != $null) {
    dline @rfs-q- $+ %~rfsq $fline(@rfs-q- [ $+ [ %~rfsq ] ] ,$did(1).seltext)
    var %~rfsq4 = [ [ $rfs-opt(dir) ] $+ ] rfs-q- [ $+ [ %~rfsq ] $+ ] .rfs
    savebuf @rfs-q- $+ %~rfsq " $+ %~rfsq4 $+ "
    if ($file(%~rfsq4).size < 1) .remove " $+ %~rfsq4 $+ "
  }
  %~rfs-send- [ $+ [ $gettok($did(1).sel,1,32) ] ] = $readini $rfs-def(ini) fs- $+ %~rfsq chan
  var %~rfsq3 = $gettok($did(1).seltext,2,32)
  if ($rfs-opt(fs,ipsend,%~rfsq2) == 0) rfs-send %~rfsq $replace($gettok(%~rfsq3,1-4,46),$chr(46),$chr(32)) 0 $gettok($did(1).seltext,1,32) $gettok($did(1).seltext,4-,32)
  else rfs-send %~rfsq $replace($gettok(%~rfsq3,1-4,46),$chr(46),$chr(32)) $gettok($did(1).seltext,3,32) $gettok($did(1).seltext,1,32) $gettok($did(1).seltext,4-,32)
  did -r RFSQ- $+ $rfs-network 1
  var %~rfsq2 = 1
  while ($line(@rfs-q- [ $+ [ %~rfsq ] ] ,%~rfsq2) != $null) {
    did -a RFSQ- $+ $rfs-network 1 $line(@rfs-q- [ $+ [ %~rfsq ] ] ,%~rfsq2)
    inc %~rfsq2 1
  }
  if (%~rfsq2 < 2) window -c @rfs-q- $+ %~rfsq
  :End
}
on 1:dialog:RFSP-*:init:0:{
  if ($did($rfs-def(win),8) != $null) did -a RFSP- $+ $rfs-network 12 $did($rfs-def(win),8)
  else did -a RFSP- $+ $rfs-network 12 $gettok($rfs-opt(prop),3,32)
  if ($did($rfs-def(win),9) != $null) did -a RFSP- $+ $rfs-network 13 $did($rfs-def(win),9)
  else did -a RFSP- $+ $rfs-network 13 $gettok($rfs-opt(prop),4,32)
  if ($did($rfs-def(win),19) != $null) did -a RFSP- $+ $rfs-network 14 $did($rfs-def(win),19)
  else did -a RFSP- $+ $rfs-network 14 $gettok($rfs-opt(prop),6,32)
  if ($did($rfs-def(win),47) != $null) did -a RFSP- $+ $rfs-network 15 $did($rfs-def(win),47)
  else did -a RFSP- $+ $rfs-network 15 $gettok($rfs-opt(prop),7,32)
  if ($did($rfs-def(win),69) != $null) did -a RFSP- $+ $rfs-network 16 $did($rfs-def(win),69)
  else did -a RFSP- $+ $rfs-network 16 $gettok($rfs-opt(prop),8,32)
  if ($did($rfs-def(win),71) != $null) did -a RFSP- $+ $rfs-network 17 $did($rfs-def(win),71)
  else did -a RFSP- $+ $rfs-network 17 $gettok($rfs-opt(prop),9,32)
  var %~rfsp3 = %rfsp
  var %~rfsp = 1
  :A
  var %~rfsp2 = $readini $rfs-def(ini) profile- $+ %~rfsp3 %~rfsp
  if (%~rfsp2 != $null) {
    var %~rfsp4 = $gettok(%~rfsp2,9-,32)
    if (%~rfsp4 != $null) var %~rfsp4 = $str($chr(160),3) $+ %~rfsp4
    did -a RFSP- $+ $rfs-network 1 $replace($gettok(%~rfsp2,1-8,32),$chr(32),$str($chr(160),3)) $+ %~rfsp4
    inc %~rfsp 1
    goto A
  }
  did -z RFSP- $+ $rfs-network 1
}
on 1:dialog:RFSP-*:sclick:1:{
  did -r RFSP- $+ $rfs-network 2,3,4,5,6,7,8,9,18
  did -a RFSP- $+ $rfs-network 2 $gettok($did(1).seltext,1,160)
  did -a RFSP- $+ $rfs-network 3 $gettok($did(1).seltext,2,160)
  did -a RFSP- $+ $rfs-network 4 $gettok($did(1).seltext,3,160)
  did -a RFSP- $+ $rfs-network 5 $gettok($did(1).seltext,4,160)
  did -a RFSP- $+ $rfs-network 6 $gettok($did(1).seltext,5,160)
  did -a RFSP- $+ $rfs-network 7 $gettok($did(1).seltext,6,160)
  did -a RFSP- $+ $rfs-network 8 $gettok($did(1).seltext,7,160)
  did -a RFSP- $+ $rfs-network 18 $gettok($did(1).seltext,8,160)
  did -a RFSP- $+ $rfs-network 9 $gettok($did(1).seltext,9,160)
}
on 1:dialog:RFSP-*:sclick:10:rfs-saveprof $gettok($dialog(RFSP- [ $+ [ $rfs-network ] ] ).title,2,32)
on 1:dialog:RFSP-*:sclick:11:if ($rfs-alert(1,Close without saving profiles?) == Yes) dialog -x RFSP- $+ $rfs-network
on 1:dialog:RFSP-*:sclick:32:{
  if ($did(4) == $null) did -a RFSP- $+ $rfs-network 4 $did(12)
  if ($did(5) == $null) did -a RFSP- $+ $rfs-network 5 $did(13)
  if ($did(6) == $null) did -a RFSP- $+ $rfs-network 6 $did(14)
  if ($did(7) == $null) did -a RFSP- $+ $rfs-network 7 $did(15)
  if ($did(8) == $null) did -a RFSP- $+ $rfs-network 8 $did(16)
  if ($did(18) == $null) did -a RFSP- $+ $rfs-network 18 $did(17)
  if ($did(9,1) != $null) {
    var %~rfsp = $str($chr(160),3)
    var %~rfsp2 = 1
    while ($did(9,%~rfsp2) != $null) {
      var %~rfsp = %~rfsp $did(9,%~rfsp2)
      inc %~rfsp2 1
    }
  }
  if ($did(4) !isnum) || ($did(4) < 0) || ($did(5) !isnum) || ($did(5) < 0) || ($did(6) !isnum) || ($did(6) < 0) || ($did(7) !isnum) || ($did(7) < 0) || ($did(8) !isnum) || ($did(8) < 0) || ($did(18) !isnum) || ($did(18) < 0) { rfs-alert 0 Max Queue, Max Send, Min CPS, Max CPS, Autoresume and ratio must be positive integers. | goto End }
  if ($didwm(1, [ [ $gettok($did(2),1,32) ] $+ [ $chr(160) ] $+ ] *) > 0) did -d RFSP- $+ $rfs-network 1 $didwm(1, [ [ $gettok($did(2),1,32) ] $+ [ $chr(160) ] $+ ] *)
  did -a RFSP- $+ $rfs-network 1 $gettok($did(2),1,32) $+ $str($chr(160),3) $+ $gettok($did(3),1,32) $+ $str($chr(160),3) $+ $int($did(4)) $+ $str($chr(160),3) $+ $int($did(5)) $+ $str($chr(160),3) $+ $int($did(6)) $+ $str($chr(160),3) $+ $int($did(7)) $+ $str($chr(160),3) $+ $int($did(8)) $+ $str($chr(160),3) $+ $int($did(18)) $+ %~rfsp
  did -z RFSP- $+ $rfs-network 1
  :End
}
on 1:dialog:RFSP-*:sclick:33:{
  while ($did(1).sel != $null) {
    did -d RFSP- $+ $rfs-network 1 $did(1).sel
  }
}
on 1:dialog:RFSP-*:sclick:34:did -r RFSP- $+ $rfs-network 1
on 1:dialog:RFSP-*:sclick:35:{
  var %~rfsp = $gettok($rfs-alert(2,Enter Fserve number to copy to:),1,32)
  if (%~rfsp != $null) {
    if ($readini $rfs-def(ini) fs %~rfsp != $null) rfs-saveprof %~rfsp
    else rfs-alert 0 Invalid Fserve number
  }
}
on 1:dialog:RFSS-*:init:0:{
  did -c RFSS- $+ $rfs-network 8,12
  did -a RFSS- $+ $rfs-network 11 12:00pm
  var %~rfss4 = off
  :A
  var %~rfss = $readini $rfs-def(ini) sched- $+ $gettok($dialog(RFSS- [ $+ [ $rfs-network ] ] ).title,2,32) %~rfss4
  var %~rfss2 = $numtok(%~rfss,32)
  while (%~rfss2 > 0) {
    var %~rfss3 = $gettok(%~rfss,%~rfss2,32)
    did -a RFSS- $+ $rfs-network 9 $rfs-dayconvb($gettok(%~rfss3,2,62)) $gettok(%~rfss3,1,62) %~rfss4
    dec %~rfss2 1
  }
  if (%~rfss4 == off) { var %~rfss4 = on | goto A }
}
on 1:dialog:RFSS-*:sclick:10:rfs-savesched $gettok($dialog(RFSS- [ $+ [ $rfs-network ] ] ).title,2,32)
on 1:dialog:RFSS-*:sclick:14:{
  if ($numtok($did(11),58) < 2) {
    if ($right($did(11),2) == am) || ($right($did(11),2) == pm) did -o RFSS- $+ $rfs-network 11 1 $int($did(11)) $+ : $+ 00 $+ $right($did(11),2)
    else did -o RFSS- $+ $rfs-network 11 1 $int($did(11)) $+ : $+ 00 $+ am
  }
  var %~rfss2 = $gettok($did(11),1,58)
  var %~rfss3 = $remove($gettok($did(11),2,58),am,pm)
  if (%~rfss2 !isnum) || (%~rfss3 !isnum) || ($chr(46) isin %~rfss2) || ($chr(46) isin %~rfss3) || ($len(%~rfss2) > 2) || ($len(%~rfss3) != 2) || (%~rfss2 < 0) || (%~rfss2 > 24) || (%~rfss3 < 0) || (%~rfss3 > 59) { rfs-alert 0 Invalid time. Format in hour:min (eg. 3:30pm or 15:30) | goto End }
  var %~rfss = 8
  while (%~rfss > 0) && ($did(%~rfss).state != 1) {
    dec %~rfss 1
  }
  if (%~rfss == 8) var %~rfss = 0 Any $+ $chr(160) $+ day
  else var %~rfss = %~rfss $did(%~rfss)
  if ($did(12).state == 1) did -a RFSS- $+ $rfs-network 9 %~rfss $did(11) on
  else did -a RFSS- $+ $rfs-network 9 %~rfss $did(11) off
  :End
}
on 1:dialog:RFSS-*:sclick:15:{
  while ($did(9).sel != $null) {
    did -d RFSS- $+ $rfs-network 9 $did(9).sel
  }
}
on 1:dialog:RFSS-*:sclick:16:did -r RFSS- $+ $rfs-network 9
on 1:dialog:RFSS-*:sclick:17:{
  var %~rfss = $gettok($rfs-alert(2,Enter Fserve number to copy to:),1,32)
  if (%~rfss != $null) {
    if ($readini $rfs-def(ini) fs %~rfss != $null) rfs-savesched %~rfss
    else rfs-alert 0 Invalid Fserve number
  }
}
on 1:dialog:RFSS-*:sclick:18:if ($rfs-alert(1,Close without saving schedule?) == Yes) dialog -x RFSS- $+ $rfs-network
; End of script