home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.wwiv.com
/
ftp.wwiv.com.zip
/
ftp.wwiv.com
/
pub
/
BBS
/
PB120A_1.ZIP
/
MACS.LZH
/
M1
Wrap
Text File
|
1992-09-21
|
67KB
|
2,485 lines
MCHATCTL▒ DefPause ($7$&0&[Send more text?]$0$&3& (&11&S&3&)top, (&11&N&3&)onstop or (&11&C&3&)ontinue?&12&: &7&)
DefPif (s:stop,n:nonstop)
if (%MULTI%)=(TRUE) then goto (start)
say(&CR&&11&Sorry, %FNAME%, this system is not running the Multinode version of the)
say(Powerboard BBS Package.&CR&&CR&&3&If you feel this would be a good addition to the BBS, please contact)
say(your Sysop, %SYSOP%.&CR&)
enter
return
*start
setactivity (Entering Chat)
SetWho1(&7&)
SetWho2(&11&)
SetWho3(&3&)
SetWho4(&10&)
SetWho5(&15&)
display(display\chatconf)
menuask(&3&Please select a chat conference&12&: &15&*%CRON%)
if (%RESP%)=(<CR>) then return
number(%RESP%)
ifnottrue(goto (badsel))
setequal(a=%RESP%)
setequal(c=%NAME%)
setlen(c=20)
setequal(d=%FROM%)
setlen(d=21)
display(display\chatopt)
loadsub(control\macros\mwho.ctl)
menuask(&3&Nodes you would like to chat with, seperated by spaces &11&(A=All)&12&: &15&*%MIN1%%CRON%)
if (%RESP%)=(<CR>) then return
if (%RESP%)=(A) then goto (all)
setequal(b=%RESP% %NODE%)
display(display\stchat)
mChat(%var%a %var%b)
Return
*all
display(display\stchat)
mchat(%var%a -1)
return
*badsel
loadsub(control\macros\badsel.ctl)
return
NEWSCTLseek(display\newsltr.asc)
iftrue (goto (view))
seek(display\newsltr.ans)
iftrue (goto (view))
say(&15&&CR&Sorry, there is no newsletter today.&CR&)
secpause(1)
return
*view
log(--,Viewed Newsletter)
display (display\newsltr)
enter
return
SEARCHCTLrsetequal(f=%maxfarea%) ; max area to search...
setequal(g=1)
display(display\fsearch)
setequal(y=20)
menuask %CRON%(&3&Please enter text to search for&12&: &15&*)
if (%RESP%)=(<CR>) then Return
setequal(n=%RESP%)
loadsub(control\selfilea.ctl)
log(--,Search (Files) for: %var%n)
defpause($7$&0&[More?]$0$&3& (&11&S&3&)top, (&11&N&3&)onstop, (&11&V&3&)iew, (&11&D&3&)ownload, (&11&T&3&)ag, (&11&H&3&)elp or (&11&C&3&)ontinue?&12&: &7&)
defPif(s:enew,n:nonstop,v:view2,h:fhlp,t:tag2,d:down2)
clearscr
say(&11&(Spacebar) Aborts. &14&Searching file database for "%var%n". . .&CR&)
spause(5)
*stsearch
selfarea(%var%g)
eline(79)
enufsec(%FILSEC%)
IfNotTrue(goto (skcheck))
*csearch
say(&7&Searching file area: %FILNAME%|)
if (%CD%)=(No) then fsearch(%FILPATH%files.bbs,12,15,7,11,3,%var%n,1,1)
if (%CD%)=(Yes) then fsearch(%CDPath%%filarea%\files.bbs,12,15,7,11,3,%var%n,1,1)
iftrue(goto (enew))
ifkey( )
if (%ARESP%)=(Yes) then goto (enew) ;did user hit stop?
localkey(1)
notif (%ARESP%)=(No) then goto (enew) ;did SYSOP hit stop?
*skcheck
if (&g)=(&f) then goto (enew)
inc(g)
goto (stsearch)
*enew
eline(79)
selfarea(/:LASTDOWN/)
setequal(k=0)
linefeed(1)
defpause($7$&0&[Send more text?]$0$&3& (&11&S&3&)top, (&11&N&3&)onstop or (&11&C&3&)ontinue?&12&: &7&)
defPif(s:stop,n:nonstop) ;define our pause prompt...
display(display\sdone)
Return
*view2
setequal(k=%ARESP%)
loadsub(control\macros\zview.ctl)
goto (blist2)
*tag2
setequal(k=%ARESP%)
loadsub(control\macros\tfiles.ctl)
goto (blist2)
*down2
setequal(k=%ARESP%)
loadsub(control\macros\down.ctl)
selfarea(/:Lastdown/)
goto (blist2)
*blist2
spause(0)
clearscr
goto (stsearch)
*fhlp
defpause($7$&0&[Send more text?]$0$&3& (&11&S&3&)top, (&11&N&3&)onstop or (&11&C&3&)ontinue?&12&: &7&)
defPif(s:stop,n:nonstop)
setequal(k=%ARESP%)
display(display\help\lst,/:SEC/)
goto (blist2)
DOWNCTL┼ *down
SetActivity(Downloading Files)
Display (Display\DOWN)
setequal(b=)
Enter
Kill(Batch.%NODE%)
if (%local%)=(TRUE) then setequal(b=1)
if (%LOCAL%)=(TRUE) then goto (Pok)
If (/PROTOCOL)=(N) Then Goto (PickProt)
Display(Display\defuse)
SetEqual(b=/:PROTOCOL/)
Goto (pseled)
*PickProt
Display (Display\DN-PROTS)
MenuAsk %MIN1% (&3&Which transfer protocol would you like to use?&11&(or Q to Quit)&12&: &15&*)
Find(%RESP%,\) ;make sure they didnt stick a backslash in there
NotIf (%ARESP%)=(0) Then Goto (badprot)
BigIf(h:phelp,q:filesback)
SetEqual(b=%RESP%)
*pseled
Seek(protocol\%var%b-D.BT) ;check to see If protocol exists..
IfTrue(Goto (Pok))
*badprot
loadsub(control\macros\badsel.ctl)
Goto (PickProt) ;go back and ask again..
*Pok
Seek(tagged.%NODE%) ;see If there are any tagged files..
IfTrue(Goto (texist))
linefeed(1)
len(%var%b) ;see If they picked a batch protocol
NotIf(%ARESP%)=(1) Then loadmem(control\BATCH.CTL)
*fname
say(&3&Please enter the name of the file to download&12&: &14&(&F&12)&15&*)
back(13)
menuask%NOCR%%CRON%%LEN12%(*)
if (%RESP%)=(<CR>) then say()
if (%RESP%)=(<CR>) then Return
len(%Resp%)
back(%Aresp%)
adddef(.%DEFEXT%)
say(%Resp%&11&&CR&)
say(Please wait!... We're searching for the file...*)
Seekfall(%RESP%)
If (%ARESP%)=(INVALID) Then Goto (invfn) ;If invalid filename
If (%ARESP%)=(No) Then Goto (nothere)
If (%ARESP%)=(NOT ENOUGH) Then Goto (notenuf)
If (%RATIO%)=(NOT OK) Then Goto (badratio) ;If bad ratio...
selFarea(%ARESP%) ;set file area to where the file is...
size(%FILPATH%%RESP%)
say(Found!&CR&&CR&&14& ─────── &12&Statistics for %RESP% &14& ───────&15&)
say(Free Download: &11&%FREE% &15&*)
If (%FREE%)=(No) Then say( *)
say( Size: &11&%ARESP% &15&&CR&Dated: *)
fdate(%FILPATH%%RESP%) ;get file date
say(&11&%ARESP% &15& Transfer Time: *)
size(%FILPATH%%RESP%)
ttime(%ARESP%)
say(&11&%ARESP%)
cmpval(%TTIM%,/:LEFT/)
If (%ARESP%)=(No) Then If (%FREE%)=(No) Then Goto (notenuftime)
SetEqual(d=%RESP%)
say(&CR&&3& Would you like to download this file? &9&[ ]&14&*)
back(4)
yesnoask(*)
If (%RESP%)=(No) Then Goto (ex)
say(&3&Would you like us to log you off afterwards? &9&[ ]&14&*)
back(4)
yesnoask(*)
SetEqual(m=%RESP%)
say(&CR&&11&We're sending the file you requested. Please get ready to receive it now.)
If (%LOCAL%)=(TRUE) Then Goto (lcl)
fixfile(protocol\%var%b-d.bt,protocol\%var%b-d.bat)
initclock
exec(protocol\%var%b-d.BAT│)
Kill(protocol\%var%b-d.bat)
*success
setequal(t=)
NotIf (%ARESP%)=(0) Then Goto (aborted)
notif (%LOCAL%)=(FALSE) then setequal(t=TOG)
if (%LOCAL%)=(FALSE) then toglocal
xfertime
SetEqual(e=%ARESP%)
multvar(%XMIN%*60=o)
size(%FILPATH%%var%d)
divvar(%ARESP%/%var%o=g)
cnvtk(%ARESP%)
addvar(%ARESP%+/:KDOWN/=o)
SetEqual(/KDOWN=%var%o)
say(%BEEP%*)
log(--,%var%d Downloaded.)
log(--,Rate: %var%g CPS)
appendto(logs\DOWNLOAD.%NODE%,%var%d downloaded by %NAME% at %TIME% on %DATE%.)
SetEqual(a=/:DOWNLOADS/)
inc(a)
SetEqual(/DOWNLOADS=%var%a)
notif (%var%t)=(TOG) then toglocal
eline(20)
Display (Display\SUCCESS)
If (%FREE%)=(Yes) Then Goto (free)
If (&m)=(Yes) Then Goto (autooff)
*ex
selfarea(/:LASTDOWN/)
linefeed(1)
return
*aborted
eline(20)
log(--,Download of %var%d aborted.)
display(display\aborted)
goto (ex)
*lcl
menuask(&CR&&3&Please specify the path &11&(e.g. C:\DLS\)&3& for this file&12&: &15&*)
setequal(k=10)
initclock
fcopy (%FILPATH%%var%d,%RESP%\%var%d)
notif (%ARESP%)=(0) then goto (aborted)
goto (success)
*badratio
Display(Display\BADRATIO)
selfarea(/:LASTDOWN/)
linefeed(1)
return
*autooff
loadmem(control\AutoOff.ctl)
*free
log(--,Freefile downloaded, time refunded.)
size(%var%d)
ttime(%ARESP%)
addvar(%TTIM%+/:LEFT/=t)
SetEqual(/LEFT=%var%t)
If (&m)=(Yes) Then Goto (autooff)
Goto (ex)
*texist
len(%var%b)
If (%ARESP%)=(1) Then Goto (len1)
say(&CR&&14&Files Currently Tagged:)
lview(tagged.%NODE%,10,7)
say(&CR&&3&Would you like to download the tagged files? &9&[ ]&14&*)
back(4)
yesnoask(*)
say(&14&)
If (%RESP%)=(No) Then loadmem(control\BATCH.CTL,Goto (startbatch))
say(Adding Tagged files to Batch...*)
fcopy(tagged2.%NODE%,batch.%NODE%)
lines(batch.%NODE%)
SetEqual(m=0)
SetEqual(w=%ARESP%)
say(Done!&CR&)
loadmem(control\BATCH.CTL,Goto (fname))
*len1
say(&10&&CR&You have tagged files but they can only be downloaded with a BATCH)
say(protocol. Please press &11&Enter&10& now to abort then choose a dIfferent protocol)
say(if you'd like to download your tagged files.&CR&)
Goto (fname)
*notenuftime
Display(Display\NODLTIME)
return
*phelp
Display(Display\help\prot,/:SEC/)
Goto (PickProt)
*invfn
Display(Display\INVALID)
flushout
selfarea(/:LASTDOWN/)
Enter
goto (fname)
*filesback
return
*notenuf
Display (Display\fbadsec)
selfarea(/:LASTDOWN/)
return
*NotHere
Display(Display\notfnd)
goto (fname)
*moveerr
say(&CR&&14&The directory you specify is where the file already resides!&CR&)
goto (endmove)
EXPERTCTL÷If (/EXPERT)=(Y) Then Goto (exon)
Say(&14&&CR&Menus will not be displayed (Expert Mode On)&CR&)
SetEqual(/EXPERT=Y)
Enter
Return
*exon
Say(&14&&CR&Menus will now be displayed (Expert Mode Off)&CR&)
SetEqual(/EXPERT=N)
Enter
Return
ZVIEWCTL$DefPause($7$&0&[Send more text?]$0$&3& (&11&S&3&)top, (&11&N&3&)onstop or (&11&C&3&)ontinue?&12&: &7&)
DefPif(s:stop,n:nonstop)
*sv
Display(display\VIEWZ)
Say(&3&Please enter the name of the file to view&12&: &14&( )&15&*)
Back(13)
MenuAsk%nocr%%CRON%%LEN12%(*)
if (%RESP%)=(<CR>) then goto (ret)
AddDef(.%DEFEXT%)
SeekFall(%RESP%)
If (%ARESP%)=(INVALID) Then goto (invfn)
if (%ARESP%)=(No) then goto (nothere)
If (%ARESP%)=(NOT ENOUGH) Then goto (notenuf)
SelFarea(%ARESP%)
Kill(ZipInfo.txt)
Say(&CR&&CR&&15&Reading the archive file, Please Wait!)
setequal(e=%RESP%)
seek(zipview.bat)
ifnottrue(goto (intview))
Exec(ZipView.bat %FILPATH%%var%e)
*stview
Seek(zipinfo.txt)
IfNotTrue (goto (cont))
inpopen(zipinfo.txt)
do
inpread
get (%ARESP%,1,7)
notif (%ARESP%)=() then if (%ARESP%)=( Length) then loadmem (control\zipview.ctl)
eofloop
*odisp
inpclose
view (zipinfo.txt)
goto (cont)
*cont
linefeed(1)
Enter
SelFarea(/:LASTDOWN/)
Return
*badsel
LoadSub(control\macros\badsel.ctl)
Return
*invfn
Display(Display\INVALID)
FlushOut
SelFarea(/:LASTDOWN/)
Enter
Return
*nothere
Display(display\notfnd)
SelFarea(/:LASTDOWN/)
Return
*Notenuf
Say(&CR&)
Display (display\fbadsel)
SelFarea(/:LASTDOWN/)
Return
*invfn
Display(Display\INVALID)
flushout
selfarea(/:LASTDOWN/)
Enter
goto (fname)
*notenuf
Display (Display\fbadsec)
selfarea(/:LASTDOWN/)
return
*NotHere
Display(Display\notfnd)
goto (fname)
*ret
linefeed(1)
return
*intview
len(%var%e)
upcase(e)
addvar(%aresp%+-2=f)
get(&e,%var%f,3)
if (%aresp%)=(ZIP) then goto (ZIP)
exec(av %FILPATH%%var%e >zipinfo.txt,)
view(zipinfo.txt)
goto (cont)
*zip
exec(pkzip -v %FILPATH%%var%e >zipinfo.txt,)
goto (stview)
NEWCTLÜsetequal(f=%maxfarea%) ;this sets the max area to search...
setequal(g=1)
say(&CR&&11&You last checked for new files on &12&/:LASTCHK/&11&. Please enter the date to start)
say(the search at or press (&14&ENTER&11&) to start at &12&/:LASTCHK/.)
setequal(y=15)
*askagain
say(&CR&&3&Please enter the date to start at&12&: &11&( )&15&*)
back(9)
SetFill(/:lastchk/)
menuask%CRON%%LEN8%(*)
setequal(n=%RESP%)
if (%RESP%)=(<CR>) then setequal(n=/:LASTCHK/)
dateok(%var%n)
if (%ARESP%)=(No) then goto (invdate)
loadsub(control\selfilea.ctl)
clearscr
defpause($7$&0&[More?]$0$&3& (&11&S&3&)top, (&11&N&3&)onstop, (&11&V&3&)iew, (&11&D&3&)ownload, (&11&T&3&)ag, (&11&H&3&)elp or (&11&C&3&)ontinue?&12&: &7&)
defPif(s:stop,n:nonstop,v:view2,h:fhlp,t:tag2,d:down2)
say(&11&(Spacebar) Aborts. &14&Searching file database for "%var%n". . .&CR&)
log(--,New Files Scan (%var%n))
spause(3)
*stsearch
selfarea(%var%g)
enufsec(%FILSEC%)
if (%ARESP%)=(No) then goto (skcheck)
*cnew
eline(79)
say(&7&Searching file area: %FILNAME%|)
if (%CD%)=(No) then new(%FILPATH%files.bbs,12,15,7,11,3,%var%n)
if (%CD%)=(Yes) then new (%CDPath%%filarea%\files.bbs,12,15,7,11,3,%var%n)
iftrue (goto (enew))
ifkey( )
ifTrue (goto (enew)) ;did user hit stop?
localkey(1)
notif (%ARESP%)=(No) then goto (enew)
*skcheck
if (&g)=(&f) then goto (enew)
inc(g)
goto (stsearch)
*enew
eline(79)
selfarea(/:LASTDOWN/)
defpause($7$&0&[Send more text?]$0$&3& (&11&S&3&)top, (&11&N&3&)onstop or (&11&C&3&)ontinue?&12&: &7&)
defPif(s:stop,n:nonstop)
setequal(/LASTCHK=%DATE%)
setequal(k=0)
display(display\newdone)
Return
*invdate
display(display\INVDATE)
goto (askagain)
*view2
setequal(k=%ARESP%)
loadsub(control\macros\zview.ctl)
goto (blist2)
*tag2
setequal(k=%ARESP%)
loadsub(control\macros\tfiles.ctl)
goto (blist2)
*down2
setequal(k=%ARESP%)
loadsub(control\macros\down.ctl)
selfarea(/:Lastdown/)
goto (blist2)
*blist2
spause(0)
clearscr
goto (cnew)
*fhlp
defpause($7$&0&[Send more text?]$0$&3& (&11&S&3&)top, (&11&N&3&)onstop or (&11&C&3&)ontinue?&12&: &7&)
defPif(s:stop,n:nonstop)
setequal(k=%ARESP%)
display(display\help\lst,/:SEC/)
goto (blist2)
VERCTL-clearscr
say(&14&Powerboard &3&Bulletin Board System, Ver. &11&%ver%&7&)
say(&CR&Copyright, 1991-92, by Scott W. Brown)
say(All Rights Reserved.&CR&)
say(&CR&&14&Microsoft(R) &3&MS-DOS, Ver. &11&%DOSVER%&7&)
say(&CR&Copyright Microsoft Corperation)
say(All Rights Reserved.&CR&)
enter
return
WSEARCHCTL▄setequal(f=%maxfarea%) ;this is the max area to search
setequal(g=1)
display(display\wsearch)
say(&3&Please file to search for &11&(Wildcards are valid)&12&: &14&( )&15&*)
back(13)
setequal(y=20)
menuask%CRON%%LEN12%(*)
if (%RESP%)=(<CR>) then Return
find(%resp%,.)
ifnottrue(combine(%resp%+.*=e))
ifnottrue(setequal(/resp=%var%e))
setequal(n=%RESP%)
loadsub(control\selfilea.ctl)
log(--,Wildcard Search for: %var%n)
defpause($7$&0&[More?]$0$&3& (&11&S&3&)top, (&11&N&3&)onstop, (&11&V&3&)iew, (&11&D&3&)ownload, (&11&T&3&)ag, (&11&H&3&)elp or (&11&C&3&)ontinue?&12&: &7&)
defPif(s:stop,n:nonstop,v:view2,h:fhlp,t:tag2,d:down2)
clearscr
say(&11&(Spacebar) Aborts. &14&Searching file database for "%var%n". . .&CR&)
spause(3)
*stsearch
selfarea(%var%g)
eline(79)
enufsec(%FILSEC%)
ifNotTrue (goto (skcheck))
*csearch
say(&7&Searching file area: %FILNAME%|)
if (%CD%)=(No) then wsearch(%FILPATH%files.bbs,12,15,7,11,3,%var%n,1,1)
if (%CD%)=(Yes) then wsearch(%CDPath%%filarea%\files.bbs,12,15,7,11,3,%var%n,1,1)
ifTrue (goto (enew))
ifkey( )
ifTrue (goto (enew)) ;did user hit stop?
localkey(1)
notif (%ARESP%)=(No) then goto (enew)
*skcheck
if (&g)=(&f) then goto (enew)
inc(g)
goto (stsearch)
*enew
eline(79)
selfarea(/:LASTDOWN/)
setequal(k=0)
defpause($7$&0&[Send more text?]$0$&3& (&11&S&3&)top, (&11&N&3&)onstop or (&11&C&3&)ontinue?&12&: &7&)
defPif(s:stop,n:nonstop) ;define our pause prompt...
display(display\sdone)
Return
*view2
setequal(k=%ARESP%)
loadsub(control\macros\zview.ctl)
goto (blist2)
*tag2
setequal(k=%ARESP%)
loadsub(control\macros\tfiles.ctl)
goto (blist2)
*down2
setequal(k=%ARESP%)
loadsub(control\macros\down.ctl)
selfarea(/:Lastdown/)
goto (blist2)
*blist2
spause(0)
clearscr
goto (stsearch)
*fhlp
defpause($7$&0&[Send more text?]$0$&3& (&11&S&3&)top, (&11&N&3&)onstop or (&11&C&3&)ontinue?&12&: &7&)
defPif(s:stop,n:nonstop)
setequal(k=%ARESP%)
display(display\help\lst,/:SEC/)
goto (blist2)
TFILESCTL⌐defpause($7$&0&[Send more text?]$0$&3& (&11&S&3&)top, (&11&N&3&)onstop or (&11&C&3&)ontinue?&12&: &7&)
defPif(s:stop,n:nonstop)
linefeed(1)
*fname
say(&3&Please enter the name of the file to tag&12&: &14&( )&15&*)
back(13)
menuask%nocr%%CRON%%LEN12%(*)
if (%RESP%)=(<CR>) then goto (ret)
seek(tagged.%NODE%)
setequal(v=%aresp%)
*stseek
adddef(.%DEFEXT%)
setequal(p=%RESP%)
seekfall(%var%p)
If (%ARESP%)=(INVALID) then goto (invfn)
if (%ARESP%)=(No) then goto (nothere)
If (%ARESP%)=(NOT ENOUGH) then goto (notenuf)
linefeed(1)
selfarea(%aresp%)
if (&v)=(Yes) then goto (sometagged)
*doAdd
AppendTo(tagged2.%NODE%,%FILPATH%%var%p)
AppendTo(tagged.%NODE%,%var%p)
AppendTo(free.%NODE%,%FREE%)
selfarea(/:lastdown/)
Say(&CR&&14&%var%p&15& has been tagged.&CR&)
Enter
goto (fname)
*sometagged
seekfile(tagged.%NODE%,%RESP%)
setequal(p=%RESP%)
ifnottrue (goto (doadd))
say(&CR&&CR&&15&%RESP% &7&has been found in your tagged files list.)
lview(tagged.%NODE%,10,7)
say(&CR&&3&Do you still want to tag this file? &9&[ ]&14&*)
back(4)
yesnoask()
linefeed(1)
if (%resp%)=(No) then goto (fname)
goto (doAdd)
*invfn
Display(Display\INVALID)
flushout
selfarea(/:LASTDOWN/)
Enter
goto (fname)
*notenuf
Display (Display\fbadsec)
selfarea(/:LASTDOWN/)
return
*NotHere
selfarea(/:lastdown/)
Display(Display\notfnd)
goto (fname)
*ret
linefeed(1)
return
STREETCTLwAsk(What is your &11&street&3& address?&12&: &15&*)
SetEqual(/STREET=%RESP%)
Log(--,Changed Street Address)
return
UPCTL╓ display (display\UPLD)
kill(ubatch.%NODE%)
enter
clearmem
freespace(%CDRIVE%:)
setequal(i=%ARESP%)
cmpval(%ARESP%,%MINSPACE%)
ifTrue (goto (notenufs))
if (%LOCAL%)=(TRUE) then goto (pok)
*pickprot
display (display\up-PROTS)
menuask %MIN1%(&3&Which transfer protocol would you like to use?&11&(or Q to Quit)&12&: &15&*)
find(%RESP%,\)
notif (%ARESP%)=(0) then goto (badprot)
BigIf(h:phelp,q:filesback)
seek(protocol\%RESP%-U.BT)
ifTrue (goto (Pok))
*badprot
loadsub(control\macros\badsel.ctl)
goto (pickprot)
*Pok
setequal(b=%RESP%)
addcomma(%var%i)
say(&CR&&14&%aresp% &7&Bytes Free.)
len(%var%b)
notif (%ARESP%)=(1) then loadmem(control\macros\ubatch.ctl)
*gtname
say(&CR&&3&Please enter the name of the file to upload&12&: &14&(&F&12)&15&*)
back(13)
menuask%NOCR%%CRON%%LEN12%(*)
if (%RESP%)=(<CR>) then say()
if (%RESP%)=(<CR>) then Return
len(%Resp%)
back(%Aresp%)
adddef(.%DEFEXT%)
say(%Resp%&11&&CR&)
setequal(d=%RESP%)
iseek(%var%d)
if (%aresp%)=(Yes) then goto (ishere)
if (%Aresp%)=(INVALID) then goto (invfn)
say(&14&Please enter a description for your file. &10&The description can take up 3 lines.&15&)
resetwrap
say( (----2----3----4----5----6----7---8----))
setequal(r=1)
wrapask %MIN1%%LEN40%(&3&1&12&: &15&*)
setequal(^1=%RESP%)
setequal(r=2)
wrapask %LEN40%%CRON%(&3&2&12&: &15&*)
if (%RESP%)=(<CR>) then goto (askup)
setequal(^2=%RESP%)
setequal(r=3)
ask %LEN39% %CRON%(&3&3&12&: &15&*)
if (%RESP%)=(<CR>) then goto (askup)
setequal(^3=%RESP%)
*askup
say(&CR&&3& Would you like to upload this file? &9&[ ]&14&*)
back(4)
yesnoask(*)
if (%RESP%)=(No) then goto (ex)
say(&3&Would you like us to log you off afterwards? &9&[ ]&14&*)
back(4)
yesnoask(*)
setequal(m=%RESP%)
if (%LOCAL%)=(TRUE) then goto (local)
setactivity(Uploading a File)
say(&CR&&11&We're ready to receive the file. Please start sending it now.)
fixfile(protocol\%var%b-u.bt,protocol\%var%b-u.bat)
initclock
exec(protocol\%var%b-u.BAT│)
kill(protocol\%var%b-u.bat)
*success
eline(20)
notif (%ARESP%)=(0) then goto (aborted)
setequal(k=0)
*lsuccess
xfertime
setequal(e=%ARESP%)
loadsub(zc\zc.ctl)
if (&a)=(2) then goto (aborted)
notif (%BAUD%)=(LOCAL) then toglocal
setequal(b=%XMIN%)
if (&b)=(0) then setequal(b=1)
multvar(%var%b*60=o)
size(files\uploads\%var%d)
divvar(%ARESP%/%var%o=g)
log(--,%var%d Uploaded. Took %XMIN% minutes.)
log(--,Rate: %var%g CPS)
cnvtk(%ARESP%)
addvar(%ARESP%+/:KUP/=o)
setequal(/KUP=%var%o)
say(%BEEP%*)
refund ;refund some of the users time...
upped ;set last upload time...
appendto(logs\UPLOAD.%NODE%,%var%d uploaded at %TIME% on %DATE% by %NAME%.)
setequal(a=/:UPLOADS/)
inc(a)
setequal(/UPLOADS=%var%a)
file(files\uploads\,%var%d,10)
notif (%BAUD%)=(LOCAL) then toglocal
seek(xcheck.bt)
if (%ARESP%)=(Yes) then goto (testup)
display (display\USUCCESS)
if (&m)=(Yes) then goto (autooff)
*ex
resetlist
listfile(%FAREA%)
Return
*aborted
log(--,Upload of %var%d aborted.)
display (display\ABORTED)
goto (ex)
*ishere
display(display\ISHERE)
enter
goto (gtname)
*testup
fixfile(xcheck.bt,xcheck.bat)
exec(xcheck.bat)
display (display\USUCCESS)
goto (ex)
*autooff
loadmem(control\autooff.ctl)
*local
say(&CR&&10&You will now specify the path where the file resides. Ex: C:\DOWNLOADS\)
menuask(&3&Please enter the path&12&: &15&*)
setequal(k=10)
initclock
fcopy (%RESP%\%var%d,files\uploads\%var%d)
notif (%ARESP%)=(0) then goto (err)
goto (lsuccess)
*err
say(&11&&CR&File not found!&CR&)
enter
Return
*invfn
display(display\INVALID)
flushout
selfarea(/:LASTDOWN/)
enter
Return
*notenufs
display (display\NOSPACE)
selfarea(/:LASTDOWN/)
enter
Return
*phelp
display(display\help\prot,/:SEC/)
goto (pickprot)
*filesback
Return
WORKCTLÿSay(What is your new &11&work &3&phone number?&12&: &15&)
Picture(###-###-####)
SetEqual(/WORK=%RESP%)
Log(--,Changed Work Phone to %RESP%)
return
SELECTCTL0*TheTop
clearscr
say(&CR&&14&Accessable Message Areas As Of %DATE% On %BBS%&CR&)
say(&11##:Message Area Name :Area Flags)
say(---:------------------------------------------------------------:----------&15&)
mList ;list message areas
say(&11&---:------------------------------------------------------------:----------&15&)
say( Total %MAXAREA%&CR&)
say(&12&Flags: *=Selected, P=Pvt Ok, F=Force Pvt, N=Force Pub, B=Netmail, I=Ignored&CR&)
*bk
menuask%CRON%(&3&Please enter area number to change or &11&(Q)uit&12&: &15&*)
bigif(<CR>:quit,q:quit)
number(%RESP%)
iftrue(goto (DoArea))
loadsub(control\macros\badsel.ctl)
goto (bk)
*DoArea
linefeed(1)
msel(%RESP%)
goto (TheTop)
*quit
return
BADSELCTLZSay(&12&&CR&Invalid selection! Please try again...&CR&)
SecPause (1)
FlushOut
Return
UBATCHCTL┤
setequal(w=1)
kill(udescs.%NODE%,ubatch.%NODE%,ubatch1.%NODE%)
*fname
if (&w)=(10) then goto (askup)
say(&CR&&10&Pressing (ENTER) will let you start uploading your files.)
say(&3&Please enter name of the file to upload&12&: &14&( )&15&*)
back(13)
menuask%NOCR%%CRON%%LEN12%(*)
if (%RESP%)=(<CR>) then Say ()
if (%RESP%)=(<CR>) then goto (askup)
len(%Resp%)
back(%Aresp%)
adddef(.%DEFEXT%)
say(%Resp%)
setequal(d=%RESP%)
iseek(%var%d)
if (%aresp%)=(Yes) then goto (ishere)
if (%Aresp%)=(INVALID) then goto (invfn)
appendto(ubatch.%NODE%,files\uploads\%var%d)
setequal(^%var%w=files\uploads\%var%d)
inc(w)
appendto(ubatch1.%NODE%,%var%d)
say(&CR&&14&Please enter a description for your file. &10&The description can take up 3 lines.*)
resetwrap ;the resetwrap command resets the wordwrap.
say(&CR&&15& (----2----3----4----5----6----7---8----))
wrapask %MIN1%%LEN40%(&3&1&12&: &15&*)
setequal(r=1)
appendto(udescs.%NODE%,%RESP%)
wrapask %LEN40%%CRON%(&3&2&12&: &15&*)
find(%resp%,<CR>)
notif (%aresp%)=(0) then goto (nomore)
appendto(udescs.%NODE%,%RESP%)
setequal(r=2)
ask %LEN39%(&3&3&12&: &15&*)
appendto(udescs.%NODE%,%RESP%)
setequal(r=3)
goto (fname)
*nomore
appendto(udescs.%NODE%, )
appendto(udescs.%NODE%, )
goto (fname)
*askup
if (^1)=() then goto (ex)
say(&CR&&3& Would you like to upload these files? &9&[ ]&14&*)
back(4)
yesnoask(*)
if (%Resp%)=(No) then goto (ex)
say(&3&Would you like us to log you off afterwards? &9&[ ]&14&*)
back(4)
yesnoask(*)
setequal(m=%RESP%)
if (%LOCAL%)=(TRUE) then goto (local)
setactivity(Uploading Files)
say(&CR&&11&We're ready to receive the files. Please start sending them now.)
fixfile(protocol\%var%b-u.bt,protocol\%var%b-u.bat)
initclock ;initalize the timer that keeps track of how long the d/l took...
exec(protocol\%var%b-u.BAT│)
kill(protocol\%var%b-u.bat)
*success
notif (%ARESP%)=(0) then goto (aborted)
xfertime
setequal(e=%ARESP%)
if (%ARESP%)=(ERROR) then goto (dsucc)
upped
setequal(t=0)
linefeed(1)
setequal(a=/:UPLOADS/)
clearmem
setequal(c=0)
setequal(i=1)
*stcalc
inpline(ubatch1.%NODE%,%var%i)
if (%ARESP%)=() then goto (donecalc)
setequal(d=%ARESP%)
setequal(b=0)
loadsub(zc\zc.ctl)
if (&a)=(2) then goto (nextfile)
size(files\uploads\%var%d)
addvar(%var%t+%ARESP%=t)
cnvtk(%ARESP%)
addvar(%ARESP%+/:KUP/=o)
setequal(/KUP=%var%o)
multvar(%var%c*3=y)
if (&b)=(0) then arrayread(udescs.%NODE%,%var%y,3)
file(files\uploads\,%var%d,10)
log(--,%var%d Uploaded (batch).)
appendto(logs\UPLOAD.%NODE%,%var%d uploaded at %TIME% on %DATE% by %NAME%.)
*nextfile
inc(i)
inc(c)
goto (stcalc)
*donecalc
inc(c)
say(%BEEP%)
multvar(%XMIN%*60=o)
divvar(%var%t/%var%o=g)
setequal(/UPLOADS=%var%a)
log(--,Rate: %var%g CPS)
*dsucc
display (display\SUCCUB)
if (%var%m)=(Yes) then goto (autooff)
*ex
selfarea(/:LASTDOWN/)
linefeed(1)
seek(bxtest.bt)
if (%ARESP%)=(Yes) then goto (testup)
resetlist
listfile(%FAREA%)
Return
*aborted
log(--,Batch Download aborted.)
display (display\ABORTED)
goto (ex)
*ishere
display(display\ISHERE)
enter
linefeed(1)
goto (fname)
*testup
fixfile(bxcheck.bt,bxcheck.bat)
exec(bxcheck.bat)
display (display\USUCCESS)
goto (ex)
*autooff
loadmem(control\autoOff.ctl)
*local
initclock
say(&CR&&10&You will now specify the path where the file resides. Ex: C:\DOWNLOADS\)
menuask(&3&Please enter the path&12&: &15&*)
fcopy (%RESP%\%var%d,files\uploads\%var%d)
goto (success)
*invfn
display(display\INVALID)
flushout
selfarea(/:LASTDOWN/)
enter
goto (fname)
*notenufs
display (display\NOSPACE)
selfarea(/:LASTDOWN/)
enter
goto (fname)
*phelp
display(display\help\prot,/:SEC/)
goto (pickprot)
MOVECTLæ*fname
say(&CR&&3&Please enter the name of the file to move&12&: &14&( )&15&*)
back(13)
menuask%CRON%%LEN12%(*)
If (%RESP%)=(<CR>) Then return
adddef(.%DEFEXT%)
say(&CR&&11&Please wait!... We're searching for the file...*)
seekfall(%RESP%)
if (%ARESP%)=(INVALID) then goto (invfn)
if (%ARESP%)=(No) then goto (nothere)
if (%ARESP%)=(NOT ENOUGH) then goto (notenuf)
if (%RESP%)=(%ARESP%) then goto (moveerr)
selFarea(%ARESP%)
setequal(l=%RESP%)
inpopen(%FAREA%.bbs)
if (%ARESP%)=(ERROR) then goto (moveerr)
setequal(u=1)
say(Found!&7&)
inpread
do
say(%var%u - %ARESP%)
inpread(2)
inc(u)
eofloop
*stopinp
inpclose
menuask%cron%(&CR&&3&Enter the number of the directory you want to move this to&12&: &15&*)
if (%resp%)=(<CR>) then goto (moveerr)
say(&CR&&14&Please wait, moving file...*)
setequal(j=%FILPATH%)
selfarea(%RESP%)
if (%FILPATH%)=(&j) then goto (moveerr)
move2(%var%l,%var%j,%FILPATH%,%FILAREA%,%FAREA%)
resetlist
listfile(%FAREA%)
*endmove
selfarea(/:LASTDOWN/)
say(Done!)
Return
*invfn
Display(Display\INVALID)
flushout
selfarea(/:LASTDOWN/)
Enter
goto (fname)
*notenuf
Display (Display\fbadsec)
selfarea(/:LASTDOWN/)
return
*NotHere
Display(Display\notfnd)
goto (fname)
*moveerr
say(&CR&&14&The directory you specify is where the file already resides!&CR&)
selfarea(/:lastdown/)
return
PAGECTLssetequal(a=/:CHATREQ/)
inc(a)
setequal(/chatreq=%var%a)
say(&14&&CR&Paging %SYSOP% for a chat, one moment please...*)
checkhours
if (%ARESP%)=(No) then goto (badhours)
if (%CHAT%)=(No) then goto (notHere)
seek(psys.%node%)
iftrue(goto (psys))
*beginPage
appendto(psys.%node%,)
setequal(n=OK)
savescreen(scr1.%NODE%)
inpopen (pagebell.dat)
localwrite(1,1,7,0,┌──────────────────────────────────────────────────────────────────────────────┐)
localwrite(1,2,7,0,│ │)
localwrite(1,3,7,0,└──────────────────────────────────────────────────────────────────────────────┘)
localwrite(2,2,14,1, Paging SysOp ... Press (SPACE) to accept; (ESC) to toggle page )
if (%ARESP%)=(ERROR) then goto (nothere)
setequal(h=0)
do
if (&n)=(PROB) then goto (absound)
inpread
sound (%ARESP%)
*absound
localkey(1)
if (%ARESP%)=( ) then goto (spacehit)
if (%aresp%)=() then goto (tpg)
eofloop
*nothere
restscreen(scr1.%NODE%)
inpclose
requested (Chat Requested)
display (display\page)
log(--,Chat with Sysop Requested)
loadsub(control\macros\comment.ctl,goto (stc))
return
*spacehit
restscreen(scr1.%NODE%)
linefeed(1)
kill(psys.%node%)
inpclose
norest ;dont restore the screen when chat ends!
sysopchat
return
*badhours
requested (Chat Requested)
display (display\hours)
log(--,Chat with Sysop Requested)
loadsub(control\macros\comment.ctl,goto (stc))
return
*tpg
tpage ;toggle page
goto (nothere)
*psys
lines(psys.%node%)
notif (%aresp%)=(3) then goto (beginpage)
goto (nothere)
BANKCTL
;TIMEBANK by Doug Vermes with modifications by Scott Brown
*TimeBank
ClearScr
If (%GRAPHICS%)=(ASCII) then goto (NoGraphics)
Say (&4&╔══════════════════════════════════════════════════════════════════════╗)
Say (║ ║)
Say (║ ║)
Say (╚══════════════════════════════════════════════════════════════════════╝*)
AnsiGoto (1,19)
Say (&7&╔══════════════════════════════════════════════════════════════════════╗)
Say (║ ║)
Say (╚══════════════════════════════════════════════════════════════════════╝*)
AnsiGoto (24,2)
Say (&12&%BBS% Time Bank*)
AnsiGoto (20,20)
Say (&7&Searching for your account....*)
SeekUser(/:NAME/)
SetEqual(n=%NDNUMB%)
Seek(bank\%var%n.DAT)
ifnottrue(goto (norecord))
Say (Found!)
*MORE
inpline(bank\%var%n.dat,1)
SetEqual (t=%ARESP%)
Seek (bank\maxlimit.dat)
ifnottrue(goto (NoLim))
InpLine (bank\maxlimit.dat,1)
SetEqual (m=%ARESP%)
*bak
cmpval (%var%t,%var%m)
ifnottrue (SetEqual (t=%var%m))
AnsiGoto (25,6)
Say (&15& Account Info*)
AnsiGoto (25,7)
Say (&15& ────────────*)
AnsiGoto (28,8)
Say (&7&Account #&12&%var%n*)
AnsiGoto (25,9)
Say (&7&Bank Limit: &12&%var%m&7& minutes.*)
AnsiGoto (20,10)
Say (&7&Current Balance: &12&%var%t&7& minutes.*)
AnsiGoto (18,14)
Say(&15& Time Currently Left: &14&%LEFT% &15&minutes.*)
*MORE2
AnsiGoto (10,20)
Say (&15&(&4&W&15&)ithdraw Time, (&4&D&15&)eposit Time, (&4&Q&15&)uit Bank: *)
MenuKey
Say (&12&*)
BigNiceSay (Q:Quit,W:Withdraw,D:Deposit)
If (%RESP%)=(Q) then goto (quit)
BigIf (W:Withdraw,D:Deposit);
goto (more2)
*NoLimit
SetEqual (m=99999)
Say (&14&The maximum number of minutes allowed to be stored is %var%m.)
Say (&7&Minutes Currently Stored in Bank: &15&%var%t)
Say(&14&Time Currently Left: &15&%LEFT%)
goto (more2)
*Deposit
AnsiGoto (10,20)
Say ( *)
AnsiGoto (18,20)
menuask (&7&Deposit How Many Minutes? *)
Number (%RESP%)
If (%RESP%)=(0) then goto (finale)
IfNotTrue (goto (Deposit))
SetEqual (v=%LEFT%)
inc(v)
CmpVal (%RESP%,%var%v)
IfNotTrue(goto (toolarge1))
Addvar (%var%t+%RESP%=e)
AddVar (%var%m+1=g)
CmpVal (%var%e,%var%g)
IfNotTrue(goto (OverMax))
AddVar (%var%t+%RESP%=T)
Zap (bank\%var%n.dat,%var%t)
SetEqual (y=%RESP%)
Addvar(%LEFT%+-%VAR%y=x)
SetEqual(/LEFT=%var%x)
Goto (Finale)
*Withdraw
AnsiGoto (10,20)
Say ( *)
AnsiGoto (18,20)
menuAsk (&7&Withdraw How Many Minutes? *)
Number (%RESP%)
IfNotTrue(goto (withdraw))
inc(t)
CmpVal (%RESP%,%var%t)
IfNotTrue(goto (toolarge))
addvar(&t+-1=t)
AddVar (%var%T+-%RESP%=T)
Zap (bank\%var%n.dat,%var%t)
SetEqual (y=%RESP%)
AddVar(%LEFT%+%VAR%y=x)
SetEqual(/LEFT=%var%x)
Goto (Finale)
*Finale
AnsiGoto (20,10)
Say (&7&Current Balance: &12&%var%t&7& minutes.*)
AnsiGoto (18,14)
Say(&15& Time Currently Left: &14&%LEFT% &15&minutes.)
Goto (more2)
*TooLarge1
AnsiGoto (14,20)
Say(&4& Hey! &7&You don't have &15&%RESP% &7&minutes left!)
SecPause (2)
Goto (Deposit)
*TooLarge
AnsiGoto (11,20)
Say(&4&Hey! &7&You don't have &15&%RESP% &7&minutes stored in the bank!)
SecPause (2)
Goto (Withdraw)
*OverMax
AnsiGoto (14,20)
Say (&4&Sorry! &7&You are only allowed to store &15&%var%m &7&minutes.)
SecPause (2)
Goto (Deposit)
*NoRecord
Zap (bank\%var%n.dat,0)
Say (&15&Not Found-- Created!*)
AnsiGoto (50,20);
Say ( *)
goto (more);
*Quit
AnsiGoto (10,20)
Say (&14& Thank you for using the %BBS% time bank!)
return
*NoGraphics
ClearScr
Say ( %BBS% Time Bank)
Say ( (NON-GRAPHICS MODE))
Say (&CR&Searching for your account....*)
SeekUser(/:NAME/)
ifnottrue(goto (nonuser))
SetEqual(n=%NDNUMB%)
Seek(bank\%var%n.DAT)
ifnottrue(goto (NoRecord2))
*MORE222
Say (Found!)
InpLine (bank\%var%n.DAT,1)
SetEqual (t=%ARESP%)
Seek (bank\maxlimit.dat)
ifnottrue(goto (NoLimit2))
InpLine (bank\maxlimit.dat,1)
SetEqual (m=%ARESP%)
cmpval (%var%t,%var%m)
ifnottrue(SetEqual (t=%var%m))
Say (&CR&The maximum number of minutes allowed to be stored is %var%m.)
Say (Minutes Currently Stored in Bank: %var%t)
Say(Time Currently Left: %LEFT%)
*MORE22
Say (&CR&(W)ithdraw Time, (D)eposit Time, (Q)uit Bank: *)
MenuKey
BigNiceSay (Q:Quit,W:Withdraw,D:Deposit)
BigIf (W:Withdraw2,D:Deposit2,q:quit2)
goto (more22)
*NoLimit2
SetEqual (m=99999)
Say (The maximum number of minutes allowed to be stored is %var%m.)
Say (Minutes Currently Stored in Bank: %var%t)
Say(Time Currently Left: %LEFT%)
goto (more22)
*Deposit2
menuAsk (Deposit How Many Minutes? *)
Number (%RESP%)
If (%RESP%)=(0) then goto (finale2)
If (%ARESP%)=(No) then goto (Deposit2)
SetEqual (v=%LEFT%)
inc(v)
CmpVal (%RESP%,%var%v)
ifnottrue(goto (toolarge12))
Addvar (%var%t+%RESP%=e)
AddVar (%var%m+1=g)
CmpVal (%var%e,%var%g)
ifnottrue(goto (OverMax2))
AddVar (%var%t+%RESP%=T)
Zap (bank\%var%n.dat,%var%T)
SetEqual (y=%RESP%)
Addvar(%LEFT%+-%var%y=x)
SetEqual(/LEFT=%var%x)
Goto (Finale2)
*Withdraw2
menuAsk (Withdraw How Many Minutes? *)
Number (%RESP%)
IfNotTrue(goto (withdraw2))
inc(t)
CmpVal (%RESP%,%var%t)
IfNotTrue(goto (toolarge2))
addvar(&t+-1=t)
AddVar (%var%T+-%RESP%=T)
Zap (bank\%var%n.dat,%var%t)
SetEqual (y=%RESP%)
AddVar(%LEFT%+%var%y=x)
SetEqual(/LEFT=%var%x)
Goto (Finale2)
*Finale2
Say(&CR&Minutes Currently Stored in Bank: %var%t)
Say(Time Currently Left: %LEFT%)
Goto (more22)
*TooLarge12
Say(Hey! You don't have %RESP% minutes left!)
Goto (Deposit2)
*TooLarge2
Say(Hey! You don't have %RESP% minutes stored in the bank!)
Goto (Withdraw2)
*OverMax2
Say (Sorry! You are only allowed to store %var%m minutes.)
Goto (Deposit2)
*NoRecord2
Zap (bank\%var%n.dat,0)
goto (more222)
*Quit2
Say (Thank you for using the %BBS% Time Bank!)
return
*nonuser
say(You are not a registered user on this BBS and therefore you cannot hold)
say(an account here. If you would like an account, please notify the Sysop)
return
*nolim
setequal(m=32767)
goto (bak)
STATSCTLI *stats
Clearscr
If (/graphics)=(ANSI) Then Goto (ansist)
Say( Statistics Here at %BBS%)
Goto (ContStats)
*ansist
Say($7$ $0$*)
AnsiGoto(3,1)
Say($7$&0& Statistics Here at %BBS%$0$&7&)
*ContStats
Say(&CR&&7&Date of Last Call: &14&/:LAST/ &11&│&7& Your Security Level Is: *)
Say(&14&%SEC%&CR&&7&First call to BBS: &14&/:FIRST/ &11&│&7& Times on this *)
Say(BBS: &14&/:TIMESON/&CR&&7&Last New Files Check: &14&/:LASTCHK/ &11&│&7& *)
Say(Carrier Drops: &14&/:DROPPED/&CR&&7&Current BBS Time: &14&%DATE% %TIME% &11&│*)
Say(&7& Time Allotted Per Day: &14&%LIMIT%&CR&&CR&)
If (/graphics)=(ANSI) Then Goto (ansist2)
Say( Information you can change yourself:)
Goto (ContStats2)
*ansist2
Say($7$ $0$*)
AnsiGoto(1,9)
Say($7$&0& Information you can change yourself:$0$&10&)
*ContStats2
Say(&CR&1. &11&Street Address: &7&*)
SetEqual(a=/:STREET/)
SetLen(a=19)
Say(%var%a &10&2. &11&City and State: &7&*)
Say(/:FROM/)
Say(&10&3. &11&Password: &7&*)
SetEqual(a=/:PASS/)
SetLen(a=25)
Say(%var%a &10&4. &11&Phone number: &7&*)
Say(/:PHONE/)
Say(&10&5. &11&Graphics Mode: &7&*)
SetEqual(a=%GRAPHICS%)
SetLen(a=20)
Say(%var%a &10&6. &11&Work Phone: &7&/:WORK/)
Say(&10&7. &11&Default Protocol: &7&*)
SetEqual(a=/:PROTOCOL/)
SetLen(a=17)
Say(%var%a &10&8. &11&Screen Length: &7&/:SCREENLEN/)
Say(&CR&&CR&&3&Would you like to change anything? &9&[ ]&14&*)
Back(4)
YesNoAsk(*)
If (%RESP%)=(No) Then return
Say(&10&&CR&Selections are listed above (1-8).)
MenuAsk (&3&Which selection would you like to change?&12&: &15&*)
Say(&3&)
BigIf (1:street,2:city,3:pass,4:phone,5:graph,6:work,7:prot,8:scrlen)
Return
*prot
loadsub(control\macros\defprot.ctl)
Goto (stats)
*scrlen
loadsub(control\macros\scrlen.ctl)
Goto (stats)
*street
loadsub(control\macros\street.ctl)
Goto (stats)
*city
loadsub(control\macros\city.ctl)
Goto (stats)
*pass
loadsub(control\macros\pass.ctl)
Goto (stats)
*phone
loadsub(control\macros\hphone.ctl)
Goto (stats)
*graph
loadsub(control\macros\graph.ctl)
Goto (stats)
*work
loadsub(control\macros\work.ctl)
Goto (stats)
FULLEDITCTL *fullmode
seek(extedit.bat)
iftrue(goto (extern))
CmpVal(19,%MAXLINE%)
IfTrue (goto (page2))
*bpage1
ClearScr
say(&7&Entering mail in the %AREANAME% area. Press (&11&CTRL-Z&7&) to exit.)
say($7$ |)
Say(&0&To: &2&%var%a &0&From: &2&%NAME% &0&Regarding: &2&%var%b$0$)
say($0$ &3&(--------/---------/---------/---------/---------/---------/---------/----)&15&)
NumbLines(1,19)
AnsiGoto(1,4)
ShowTxtL(15,7,1,20)
setequal(p=%MAXLINE%)
cmpval(19,%var%p)
iftrue (setequal(p=19))
setline(%var%p)
addvar(%var%p+3=p)
ansigoto(1,%var%p)
GetText(15,7,1,19)
if (%ARESP%)=(DOWNEXIT) then goto (bpage2)
If (%ARESP%)=(FULLEXIT) Then goto (quit)
*page2
CmpVal(33,%MAXLINE%)
IfTrue (goto (page3))
*bpage2
ClearScr
say(&7&Entering mail in the %AREANAME% area. Press (&11&CTRL-Z&7&) to exit.)
say($7$ |)
Say(&0&To: &2&%var%a &0&From: &2&%NAME% &0&Regarding: &2&%var%b$0$)
say( &3&(--------/---------/---------/---------/---------/---------/---------/----)&15&)
NumbLines(15,33)
AnsiGoto(1,4)
ShowTxtL(15,7,15,34)
setequal(p=%MAXLINE%)
cmpval(34,%var%p)
iftrue (setequal(p=34))
setline(%var%p)
addvar(%var%p+-11=p)
ansigoto(1,%var%p)
GetText(15,7,15,33)
if (%ARESP%)=(UPEXIT) then goto (bpage1)
if (%ARESP%)=(DOWNEXIT) then goto (bpage3)
If (%ARESP%)=(FULLEXIT) Then goto (quit)
*page3
cmpval(47,%Maxline%)
iftrue (goto (page4))
*bpage3
ClearScr
say(&7&Entering mail in the %AREANAME% area. Press (&11&CTRL-Z&7&) to exit.)
say($7$ |)
Say(&0&To: &2&%var%a &0&From: &2&%NAME% &0&Regarding: &2&%var%b$0$)
say( &3&(--------/---------/---------/---------/---------/---------/---------/----)&15&)
NumbLines(30,48)
AnsiGoto(1,4)
ShowTxtL(15,7,30,49)
setequal(p=%MAXLINE%)
cmpval(48,%var%p)
iftrue (setequal(p=48))
setline(%var%p)
addvar(%var%p+-26=p)
ansigoto(1,%var%p)
GetText(15,7,30,48)
if (%ARESP%)=(UPEXIT) then goto (bpage2)
if (%ARESP%)=(DOWNEXIT) then goto (page4)
if (%ARESP%)=(FULLEXIT) then goto (quit)
*page4
clearscr
say(&7&Entering mail in the %AREANAME% area. Press (&11&CTRL-Z&7&) to exit.)
say($7$ |)
Say(&0&To: &2&%var%a &0&From: &2&%NAME% &0&Regarding: &2&%var%b$0$)
say( &3&(--------/---------/---------/---------/---------/---------/---------/----)&15&)
NumbLines(48,59)
AnsiGoto(1,4)
ShowTxtL(15,7,48,60)
setequal(p=%MAXLINE%)
cmpval(59,%var%p)
iftrue (setequal(p=59))
setline(%var%p)
addvar(%var%p+-44=p)
ansigoto(1,%var%p)
GetText(15,7,48,59)
if (%ARESP%)=(UPEXIT) then goto (bpage3)
*quit
AnsiGoto(1,22)
linefeed(1)
Return
*extern
inittxt
exec(extedit.bat %node%)
seek(msgtmp)
ifnottrue(return)
lines(msgtmp)
import (msgtmp,,1,%aresp%)
;setequal(a=%aresp%)
;inc(a)
;setmax(%var%a)
return
SCANMCTLïclearscr
say(&14&Scanning Message Headers in area %AREANAME%:&7&&CR&)
himsg(/:LASTMSG/)
setequal(f=%ARESP%)
lowmsg(/:LASTMSG/)
setequal(y=%ARESP%)
setequal(a=2)
resetpause
*BEGIN
DO
GETMAIL(%VAR%Y,/:LASTMSG/,1,T)
IF (%MSGNUMBER%)=(0) THEN GOTO(LP)
NOTIF(%ARESP%)=(Yes) THEN GOTO(LP)
SETEQUAL(C=%MSGDESC%)
FCOMMA(C)
GET(&C,1,23)
SAY(%MSGNUMBER%; %MSGSNTD%;&11& %MSGFROM% &7&to &15&%MSGTO%;&7& Re: %ARESP%)
INC(A)
*LP
IF (&Y)=(&F) THEN GOTO(BACK)
INC(Y)
IF (&A)=(/SCREENLEN) THEN GOTO(PAUSE)
LOOP
*pause
setequal(a=1)
pauseprompt
if (%ARESP%)=(STOP) then goto (back)
goto (begin)
*back
linefeed(1)
enter
Return
FORWCTLmenuask%nocr%(&CR&&3&Forward message to which user?&12&: &15&*)
seekuser(%RESP%)
say()
IfNotTrue (setequal(a=0))
ifnottrue (return)
say(&CR&&11&Forwarding Message...*)
iftrue (setequal(a=%NDNUMB%))
if (%MSGPVT%)=(PRIVATE) then setequal(k=Yes)
notif (%MSGPVT%)=(PRIVATE) then setequal(k=No)
nicequal(b=%MSGTO%)
zap(forw.%NODE%, ■ Message Originally Addressed to %var%b)
appendto(forw.%NODE%, ■ Message Originally Sent By %MSGFROM%)
appendto(forw.%NODE%, ■ Message Forwarded By %NAME%)
appendto(forw.%NODE%, )
capture(forw1.%NODE%)
exec(copy forw.%NODE%+forw1.%NODE% forwrd.%NODE% ,)
inittxt
import(forwrd.%NODE%,,1,100)
writemsg(/:LASTMSG/,%RESP%,%NAME%,%MSGDESC%,%var%a,%var%k,0,%MSGNET%,%MSGATTNAME%)
say(Done!)
himsg(/:LASTMSG/)
setequal(f=%ARESP%)
return
FINDCTLM
;USERFIND by Doug Vermes with modifications by Scott Brown
*UserFind
*Main
Say (&CR&&15&Enter Name of User: &12&*)
MenuAsk%MIN1%(*)
*Searching
log (--,UserFind for:%Resp%)
SeekUser(%RESP%)
ifnottrue(goto (notfound))
Loaduser (%NDNUMB%)
enufsec (100)
iftrue (Say (&7&Street : &3&\:STREET\))
Say (&7&From : &3&\:FROM\)
iftrue(Say (&7&Birthday : &3&\:BIRTH\))
iftrue(Say (&7&Phone Number : &3&\:PHONE\))
Say (&7&Last Date On : &3&\:LAST\)
Say (&7&Last Time On : &3&\:LASTT\&CR&)
yesnoask (&12&Search For Another User (Y/N)? &15&*)
If (%RESP%)=(Yes) then goto (main)
return
*NotFound
Say (&4&User Not Found in User File!)
Enter
return
*NotEnufSec
Say (&12&Sorry, but your security is not high enough to access this command.&CR&)
Enter
return
BYECTL(Seek(Tagged.%NODE%)
IfTrue (Say(&CR&&10&You have files tagged for download!%BEEP%%BEEP%))
flushout
Say(&CR&&3&Are you sure you want to &11&disconnect&3&? &9&[ ]&14&*)
Back(4)
YesNoAsk(*)
If (%RESP%)=(No) Then Return
Display (display\goodbye)
Log(<<,User logged off normally.)
QuitBBS
PASSCTLäSay(What would you like your new password to be?&12&: &15&*)
getpass(.)
SetEqual(/PASS=%RESP%)
Log(--,Changed Password)
return
ENTERCTLw;modified for The Swing
*enter
setequal(k=0)
setequal(y=0)
setequal(d=1)
say(&15&)
setactivity(Message Entry)
inittxt
if (%AREAFPVT%)=(N) then say(Enter '&11&ALL&15&' to send to everyone; *)
say(Enter '&11&?&15&' to list all users on the BBS.)
cMenuAsk %NOCR%%CRON% (&CR& &3&Who do you want us to send the message to?&12&: &15&*)
if (%RESP%)=(SYSOP) then goto (sysn)
*bk1
if (%resp%)=(<CR>) then linefeed(1)
if (%RESP%)=(<CR>) then Return
setequal(a=%RESP%)
setequal(c=0)
if (%RESP%)=(ALL) then if (%AREAFPVT%)=(N) then goto (back)
if (%RESP%)=(ALL) then goto (nall)
if (%RESP%)=(?) then goto (lusers)
setequal(g=%NAME%)
upcase(g)
seekfile(bad.to,%VAR%G;%RESP%)
iftrue(return)
seekuser(%RESP%)
setequal(c=%NDNUMB%)
ifnottrue(goto (notfound))
*back
cAsk %CRON% (&CR&&3& What is this message about?&12&: &15&*)
if (%RESP%)=(<CR>) then Return
setequal(b=%RESP%)
*stenter
if (%AREAPVT%)=(N) then goto (stenter1)
if (%AREAFPVT%)=(Y) then goto (stenter1)
say(&3&Would you like to make this a private message? &9&[ ]&14&*)
back(4)
yesnoask(*)
setequal(k=%RESP%)
*stenter1
loadmem(control\macros\menter.ctl)
*nall
say(&CR&&CR&&12&Messages cannot be sent to "ALL" in a private mail area.&CR&)
enter
return
*notfound
say(&CR&&14&Their name couldn't be found. )
setequal(c=0)
say( &3&Would you like to send the message anyway? &9&[ ]&14&*)
back(4)
yesnoask(*)
if (%RESP%)=(No) then return
goto (back)
*lusers
loadsub(control\macros\list.ctl)
goto (Enter)
*sysn
len(%UARESP%)
back(%ARESP%)
setequal(/resp=%SYSOP%)
say(%SYSOP%*)
goto (bk1)
MSEARCHCTLÆ
*search
Display(display\SEARCH)
lowmsg(/:lastmsg/)
setequal(n=%ARESP%)
Say(&3&Which &11&search&3& option would you like?&12&: &15&*)
*askagain
MenuKey
BigNiceSay(n:new,f:from,t:to,s:description,m:message text,q:quit,h:help)
BigIf (n:new,f:from,t:toname,s:desc,m:text,h:help3)
if (%RESP%)=(Q) then Return
flushout
goto (askagain)
*help3
display(display\help\sear,/:SEC/)
goto (search)
*from
clearmem
menuask (&CR&&3&Please enter the name of the person to search for&12&: &15&*)
setequal(p=%RESP%)
cmenuask(&CR&&3&Starting at which message number?&11&(%var%n-%var%f)&12&: &15&*)
say(&11&&CR&Searching...|)
seekfrom(/:LASTMSG/,%var%p,%RESP%)
log(--,Msg From Search for %var%p)
zap(seeking.%NODE%,2)
appendto(seeking.%NODE%,%var%p)
eline(20)
if (%ARESP%)=(ERROR) then Return
setequal(r=20)
setequal(u=0)
Return
*new
clearmem
setequal(u=0)
lowmsg(/:lastmsg/)
setequal(n=%ARESP%)
menuask (&CR&&3&Search for messages older than?&11&(Date)&12&: &15&*)
if (%RESP%)=() then setequal(/Resp=/:last/)
dateok(%RESP%)
ifnottrue(return)
setequal(p=%RESP%)
cmenuask(&CR&&3&Starting at which message number?&11&(%var%n-%var%f)&12&: &15&*)
say(&11&&CR&Searching...|)
seeknew(/:LASTMSG/,%var%p,%RESP%)
log(--,Msg New Search for %var%p)
zap(seeking.%NODE%,2)
appendto(seeking.%NODE%,%var%p)
eline(20)
if (%ARESP%)=(ERROR) then Return
setequal(r=20)
Return
*toname
clearmem
menuask (&CR&&3&Please enter the name of the person to search for&12&: &15&*)
setequal(p=%RESP%)
cmenuask(&CR&&3&Starting at which message number?&11&(%var%n-%var%f)&12&: &15&*)
say(&11&&CR&Searching...|)
seekto(/:LASTMSG/,%var%p,%RESP%)
log(--,Msg To Search for %var%p)
zap(seeking.%NODE%,1)
appendto(seeking.%NODE%,%var%p)
eline(20)
if (%ARESP%)=(ERROR) then Return
setequal(r=20)
setequal(u=0)
Return
*desc
say(&3&)
clearmem
menuask (Please enter the description you want to search for&12&: &15&*)
setequal(p=%RESP%)
cmenuask(&CR&&3&Starting at which message number?&11&(%var%n-%var%f)&12&: &15&*)
say(&CR&&11&Searching...|)
seekdesc(/:LASTMSG/,%var%p,%RESP%)
log(--,Msg Desc Search for %var%p)
zap(seeking.%NODE%,3)
appendto(seeking.%NODE%,%var%p)
eline(20)
if (%ARESP%)=(ERROR) then Return
setequal(r=20)
setequal(u=0)
Return
*text
clearmem
menuask (&CR&&3&Please enter the text you want to search for&12&: &15&*)
setequal(p=%RESP%)
cmenuask(&CR&&3&Starting at which message number?&11&(%var%n-%var%f)&12&: &15&*)
say(&CR&&11&Searching...|)
seektext(/:LASTMSG/,%var%p,%RESP%)
log(--,Msg Txt Search for %var%p)
zap(seeking.%NODE%,4)
appendto(seeking.%NODE%,%var%p)
eline(20)
if (%ARESP%)=(ERROR) then Return
setequal(r=20)
setequal(u=0)
Return
MREADERCTLDchkmes
clearscr
Exec(pwrmail\pwrmail.exe node%node%.inf)
Return
CNFNEWSCTL»seek(areas\news/:lastmsg/.asc)
ifnottrue(return)
fDate(areas\news/:lastmsg/.asc)
CmpDate(/:LAST/,%ARESP%)
IfTrue(return)
display(areas\news/:lastmsg/)
return
LISTCTLClearscr
Say(&7&Users currently registered on&15& %BBS%&CR&)
Say(&14&Name Calling From)
Say(&10&-----------------------------------------------------------------)
sPause(5)
ListUsers(40,15,3)
linefeed(1)
Enter
Return ;go back to menu
MENTERCTLCIf (%MSGFNET%)=(Y) Then SetEqual(v=Y)
If (%MSGFNET%)=(Y) Then Goto (nonet)
If (%MSGNET%)=(N) Then Goto (nonet)
Say( &3&Would you like to send this via NetMail? &9&[ ]&14&*)
Back(4)
YesNoAsk(*)
SetEqual(v=%RESP%)
*nonet
NotIf (%GRAPHICS%)=(ANSI) Then Goto (STMESSG)
SetMode(Line)
Say(&CR&&3& Would you like to use the &11&full-screen&3& editor? &9&[ ]&14&*)
Back(4)
YesNoAsk(*)
If (%RESP%)=(Yes) Then SetMode(full)
*stmessg
If (%FULL%)=(Yes) Then Goto (fmode)
Say(&CR&&14&You can start typing in your message now. When you're finished with)
Say(the message, press (&11&ENTER&14&) on a blank line.&CR&&CR&&3& (--------/---------/---------/---------/---------/---------/---------/----))
NotIf (&k)=(20) Then inittxt
If (&k)=(20) Then setmax(%var%p) ;If editing existing msg, set maxline to max in that msg
If (&k)=(20) Then Goto (stedit)
GetText(15,7,1,99)
*ent
NotIf (&z)=(15) Then display (display\ENTER)
If (&z)=(15) Then display(display\REPLY)
Say(&3&What would you like to do with the message?&12&: &15&*)
MenuKey
BigNiceSay (t:Throw Away,s:Save,e:Edit,a:Add,L:List,c:Change,m:Modify,d:Delete Line,h:help)
If (&z)=(15) Then bignicesay(q:Quote)
If (&k)=(30) Then BigIf (m:modi,c:modi)
BigIf (t:abort,s:save,e:edit,L:list,a:add,m:mod,d:del,h:help)
NotIf(&z)=(15) Then BigIf(c:chg) ;If entering a new msg, let them change user to send to
If (&z)=(15) Then BigIf(q:quote) ;If replying let them quote...
Say(&CR&&12&Invalid selection ... Please try again.&CR&)
FlushOut
Goto (ent)
*modi
Say(&CR&%hRed%Option not available in Comment.&CR&)
Goto (ent)
*help
NotIf (&z)=(15) Then display(display\help\enter,/:SEC/)
If (&z)=(15) Then display(display\help\reply,/:SEC/)
Goto (ent)
*Quote
linefeed(1)
lView(quote.%NODE%,11,3)
cMenuAsk %CRON% (&CR&&3&Enter the first line of the message you want to quote&12&: &15&*)
SetEqual(s=%RESP%)
If (%RESP%)=(<CR>) Then SetEqual(s=1)
cMenuAsk %CRON% (&3&Enter the last line of the message to quote&12&: &15&*)
SetEqual(t=%RESP%)
If (%RESP%)=(<CR>) Then SetEqual(t=%var%s)
Import (quote.%NODE%,=> ,%var%s,%var%t) ;import text from quote.%NODE% tmp file
Goto (add)
*netImp
*del
showtxtl(11,3)
cMenuAsk (&CR& &3&Please enter the first line to delete&12&: &15&*)
Number(%RESP%)
IfNotTrue (Goto (invn))
cmpval(%RESP%,%MAXLINE%)
IfNotTrue (NotIf (%RESP%)=(%MAXLINE%) Then Goto (invn))
SetEqual(e=%RESP%)
Say(&CR&&10&If you only want to delete one line, press (&11&ENTER&10&) here.)
cMenuAsk %CRON% (&3& Please enter the last line to delete&12&: &15&*)
SetEqual(g=%RESP%)
If (&g)=(<CR>) Then SetEqual(g=%var%e)
DelLines(%var%e,%var%g)
If (%ARESP%)=(ERROR) Then Goto (invn)
Say(&CR&&11&Lines %var%e to %var%G have been deleted.)
Goto (ent)
*chg
Say(&CR& &3&Who do you want us to send the message to?&12&:&11&( )&15&*)
Back(21)
SetFill(%var%a)
cMenuAsk(*)
SetEqual(a=%RESP%)
SeekUser(%RESP%)
SetEqual(c=%NDNUMB%)
SetEqual(d=2)
If (%ARESP%)=(No) Then Goto (notfound)
Goto (ent)
*mod
Say(&CR&&3& What is this message about?&12&:&11&( )&15&*)
Back(21)
SetFill(%var%b)
cAsk%LEN20%(*)
SetEqual(b=%RESP%)
Goto (ent)
*edit
If (%FULL%)=(Yes) Then Goto (add)
cMenuAsk (&CR&&3&Which line would you like to edit?&12&: &15&*)
Number(%RESP%)
IfNotTrue (Goto (invn))
If (%RESP%)=(%MAXLINE%) Then Goto (goedit)
linefeed(1)
cmpval(%RESP%,%MAXLINE%)
If (%ARESP%)=(No) Then Goto (Invn)
*goedit
SetEqual(h=%MAXLINE%)
gettext(15,7,%RESP%,%RESP%)
setmax(%var%h)
Goto (ent)
*invn
Say(&14&That line number doesn't exist in this message. &11&Try again, please.&CR&)
Goto (ent)
*add
If (%FULL%)=(Yes) Then Goto (fmode)
Say(&CR&&14&You may now continue your message. Press (&11&ENTER&14&) to end the message.&CR&)
showtxt2(15,7)
gettext(15,7,%MAXLINE%,99)
delextra
Goto (ent)
*save
SetEqual(x=)
If (&k)=(No) Then Goto (stsave)
If (&v)=(Yes) Then Goto (stsave)
If (&q)=(10) Then Goto (stsave)
Say(&CR&&3&Would you like to attach a file to this message? &9&[ ]&14&*)
Back(4)
YesNoAsk(*)
If (%RESP%)=(No) Then Goto (stsave1)
loadsub(control\EnterAtt.ctl)
*stsave
InpLine(varr.%NODE%,1)
SetEqual(r=%ARESP%)
*stsave1
Say(&CR&&11&Saving your message, please wait...*)
if (%Msgfpvt%)=(Y) then setequal(k=Y)
if (&z)=(15) then kill(quote.%node%)
NotIf (&z)=(15) Then writemsg(/:LASTMSG/,%var%a,%NAME%,%var%b,%var%c,%var%k,0,%var%v,%var%x)
If (&z)=(15) Then writemsg(/:LASTMSG/,%var%a,%NAME%,%var%b,%var%c,%var%k,%var%y,%var%v,%var%x)
himsg(/:LASTMSG/)
notif (&z)=(15) then log(--,Message (%ARESP%) entered in area #/:LASTMSG/)
if (&z)=(15) then log (--,Reply (%aresp%) to #%var%y entered in area #/:lastmsg/)
if (&z)=(15) then himsg(/:lastmsg/)
If (&z)=(15) Then SetEqual(f=%ARESP%)
If (&z)=(15) Then lowmsg(/:LASTMSG/)
If (&z)=(15) Then SetEqual(n=%ARESP%)
NotIf (&k)=(20) Then Goto (smsg)
himsg(/:LASTMSG/)
redo (/:LASTMSG/,%var%q,%ARESP%)
*smsg
Say(Saved!)
Goto (abt)
*list
linefeed(1)
showtxtl(11,3) ;showtxtL is the same as showtxt except shows line numbers...
linefeed(1)
enter
Goto (ent)
*abort
Say(&CR&&12&Your message has been thrown away.)
*abt
inittxt
SetMode(reg)
return
*notfound
eline(70)
SetEqual(c=0)
Say(Their name couldn't be found. )
Say( &3&Would you like to send the message anyway? &9&[ ]&14&*)
Back(4)
YesNoAsk(*)
If (%RESP%)=(No) Then Goto (abt)
Goto (ent)
*stedit
showtxt2(15,7) ;same as showtxtL except doesnt show last line #...
gettext(15,7,%var%p,99)
Goto (ent)
*notenufs
display(display\nospce)
Goto (stsave)
*aborted
SetEqual(x=)
FlushOut
Log(--,Attach upload aborted (%var%x))
Display(display\attabt)
Goto (stsave)
*alreadyhere
Display (display\HERENOW)
Goto (pok)
*fmode
LoadSub(control\macros\fulledit.ctl)
Goto (ent)
HPHONECTLòSay(What is your new &11&home &3&phone number?&9&: &15&)
Picture(###-###-####)
SetEqual(/PHONE=%RESP%)
Log(--,Changed Phone # to %RESP%)
return
EDITCTLzsetequal(a=%NAME%)
upcase(a)
setequal(i=%MSGFROM%)
upcase(i)
notif (&i)=(&a) then goto (inv2)
setequal(p=%MAXLINE%)
setequal(q=%var%y)
msgkill(/:LASTMSG/,%var%y)
setequal(a=%MSGTO%)
setequal(k=20)
seekuser(%var%a)
setequal(c=%NDNUMB%)
setequal(y=0)
IfNotTrue (setequal(c=0))
setequal(b=%MSGDESC%)
setequal(z=15)
loadmem(control\macros\ENTER.CTL,goto (stenter))
CITYCTL}Ask(What is your &11&City and State &3&address?&12&: &15&*)
SetEqual(/FROM=%RESP%)
Log(--,Changed From (City,St))
return
CHANGECTLNotIf (/SEC)=(100) then display(%FAREA%)
If (/SEC)=(100) then goto (sysv)
*bkh
MenuAsk%CRON%(&CR&&3&Which file area would you like&11&(ENTER=Quit)&3&?&12&: &15&*)
If (%RESP%)=(<CR>) then Return
CmpValo(%MAXFAREA%,%RESP%)
IfTrue(goto (bds))
SelFarea(%RESP%)
CmpVal(%sec%,%FILSEC%)
IfTrue(goto (nofs))
SetEqual(/LASTDOWN=%RESP%)
Display(%FILPATH%welc)
Say(&CR&&11&Area #%RESP%: &15&%FILNAME% &11&is now selected!&CR&)
Say(&3&Would you like to list this area? &9&[ ]&14&*)
Back(4)
YesNoAsk()
If (%RESP%)=(Yes) Then loadsub(control\macros\flist.ctl)
Return
*bds
loadsub(control\macros\badsel.ctl)
Return
*nofs
display(display\NOFSEC)
selfarea(/:lastdown/)
return
*sysv
seek(%FAREA%.100)
iftrue(view(%FAREA%.100))
ifnottrue(display(%FAREA%))
goto (bkh)
MWHOCTLxif (%MULTI%)=(TRUE) then goto (start)
say(&CR&&11&Sorry, %FNAME%, this system is not running the Multinode version of the)
say(Powerboard BBS Package.&CR&&CR&&3&If you feel this would be a good addition to the BBS, please contact)
say(your Sysop, %SYSOP%.&CR&)
enter
return
*start
Seek(%CPAT%whoison.dat)
If (%ARESP%)=(No) Then return
linefeed(1)
setequal(w=0)
size(%CPAT%whoison.dat)
display(display\who)
divvar(%ARESP%/131=y)
do
inc(w)
nodestat(%var%w)
say(&11&%var%w&15& %NAVAIL%&7& %NNAME% %NFROM% %NBAUD%%hRed%%NACTIVITY%)
If (&w)=(&y) then goto (ewho)
loop
*ewho
linefeed(1)
Enter
Return
NEWBULLCTLCsay(&15&&CR&Please Wait!... &14&Searching for bulletins updated since your last logon...)
newbulletins(display\bull)
notif (%ARESP%)=(NONE) then view (updated.%NODE%)
if (%ARESP%)=(NONE) then goto (nobul)
return
*nobul
say(&10&None of the bulletins have been updated since your last call.)
return
FREADCTL┐display(display\READF)
*fname
say(&3&Please enter the name of the file to read&12&: &14&( )&15&*)
back(13)
menuask%nocr%%CRON%%LEN12%(*)
if (%RESP%)=(<CR>) then goto (ret)
adddef(.%DEFEXT%)
seekfall(%RESP%)
if (%ARESP%)=(INVALID) then goto (invfn)
if (%ARESP%)=(No) then goto (nothere)
if (%ARESP%)=(NOT ENOUGH) then goto (notenuf)
selFarea(%ARESP%)
linefeed(1)
view(%FILPATH%%RESP%)
selfarea(/:LASTDOWN/)
enter
Return
*invfn
Display(Display\INVALID)
flushout
selfarea(/:LASTDOWN/)
Enter
goto (fname)
*NotHere
Display(Display\notfnd)
goto (fname)
*notenuf
Display (Display\fbadsec)
selfarea(/:LASTDOWN/)
return
*ret
linefeed(1)
return
LTAGGEDCTL┘Seek(tagged.%NODE%)
IfNotTrue (Goto (none))
Say(&CR&&15&Files currently tagged:&CR&)
Lview(tagged.%NODE%,10,7)
linefeed(1)
Enter
Return
*none
Say(&CR&&11&No files are tagged at this time.&CR&)
enter
Return
OLD-SELCTLÅclearmem
display(display\SELAREAS)
setequal(a=/:LASTMSG/)
findsel
setequal(d=1)
do
selarea(%var%d)
enufsec(%AREASEC%)
if (%ARESP%)=(No) then goto (cnt)
nicesay(&10&Area %var%d (&7&%AREANAME%&10&) - &14&^:d^)
*cnt
if (&d)=(%MAXAREA%) then goto (elist)
inc(d)
loop
*elist
setequal(/lastmsg=%var%a)
selarea(/:lastmsg/)
say(&CR&&3&Would you like to change this? &9&[ ]&14&*)
back(4)
yesnoask(*)
if (%RESP%)=(No) then Return
menuask(&3&Which area would you like to change?&12&: &15&*)
setequal(r=%RESP%)
say(&CR&&3&Would you like this area to be selected? &9&[ ]&14&*)
back(4)
yesnoask(*)
select(%var%r,%RESP%)
Return
SHELLCTLÆ clearscr
If (%LOCAL%)=(TRUE) then goto (locshell)
Exec (dos %PORT%)
return
*locshell
Log(--,%NAME% Shelled to DOS)
Exec ()
return
VIEWLOGSCTLmenuask%cron%(&CR&&3&Please enter the text/date to search for &11&(Enter=%DATE%)&12&: &15&*)
if (%RESP%)=(<CR>) then setequal(/resp=%DATE%)
clearscr
say(&13&Searching Callers Log . . .)
say(&7&)
closecall
searchdisp(%CALLSLOG%,%Resp%)
opencalle
enter
return
SEARCHMCTLQhimsg(/:LASTMSG/)
setequal(f=%ARESP%)
loadmem(control\READ.CTL,goto (search))
FLISTCTL$setequal(y=5)
clearscr
setequal(k=1)
if (%CD%)=(No) then display(%FILPATH%header)
if (%CD%)=(Yes) then display(%CDPath%/:lastdown/\header)
if (%Y%)=(25) then goto (blist)
if (%Y%)=(23) then goto (blist)
spause(%y%)
*blist
defpause($7$&0&[More?]$0$&3& (&11&S&3&)top, (&11&N&3&)onstop, (&11&V&3&)iew, (&11&D&3&)ownload, (&11&T&3&)ag, (&11&H&3&)elp or (&11&C&3&)ontinue?&12&: &7&)
defPif(s:stop,n:nonstop,v:view2,h:fhlp,t:tag2,d:down2)
if (%CD%)=(No) then fdisp(%FILPATH%files.bbs,12,15,7,11,3,%var%k)
if (%CD%)=(Yes) then fdisp(%CDPath%/:lastdown/\files.bbs,12,15,7,11,3,%var%k)
spause(1)
if (%ARESP%)=(No) then goto (err)
say(&11&&CR& ══ &14&End of File Area Listing&11& ══&CR&)
defpause($7$&0&[Send more text?]$0$&3& (&11&S&3&)top, (&11&N&3&)onstop or (&11&C&3&)ontinue?&12&: &7&)
defPif(s:stop,n:nonstop)
enter
Return
*fhlp
defpause($7$&0&[Send more text?]$0$&3& (&11&S&3&)top, (&11&N&3&)onstop or (&11&C&3&)ontinue?&12&: &7&)
defPif(s:stop,n:nonstop)
setequal(k=%ARESP%)
display(display\help\lst,/:SEC/)
goto (blist2)
*err
defpause($7$&0&[Send more text?]$0$&3& (&11&S&3&)top, (&11&N&3&)onstop or (&11&C&3&)ontinue?&12&: &7&)
defPif(s:stop,n:nonstop)
display(display\NOFILES)
enter
Return
*view2
setequal(k=%ARESP%)
loadsub(control\macros\zview.ctl)
goto (blist2)
*tag2
setequal(k=%ARESP%)
loadsub(control\macros\tfiles.ctl)
goto (blist2)
*down2
setequal(k=%ARESP%)
loadsub(control\macros\down.ctl)
selfarea(/:Lastdown/)
goto (blist2)
*blist2
spause(0)
clearscr
goto (blist)
NODEDOWNCTL╓if (%MULTI%)=(TRUE) then goto (start)
say(&CR&&11&Sorry, %FNAME%, this system is not running the Multinode version of the)
say(Powerboard BBS Package.&CR&&CR&&3&If you feel this would be a good addition to the BBS, please contact)
say(your Sysop, %SYSOP%.&CR&)
enter
return
*start
loadsub(control\macros\mwho.ctl)
menuask%cron%(&CR&&3&Please enter the number of the &11&node &3&to shut down&12&: &15&*)
if (%resp%)=(<CR>) then return
nodedown(%resp%)
return
VIEWNODECTL}if (%MULTI%)=(TRUE) then goto (start)
say(&CR&&11&Sorry, %FNAME%, this system is not running the Multinode version of the)
say(Powerboard BBS Package.&CR&&CR&&3&If you feel this would be a good addition to the BBS, please contact)
say(your Sysop, %SYSOP%.&CR&)
enter
return
*start
loadsub(control\macros\mwho.ctl)
menuask%cron%(&CR&&3&Please enter the number of the &11&node &3&to view&12&: &15&*)
if (%resp%)=(<CR>) then return
getscreen(%resp%)
say(&CR&&14&Please wait while screen is being retrived... this process may take a)
say(while. Please wait at the following prompt until the screen arrives.&CR&)
enter
return
KILLNODECTL╫if (%MULTI%)=(TRUE) then goto (start)
say(&CR&&11&Sorry, %FNAME%, this system is not running the Multinode version of the)
say(Powerboard BBS Package.&CR&&CR&&3&If you feel this would be a good addition to the BBS, please contact)
say(your Sysop, %SYSOP%.&CR&)
enter
return
*start
loadsub(control\macros\mwho.ctl)
menuask%cron%(&CR&&3&Please enter the number of the &11&node &3&to disconnect&12&: &15&*)
if (%resp%)=(<CR>) then return
killnode(%resp%)
return
DELTAGCTL░seek(tagged2.%node%)
ifnottrue(goto (notag))
loadsub(control\macros\ltagged.ctl)
Say(&CR&&3&Are you sure you want to &11&delete&3& the tagged file list? &9&[ ]&14&*)
Back(4)
YesNoAsk(*)
If (%RESP%)=(No) Then Return
Say(&CR&&14&Deleting...*)
Kill(tagged2.%NODE%,tagged.%NODE%,free.%NODE%)
Say( |)
Say(&15&Deleted! &CR&)
Enter
Return
*notag
say(&CR&&12&You don't have any tagged files!)
linefeed(1)
enter
return
COMMENTCTLadisplay(display\comment)
*stc
SetEqual(o=/:LASTMSG/)
say(&3&Would you like to leave&11& %SYSOP%&3& a comment?&9& [ ]&14&*)
back(4)
yesnoask(*)
if (%RESP%)=(No) then return
Zap(lconf.%NODE%,/:lastmsg/)
If (&q)=(10) Then goto (lve)
setequal(t=%RESP%)
Say(&CR&&3&What is this comment about?&12&:&11&( )&15&*)
Back(18)
SetFill(Question)
cAsk%CRON%%LEN17%(*)
if (%RESP%)=(<CR>) then Return
SetEqual(b=%RESP%)
SetActivity(Leaving comment...)
Log(--,Leaving (%var%t) Comment Re: %RESP%)
linefeed(1)
*lve
setequal(a=%sysop%)
SeekUser(%var%a)
SetEqual(c=%NDNUMB%)
SetEqual(o=/:LASTMSG/)
SetEqual(/lastmsg=1)
SelArea(1)
SetEqual(y=0)
If (%ARESP%)=(No) Then SetEqual(c=0)
InitTxt
SetEqual(k=30)
LoadSub(control\macros\menter.ctl)
InpLine(lconf.%NODE%,1)
SetEqual(/lastmsg=%ARESP%)
SelArea(%ARESP%)
Return
CHGCTL⌡Display(display\CHG,/:SEC/)
MenuAsk%cron%(&CR&&3&Which message area would you like&11&(ENTER=Quit)&3&?&12&: &15&*)
if (%Resp%)=(<CR>) then return
*sela
Number(%RESP%)
If (%ARESP%)=(No) Then Return
CmpValO(%MAXAREA%,%RESP%) ;cmpvalo will report no if it's under 1.
IfTrue (Return)
SelArea(%RESP%)
EnufSec(%AREASEC%)
IfTrue(Goto (cnt))
SelArea(/:LASTMSG/)
Say(&CR&&14&You don't have a high enough security level for that area.&CR&)
enter
Return
*cnt
Display(areas\welc%RESP%)
say(&CR&&11&Changing...|)
ListFile(areas\farea%RESP%)
eline(13)
if (%FAREA%)=(AREAS\FAREA%RESP%) then goto (fsetup)
goto (seled)
*fsetup
selfarea(1)
setequal(/lastdown=1)
*seled
Say(Area #%RESP%:&15& %AREANAME%&11& is now selected!&CR&&7&)
if (%AREAPVT%)=(Y) then say(Private mail is allowed in this area.)
if (%AREAPVT%)=(N) then say(No private mail is allowed in this area.)
if (%AREAFPUB%)=(Y) then say(All messages are forced public.)
if (%AREAFPVT%)=(Y) then say(All messages are forced private.)
if (%MSGNET%)=(Y) then say(Netmail is supported in this area.)
if (%MSGFNET%)=(Y) then say(All mail in this area is Netmail.)
linefeed(1)
enter
SetEqual(/LASTMSG=%RESP%)
seek(areas\news/:lastmsg/.asc)
iftrue(loadsub(control\macros\cnfnews.ctl))
Return
REPLYCTL║setequal(k=0)
capture(quote.%NODE%)
inittxt
setequal(a=%MSGFROM%)
setequal(b=%MSGDESC%)
fcomma(b)
fcomma(a)
setequal(z=15)
seekuser(%var%a)
setequal(c=%NDNUMB%)
IfNotTrue (setequal(c=0))
if (%AREAPVT%)=(N) then goto (stenter1)
if (%AREAFPVT%)=(Y) then goto (stenter1)
say(&3&Would you like to make this a private message? &9&[ ]&14&*)
back(4)
yesnoask(*)
setequal(k=%RESP%)
*stenter1
loadmem(control\macros\menter.ctl)
MCOPYCTLÑcMenuAsk(&CR&&3&Enter message number to copy&12&: &15&*)
inittxt
GetMail(%RESP%,/:LASTMSG/,1)
cMenuAsk(&CR&&3&Copy to which area?&12&: &15&*)
If (%MSGPVT%)=(PRIVATE) Then SetEqual(k=Yes)
NotIf (%MSGPVT%)=(PRIVATE) Then SetEqual(k=No)
setequal(a=%msgfrom%)
fcomma(a)
setequal(b=%msgto%)
fcomma(b)
setequal(c=%msgdesc%)
fcomma(c)
WriteMsg(%RESP%,%var%b,%var%a,%var%c,00,%var%k,0,%MSGNET%,%MSGATTNAME%)
Return
ABANDCTLif (/lastmsg)=(1) then goto (already)
say(&CR&&11&%areaname% &2&Conference abandoned!&CR&)
enter
setequal(/resp=1)
loadmem(control\macros\chg.ctl,goto (sela))
*already
say(&CR&&12&You are already in the main conference &11&(%areaname%)&CR&)
enter
return
DEFPROTCTL╢Display (Display\defprots)
MenuAsk (&3&Which protocol would you like (or N for None)?%hRed%: &15&*)
SetEqual(/protocol=%RESP%)
Log(--,Changed Default Protocol to %RESP%)
return
SCRLENCTLôMenuAsk (&3&Please enter the new length for your screen&12&: &15&*)
SetEqual(/screenlen=%RESP%)
Log(--,Changed Screen Length to %RESP%)
return
GRAPHCTL╦Say(Do you want to use &11&ANSI color&3& graphics? &9&[ ]&14&*)
Back(4)
YesNoAsk(*)
SetEqual(/graphics=ANSI)
If (%RESP%)=(No) Then SetEqual(/graphics=ASCII)
Log(--,Changed Graphics Mode)
return