home *** CD-ROM | disk | FTP | other *** search
Wrap
on 1:load:fserve.init #Ratio off #Ratio end #Custom off #Custom end on 1:connect: { .disable #offer } alias fserve.init { if %color1 == $null || %color2 == $null || %color3 == $null || %color4 == $null { set %color1 12 | set %color2 2 | set %color3 10 | set %color4 14 } .events on .ctcps on if $exists($mircdirdata) == $false run command.com /c md $mircdirdata if $exists($mircdircredits) == $false run command.com /c md $mircdircredits if %ratio == $null set %ratio 2 if %maxgets == $null set %maxgets 5 if %maxsends == $null set %maxsends 5 if %free.credits == $null set %free.credits 300000 if %validfiles == $null set %validfiles wav, mid, zip, jpg, txt, exe, gif if %characters == $null set %characters !@ if %max.top == $null set %max.top 10 if %joinad == $null set %joinad off if %ad.time == $null set %ad.time 180 if $findfile($mircdir,fserv2.mrc,1) != $null .timer 1 10 .load -rs $findfile($mircdir,fserv2.mrc,1) echo %color2 -s Successfully loaded $+ %color3 File Server By: Aaron18 echo %color2 -s You may now press $+ %color1 F3 $+ %color2 to set up the script. } alias F3 { if $chat($me).status == $null { if $window(@FserveáSetup).state == normal window -c @FserveáSetup else setup } else closeemail } on 1:text:%command:*:{ if %command == ! $+ $me && $2 != $null { if $2 == $nopath(%offer.file) && $remove($1,!) == $me { dcc send $nick %offer.file .notice $nick $+ %color2 $+ Sending: $+ %color1 $nopath(%offer.file) $+ %color2 $+ Size: $+ %color3 $lof(%offer.file) $+ %color2 $+ bytes } else notice $nick 4Error: $+ %color2 Invalid filename, current file being offered: $+ %color3 $nopath(%offer.file) } elseif $group(#fserve).status == on && $fserv($nick) == $null { set %host $readini $mircdircredits\ $+ $convert($nick) $+ .ini Host Address if %host == $null { writeini $mircdircredits\ $+ $convert($nick) $+ .ini Host Address $mask($fulladdress,4) | set %host $mask($fulladdress,4) } if %host != $mask($fulladdress,4) { .notice $nick $+ %color2 Sorry, [ $+ %color1 $+ %host $+ $+ %color2 $+ ] has already taken that nickname .notice $nick $+ %color2 Please choose a new nickname for access. halt } else { if $exists(%welcome) == $true fserve $nick 100 %directory %welcome else fserve $nick 100 %directory } } } on 1:text:!list:#:.notice $nick You may enter my file server by typing: $+ %color3 %command $+ %color2 $+ Ratio: $+ %color3 1: $+ %ratio #fserve off #fserve end #offer off on 1:text:!*:*:{ if $2 == $nopath(%offer.file) && $remove($1,!) == $me { dcc send $nick %offer.file .notice $nick $+ %color2 $+ Sending: $+ %color1 $nopath(%offer.file) $+ %color2 $+ Size: $+ %color3 $lof(%offer.file) $+ %color2 $+ bytes } elseif $remove($1,!) == $me .notice $nick 4Error: $+ %color2 Invalid filename, current file being offered: $+ %color3 $nopath(%offer.file) halt } alias free { set %files $findfile(%offer.directory,*.*,0) if %files != $null { set %offer.file $findfile(%offer.directory,*.*,$r(1,%files)) msg %offer.chan $+ %color2 $+ To get a free random file, you may type $+ %color3 ! $+ $me $nopath(%offer.file) $+ %color2 $+ to receive a copy. File size $+ %color1 $lof(%offer.file) $+ %color2 $+ bytes } else { echo 4 -a Error $+ %color2 No files found in directory .disable #offer } } #offer end on 1:text:%command:?:.notice $nick Sorry %command is shut down at the moment. on 1:sendfail:*.*: { if $group(#ratio).status == on { if $readini $mircdircredits\ $+ $nick $+ .ini Files $filename == bought { remini $mircdircredits\ $+ $nick $+ .ini Files $filename if $fserv($nick).status == active { msg = $+ $nick $+ %color2 $+ File: $+ %color1 $nopath($filename) $+ %color2 $+ did not complete. msg = $+ $nick $+ %color1 $+ [ $+ $lof($filename) $+ ] $+ %color2 credits have been reimbursed to your account. } else { .notice $nick $+ %color2 $+ File: $+ %color1 $nopath($filename) $+ %color2 $+ did not complete. .notice $nick $+ %color1 $+ [ $+ $lof($filename) $+ ] $+ %color2 credits have been reimbursed to your account. } add $nick $lof($filename) } } } alias mget { set %file $findfile($2,$3-,%loop) if $2 $+ \ $+ $nopath(%file) == %file || $2 $+ $nopath(%file) == %file { if $group(#ratio).status == off || $byte.credits($1) == Unlimited && $gets($1) < %maxgets { dcc send $1 %file msg = $+ $1 $+ %color2 $+ Sending [ $+ %color1 $+ $nopath(%file) $+ $+ %color2 $+ ] } elseif $byte.credits($1) >= $lof(%file) && $gets($1) < %maxgets && %file != $null { dcc send $1 %file del $1 $lof(%file) writeini $mircdircredits\ $+ $convert($1) $+ .ini Files %file bought msg = $+ $1 $+ %color2 $+ Sending [ $+ %color1 $+ $nopath(%file) $+ $+ %color2 $+ ] Credits remaining: $+ %color1 $byte.credits($1) } else { if $gets($1) >= %maxgets msg = $+ $1 $+ %color2 $+ File transfer limit of $+ %color1 %maxgets $+ %color2 $+ files has been reached. elseif $byte.credits($1) <= $lof(%file) msg = $+ $1 $+ %color2 $+ Sorry, credit limit has been reached. You have $+ %color1 $byte.credits($1) $+ %color2 $+ credit(s) remaining halt } } if ( %loop == %files && %files >= 2 ) || ( $2 $+ \ $+ $nopath(%file) != %file && $2 $+ $nopath(%file) != %file ) || %file == $null { msg = $+ $1 $+ %color2 $+ End of listing for [ $+ %color1 $+ $3- $+ $+ %color2 $+ ] | halt } } on 1:serv:*: { if $byte.credits($nick) == banned { msg = $+ $nick $+ %color2 $+ Sorry, you have been banned from this fserve close -f $nick halt } if $1 == get { unset %file set %files $findfile($fserv($nick).cd,$2-,0) if %files == 0 || $2- == $null { .msg = $+ $nick $+ %color2 $+ No file(s) found. Use form < $+ %color1 $+ get filename.ext $+ %color2 $+ > or < $+ %color1 $+ get file*.ex* $+ %color2 $+ > | halt } else for 1 %files mget $nick $cd $2- halt } elseif $1 == dir || $1 == ls { if $group(#ratio).status == on msg = $+ $nick $+ %color2 $+ Credit status: $+ %color3 $byte.credits($nick) msg = $+ $nick $+ %color2 $+ Type $+ %color1 Help $+ %color2 for Commands if $group(#custom).status == on { msg = $+ $nick $+ %color2 $+ Directory listing for: $+ %color1 $remove($cd,$left(%directory,3)) set %loop 1 :loop if %loop > $readini $mircdirdata\cat.ini directories total goto done set %directory.check $readini $mircdirdata\cat.ini directories %loop if %directory.check == $remove($cd,$left(%directory,3)) directory $nick elseif $remove($cd,$left(%directory,3)) isin %directory.check { set %directory.check %directory.check $+ \ set %slashes $count(%directory.check,$chr(92)) set %directory.check $gettok(%directory.check,%slashes,92) set %length $len(%directory.check) set %distance 20 - %length set %check $cd $+ \ $+ %directory.check if ($exists(%check)) msg = $+ $nick $+ %color2 %directory.check $str(%distance,$chr(160)) $+ %color1 <DIR> } inc %loop goto loop :done set %total $readini $mircdirdata\cat.ini $remove($cd,$left(%directory,3)) files if %total == $null set %total 0 msg = $+ $nick $+ %color2 $+ End of list for: $+ %color1 $remove($cd,$left(%directory,3)) $+ %color2 $+ with $+ %color1 %total $+ %color2 $+ file(s) unset % $+ $nick $+ ~ $+ * halt } } elseif $1 == help { msg = $+ $nick $+ %color2 $+ File serving commands: msg = $+ $nick $+ %color1 $+ Dir, ls: $+ %color2 Displays the directory listing msg = $+ $nick $+ %color1 $+ Get: $+ %color2 Gets a file or mutiple files msg = $+ $nick $+ %color2 $+ Syntax: < $+ %color1 $+ get *.mid $+ %color2 $+ > < $+ %color1 $+ get song.mid $+ %color2 $+ > < $+ %color1 $+ get s*.* $+ %color2 $+ > etc. msg = $+ $nick $+ %color1 $+ Read: $+ %color2 Reads the contents of a file msg = $+ $nick $+ %color1 $+ Cd: $+ %color2 Change directory, similar syntax to Dos msg = $+ $nick $+ %color1 $+ Stats: $+ %color2 Use Stats < $+ %color1 $+ Filename.ext $+ $+ %color2 $+ > for number of downloads msg = $+ $nick $+ %color1 $+ Stats: $+ %color2 Displays your credit and ratio status msg = $+ $nick $+ %color1 $+ Top: $+ %color2 Top %max.top downloaded files halt } elseif $1- == cd { msg = $+ $nick $+ %color2 $+ Current Directory $+ %color1 $cd } elseif $1 == top { if $2 == $0 { msg = $+ $nick $+ %color2 $+ Top $+ %color1 %max.top $+ %color2 $+ downloaded files for 1 %max.top top.downloads $nick msg = $+ $nick $+ %color2 $+ Type $+ %color1 Top $+ %color2 < $+ %color1 $+ Number $+ %color2 $+ > to download file halt } set %stat $read -l $+ $2 $mircdirdata\top.ini set %file $gettok(%stat,1,32) if $2 !isnum || $2 > %max.top || $2 < 1 { msg = $+ $nick 4Error: $+ %color2 Invalid input, please select a number $+ %color1 1- $+ %max.top halt } if $exists(%file) { set %dir $nofile(%file) set %file $nopath(%file) set %files 1 | set %loop 1 mget $nick %dir %file } else { msg = $+ $nick $+ %color2 $+ [ $+ %color1 $+ %file $+ $+ %color2 $+ ] could not be found in that location } halt } elseif $1 == stats { if $2 == $0 { msg = $+ $nick $+ %color2 $+ Current ratio: $+ %color1 1: $+ %ratio msg = $+ $nick $+ %color2 $+ You have $+ %color1 $byte.credits($nick) $+ %color2 $+ credit(s). msg = $+ $nick $+ %color2 $+ Files sent to you: $+ %color1 $downloads($nick) msg = $+ $nick $+ %color2 $+ Files received from you: $+ %color1 $uploads($nick) set %nick $readini $mircdirdata\address.ini Users $fserv($nick).ip if %nick != $nick && $byte.credits($nick) == 0 msg = $+ $nick $+ %color2 $+ You have $+ %color1 $byte.credits(%nick) $+ %Color2 $+ credits under this nick: $+ %color1 %nick halt } set %file $cd $+ \ $+ $2 set %downloads $readini $mircdirdata\download.ini Files %file if %downloads == $0 msg = $+ $nick $+ %color2 $+ No record found for: $+ %color1 $2 else msg = $+ $nick $+ %color2 $+ [ $+ %color1 $+ $2 $+ $+ %color2 $+ ] has been downloaded $+ %color1 %downloads $+ %color2 $+ Time(s). halt } elseif $1 != cd && $1 != cd.. && $1 != exit && $1 != bye && $1 != quit && $1 != read && $1 != s && $1 != c halt } on 1:filesent:*.*: { newfile $nick download if $readini $mircdircredits\ $+ $convert($nick) $+ .ini Files $filename == bought remini $mircdircredits\ $+ $convert($nick) $+ .ini Files $filename flushini $mircdircredits\ $+ $convert($nick) $+ .ini increment $filename } on 1:filercvd:*.*: { if $group(#ratio).status == on { %temp = %ratio * $lof($filename) add $nick %temp if $fserv($nick).status == active { msg = $+ $nick $+ %color2 $+ Upload of $+ %color1 $nopath($filename) $+ %color2 $+ complete: Credit(s) earned: $+ %color1 %temp $+ %color2 $+ Total Credits: $+ %color1 $byte.credits($nick) $+ %color2 $+ credit(s) } else .notice $nick $+ %color2 $+ Upload of $+ %color1 $nopath($filename) $+ %color2 $+ complete: Credit(s) earned: $+ %color1 %temp $+ %color2 $+ Total Credits: $+ %color1 $byte.credits($nick) $+ %color2 $+ credit(s) } newfile $convert($nick) uploads write $mircdirupload.log Received $filename from $nick } on 1:close:!:unset % $+ $nick $+ cd alias h2 return ºεM▐L╔ º╟«═▐T alias v return alias check.custom { if $group(#custom) == on { set %check %number.of.files + 1 if $findfile(%directory,*.*,%check) != $null || $findfile(%directory,*.*,%number.of.files) == $null { echo %color2 -a Directory structure of $+ %color1 Custom Fserve $+ %color2 has changed echo %color2 -a Please type $+ %color1 /compile $+ %color2 to re-compile echo %color2 -a Press $+ %color1 F3 $+ %color2 and switch to $+ %color1 Normal $+ %color2 mode to avoid this message. } unset %check } } on 1:open:!: { check.custom if $group(#custom).status != on msg = $+ $nick $h2(%color2) $v(4,%color1) else msg = $+ $nick $h2(%color2) $v(4,%color1) Custom File-Serve Mode msg = $+ $nick $+ %color2 $+ Available at: $+ %color1 http://warezhell.cjb.net msg = $+ $nick $+ %color2 $+ Type $+ %color1 Help $+ %color2 for Commands if $group(#custom).status == on { set %directory.letters $len(%directory) dec %directory.letters 3 set %current.directory $right(%directory,%directory.letters) dec %directory.letters set %current.directory $left(%current.directory,%directory.letters) set % $+ $nick $+ cd %current.directory } if $group(#ratio).status == on { set %check $readini $mircdirdata\address.ini Users $fserv($nick).ip if %check == $0 && $byte.credits($nick) == 0 { writeini $mircdirdata\address.ini Users $fserv($nick).ip $convert($nick) writeini $mircdircredits\ $+ $convert($nick) $+ .ini Credits Credits %free.credits } elseif %check != $convert($nick) && %check != $null { msg = $+ $nick $+ %color2 $+ Free credits denied, your record lies under this nick: $+ %color1 %check .remove $mircdircredits\ $+ $convert($nick) $+ .ini halt } } } alias newfile incini credits $1 Transfer $2 1 alias uploads return $check($1,Transfer,uploads) alias downloads return $check($1,Transfer,download) alias check { set %number $readini $mircdircredits\ $+ $convert($1) $+ .ini $2 $3 if %number == $null { return 0 goto end } return %number :end } alias incini { set %credits $readini $mircdir $+ $1 $+ \ $+ $convert($2) $+ .ini $3 $4 if %credits == $null || $5 == Unlimited || $5 == Banned { writeini $mircdir $+ $1 $+ \ $+ $convert($2) $+ .ini $3 $4 $5 goto end } inc %credits $5 writeini $mircdir $+ $1 $+ \ $+ $convert($2) $+ .ini $3 $4 %credits :end } alias add incini Credits $1 Credits Credits $2 alias byte.credits return $check($1,Credits,Credits) alias del { set %credits $readini $mircdircredits\ $+ $convert($1) $+ .ini Credits Credits if %credits == $null { writeini $mircdircredits\ $+ $convert($1) $+ .ini Credits Credits 0 goto end } dec %credits $2 if %credits < 0 set %credits 0 writeini $mircdircredits\ $+ $convert($1) $+ .ini Credits Credits %credits :end } alias delete { remini $mircdircredits\ $+ $convert($1) $+ .ini Credits } alias convert { set %nickname $left($1,8) set %nickname $replace(%nickname,[,_) set %nickname $replace(%nickname,],_) set %nickname $replace(%nickname,|,_) set %nickname $replace(%nickname,^,_) set %nickname $replace(%nickname,\,_) set %nickname $replace(%nickname,-,_) return %nickname } alias increment { incini data download Files $1 1 set %downloads $readini $mircdirdata\download.ini Files $1 add.file $1 %downloads } alias add.file for 1 %max.top insert $1 $2 alias insert { if ($exists($mircdirdata\top.ini)) set %file.check $read -l $+ %loop $mircdirdata\top.ini if %file.check == $null set %file.check None 0 if $gettok(%file.check,1,32) == $1 { write -l $+ %loop $mircdirdata\top.ini $1 $2 | set %loop %max.top | if $window(@TopáDownloads).state == normal display.top | goto done } elseif $gettok(%file.check,2,32) < $2 { write -ds $+ $1 $mircdirdata\top.ini write -il $+ %loop $mircdirdata\top.ini $1 $2 set %limit %max.top + 1 write -dl $+ %limit $mircdirdata\top.ini set %loop %max.top if $window(@TopáDownloads).state == normal display.top goto done } :done unset %file.check } alias top.downloads { unset %stat if ($exists($mircdirdata\top.ini)) set %stat $read -l $+ %loop $mircdirdata\top.ini if %stat == $null msg = $+ $1 $+ %color1 $+ [ $+ %loop $+ ] $+ %color2 None else { set %filename $gettok(%stat,1,32) set %downloads $gettok(%stat,2,32) if %downloads > 1 msg = $+ $1 $+ %color1 $+ [ $+ %loop $+ ] $+ %color3 $nopath(%filename) $+ %color2 $+ with $+ %color1 %downloads $+ %color2 $+ downloads else msg = $+ $1 $+ %color1 $+ [ $+ %loop $+ ] $+ %color3 $nopath(%filename) $+ %color2 $+ with $+ %color1 %downloads $+ %color2 $+ download } } alias des { set %file.for.description $$dir="Please Select a file for new description" %directory set %des $$?="Enter description for selected file" writeini $mircdirdata\describe.ini Files %file.for.description %des echo %color2 -s Added [ $+ %color1 $+ %des $+ $+ %color2 $+ ] as description for $+ %color1 $nopath(%file.for.description) unset %file.for.description unset %des } alias directory { set %directory.loop 1 :start if %directory.loop > $readini $mircdirdata\cat.ini $remove($fserv($1).cd,$left(%directory,3)) files goto end set %file $readini $mircdirdata\cat.ini $remove($fserv($1).cd,$left(%directory,3)) %directory.loop set %length $gettok(%file,2,32) set %file $gettok(%file,1,32) set %size $len(%file) set %distance 15 - %size set %fullpath $fserv($1).cd $+ \ $+ %file set %path $fserv($1).cd $+ $chr(92) $+ %file set %description $readini $mircdirdata\describe.ini Files %fullpath if $exists(%path) { if %description != $null .msg = $+ $1 $+ %color2 %file $str(%distance,$chr(160)) $+ %color3 %length bytes $+ %color4 %description else .msg = $+ $1 $+ %color2 %file $str(%distance,$chr(160)) $+ %color3 %length bytes } inc %directory.loop goto start :end } ;################## Required for the Compilation of the File Serving Directory Structure ################## alias compile { echo %color2 -a Compiling directory structure of: $+ %color1 %directory flushini $mircdirdata\cat.ini .remove $mircdirdata\cat.ini set %number.of.files $findfile(%directory,*.*,0) unset %current.directory if %number.of.files < 200 { set %incrementation $round($calc(200 / %number.of.files),0) if %incrementation > 1 dec %incrementation set %newloop %incrementation } else { set %incrementation $round($calc(%number.of.files / 200),0) set %newloop 0 set %spot 0 } for 1 %number.of.files writefile rline %window 2 $+ %color1 $+ [ $+ %directory $+ ] $+ %color2 has been successfully compiled } menu @ProgressáMeter { dclick window -c @ProgressáMeter } alias progress { set %window @ProgressáMeter if $window(%window).state != normal { window %window 95 120 430 70 %window Arial bold 12 for 1 4 aline %window 0- set %loop 1 } rline %window 1 $+ %color2 $+ Creating directory structure for [ $+ %color1 $+ %directory $+ $+ %color2 $+ ] rline %window 2 $+ %color2 $+ Files complete: $+ %color1 %loop $+ %color2 $+ of $+ %color1 %number.of.files if %number.of.files < 200 { inc %newloop %incrementation set %string 1,1| set %position $line(%window,0) rline %window %position $str(%newloop,%string) dec %position rline %window %position $str(%newloop,%string) } else { if %newloop > %incrementation { set %string 1,1| set %position $line(%window,0) inc %spot rline %window %position $str(%spot,%string) dec %position rline %window %position $str(%spot,%string) set %newloop 0 } inc %newloop } } alias writefile { set %current.file $findfile(%directory,*.*,%loop) set %slash.count $count(%current.file,$chr(92)) if %slash.count > 2 set %slash.count 2- [ $+ [ %slash.count ] ] if %current.directory != $gettok(%current.file,%slash.count,92) newdirectory $gettok(%current.file,%slash.count,92) set %current.directory $gettok(%current.file,%slash.count,92) addfile $gettok(%current.file,%slash.count,92) set %file.number $readini $mircdirdata\cat.ini %current.directory files writeini $mircdirdata\cat.ini %current.directory %file.number $nopath(%current.file) $lof(%current.file) progress } alias addfile incini data cat $1 files 1 alias newdirectory { set %directories $readini $mircdirdata\cat.ini directories total if %directories == $null { writeini $mircdirdata\cat.ini directories total 1 writeini $mircdirdata\cat.ini directories 1 $1 goto end } inc %directories writeini $mircdirdata\cat.ini directories total %directories writeini $mircdirdata\cat.ini directories %directories $1 :end } ;############################## Initialize Custom F-Serve Mode ############################## alias custom { set %window @Important window -c %window window %window 120 30 400 305 @Important Arial bold 12 if $line(%window,0) == 0 for 1 7 aline -c0 %window - echo %window $+ %color2 $+ The Custom Fserve will allow you to utilize a more professional looking Fserve while at the same time giving descriptions to any of the files within your Fserve. This is not recommended for newer users who may not know how an Fserve works. This will first need to compile the directory structure of your Fserve directory to text so that it can be displayed to users. This process could take several minutes on slower computers. If you tend to change around the files within your fserve, this may not be a good idea to echo %window $+ %color2 $+ use, for it will require you to re-compile the directory structure every time you add or delete files to your File Serving directory. If you wish to activate this feature, you will need to double click on this window. If not, you may simply close this window. Upon confirmation, your fserve directory will be compiled, so please be aware that a long pause may take place. rline %window 6 $+ %color2 $+ Custom File Server 4(Please Read) rline %window 7 $+ %color3 $+ =========================================================== aline %window $+ %color3 $+ ================== $+ %color4 $+ Double click to Proceed $+ %color3 $+ =================== } alias activatecustom { window -c @Important if $right(%directory,1) != $chr(92) set %directory %directory $+ $chr(92) .disable #custom compile .enable #custom set %description.popup File descriptions } menu @Important { dclick activatecustom Activate:activatecustom Cancel:window -c @Important } ;############################### Menus and Settings ################################### menu query { - Info Center:info $1 } on 1:part:#: { if $nick == $me { close.timer ad $chan if %offer.chan == $chan { .disable #offer .timer50 off unset %offer.chan } } } alias close.timer { unset %timer for 1 $timer(0) find.timer $1- if %timer != $null .timer $+ %timer off } alias find.timer { unset %timer if $timer(%loop).com == $1- { set %timer $timer(%loop) | set %loop $timer(0) } } alias setup { if $findfile($mircdir,fserv2.mrc,1) != $null .load -rs $findfile($mircdir,fserv2.mrc,1) else { echo 4 -s Error: $+ %color2 fserv2.mrc was not found in $mircdir echo %color2 -s Please make sure you copy that file into the appropriate directory and re-install. } set %window @FserveáSetup if $window(%window).state == $null window %window 160 55 310 253 %window Arial bold 12 else window %window $window(%window).x $window(%window).y 310 253 %window Arial bold 12 if $line(%window,0) == 0 for 1 14 aline -c0 %window - rline %window 1 $+ %color3 ============== $+ %color4 Fserve Setup $+ %color3 ============== if %command != $null rline %window 2 $+ %color2 Fserve Trigger command: $+ %color1 %command $+ %color2 Active: $+ %color1 $group(#fserve) else rline %window 2 $+ %color2 Fserve Trigger command: $+ %color1 None $+ %color2 Active: $+ %color1 $group(#fserve) if $group(#custom).status == on rline %window 3 $+ %color2 Fserve Mode: $+ %color1 Custom else rline %window 3 $+ %color2 Fserve Mode: $+ %color1 Normal if %directory != $null rline %window 4 $+ %color2 Serving directory: $+ %color1 %directory else rline %window 4 $+ %color2 Serving directory: $+ %color1 None if %welcome == $null rline %window 5 $+ %color2 Fserve welcome file: $+ %color1 None else rline %window 5 $+ %color2 Fserve welcome file: $+ %color1 %welcome rline %window 6 $+ %color2 Ratio: $+ %color1 1: $+ %ratio $chr(160) $+ %color2 $+ Ratio status: $+ %color1 $group(#ratio).status rline %window 7 $+ %color2 Join Notice: $+ %color1 %joinad rline %window 8 $+ %color2 Max outgoing transferrs to each user: $+ %color1 %maxgets rline %window 9 $+ %color2 Max incoming transferrs per user: $+ %color1 %maxsends rline %window 10 $+ %color2 Starting credits for new users: $+ %color1 %free.credits rline %window 11 $+ %color2 Acceptable file types: $+ %color1 %validfiles rline %window 12 $+ %color2 Deny files starting with: $+ %color1 %characters rline %window 13 $+ %color2 Record top $+ %color1 %max.top $+ %color2 $+ downloaded file(s) for fserve rline %window 14 $+ %color3 ======== $+ %color4 $+ Right click to change settings $+ %color3 $+ ======== } alias for { set %loop $1 :loop if %loop > $2 goto end $3- inc %loop goto loop :end } alias ad { msg # $+ %color2 $+ To get into my file server, you may type: $+ %color1 %command $+ %color2 $+ Rat