home *** CD-ROM | disk | FTP | other *** search
/ ftp.wwiv.com / ftp.wwiv.com.zip / ftp.wwiv.com / pub / BBS / PB12A_1.ZIP / MACS.LZH / M1
Text File  |  1992-09-21  |  67KB  |  2,485 lines

  1. MCHATCTL▒ DefPause ($7$&0&[Send more text?]$0$&3& (&11&S&3&)top, (&11&N&3&)onstop or (&11&C&3&)ontinue?&12&: &7&)
  2.  DefPif (s:stop,n:nonstop)
  3. if (%MULTI%)=(TRUE) then goto (start)
  4. say(&CR&&11&Sorry, %FNAME%, this system is not running the Multinode version of the)
  5. say(Powerboard BBS Package.&CR&&CR&&3&If you feel this would be a good addition to the BBS, please contact)
  6. say(your Sysop, %SYSOP%.&CR&)
  7. enter
  8. return
  9.  
  10. *start
  11. setactivity (Entering Chat)
  12. SetWho1(&7&)
  13. SetWho2(&11&)
  14. SetWho3(&3&)
  15. SetWho4(&10&)
  16. SetWho5(&15&)
  17. display(display\chatconf)
  18. menuask(&3&Please select a chat conference&12&: &15&*%CRON%)
  19. if (%RESP%)=(<CR>) then return
  20. number(%RESP%)
  21. ifnottrue(goto (badsel))
  22. setequal(a=%RESP%)
  23. setequal(c=%NAME%)
  24. setlen(c=20)
  25. setequal(d=%FROM%)
  26. setlen(d=21)
  27. display(display\chatopt)
  28. loadsub(control\macros\mwho.ctl)
  29. menuask(&3&Nodes you would like to chat with, seperated by spaces &11&(A=All)&12&: &15&*%MIN1%%CRON%)
  30. if (%RESP%)=(<CR>) then return
  31. if (%RESP%)=(A) then goto (all)
  32. setequal(b=%RESP% %NODE%)
  33. display(display\stchat)
  34. mChat(%var%a %var%b)
  35. Return
  36.  
  37. *all
  38. display(display\stchat)
  39. mchat(%var%a -1)
  40. return
  41.  
  42. *badsel
  43. loadsub(control\macros\badsel.ctl)
  44. return
  45. NEWSCTLseek(display\newsltr.asc)
  46. iftrue (goto (view))
  47. seek(display\newsltr.ans)
  48. iftrue (goto (view))
  49. say(&15&&CR&Sorry, there is no newsletter today.&CR&)
  50. secpause(1)
  51. return
  52.         *view
  53. log(--,Viewed Newsletter)
  54. display (display\newsltr)
  55. enter
  56. return
  57. SEARCHCTLrsetequal(f=%maxfarea%) ; max area to search...
  58. setequal(g=1)
  59. display(display\fsearch)
  60. setequal(y=20)
  61. menuask %CRON%(&3&Please enter text to search for&12&: &15&*)
  62. if (%RESP%)=(<CR>) then Return
  63. setequal(n=%RESP%)
  64. loadsub(control\selfilea.ctl)
  65. log(--,Search (Files) for: %var%n)
  66. 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&)
  67. defPif(s:enew,n:nonstop,v:view2,h:fhlp,t:tag2,d:down2)
  68. clearscr
  69. say(&11&(Spacebar) Aborts.  &14&Searching file database for "%var%n". . .&CR&)
  70. spause(5)
  71. *stsearch
  72. selfarea(%var%g)
  73. eline(79)
  74. enufsec(%FILSEC%)
  75. IfNotTrue(goto (skcheck))
  76. *csearch
  77. say(&7&Searching file area: %FILNAME%|)
  78. if (%CD%)=(No) then fsearch(%FILPATH%files.bbs,12,15,7,11,3,%var%n,1,1)
  79. if (%CD%)=(Yes) then fsearch(%CDPath%%filarea%\files.bbs,12,15,7,11,3,%var%n,1,1)
  80. iftrue(goto (enew))
  81. ifkey( )
  82. if (%ARESP%)=(Yes) then goto (enew) ;did user hit stop?
  83. localkey(1)
  84. notif (%ARESP%)=(No) then goto (enew) ;did SYSOP hit stop?
  85. *skcheck
  86. if (&g)=(&f) then goto (enew)
  87. inc(g)
  88. goto (stsearch)
  89.  
  90. *enew
  91. eline(79)
  92. selfarea(/:LASTDOWN/)
  93. setequal(k=0)
  94. linefeed(1)
  95. defpause($7$&0&[Send more text?]$0$&3& (&11&S&3&)top, (&11&N&3&)onstop or (&11&C&3&)ontinue?&12&: &7&)
  96. defPif(s:stop,n:nonstop)  ;define our pause prompt...
  97. display(display\sdone)
  98. Return
  99.  
  100. *view2
  101. setequal(k=%ARESP%)
  102. loadsub(control\macros\zview.ctl)
  103. goto (blist2)
  104. *tag2
  105. setequal(k=%ARESP%)
  106. loadsub(control\macros\tfiles.ctl)
  107. goto (blist2)
  108. *down2
  109. setequal(k=%ARESP%)
  110. loadsub(control\macros\down.ctl)
  111. selfarea(/:Lastdown/)
  112. goto (blist2)
  113. *blist2
  114. spause(0)
  115. clearscr
  116. goto (stsearch)
  117.         *fhlp
  118. defpause($7$&0&[Send more text?]$0$&3& (&11&S&3&)top, (&11&N&3&)onstop or (&11&C&3&)ontinue?&12&: &7&)
  119. defPif(s:stop,n:nonstop)
  120. setequal(k=%ARESP%)
  121. display(display\help\lst,/:SEC/)
  122. goto (blist2)
  123. DOWNCTL┼        *down
  124. SetActivity(Downloading Files)
  125. Display (Display\DOWN)
  126. setequal(b=)
  127. Enter
  128. Kill(Batch.%NODE%)
  129. if (%local%)=(TRUE) then setequal(b=1)
  130. if (%LOCAL%)=(TRUE) then goto (Pok)
  131. If (/PROTOCOL)=(N) Then Goto (PickProt)
  132. Display(Display\defuse)
  133. SetEqual(b=/:PROTOCOL/)
  134. Goto (pseled)
  135.  
  136.         *PickProt
  137. Display (Display\DN-PROTS)
  138. MenuAsk %MIN1% (&3&Which transfer protocol would you like to use?&11&(or Q to Quit)&12&: &15&*)
  139. Find(%RESP%,\)      ;make sure they didnt stick a backslash in there
  140. NotIf (%ARESP%)=(0) Then Goto (badprot)
  141. BigIf(h:phelp,q:filesback)
  142. SetEqual(b=%RESP%)
  143.         
  144.         *pseled
  145. Seek(protocol\%var%b-D.BT)    ;check to see If protocol exists..
  146. IfTrue(Goto (Pok))
  147.  
  148.         *badprot
  149. loadsub(control\macros\badsel.ctl)
  150. Goto (PickProt)  ;go back and ask again..
  151.         
  152.         *Pok
  153. Seek(tagged.%NODE%)   ;see If there are any tagged files..
  154. IfTrue(Goto (texist))
  155. linefeed(1)
  156. len(%var%b)   ;see If they picked a batch protocol
  157. NotIf(%ARESP%)=(1) Then loadmem(control\BATCH.CTL)
  158.         
  159.         *fname
  160. say(&3&Please enter the name of the file to download&12&: &14&(&F&12)&15&*)
  161. back(13)
  162. menuask%NOCR%%CRON%%LEN12%(*)
  163.   if (%RESP%)=(<CR>) then say()
  164.   if (%RESP%)=(<CR>) then Return
  165.   len(%Resp%)
  166.   back(%Aresp%)
  167. adddef(.%DEFEXT%)  
  168.   say(%Resp%&11&&CR&)
  169. say(Please wait!... We're searching for the file...*)
  170. Seekfall(%RESP%)
  171. If (%ARESP%)=(INVALID) Then Goto (invfn)  ;If invalid filename
  172. If (%ARESP%)=(No) Then Goto (nothere)
  173. If (%ARESP%)=(NOT ENOUGH) Then Goto (notenuf)
  174. If (%RATIO%)=(NOT OK) Then Goto (badratio)  ;If bad ratio...
  175. selFarea(%ARESP%)    ;set file area to where the file is...
  176. size(%FILPATH%%RESP%)
  177. say(Found!&CR&&CR&&14& ───────  &12&Statistics for %RESP% &14& ───────&15&)
  178. say(Free Download: &11&%FREE% &15&*)
  179. If (%FREE%)=(No) Then say( *)
  180. say(        Size: &11&%ARESP% &15&&CR&Dated: *)
  181. fdate(%FILPATH%%RESP%)   ;get file date
  182. say(&11&%ARESP% &15&         Transfer Time: *)
  183. size(%FILPATH%%RESP%)
  184. ttime(%ARESP%)
  185. say(&11&%ARESP%)
  186. cmpval(%TTIM%,/:LEFT/)
  187. If (%ARESP%)=(No) Then If (%FREE%)=(No) Then Goto (notenuftime)
  188. SetEqual(d=%RESP%)
  189. say(&CR&&3&       Would you like to download this file? &9&[   ]&14&*)
  190. back(4)
  191. yesnoask(*)
  192. If (%RESP%)=(No) Then Goto (ex)
  193. say(&3&Would you like us to log you off afterwards? &9&[   ]&14&*)
  194. back(4)
  195. yesnoask(*)
  196. SetEqual(m=%RESP%)
  197. say(&CR&&11&We're sending the file you requested. Please get ready to receive it now.)
  198. If (%LOCAL%)=(TRUE) Then Goto (lcl)
  199. fixfile(protocol\%var%b-d.bt,protocol\%var%b-d.bat)
  200. initclock
  201. exec(protocol\%var%b-d.BAT│)
  202. Kill(protocol\%var%b-d.bat)
  203.  
  204.         *success
  205. setequal(t=)
  206. NotIf (%ARESP%)=(0) Then Goto (aborted)
  207. notif (%LOCAL%)=(FALSE) then setequal(t=TOG)
  208. if (%LOCAL%)=(FALSE) then toglocal
  209. xfertime
  210. SetEqual(e=%ARESP%)
  211. multvar(%XMIN%*60=o)
  212. size(%FILPATH%%var%d)
  213. divvar(%ARESP%/%var%o=g)
  214. cnvtk(%ARESP%)
  215. addvar(%ARESP%+/:KDOWN/=o)
  216. SetEqual(/KDOWN=%var%o)
  217. say(%BEEP%*)
  218. log(--,%var%d Downloaded.)
  219. log(--,Rate: %var%g CPS)
  220. appendto(logs\DOWNLOAD.%NODE%,%var%d downloaded by %NAME% at %TIME% on %DATE%.)
  221. SetEqual(a=/:DOWNLOADS/)
  222. inc(a)
  223. SetEqual(/DOWNLOADS=%var%a)
  224. notif (%var%t)=(TOG) then toglocal
  225. eline(20)
  226. Display (Display\SUCCESS)
  227. If (%FREE%)=(Yes) Then Goto (free)
  228. If (&m)=(Yes) Then Goto (autooff)
  229.         
  230.         *ex
  231. selfarea(/:LASTDOWN/)
  232. linefeed(1)
  233. return
  234.         
  235.         *aborted
  236. eline(20)
  237. log(--,Download of %var%d aborted.)
  238. display(display\aborted)
  239. goto (ex)
  240.  
  241.         *lcl
  242. menuask(&CR&&3&Please specify the path &11&(e.g. C:\DLS\)&3& for this file&12&: &15&*)
  243. setequal(k=10)
  244. initclock
  245. fcopy (%FILPATH%%var%d,%RESP%\%var%d)
  246. notif (%ARESP%)=(0) then goto (aborted)
  247. goto (success)
  248.         
  249.         *badratio
  250. Display(Display\BADRATIO)
  251. selfarea(/:LASTDOWN/)
  252. linefeed(1)
  253. return
  254.  
  255.         *autooff
  256. loadmem(control\AutoOff.ctl)
  257.  
  258.         *free
  259. log(--,Freefile downloaded, time refunded.)
  260. size(%var%d)
  261. ttime(%ARESP%)
  262. addvar(%TTIM%+/:LEFT/=t)
  263. SetEqual(/LEFT=%var%t)
  264. If (&m)=(Yes) Then Goto (autooff)
  265. Goto (ex)
  266.         
  267.         *texist
  268. len(%var%b)
  269. If (%ARESP%)=(1) Then Goto (len1)
  270. say(&CR&&14&Files Currently Tagged:)
  271. lview(tagged.%NODE%,10,7)
  272. say(&CR&&3&Would you like to download the tagged files? &9&[   ]&14&*)
  273. back(4)
  274. yesnoask(*)
  275. say(&14&)
  276. If (%RESP%)=(No) Then loadmem(control\BATCH.CTL,Goto (startbatch))
  277. say(Adding Tagged files to Batch...*)
  278. fcopy(tagged2.%NODE%,batch.%NODE%)
  279. lines(batch.%NODE%)
  280. SetEqual(m=0)
  281. SetEqual(w=%ARESP%)
  282. say(Done!&CR&)
  283. loadmem(control\BATCH.CTL,Goto (fname))
  284.         *len1
  285. say(&10&&CR&You have tagged files but they can only be downloaded with a BATCH)
  286. say(protocol.  Please press &11&Enter&10& now to abort then choose a dIfferent protocol)
  287. say(if you'd like to download your tagged files.&CR&)
  288. Goto (fname)
  289.         *notenuftime
  290. Display(Display\NODLTIME)
  291. return
  292.         *phelp
  293. Display(Display\help\prot,/:SEC/)
  294. Goto (PickProt)
  295.         *invfn
  296. Display(Display\INVALID)
  297. flushout
  298. selfarea(/:LASTDOWN/)
  299. Enter
  300. goto (fname)
  301.         *filesback
  302. return
  303.         *notenuf
  304. Display (Display\fbadsec)
  305. selfarea(/:LASTDOWN/)
  306. return        
  307.         *NotHere
  308. Display(Display\notfnd)
  309. goto (fname)
  310.         *moveerr
  311. say(&CR&&14&The directory you specify is where the file already resides!&CR&)
  312. goto (endmove)
  313. EXPERTCTL÷If (/EXPERT)=(Y) Then Goto (exon)
  314. Say(&14&&CR&Menus will not be displayed (Expert Mode On)&CR&)
  315. SetEqual(/EXPERT=Y)
  316. Enter
  317. Return
  318.    *exon
  319. Say(&14&&CR&Menus will now be displayed (Expert Mode Off)&CR&)
  320. SetEqual(/EXPERT=N)
  321. Enter
  322. Return
  323.  
  324. ZVIEWCTL$DefPause($7$&0&[Send more text?]$0$&3& (&11&S&3&)top, (&11&N&3&)onstop or (&11&C&3&)ontinue?&12&: &7&)
  325. DefPif(s:stop,n:nonstop)
  326.         
  327.         *sv
  328. Display(display\VIEWZ)
  329. Say(&3&Please enter the name of the file to view&12&: &14&(            )&15&*)
  330. Back(13)
  331. MenuAsk%nocr%%CRON%%LEN12%(*)
  332. if (%RESP%)=(<CR>) then goto (ret)
  333. AddDef(.%DEFEXT%)
  334. SeekFall(%RESP%)
  335. If (%ARESP%)=(INVALID) Then goto (invfn)
  336. if (%ARESP%)=(No) then goto (nothere)
  337. If (%ARESP%)=(NOT ENOUGH) Then goto (notenuf)
  338. SelFarea(%ARESP%)
  339. Kill(ZipInfo.txt)
  340. Say(&CR&&CR&&15&Reading the archive file, Please Wait!)
  341. setequal(e=%RESP%)
  342. seek(zipview.bat)
  343. ifnottrue(goto (intview))
  344. Exec(ZipView.bat %FILPATH%%var%e)
  345. *stview
  346. Seek(zipinfo.txt)
  347. IfNotTrue (goto (cont))
  348. inpopen(zipinfo.txt)
  349. do
  350. inpread
  351. get (%ARESP%,1,7)
  352. notif (%ARESP%)=() then if (%ARESP%)=( Length) then loadmem (control\zipview.ctl)
  353. eofloop
  354.  
  355. *odisp
  356. inpclose
  357. view (zipinfo.txt)
  358. goto (cont)
  359.  
  360.         *cont
  361. linefeed(1)
  362. Enter
  363. SelFarea(/:LASTDOWN/)
  364. Return
  365.  
  366.   *badsel
  367. LoadSub(control\macros\badsel.ctl)
  368. Return
  369.  
  370.   *invfn
  371. Display(Display\INVALID)
  372. FlushOut
  373. SelFarea(/:LASTDOWN/)
  374. Enter
  375. Return
  376.  
  377.   *nothere
  378. Display(display\notfnd)
  379. SelFarea(/:LASTDOWN/)
  380. Return
  381.  
  382.   *Notenuf
  383. Say(&CR&)
  384. Display (display\fbadsel)
  385. SelFarea(/:LASTDOWN/)
  386. Return
  387.         *invfn
  388. Display(Display\INVALID)
  389. flushout
  390. selfarea(/:LASTDOWN/)
  391. Enter
  392. goto (fname)
  393.         *notenuf
  394. Display (Display\fbadsec)
  395. selfarea(/:LASTDOWN/)
  396. return        
  397.         *NotHere
  398. Display(Display\notfnd)
  399. goto (fname)
  400.  
  401. *ret
  402. linefeed(1)
  403. return
  404. *intview
  405. len(%var%e)
  406. upcase(e)
  407. addvar(%aresp%+-2=f)
  408. get(&e,%var%f,3)
  409. if (%aresp%)=(ZIP) then goto (ZIP)
  410. exec(av %FILPATH%%var%e >zipinfo.txt,)
  411. view(zipinfo.txt)
  412. goto (cont)
  413.  
  414. *zip
  415. exec(pkzip -v %FILPATH%%var%e >zipinfo.txt,)
  416. goto (stview)
  417. NEWCTLÜsetequal(f=%maxfarea%) ;this sets the max area to search...
  418. setequal(g=1)
  419. say(&CR&&11&You last checked for new files on &12&/:LASTCHK/&11&. Please enter the date to start)
  420. say(the search at or press (&14&ENTER&11&) to start at &12&/:LASTCHK/.)
  421. setequal(y=15)
  422. *askagain
  423. say(&CR&&3&Please enter the date to start at&12&: &11&(        )&15&*)
  424. back(9)
  425. SetFill(/:lastchk/)
  426. menuask%CRON%%LEN8%(*)
  427. setequal(n=%RESP%)
  428. if (%RESP%)=(<CR>) then setequal(n=/:LASTCHK/)
  429. dateok(%var%n)
  430. if (%ARESP%)=(No) then goto (invdate)
  431. loadsub(control\selfilea.ctl)
  432. clearscr
  433. 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&)
  434. defPif(s:stop,n:nonstop,v:view2,h:fhlp,t:tag2,d:down2)
  435. say(&11&(Spacebar) Aborts.  &14&Searching file database for "%var%n". . .&CR&)
  436. log(--,New Files Scan (%var%n))
  437. spause(3)
  438. *stsearch
  439. selfarea(%var%g)
  440. enufsec(%FILSEC%)
  441. if (%ARESP%)=(No) then goto (skcheck)
  442. *cnew
  443. eline(79)
  444. say(&7&Searching file area: %FILNAME%|)
  445. if (%CD%)=(No) then new(%FILPATH%files.bbs,12,15,7,11,3,%var%n)
  446. if (%CD%)=(Yes) then new (%CDPath%%filarea%\files.bbs,12,15,7,11,3,%var%n)
  447. iftrue (goto (enew))
  448. ifkey( )
  449. ifTrue (goto (enew)) ;did user hit stop?
  450. localkey(1)
  451. notif (%ARESP%)=(No) then goto (enew)
  452. *skcheck
  453. if (&g)=(&f) then goto (enew)
  454. inc(g)
  455. goto (stsearch)
  456.  
  457. *enew
  458. eline(79)
  459. selfarea(/:LASTDOWN/)
  460. defpause($7$&0&[Send more text?]$0$&3& (&11&S&3&)top, (&11&N&3&)onstop or (&11&C&3&)ontinue?&12&: &7&)
  461. defPif(s:stop,n:nonstop)
  462. setequal(/LASTCHK=%DATE%)
  463. setequal(k=0)
  464. display(display\newdone)
  465. Return
  466.  
  467. *invdate
  468. display(display\INVDATE)
  469. goto (askagain)
  470. *view2
  471. setequal(k=%ARESP%)
  472. loadsub(control\macros\zview.ctl)
  473. goto (blist2)
  474. *tag2
  475. setequal(k=%ARESP%)
  476. loadsub(control\macros\tfiles.ctl)
  477. goto (blist2)
  478. *down2
  479. setequal(k=%ARESP%)
  480. loadsub(control\macros\down.ctl)
  481. selfarea(/:Lastdown/)
  482. goto (blist2)
  483. *blist2
  484. spause(0)
  485. clearscr
  486. goto (cnew)
  487.         *fhlp
  488. defpause($7$&0&[Send more text?]$0$&3& (&11&S&3&)top, (&11&N&3&)onstop or (&11&C&3&)ontinue?&12&: &7&)
  489. defPif(s:stop,n:nonstop)
  490. setequal(k=%ARESP%)
  491. display(display\help\lst,/:SEC/)
  492. goto (blist2)
  493. VERCTL-clearscr
  494. say(&14&Powerboard &3&Bulletin Board System, Ver. &11&%ver%&7&)
  495. say(&CR&Copyright, 1991-92, by Scott W. Brown)
  496. say(All Rights Reserved.&CR&)
  497. say(&CR&&14&Microsoft(R) &3&MS-DOS, Ver. &11&%DOSVER%&7&)
  498. say(&CR&Copyright Microsoft Corperation)
  499. say(All Rights Reserved.&CR&)
  500. enter
  501. return
  502. WSEARCHCTL▄setequal(f=%maxfarea%) ;this is the max area to search
  503. setequal(g=1)
  504. display(display\wsearch)
  505. say(&3&Please file to search for &11&(Wildcards are valid)&12&: &14&(            )&15&*)
  506. back(13)
  507. setequal(y=20)
  508. menuask%CRON%%LEN12%(*)
  509. if (%RESP%)=(<CR>) then Return
  510. find(%resp%,.)
  511. ifnottrue(combine(%resp%+.*=e))
  512. ifnottrue(setequal(/resp=%var%e))
  513. setequal(n=%RESP%)
  514. loadsub(control\selfilea.ctl)
  515. log(--,Wildcard Search for: %var%n)
  516. 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&)
  517. defPif(s:stop,n:nonstop,v:view2,h:fhlp,t:tag2,d:down2)
  518. clearscr
  519. say(&11&(Spacebar) Aborts.  &14&Searching file database for "%var%n". . .&CR&)
  520. spause(3)
  521. *stsearch
  522. selfarea(%var%g)
  523. eline(79)
  524. enufsec(%FILSEC%)
  525. ifNotTrue (goto (skcheck))
  526. *csearch
  527. say(&7&Searching file area: %FILNAME%|)
  528. if (%CD%)=(No) then wsearch(%FILPATH%files.bbs,12,15,7,11,3,%var%n,1,1)
  529. if (%CD%)=(Yes) then wsearch(%CDPath%%filarea%\files.bbs,12,15,7,11,3,%var%n,1,1)
  530. ifTrue (goto (enew))
  531. ifkey( )
  532. ifTrue (goto (enew)) ;did user hit stop?
  533. localkey(1)
  534. notif (%ARESP%)=(No) then goto (enew)
  535. *skcheck
  536. if (&g)=(&f) then goto (enew)
  537. inc(g)
  538. goto (stsearch)
  539.  
  540. *enew
  541. eline(79)
  542. selfarea(/:LASTDOWN/)
  543. setequal(k=0)
  544. defpause($7$&0&[Send more text?]$0$&3& (&11&S&3&)top, (&11&N&3&)onstop or (&11&C&3&)ontinue?&12&: &7&)
  545. defPif(s:stop,n:nonstop)  ;define our pause prompt...
  546. display(display\sdone)
  547. Return
  548. *view2
  549. setequal(k=%ARESP%)
  550. loadsub(control\macros\zview.ctl)
  551. goto (blist2)
  552. *tag2
  553. setequal(k=%ARESP%)
  554. loadsub(control\macros\tfiles.ctl)
  555. goto (blist2)
  556. *down2
  557. setequal(k=%ARESP%)
  558. loadsub(control\macros\down.ctl)
  559. selfarea(/:Lastdown/)
  560. goto (blist2)
  561. *blist2
  562. spause(0)
  563. clearscr
  564. goto (stsearch)
  565.         *fhlp
  566. defpause($7$&0&[Send more text?]$0$&3& (&11&S&3&)top, (&11&N&3&)onstop or (&11&C&3&)ontinue?&12&: &7&)
  567. defPif(s:stop,n:nonstop)
  568. setequal(k=%ARESP%)
  569. display(display\help\lst,/:SEC/)
  570. goto (blist2)
  571. TFILESCTL⌐defpause($7$&0&[Send more text?]$0$&3& (&11&S&3&)top, (&11&N&3&)onstop or (&11&C&3&)ontinue?&12&: &7&)
  572. defPif(s:stop,n:nonstop)
  573. linefeed(1)
  574. *fname
  575. say(&3&Please enter the name of the file to tag&12&: &14&(            )&15&*)
  576. back(13)
  577. menuask%nocr%%CRON%%LEN12%(*)
  578. if (%RESP%)=(<CR>) then goto (ret)
  579. seek(tagged.%NODE%)
  580. setequal(v=%aresp%)
  581. *stseek
  582. adddef(.%DEFEXT%)
  583. setequal(p=%RESP%)
  584. seekfall(%var%p)
  585. If (%ARESP%)=(INVALID) then goto (invfn)
  586. if (%ARESP%)=(No) then goto (nothere)
  587. If (%ARESP%)=(NOT ENOUGH) then goto (notenuf)
  588. linefeed(1)
  589. selfarea(%aresp%)
  590. if (&v)=(Yes) then goto (sometagged)
  591. *doAdd
  592. AppendTo(tagged2.%NODE%,%FILPATH%%var%p)
  593. AppendTo(tagged.%NODE%,%var%p)
  594. AppendTo(free.%NODE%,%FREE%)
  595. selfarea(/:lastdown/)
  596. Say(&CR&&14&%var%p&15& has been tagged.&CR&)
  597. Enter
  598. goto (fname)
  599.         *sometagged
  600. seekfile(tagged.%NODE%,%RESP%)
  601. setequal(p=%RESP%)
  602. ifnottrue (goto (doadd))
  603. say(&CR&&CR&&15&%RESP% &7&has been found in your tagged files list.)
  604. lview(tagged.%NODE%,10,7)
  605. say(&CR&&3&Do you still want to tag this file? &9&[   ]&14&*)
  606. back(4)
  607. yesnoask()
  608. linefeed(1)
  609. if (%resp%)=(No) then goto (fname)
  610. goto (doAdd)
  611.  
  612.         *invfn
  613. Display(Display\INVALID)
  614. flushout
  615. selfarea(/:LASTDOWN/)
  616. Enter
  617. goto (fname)
  618.         *notenuf
  619. Display (Display\fbadsec)
  620. selfarea(/:LASTDOWN/)
  621. return        
  622.         *NotHere
  623. selfarea(/:lastdown/)
  624. Display(Display\notfnd)
  625. goto (fname)
  626.  
  627. *ret
  628. linefeed(1)
  629. return
  630. STREETCTLwAsk(What is your &11&street&3& address?&12&: &15&*)
  631. SetEqual(/STREET=%RESP%)
  632. Log(--,Changed Street Address)
  633. return
  634. UPCTL╓   display (display\UPLD)
  635.    kill(ubatch.%NODE%)
  636.    enter
  637.    clearmem
  638.    freespace(%CDRIVE%:)
  639.    setequal(i=%ARESP%)
  640.    cmpval(%ARESP%,%MINSPACE%)
  641.    ifTrue (goto (notenufs))
  642.    if (%LOCAL%)=(TRUE) then goto (pok)
  643.    *pickprot
  644.    display (display\up-PROTS)
  645.    menuask %MIN1%(&3&Which transfer protocol would you like to use?&11&(or Q to Quit)&12&: &15&*)
  646.    find(%RESP%,\)
  647.    notif (%ARESP%)=(0) then goto (badprot)
  648.    BigIf(h:phelp,q:filesback)
  649.    seek(protocol\%RESP%-U.BT)
  650.    ifTrue (goto (Pok))
  651. *badprot
  652. loadsub(control\macros\badsel.ctl)
  653.    goto (pickprot)
  654.    *Pok
  655.    setequal(b=%RESP%)
  656.    addcomma(%var%i)
  657.    say(&CR&&14&%aresp% &7&Bytes Free.)
  658.    len(%var%b)
  659.    notif (%ARESP%)=(1) then loadmem(control\macros\ubatch.ctl)
  660. *gtname
  661. say(&CR&&3&Please enter the name of the file to upload&12&: &14&(&F&12)&15&*)
  662. back(13)
  663. menuask%NOCR%%CRON%%LEN12%(*)
  664.   if (%RESP%)=(<CR>) then say()
  665.   if (%RESP%)=(<CR>) then Return
  666.   len(%Resp%)
  667.   back(%Aresp%)
  668. adddef(.%DEFEXT%)  
  669.   say(%Resp%&11&&CR&)
  670.   setequal(d=%RESP%)
  671.   iseek(%var%d)
  672.   if (%aresp%)=(Yes) then goto (ishere)
  673.   if (%Aresp%)=(INVALID) then goto (invfn)
  674.   say(&14&Please enter a description for your file.  &10&The description can take up 3 lines.&15&)
  675.   resetwrap
  676.   say(   (----2----3----4----5----6----7---8----))
  677.   setequal(r=1)
  678.   wrapask %MIN1%%LEN40%(&3&1&12&: &15&*)
  679.   setequal(^1=%RESP%)
  680.   setequal(r=2)
  681.   wrapask %LEN40%%CRON%(&3&2&12&: &15&*)
  682.   if (%RESP%)=(<CR>) then goto (askup)
  683.   setequal(^2=%RESP%)
  684.   setequal(r=3)
  685.   ask %LEN39% %CRON%(&3&3&12&: &15&*)
  686.   if (%RESP%)=(<CR>) then goto (askup)
  687.   setequal(^3=%RESP%)
  688. *askup
  689.   say(&CR&&3&         Would you like to upload this file? &9&[   ]&14&*)
  690.   back(4)
  691.   yesnoask(*)
  692.   if (%RESP%)=(No) then goto (ex)
  693.   say(&3&Would you like us to log you off afterwards? &9&[   ]&14&*)
  694.   back(4)
  695.   yesnoask(*)
  696.   setequal(m=%RESP%)
  697.   if (%LOCAL%)=(TRUE) then goto (local)
  698.   setactivity(Uploading a File)
  699.   say(&CR&&11&We're ready to receive the file.  Please start sending it now.)
  700.   fixfile(protocol\%var%b-u.bt,protocol\%var%b-u.bat)
  701.   initclock
  702.   exec(protocol\%var%b-u.BAT│)
  703.   kill(protocol\%var%b-u.bat)
  704.  
  705.         *success
  706. eline(20)
  707. notif (%ARESP%)=(0) then goto (aborted)
  708. setequal(k=0)
  709. *lsuccess
  710. xfertime
  711. setequal(e=%ARESP%)
  712. loadsub(zc\zc.ctl)
  713. if (&a)=(2) then goto (aborted)
  714.  
  715. notif (%BAUD%)=(LOCAL) then toglocal
  716. setequal(b=%XMIN%)
  717. if (&b)=(0) then setequal(b=1)
  718. multvar(%var%b*60=o)
  719. size(files\uploads\%var%d)
  720. divvar(%ARESP%/%var%o=g)
  721.   log(--,%var%d Uploaded. Took %XMIN% minutes.)
  722.   log(--,Rate: %var%g CPS)
  723.   cnvtk(%ARESP%)
  724.   addvar(%ARESP%+/:KUP/=o)
  725.   setequal(/KUP=%var%o)
  726.   say(%BEEP%*)
  727.   refund        ;refund some of the users time...
  728.   upped         ;set last upload time...
  729.   appendto(logs\UPLOAD.%NODE%,%var%d uploaded at %TIME% on %DATE% by %NAME%.)
  730.   setequal(a=/:UPLOADS/)
  731.   inc(a)
  732.   setequal(/UPLOADS=%var%a)
  733.   file(files\uploads\,%var%d,10)
  734.   notif (%BAUD%)=(LOCAL) then toglocal
  735.   seek(xcheck.bt)
  736.   if (%ARESP%)=(Yes) then goto (testup)
  737.   display (display\USUCCESS)
  738.   if (&m)=(Yes) then goto (autooff)
  739. *ex
  740.   resetlist
  741.   listfile(%FAREA%)
  742.   Return
  743. *aborted
  744.   log(--,Upload of %var%d aborted.)
  745.   display (display\ABORTED)
  746.   goto (ex)
  747. *ishere
  748.   display(display\ISHERE)
  749.   enter
  750.   goto (gtname)
  751.  
  752. *testup
  753.   fixfile(xcheck.bt,xcheck.bat)
  754.   exec(xcheck.bat)
  755.   display (display\USUCCESS)
  756.   goto (ex)
  757.  
  758. *autooff
  759. loadmem(control\autooff.ctl)
  760.  
  761. *local
  762. say(&CR&&10&You will now specify the path where the file resides.  Ex: C:\DOWNLOADS\)
  763. menuask(&3&Please enter the path&12&: &15&*)
  764. setequal(k=10)
  765. initclock
  766. fcopy (%RESP%\%var%d,files\uploads\%var%d)
  767. notif (%ARESP%)=(0) then goto (err)
  768. goto (lsuccess)
  769. *err
  770. say(&11&&CR&File not found!&CR&)
  771. enter
  772. Return
  773.  
  774. *invfn
  775. display(display\INVALID)
  776. flushout
  777. selfarea(/:LASTDOWN/)
  778. enter
  779. Return
  780.  
  781. *notenufs
  782. display (display\NOSPACE)
  783. selfarea(/:LASTDOWN/)
  784. enter
  785. Return
  786.  
  787. *phelp
  788. display(display\help\prot,/:SEC/)
  789. goto (pickprot)
  790.  
  791. *filesback
  792. Return
  793. WORKCTLÿSay(What is your new &11&work &3&phone number?&12&: &15&)
  794. Picture(###-###-####)
  795. SetEqual(/WORK=%RESP%)
  796. Log(--,Changed Work Phone to %RESP%)
  797. return
  798. SELECTCTL0*TheTop
  799.  
  800. clearscr
  801. say(&CR&&14&Accessable Message Areas As Of %DATE% On %BBS%&CR&)
  802. say(&11&###:Message Area Name                                           :Area Flags)
  803. say(---:------------------------------------------------------------:----------&15&)
  804. mList  ;list message areas
  805. say(&11&---:------------------------------------------------------------:----------&15&)
  806. say(        Total                                                    %MAXAREA%&CR&)
  807. say(&12&Flags: *=Selected, P=Pvt Ok, F=Force Pvt, N=Force Pub, B=Netmail, I=Ignored&CR&)
  808. *bk
  809. menuask%CRON%(&3&Please enter area number to change or &11&(Q)uit&12&: &15&*)
  810. bigif(<CR>:quit,q:quit)
  811. number(%RESP%)
  812. iftrue(goto (DoArea))
  813. loadsub(control\macros\badsel.ctl)
  814. goto (bk)
  815.  
  816. *DoArea
  817. linefeed(1)
  818. msel(%RESP%)
  819. goto (TheTop)
  820.  
  821. *quit
  822. return
  823. BADSELCTLZSay(&12&&CR&Invalid selection!  Please try again...&CR&)
  824. SecPause (1)
  825. FlushOut
  826. Return
  827. UBATCHCTL┤
  828.  setequal(w=1)
  829.  kill(udescs.%NODE%,ubatch.%NODE%,ubatch1.%NODE%)
  830.  
  831. *fname
  832.   if (&w)=(10) then goto (askup)
  833.   say(&CR&&10&Pressing (ENTER) will let you start uploading your files.)
  834.   say(&3&Please enter name of the file to upload&12&: &14&(            )&15&*)
  835.   back(13)
  836.   menuask%NOCR%%CRON%%LEN12%(*)
  837.   if (%RESP%)=(<CR>) then Say ()
  838.   if (%RESP%)=(<CR>) then goto (askup)
  839.   len(%Resp%)
  840.   back(%Aresp%)
  841.   adddef(.%DEFEXT%)
  842.   say(%Resp%)
  843.   setequal(d=%RESP%)
  844.   iseek(%var%d)
  845.   if (%aresp%)=(Yes) then goto (ishere)
  846.   if (%Aresp%)=(INVALID) then goto (invfn)
  847.   appendto(ubatch.%NODE%,files\uploads\%var%d)
  848.   setequal(^%var%w=files\uploads\%var%d)
  849.   inc(w)
  850.   appendto(ubatch1.%NODE%,%var%d)
  851.   say(&CR&&14&Please enter a description for your file.  &10&The description can take up 3 lines.*)
  852.   resetwrap   ;the resetwrap command resets the wordwrap.
  853.   say(&CR&&15&   (----2----3----4----5----6----7---8----))
  854.   wrapask %MIN1%%LEN40%(&3&1&12&: &15&*)
  855.   setequal(r=1)
  856.   appendto(udescs.%NODE%,%RESP%)
  857.   wrapask %LEN40%%CRON%(&3&2&12&: &15&*)
  858.   find(%resp%,<CR>)
  859.   notif (%aresp%)=(0) then goto (nomore)
  860.   appendto(udescs.%NODE%,%RESP%)
  861.   setequal(r=2)
  862.   ask %LEN39%(&3&3&12&: &15&*)
  863.   appendto(udescs.%NODE%,%RESP%)
  864.   setequal(r=3)
  865.   goto (fname)
  866.  
  867. *nomore
  868.   appendto(udescs.%NODE%, )
  869.   appendto(udescs.%NODE%, )
  870.   goto (fname)
  871.  
  872. *askup
  873.   if (^1)=() then goto (ex)
  874.   say(&CR&&3&       Would you like to upload these files? &9&[   ]&14&*)
  875.   back(4)
  876.   yesnoask(*)
  877.   if (%Resp%)=(No) then goto (ex)
  878.   say(&3&Would you like us to log you off afterwards? &9&[   ]&14&*)
  879.   back(4)
  880.   yesnoask(*)
  881.   setequal(m=%RESP%)
  882.   if (%LOCAL%)=(TRUE) then goto (local)
  883.   setactivity(Uploading Files)
  884.   say(&CR&&11&We're ready to receive the files.  Please start sending them now.)
  885.   fixfile(protocol\%var%b-u.bt,protocol\%var%b-u.bat)
  886.   initclock ;initalize the timer that keeps track of how long the d/l took...
  887.   exec(protocol\%var%b-u.BAT│)
  888.   kill(protocol\%var%b-u.bat)
  889.  
  890. *success
  891.   notif (%ARESP%)=(0) then goto (aborted)
  892.   xfertime
  893.   setequal(e=%ARESP%)
  894.   if (%ARESP%)=(ERROR) then goto (dsucc)
  895.   upped
  896.   setequal(t=0)
  897.   linefeed(1)
  898.   setequal(a=/:UPLOADS/)
  899.   clearmem
  900.   setequal(c=0)
  901.   setequal(i=1)
  902.  
  903. *stcalc
  904.   inpline(ubatch1.%NODE%,%var%i)
  905.   if (%ARESP%)=() then goto (donecalc)
  906.   setequal(d=%ARESP%)
  907.   setequal(b=0)
  908.   loadsub(zc\zc.ctl)
  909.   if (&a)=(2) then goto (nextfile)
  910.   size(files\uploads\%var%d)
  911.   addvar(%var%t+%ARESP%=t)
  912.   cnvtk(%ARESP%)
  913.   addvar(%ARESP%+/:KUP/=o)
  914.   setequal(/KUP=%var%o)
  915.   multvar(%var%c*3=y)
  916.   if (&b)=(0) then arrayread(udescs.%NODE%,%var%y,3)
  917.   file(files\uploads\,%var%d,10)
  918.   log(--,%var%d Uploaded (batch).)
  919.   appendto(logs\UPLOAD.%NODE%,%var%d uploaded at %TIME% on %DATE% by %NAME%.)
  920. *nextfile
  921.   inc(i)
  922.   inc(c)
  923.   goto (stcalc)
  924.  
  925. *donecalc
  926.   inc(c)
  927.   say(%BEEP%)
  928.   multvar(%XMIN%*60=o)
  929.   divvar(%var%t/%var%o=g)
  930.   setequal(/UPLOADS=%var%a)
  931.   log(--,Rate: %var%g CPS)
  932.  
  933. *dsucc
  934.   display (display\SUCCUB)
  935.   if (%var%m)=(Yes) then goto (autooff)
  936.  
  937. *ex
  938.   selfarea(/:LASTDOWN/)
  939.   linefeed(1)
  940.   seek(bxtest.bt)
  941.   if (%ARESP%)=(Yes) then goto (testup)
  942.   resetlist
  943.   listfile(%FAREA%)
  944.   Return
  945.  
  946. *aborted
  947.   log(--,Batch Download aborted.)
  948.   display (display\ABORTED)
  949.   goto (ex)
  950.  
  951. *ishere
  952.   display(display\ISHERE)
  953.   enter
  954.   linefeed(1)
  955.   goto (fname)
  956.  
  957. *testup
  958.   fixfile(bxcheck.bt,bxcheck.bat)
  959.   exec(bxcheck.bat)
  960.   display (display\USUCCESS)
  961.   goto (ex)
  962.  
  963. *autooff
  964.   loadmem(control\autoOff.ctl)
  965.  
  966. *local
  967.   initclock
  968.   say(&CR&&10&You will now specify the path where the file resides.  Ex: C:\DOWNLOADS\)
  969.   menuask(&3&Please enter the path&12&: &15&*)
  970.   fcopy (%RESP%\%var%d,files\uploads\%var%d)
  971.   goto (success)
  972.  
  973. *invfn
  974.   display(display\INVALID)
  975.   flushout
  976.   selfarea(/:LASTDOWN/)
  977.   enter
  978.   goto (fname)
  979.  
  980. *notenufs
  981.   display (display\NOSPACE)
  982.   selfarea(/:LASTDOWN/)
  983.   enter
  984.   goto (fname)
  985.  
  986. *phelp
  987.   display(display\help\prot,/:SEC/)
  988.   goto (pickprot)
  989. MOVECTLæ*fname
  990. say(&CR&&3&Please enter the name of the file to move&12&: &14&(            )&15&*)
  991. back(13)
  992. menuask%CRON%%LEN12%(*)
  993. If (%RESP%)=(<CR>) Then return
  994. adddef(.%DEFEXT%)
  995. say(&CR&&11&Please wait!... We're searching for the file...*)
  996. seekfall(%RESP%)
  997. if (%ARESP%)=(INVALID) then goto (invfn)
  998. if (%ARESP%)=(No) then goto (nothere)
  999. if (%ARESP%)=(NOT ENOUGH) then goto (notenuf)
  1000. if (%RESP%)=(%ARESP%) then goto (moveerr)
  1001. selFarea(%ARESP%)
  1002. setequal(l=%RESP%)
  1003. inpopen(%FAREA%.bbs)
  1004. if (%ARESP%)=(ERROR) then goto (moveerr)
  1005. setequal(u=1)
  1006. say(Found!&7&)
  1007. inpread
  1008. do
  1009. say(%var%u - %ARESP%)
  1010. inpread(2)
  1011. inc(u)
  1012. eofloop
  1013.  
  1014.         *stopinp
  1015. inpclose
  1016. menuask%cron%(&CR&&3&Enter the number of the directory you want to move this to&12&: &15&*)
  1017. if (%resp%)=(<CR>) then goto (moveerr)
  1018. say(&CR&&14&Please wait, moving file...*)
  1019. setequal(j=%FILPATH%)
  1020. selfarea(%RESP%)
  1021. if (%FILPATH%)=(&j) then goto (moveerr)
  1022. move2(%var%l,%var%j,%FILPATH%,%FILAREA%,%FAREA%)
  1023. resetlist
  1024. listfile(%FAREA%)
  1025.  
  1026.         *endmove
  1027. selfarea(/:LASTDOWN/)
  1028. say(Done!)
  1029. Return
  1030.         *invfn
  1031. Display(Display\INVALID)
  1032. flushout
  1033. selfarea(/:LASTDOWN/)
  1034. Enter
  1035. goto (fname)
  1036.         *notenuf
  1037. Display (Display\fbadsec)
  1038. selfarea(/:LASTDOWN/)
  1039. return        
  1040.         *NotHere
  1041. Display(Display\notfnd)
  1042. goto (fname)
  1043.         *moveerr
  1044. say(&CR&&14&The directory you specify is where the file already resides!&CR&)
  1045. selfarea(/:lastdown/)
  1046. return
  1047. PAGECTLssetequal(a=/:CHATREQ/)
  1048. inc(a)
  1049. setequal(/chatreq=%var%a)
  1050. say(&14&&CR&Paging %SYSOP% for a chat, one moment please...*)
  1051. checkhours
  1052. if (%ARESP%)=(No) then goto (badhours)
  1053. if (%CHAT%)=(No) then goto (notHere)
  1054. seek(psys.%node%)
  1055. iftrue(goto (psys))
  1056. *beginPage
  1057. appendto(psys.%node%,)
  1058. setequal(n=OK)
  1059. savescreen(scr1.%NODE%)
  1060. inpopen (pagebell.dat)
  1061. localwrite(1,1,7,0,┌──────────────────────────────────────────────────────────────────────────────┐)
  1062. localwrite(1,2,7,0,│                                                                              │)
  1063. localwrite(1,3,7,0,└──────────────────────────────────────────────────────────────────────────────┘)
  1064. localwrite(2,2,14,1,        Paging SysOp ... Press (SPACE) to accept; (ESC) to toggle page        )
  1065. if (%ARESP%)=(ERROR) then goto (nothere)
  1066. setequal(h=0)
  1067.  
  1068. do
  1069. if (&n)=(PROB) then goto (absound)
  1070. inpread
  1071. sound (%ARESP%)
  1072.  
  1073.         *absound
  1074. localkey(1)
  1075. if (%ARESP%)=( ) then goto (spacehit)
  1076. if (%aresp%)=() then goto (tpg)
  1077. eofloop
  1078.  
  1079.         *nothere
  1080. restscreen(scr1.%NODE%)
  1081. inpclose
  1082. requested (Chat Requested)
  1083. display (display\page)
  1084. log(--,Chat with Sysop Requested)
  1085. loadsub(control\macros\comment.ctl,goto (stc))
  1086. return
  1087.  
  1088.         *spacehit
  1089. restscreen(scr1.%NODE%)
  1090. linefeed(1)
  1091. kill(psys.%node%)
  1092. inpclose
  1093. norest ;dont restore the screen when chat ends!
  1094. sysopchat
  1095. return
  1096.  
  1097.         *badhours
  1098. requested (Chat Requested)
  1099. display (display\hours)
  1100. log(--,Chat with Sysop Requested)
  1101. loadsub(control\macros\comment.ctl,goto (stc))
  1102. return
  1103.  
  1104. *tpg
  1105. tpage ;toggle page
  1106. goto (nothere)
  1107.  
  1108. *psys
  1109. lines(psys.%node%)
  1110. notif (%aresp%)=(3) then goto (beginpage)
  1111. goto (nothere)
  1112. BANKCTL
  1113. ;TIMEBANK by Doug Vermes with modifications by Scott Brown
  1114.  
  1115. *TimeBank
  1116. ClearScr
  1117. If (%GRAPHICS%)=(ASCII) then goto (NoGraphics)
  1118. Say (&4&╔══════════════════════════════════════════════════════════════════════╗)
  1119. Say (║                                                                      ║)
  1120. Say (║                                                                      ║)
  1121. Say (╚══════════════════════════════════════════════════════════════════════╝*)
  1122. AnsiGoto (1,19)
  1123. Say (&7&╔══════════════════════════════════════════════════════════════════════╗)
  1124. Say (║                                                                      ║)
  1125. Say (╚══════════════════════════════════════════════════════════════════════╝*)
  1126. AnsiGoto (24,2)
  1127. Say (&12&%BBS% Time Bank*)
  1128. AnsiGoto (20,20)
  1129. Say (&7&Searching for your account....*)
  1130. SeekUser(/:NAME/)
  1131. SetEqual(n=%NDNUMB%)
  1132. Seek(bank\%var%n.DAT)
  1133. ifnottrue(goto (norecord))
  1134. Say (Found!)
  1135. *MORE
  1136. inpline(bank\%var%n.dat,1)
  1137. SetEqual (t=%ARESP%)
  1138. Seek (bank\maxlimit.dat)
  1139. ifnottrue(goto (NoLim))
  1140. InpLine (bank\maxlimit.dat,1)
  1141. SetEqual (m=%ARESP%)
  1142. *bak
  1143. cmpval (%var%t,%var%m)
  1144. ifnottrue (SetEqual (t=%var%m))
  1145. AnsiGoto (25,6)
  1146. Say (&15&   Account Info*)
  1147. AnsiGoto (25,7)
  1148. Say (&15&   ────────────*)
  1149. AnsiGoto (28,8)
  1150. Say (&7&Account #&12&%var%n*)
  1151. AnsiGoto (25,9)
  1152. Say (&7&Bank Limit: &12&%var%m&7& minutes.*)
  1153. AnsiGoto (20,10)
  1154. Say (&7&Current Balance: &12&%var%t&7& minutes.*)
  1155. AnsiGoto (18,14)
  1156. Say(&15& Time Currently Left: &14&%LEFT% &15&minutes.*)
  1157. *MORE2
  1158. AnsiGoto (10,20)
  1159. Say (&15&(&4&W&15&)ithdraw Time, (&4&D&15&)eposit Time, (&4&Q&15&)uit Bank: *)
  1160. MenuKey
  1161. Say (&12&*)
  1162. BigNiceSay (Q:Quit,W:Withdraw,D:Deposit)
  1163. If (%RESP%)=(Q) then goto (quit)
  1164. BigIf (W:Withdraw,D:Deposit);
  1165. goto (more2)
  1166.  
  1167. *NoLimit
  1168.  SetEqual (m=99999)
  1169.  Say (&14&The maximum number of minutes allowed to be stored is %var%m.)
  1170.  Say (&7&Minutes Currently Stored in Bank: &15&%var%t)
  1171.  Say(&14&Time Currently Left: &15&%LEFT%)
  1172.  goto (more2)
  1173.  
  1174. *Deposit
  1175.  AnsiGoto (10,20)
  1176.  Say (                                                             *)
  1177.  AnsiGoto (18,20)
  1178.  menuask (&7&Deposit How Many Minutes? *)
  1179.  Number (%RESP%)
  1180.  If (%RESP%)=(0) then goto (finale)
  1181.  IfNotTrue (goto (Deposit))
  1182.  SetEqual (v=%LEFT%)
  1183.  inc(v)
  1184.  CmpVal (%RESP%,%var%v)
  1185.  IfNotTrue(goto (toolarge1))
  1186.  Addvar (%var%t+%RESP%=e)
  1187.  AddVar (%var%m+1=g)
  1188.  CmpVal (%var%e,%var%g)
  1189.  IfNotTrue(goto (OverMax))
  1190.  AddVar (%var%t+%RESP%=T)
  1191.  Zap (bank\%var%n.dat,%var%t)
  1192.  SetEqual (y=%RESP%)
  1193.  Addvar(%LEFT%+-%VAR%y=x)
  1194.  SetEqual(/LEFT=%var%x)
  1195.  Goto (Finale)
  1196.  
  1197. *Withdraw
  1198.  AnsiGoto (10,20)
  1199.  Say (                                                             *)
  1200.  AnsiGoto (18,20)
  1201.  menuAsk (&7&Withdraw How Many Minutes? *)
  1202.  Number (%RESP%)
  1203.  IfNotTrue(goto (withdraw))
  1204.  inc(t)
  1205.  CmpVal (%RESP%,%var%t)
  1206.  IfNotTrue(goto (toolarge))
  1207.  addvar(&t+-1=t)
  1208.  AddVar (%var%T+-%RESP%=T)
  1209.  Zap (bank\%var%n.dat,%var%t)
  1210.  SetEqual (y=%RESP%)
  1211.  AddVar(%LEFT%+%VAR%y=x)
  1212.  SetEqual(/LEFT=%var%x)
  1213.  Goto (Finale)
  1214.  
  1215. *Finale
  1216.  AnsiGoto (20,10)
  1217.  Say (&7&Current Balance: &12&%var%t&7& minutes.*)
  1218.  AnsiGoto (18,14)
  1219.  Say(&15& Time Currently Left: &14&%LEFT% &15&minutes.)
  1220.  Goto (more2)
  1221.  
  1222. *TooLarge1
  1223.  AnsiGoto (14,20)
  1224.  Say(&4&    Hey! &7&You don't have &15&%RESP% &7&minutes left!)
  1225.  SecPause (2)
  1226.  Goto (Deposit)
  1227.  
  1228. *TooLarge
  1229.  AnsiGoto (11,20)
  1230.  Say(&4&Hey! &7&You don't have &15&%RESP% &7&minutes stored in the bank!)
  1231.  SecPause (2)
  1232.  Goto (Withdraw)
  1233.  
  1234. *OverMax
  1235.  AnsiGoto (14,20)
  1236.  Say (&4&Sorry! &7&You are only allowed to store &15&%var%m &7&minutes.)
  1237.  SecPause (2)
  1238.  Goto (Deposit)
  1239.  
  1240. *NoRecord
  1241.  Zap (bank\%var%n.dat,0)
  1242.  Say (&15&Not Found-- Created!*)
  1243.  AnsiGoto (50,20);
  1244.  Say (                    *)
  1245.  goto (more);
  1246.  
  1247. *Quit
  1248.  AnsiGoto (10,20)
  1249.  Say (&14&    Thank you for using the %BBS% time bank!)
  1250.  return
  1251.  
  1252. *NoGraphics
  1253. ClearScr
  1254. Say (                            %BBS% Time Bank)
  1255. Say (                              (NON-GRAPHICS MODE))
  1256. Say (&CR&Searching for your account....*)
  1257. SeekUser(/:NAME/)
  1258. ifnottrue(goto (nonuser))
  1259. SetEqual(n=%NDNUMB%)
  1260. Seek(bank\%var%n.DAT)
  1261. ifnottrue(goto (NoRecord2))
  1262. *MORE222
  1263. Say (Found!)
  1264. InpLine (bank\%var%n.DAT,1)
  1265. SetEqual (t=%ARESP%)
  1266. Seek (bank\maxlimit.dat)
  1267. ifnottrue(goto (NoLimit2))
  1268. InpLine (bank\maxlimit.dat,1)
  1269. SetEqual (m=%ARESP%)
  1270. cmpval (%var%t,%var%m)
  1271. ifnottrue(SetEqual (t=%var%m))
  1272. Say (&CR&The maximum number of minutes allowed to be stored is %var%m.)
  1273. Say (Minutes Currently Stored in Bank: %var%t)
  1274. Say(Time Currently Left: %LEFT%)
  1275. *MORE22
  1276. Say (&CR&(W)ithdraw Time, (D)eposit Time, (Q)uit Bank: *)
  1277. MenuKey
  1278. BigNiceSay (Q:Quit,W:Withdraw,D:Deposit)
  1279. BigIf (W:Withdraw2,D:Deposit2,q:quit2)
  1280. goto (more22)
  1281.  
  1282. *NoLimit2
  1283.  SetEqual (m=99999)
  1284.  Say (The maximum number of minutes allowed to be stored is %var%m.)
  1285.  Say (Minutes Currently Stored in Bank: %var%t)
  1286.  Say(Time Currently Left: %LEFT%)
  1287.  goto (more22)
  1288.  
  1289. *Deposit2
  1290.  menuAsk (Deposit How Many Minutes? *)
  1291.  Number (%RESP%)
  1292.  If (%RESP%)=(0) then goto (finale2)
  1293.  If (%ARESP%)=(No) then goto (Deposit2)
  1294.  SetEqual (v=%LEFT%)
  1295.  inc(v)
  1296.  CmpVal (%RESP%,%var%v)
  1297.  ifnottrue(goto (toolarge12))
  1298.  Addvar (%var%t+%RESP%=e)
  1299.  AddVar (%var%m+1=g)
  1300.  CmpVal (%var%e,%var%g)
  1301.  ifnottrue(goto (OverMax2))
  1302.  AddVar (%var%t+%RESP%=T)
  1303.  Zap (bank\%var%n.dat,%var%T)
  1304.  SetEqual (y=%RESP%)
  1305.  Addvar(%LEFT%+-%var%y=x)
  1306.  SetEqual(/LEFT=%var%x)
  1307.  Goto (Finale2)
  1308.  
  1309. *Withdraw2
  1310.  menuAsk (Withdraw How Many Minutes? *)
  1311.  Number (%RESP%)
  1312.  IfNotTrue(goto (withdraw2))
  1313.  inc(t)
  1314.  CmpVal (%RESP%,%var%t)
  1315.  IfNotTrue(goto (toolarge2))
  1316.  addvar(&t+-1=t)
  1317.  AddVar (%var%T+-%RESP%=T)
  1318.  Zap (bank\%var%n.dat,%var%t)
  1319.  SetEqual (y=%RESP%)
  1320.  AddVar(%LEFT%+%var%y=x)
  1321.  SetEqual(/LEFT=%var%x)
  1322.  Goto (Finale2)
  1323.  
  1324. *Finale2
  1325.  Say(&CR&Minutes Currently Stored in Bank: %var%t)
  1326.  Say(Time Currently Left: %LEFT%)
  1327.  Goto (more22)
  1328.  
  1329. *TooLarge12
  1330.  Say(Hey! You don't have %RESP% minutes left!)
  1331.  Goto (Deposit2)
  1332.  
  1333. *TooLarge2
  1334.  Say(Hey! You don't have %RESP% minutes stored in the bank!)
  1335.  Goto (Withdraw2)
  1336.  
  1337. *OverMax2
  1338.  Say (Sorry! You are only allowed to store %var%m minutes.)
  1339.  Goto (Deposit2)
  1340.  
  1341. *NoRecord2
  1342.  Zap (bank\%var%n.dat,0)
  1343.  goto (more222)
  1344.  
  1345. *Quit2
  1346.  Say (Thank you for using the %BBS% Time Bank!)
  1347.  return
  1348.  
  1349. *nonuser
  1350. say(You are not a registered user on this BBS and therefore you cannot hold)
  1351. say(an account here.  If you would like an account, please notify the Sysop)
  1352. return
  1353.  
  1354. *nolim
  1355. setequal(m=32767)
  1356. goto (bak)
  1357. STATSCTLI    *stats
  1358. Clearscr
  1359. If (/graphics)=(ANSI) Then Goto (ansist)
  1360. Say(   Statistics Here at %BBS%)
  1361. Goto (ContStats)
  1362. *ansist
  1363. Say($7$                                                                               $0$*)
  1364. AnsiGoto(3,1)
  1365. Say($7$&0&   Statistics Here at %BBS%$0$&7&)
  1366. *ContStats
  1367. Say(&CR&&7&Date of Last Call: &14&/:LAST/            &11&│&7& Your Security Level Is: *)
  1368. Say(&14&%SEC%&CR&&7&First call to BBS: &14&/:FIRST/            &11&│&7& Times on this *)
  1369. Say(BBS: &14&/:TIMESON/&CR&&7&Last New Files Check: &14&/:LASTCHK/         &11&│&7& *)
  1370. Say(Carrier Drops: &14&/:DROPPED/&CR&&7&Current BBS Time: &14&%DATE% %TIME%       &11&│*)
  1371. Say(&7& Time Allotted Per Day: &14&%LIMIT%&CR&&CR&)
  1372.  
  1373. If (/graphics)=(ANSI) Then Goto (ansist2)
  1374. Say(   Information you can change yourself:)
  1375. Goto (ContStats2)
  1376. *ansist2
  1377. Say($7$                                                                               $0$*)
  1378. AnsiGoto(1,9)
  1379. Say($7$&0&   Information you can change yourself:$0$&10&)
  1380. *ContStats2
  1381. Say(&CR&1. &11&Street Address: &7&*)
  1382. SetEqual(a=/:STREET/)
  1383. SetLen(a=19)
  1384. Say(%var%a  &10&2. &11&City and State: &7&*)
  1385. Say(/:FROM/)
  1386. Say(&10&3. &11&Password: &7&*)
  1387. SetEqual(a=/:PASS/)
  1388. SetLen(a=25)
  1389. Say(%var%a  &10&4.   &11&Phone number: &7&*)
  1390. Say(/:PHONE/)
  1391. Say(&10&5. &11&Graphics Mode: &7&*)
  1392. SetEqual(a=%GRAPHICS%)
  1393. SetLen(a=20)
  1394. Say(%var%a  &10&6.     &11&Work Phone: &7&/:WORK/)
  1395. Say(&10&7. &11&Default Protocol: &7&*)
  1396. SetEqual(a=/:PROTOCOL/)
  1397. SetLen(a=17)
  1398. Say(%var%a  &10&8.  &11&Screen Length: &7&/:SCREENLEN/)
  1399. Say(&CR&&CR&&3&Would you like to change anything? &9&[   ]&14&*)
  1400. Back(4)
  1401. YesNoAsk(*)
  1402. If (%RESP%)=(No) Then return
  1403. Say(&10&&CR&Selections are listed above (1-8).)
  1404. MenuAsk (&3&Which selection would you like to change?&12&: &15&*)
  1405. Say(&3&)
  1406. BigIf (1:street,2:city,3:pass,4:phone,5:graph,6:work,7:prot,8:scrlen)
  1407. Return
  1408.  
  1409.  *prot
  1410. loadsub(control\macros\defprot.ctl)
  1411. Goto (stats)
  1412.  
  1413.         *scrlen
  1414. loadsub(control\macros\scrlen.ctl)
  1415. Goto (stats)
  1416.  
  1417.         *street
  1418. loadsub(control\macros\street.ctl)
  1419. Goto (stats)
  1420.  
  1421.         *city
  1422. loadsub(control\macros\city.ctl)
  1423. Goto (stats)
  1424.  
  1425.         *pass
  1426. loadsub(control\macros\pass.ctl)
  1427. Goto (stats)
  1428.  
  1429.         *phone
  1430. loadsub(control\macros\hphone.ctl)
  1431. Goto (stats)
  1432.  
  1433.         *graph
  1434. loadsub(control\macros\graph.ctl)
  1435. Goto (stats)
  1436.  
  1437.         *work
  1438. loadsub(control\macros\work.ctl)
  1439. Goto (stats)
  1440. FULLEDITCTL          *fullmode
  1441. seek(extedit.bat)
  1442. iftrue(goto (extern))
  1443. CmpVal(19,%MAXLINE%)
  1444. IfTrue (goto (page2))
  1445. *bpage1
  1446. ClearScr
  1447. say(&7&Entering mail in the %AREANAME% area.  Press (&11&CTRL-Z&7&) to exit.)
  1448. say($7$                                                                               |)
  1449. Say(&0&To: &2&%var%a        &0&From: &2&%NAME%    &0&Regarding: &2&%var%b$0$)
  1450. say($0$    &3&(--------/---------/---------/---------/---------/---------/---------/----)&15&)
  1451. NumbLines(1,19)
  1452. AnsiGoto(1,4)
  1453. ShowTxtL(15,7,1,20)
  1454. setequal(p=%MAXLINE%)
  1455. cmpval(19,%var%p)
  1456. iftrue (setequal(p=19))
  1457. setline(%var%p)
  1458. addvar(%var%p+3=p)
  1459. ansigoto(1,%var%p)
  1460. GetText(15,7,1,19)
  1461. if (%ARESP%)=(DOWNEXIT) then goto (bpage2)
  1462. If (%ARESP%)=(FULLEXIT) Then goto (quit)
  1463.         
  1464.         *page2
  1465. CmpVal(33,%MAXLINE%)
  1466. IfTrue (goto (page3))
  1467. *bpage2
  1468. ClearScr
  1469. say(&7&Entering mail in the %AREANAME% area.  Press (&11&CTRL-Z&7&) to exit.)
  1470. say($7$                                                                               |)
  1471. Say(&0&To: &2&%var%a        &0&From: &2&%NAME%    &0&Regarding: &2&%var%b$0$)
  1472. say(    &3&(--------/---------/---------/---------/---------/---------/---------/----)&15&)
  1473. NumbLines(15,33)
  1474. AnsiGoto(1,4)
  1475. ShowTxtL(15,7,15,34)
  1476. setequal(p=%MAXLINE%)
  1477. cmpval(34,%var%p)
  1478. iftrue (setequal(p=34))
  1479. setline(%var%p)
  1480. addvar(%var%p+-11=p)
  1481. ansigoto(1,%var%p)
  1482. GetText(15,7,15,33)
  1483. if (%ARESP%)=(UPEXIT) then goto (bpage1)
  1484. if (%ARESP%)=(DOWNEXIT) then goto (bpage3)
  1485. If (%ARESP%)=(FULLEXIT) Then goto (quit)
  1486.  
  1487.         *page3
  1488. cmpval(47,%Maxline%)
  1489. iftrue (goto (page4))
  1490. *bpage3
  1491. ClearScr
  1492. say(&7&Entering mail in the %AREANAME% area.  Press (&11&CTRL-Z&7&) to exit.)
  1493. say($7$                                                                               |)
  1494. Say(&0&To: &2&%var%a        &0&From: &2&%NAME%    &0&Regarding: &2&%var%b$0$)
  1495. say(    &3&(--------/---------/---------/---------/---------/---------/---------/----)&15&)
  1496. NumbLines(30,48)
  1497. AnsiGoto(1,4)
  1498. ShowTxtL(15,7,30,49)
  1499. setequal(p=%MAXLINE%)
  1500. cmpval(48,%var%p)
  1501. iftrue (setequal(p=48))
  1502. setline(%var%p)
  1503. addvar(%var%p+-26=p)
  1504. ansigoto(1,%var%p)
  1505. GetText(15,7,30,48)
  1506. if (%ARESP%)=(UPEXIT) then goto (bpage2)
  1507. if (%ARESP%)=(DOWNEXIT) then goto (page4)
  1508. if (%ARESP%)=(FULLEXIT) then goto (quit)
  1509.  
  1510.   *page4
  1511. clearscr
  1512. say(&7&Entering mail in the %AREANAME% area.  Press (&11&CTRL-Z&7&) to exit.)
  1513. say($7$                                                                               |)
  1514. Say(&0&To: &2&%var%a        &0&From: &2&%NAME%    &0&Regarding: &2&%var%b$0$)
  1515. say(    &3&(--------/---------/---------/---------/---------/---------/---------/----)&15&)
  1516. NumbLines(48,59)
  1517. AnsiGoto(1,4)
  1518. ShowTxtL(15,7,48,60)
  1519. setequal(p=%MAXLINE%)
  1520. cmpval(59,%var%p)
  1521. iftrue (setequal(p=59))
  1522. setline(%var%p)
  1523. addvar(%var%p+-44=p)
  1524. ansigoto(1,%var%p)
  1525. GetText(15,7,48,59)
  1526. if (%ARESP%)=(UPEXIT) then goto (bpage3)
  1527.  
  1528.         *quit
  1529. AnsiGoto(1,22)
  1530. linefeed(1)
  1531. Return
  1532.  
  1533. *extern
  1534. inittxt
  1535. exec(extedit.bat %node%)
  1536. seek(msgtmp)
  1537. ifnottrue(return)
  1538. lines(msgtmp)
  1539. import (msgtmp,,1,%aresp%)
  1540. ;setequal(a=%aresp%)
  1541. ;inc(a)
  1542. ;setmax(%var%a)
  1543. return
  1544. SCANMCTLïclearscr
  1545. say(&14&Scanning Message Headers in area %AREANAME%:&7&&CR&)
  1546.  
  1547. himsg(/:LASTMSG/)
  1548. setequal(f=%ARESP%)
  1549. lowmsg(/:LASTMSG/)
  1550. setequal(y=%ARESP%)
  1551. setequal(a=2)
  1552. resetpause
  1553.  
  1554. *BEGIN
  1555. DO
  1556. GETMAIL(%VAR%Y,/:LASTMSG/,1,T)
  1557. IF (%MSGNUMBER%)=(0) THEN GOTO(LP)
  1558. NOTIF(%ARESP%)=(Yes) THEN GOTO(LP)
  1559. SETEQUAL(C=%MSGDESC%)
  1560. FCOMMA(C)
  1561. GET(&C,1,23)
  1562. SAY(%MSGNUMBER%; %MSGSNTD%;&11& %MSGFROM% &7&to &15&%MSGTO%;&7& Re: %ARESP%)
  1563. INC(A)
  1564. *LP
  1565. IF (&Y)=(&F) THEN GOTO(BACK)
  1566. INC(Y)
  1567. IF (&A)=(/SCREENLEN) THEN GOTO(PAUSE)
  1568. LOOP
  1569.  
  1570. *pause
  1571. setequal(a=1)
  1572. pauseprompt
  1573. if (%ARESP%)=(STOP) then goto (back)
  1574. goto (begin)
  1575.  
  1576.  
  1577. *back
  1578. linefeed(1)
  1579. enter
  1580. Return
  1581. FORWCTLmenuask%nocr%(&CR&&3&Forward message to which user?&12&: &15&*)
  1582. seekuser(%RESP%)
  1583. say()
  1584. IfNotTrue (setequal(a=0))
  1585. ifnottrue (return)
  1586. say(&CR&&11&Forwarding Message...*)
  1587. iftrue (setequal(a=%NDNUMB%))
  1588. if (%MSGPVT%)=(PRIVATE) then setequal(k=Yes)
  1589. notif (%MSGPVT%)=(PRIVATE) then setequal(k=No)
  1590. nicequal(b=%MSGTO%)
  1591. zap(forw.%NODE%, ■ Message Originally Addressed to %var%b)
  1592. appendto(forw.%NODE%, ■ Message Originally Sent By %MSGFROM%)
  1593. appendto(forw.%NODE%, ■ Message Forwarded By %NAME%)
  1594. appendto(forw.%NODE%, )
  1595. capture(forw1.%NODE%)
  1596. exec(copy forw.%NODE%+forw1.%NODE% forwrd.%NODE% ,)
  1597. inittxt
  1598. import(forwrd.%NODE%,,1,100)
  1599. writemsg(/:LASTMSG/,%RESP%,%NAME%,%MSGDESC%,%var%a,%var%k,0,%MSGNET%,%MSGATTNAME%)
  1600. say(Done!)
  1601. himsg(/:LASTMSG/)
  1602. setequal(f=%ARESP%)
  1603. return
  1604. FINDCTLM
  1605. ;USERFIND by Doug Vermes with modifications by Scott Brown
  1606.  
  1607. *UserFind
  1608.  
  1609. *Main
  1610.  Say (&CR&&15&Enter Name of User: &12&*)
  1611.  MenuAsk%MIN1%(*)
  1612. *Searching
  1613.  log (--,UserFind for:%Resp%)
  1614.  SeekUser(%RESP%)
  1615.  ifnottrue(goto (notfound))
  1616.  Loaduser (%NDNUMB%)
  1617.  enufsec (100)
  1618.  iftrue (Say (&7&Street            : &3&\:STREET\))
  1619.  Say (&7&From              : &3&\:FROM\)
  1620.  iftrue(Say (&7&Birthday          : &3&\:BIRTH\))
  1621.  iftrue(Say (&7&Phone Number      : &3&\:PHONE\))
  1622.  Say (&7&Last Date On      : &3&\:LAST\)
  1623.  Say (&7&Last Time On      : &3&\:LASTT\&CR&)
  1624.  yesnoask (&12&Search For Another User (Y/N)? &15&*)
  1625.  If (%RESP%)=(Yes) then goto (main)
  1626. return
  1627.  
  1628. *NotFound
  1629.  Say (&4&User Not Found in User File!)
  1630.  Enter
  1631.  return
  1632.  
  1633. *NotEnufSec
  1634.  Say (&12&Sorry, but your security is not high enough to access this command.&CR&)
  1635.  Enter
  1636.  return
  1637. BYECTL(Seek(Tagged.%NODE%)
  1638. IfTrue (Say(&CR&&10&You have files tagged for download!%BEEP%%BEEP%))
  1639. flushout
  1640. Say(&CR&&3&Are you sure you want to &11&disconnect&3&? &9&[   ]&14&*)
  1641. Back(4)
  1642. YesNoAsk(*)
  1643. If (%RESP%)=(No) Then Return
  1644. Display (display\goodbye)
  1645. Log(<<,User logged off normally.)
  1646. QuitBBS
  1647. PASSCTLäSay(What would you like your new password to be?&12&: &15&*)
  1648. getpass(.)
  1649. SetEqual(/PASS=%RESP%)
  1650. Log(--,Changed Password)
  1651. return
  1652. ENTERCTLw;modified for The Swing
  1653.  
  1654.   *enter
  1655. setequal(k=0)
  1656. setequal(y=0)
  1657. setequal(d=1)
  1658. say(&15&)
  1659. setactivity(Message Entry)
  1660. inittxt
  1661. if (%AREAFPVT%)=(N) then say(Enter '&11&ALL&15&' to send to everyone; *)
  1662. say(Enter '&11&?&15&' to list all users on the BBS.)
  1663. cMenuAsk %NOCR%%CRON% (&CR&    &3&Who do you want us to send the message to?&12&: &15&*)
  1664. if (%RESP%)=(SYSOP) then goto (sysn)
  1665. *bk1
  1666. if (%resp%)=(<CR>) then linefeed(1)
  1667. if (%RESP%)=(<CR>) then Return
  1668. setequal(a=%RESP%)
  1669. setequal(c=0)
  1670. if (%RESP%)=(ALL) then if (%AREAFPVT%)=(N) then goto (back)
  1671. if (%RESP%)=(ALL) then goto (nall)
  1672. if (%RESP%)=(?) then goto (lusers)
  1673. setequal(g=%NAME%)
  1674. upcase(g)
  1675. seekfile(bad.to,%VAR%G;%RESP%)
  1676. iftrue(return)
  1677. seekuser(%RESP%)
  1678. setequal(c=%NDNUMB%)
  1679. ifnottrue(goto (notfound))
  1680.  
  1681.   *back
  1682. cAsk %CRON% (&CR&&3&                   What is this message about?&12&: &15&*)
  1683. if (%RESP%)=(<CR>) then Return
  1684. setequal(b=%RESP%)
  1685.  
  1686.   *stenter
  1687. if (%AREAPVT%)=(N) then goto (stenter1)
  1688. if (%AREAFPVT%)=(Y) then goto (stenter1)
  1689. say(&3&Would you like to make this a private message? &9&[   ]&14&*)
  1690. back(4)
  1691. yesnoask(*)
  1692. setequal(k=%RESP%)
  1693.         
  1694.   *stenter1
  1695. loadmem(control\macros\menter.ctl)
  1696.  
  1697. *nall
  1698. say(&CR&&CR&&12&Messages cannot be sent to "ALL" in a private mail area.&CR&)
  1699. enter
  1700. return
  1701.  
  1702.   *notfound
  1703. say(&CR&&14&Their name couldn't be found.  )
  1704. setequal(c=0)
  1705. say(    &3&Would you like to send the message anyway? &9&[   ]&14&*)
  1706. back(4)
  1707. yesnoask(*)
  1708. if (%RESP%)=(No) then return
  1709. goto (back)
  1710.  
  1711.   *lusers
  1712. loadsub(control\macros\list.ctl)
  1713. goto (Enter)
  1714.  
  1715.   *sysn
  1716. len(%UARESP%)
  1717. back(%ARESP%)
  1718. setequal(/resp=%SYSOP%)
  1719. say(%SYSOP%*)
  1720. goto (bk1)
  1721. MSEARCHCTLÆ
  1722. *search
  1723. Display(display\SEARCH)
  1724. lowmsg(/:lastmsg/)
  1725. setequal(n=%ARESP%)
  1726. Say(&3&Which &11&search&3& option would you like?&12&: &15&*)
  1727. *askagain
  1728. MenuKey
  1729. BigNiceSay(n:new,f:from,t:to,s:description,m:message text,q:quit,h:help)
  1730. BigIf (n:new,f:from,t:toname,s:desc,m:text,h:help3)
  1731. if (%RESP%)=(Q) then Return
  1732. flushout
  1733. goto (askagain)
  1734. *help3
  1735. display(display\help\sear,/:SEC/)
  1736. goto (search)
  1737.  
  1738. *from
  1739. clearmem
  1740. menuask (&CR&&3&Please enter the name of the person to search for&12&: &15&*)
  1741. setequal(p=%RESP%)
  1742. cmenuask(&CR&&3&Starting at which message number?&11&(%var%n-%var%f)&12&: &15&*)
  1743. say(&11&&CR&Searching...|)
  1744. seekfrom(/:LASTMSG/,%var%p,%RESP%)
  1745. log(--,Msg From Search for %var%p)
  1746. zap(seeking.%NODE%,2)
  1747. appendto(seeking.%NODE%,%var%p)
  1748. eline(20)
  1749. if (%ARESP%)=(ERROR) then Return
  1750. setequal(r=20)
  1751. setequal(u=0)
  1752. Return
  1753.  
  1754. *new
  1755. clearmem
  1756. setequal(u=0)
  1757. lowmsg(/:lastmsg/)
  1758. setequal(n=%ARESP%)
  1759. menuask (&CR&&3&Search for messages older than?&11&(Date)&12&: &15&*)
  1760. if (%RESP%)=() then setequal(/Resp=/:last/)
  1761. dateok(%RESP%)
  1762. ifnottrue(return)
  1763. setequal(p=%RESP%)
  1764. cmenuask(&CR&&3&Starting at which message number?&11&(%var%n-%var%f)&12&: &15&*)
  1765. say(&11&&CR&Searching...|)
  1766. seeknew(/:LASTMSG/,%var%p,%RESP%)
  1767. log(--,Msg New Search for %var%p)
  1768. zap(seeking.%NODE%,2)
  1769. appendto(seeking.%NODE%,%var%p)
  1770. eline(20)
  1771. if (%ARESP%)=(ERROR) then Return
  1772. setequal(r=20)
  1773. Return
  1774.  
  1775. *toname
  1776. clearmem
  1777. menuask (&CR&&3&Please enter the name of the person to search for&12&: &15&*)
  1778. setequal(p=%RESP%)
  1779. cmenuask(&CR&&3&Starting at which message number?&11&(%var%n-%var%f)&12&: &15&*)
  1780. say(&11&&CR&Searching...|)
  1781. seekto(/:LASTMSG/,%var%p,%RESP%)
  1782. log(--,Msg To Search for %var%p)
  1783. zap(seeking.%NODE%,1)
  1784. appendto(seeking.%NODE%,%var%p)
  1785. eline(20)
  1786. if (%ARESP%)=(ERROR) then Return
  1787. setequal(r=20)
  1788. setequal(u=0)
  1789. Return
  1790.  
  1791. *desc
  1792. say(&3&)
  1793. clearmem
  1794. menuask (Please enter the description you want to search for&12&: &15&*)
  1795. setequal(p=%RESP%)
  1796. cmenuask(&CR&&3&Starting at which message number?&11&(%var%n-%var%f)&12&: &15&*)
  1797. say(&CR&&11&Searching...|)
  1798. seekdesc(/:LASTMSG/,%var%p,%RESP%)
  1799. log(--,Msg Desc Search for %var%p)
  1800. zap(seeking.%NODE%,3)
  1801. appendto(seeking.%NODE%,%var%p)
  1802. eline(20)
  1803. if (%ARESP%)=(ERROR) then Return
  1804. setequal(r=20)
  1805. setequal(u=0)
  1806. Return
  1807.  
  1808. *text
  1809. clearmem
  1810. menuask (&CR&&3&Please enter the text you want to search for&12&: &15&*)
  1811. setequal(p=%RESP%)
  1812. cmenuask(&CR&&3&Starting at which message number?&11&(%var%n-%var%f)&12&: &15&*)
  1813. say(&CR&&11&Searching...|)
  1814. seektext(/:LASTMSG/,%var%p,%RESP%)
  1815. log(--,Msg Txt Search for %var%p)
  1816. zap(seeking.%NODE%,4)
  1817. appendto(seeking.%NODE%,%var%p)
  1818. eline(20)
  1819. if (%ARESP%)=(ERROR) then Return
  1820. setequal(r=20)
  1821. setequal(u=0)
  1822. Return
  1823. MREADERCTLDchkmes
  1824. clearscr
  1825. Exec(pwrmail\pwrmail.exe node%node%.inf)
  1826. Return
  1827. CNFNEWSCTL»seek(areas\news/:lastmsg/.asc)
  1828. ifnottrue(return)
  1829.  
  1830.  fDate(areas\news/:lastmsg/.asc)
  1831.  CmpDate(/:LAST/,%ARESP%)
  1832.  IfTrue(return)
  1833.  
  1834.  display(areas\news/:lastmsg/)
  1835.  
  1836. return
  1837. LISTCTLClearscr
  1838. Say(&7&Users currently registered on&15& %BBS%&CR&)
  1839. Say(&14&Name                                    Calling From)
  1840. Say(&10&-----------------------------------------------------------------)
  1841. sPause(5)
  1842. ListUsers(40,15,3)
  1843. linefeed(1)
  1844. Enter
  1845. Return ;go back to menu
  1846. MENTERCTLCIf (%MSGFNET%)=(Y) Then SetEqual(v=Y)
  1847. If (%MSGFNET%)=(Y) Then Goto (nonet)
  1848. If (%MSGNET%)=(N) Then Goto (nonet)
  1849. Say(      &3&Would you like to send this via NetMail? &9&[   ]&14&*)
  1850. Back(4)
  1851. YesNoAsk(*)
  1852. SetEqual(v=%RESP%)
  1853.         
  1854.   *nonet
  1855. NotIf (%GRAPHICS%)=(ANSI) Then Goto (STMESSG)
  1856. SetMode(Line)
  1857. Say(&CR&&3& Would you like to use the &11&full-screen&3& editor? &9&[   ]&14&*)
  1858. Back(4)
  1859. YesNoAsk(*)
  1860. If (%RESP%)=(Yes) Then SetMode(full)
  1861.  
  1862.   *stmessg
  1863. If (%FULL%)=(Yes) Then Goto (fmode)
  1864. Say(&CR&&14&You can start typing in your message now.  When you're finished with)
  1865. Say(the message, press (&11&ENTER&14&) on a blank line.&CR&&CR&&3&    (--------/---------/---------/---------/---------/---------/---------/----))
  1866. NotIf (&k)=(20) Then inittxt
  1867. If (&k)=(20) Then setmax(%var%p) ;If editing existing msg, set maxline to max in that msg
  1868. If (&k)=(20) Then Goto (stedit)
  1869. GetText(15,7,1,99)
  1870.  
  1871.   *ent
  1872. NotIf (&z)=(15) Then display (display\ENTER)
  1873. If (&z)=(15) Then display(display\REPLY)
  1874. Say(&3&What would you like to do with the message?&12&: &15&*)
  1875. MenuKey
  1876. BigNiceSay (t:Throw Away,s:Save,e:Edit,a:Add,L:List,c:Change,m:Modify,d:Delete Line,h:help)
  1877. If (&z)=(15) Then bignicesay(q:Quote)
  1878. If (&k)=(30) Then BigIf (m:modi,c:modi)
  1879. BigIf (t:abort,s:save,e:edit,L:list,a:add,m:mod,d:del,h:help)
  1880. NotIf(&z)=(15) Then BigIf(c:chg)  ;If entering a new msg, let them change user to send to
  1881. If (&z)=(15) Then BigIf(q:quote)  ;If replying let them quote...
  1882. Say(&CR&&12&Invalid selection ... Please try again.&CR&)
  1883. FlushOut
  1884. Goto (ent)
  1885.   *modi
  1886. Say(&CR&%hRed%Option not available in Comment.&CR&)
  1887. Goto (ent)
  1888.  
  1889.   *help
  1890. NotIf (&z)=(15) Then display(display\help\enter,/:SEC/)
  1891. If (&z)=(15) Then display(display\help\reply,/:SEC/)
  1892. Goto (ent)
  1893.  
  1894.   *Quote
  1895. linefeed(1)
  1896. lView(quote.%NODE%,11,3)
  1897. cMenuAsk %CRON% (&CR&&3&Enter the first line of the message you want to quote&12&: &15&*)
  1898. SetEqual(s=%RESP%)
  1899. If (%RESP%)=(<CR>) Then SetEqual(s=1)
  1900. cMenuAsk %CRON% (&3&Enter the last line of the message to quote&12&: &15&*)
  1901. SetEqual(t=%RESP%)
  1902. If (%RESP%)=(<CR>) Then SetEqual(t=%var%s)
  1903. Import (quote.%NODE%,=> ,%var%s,%var%t)  ;import text from quote.%NODE% tmp file
  1904. Goto (add)
  1905. *netImp
  1906.  
  1907.   *del
  1908. showtxtl(11,3)
  1909. cMenuAsk (&CR& &3&Please enter the first line to delete&12&: &15&*)
  1910. Number(%RESP%)
  1911. IfNotTrue (Goto (invn))
  1912. cmpval(%RESP%,%MAXLINE%)
  1913. IfNotTrue (NotIf (%RESP%)=(%MAXLINE%) Then Goto (invn))
  1914. SetEqual(e=%RESP%)
  1915. Say(&CR&&10&If you only want to delete one line, press (&11&ENTER&10&) here.)
  1916. cMenuAsk %CRON% (&3&  Please enter the last line to delete&12&: &15&*)
  1917. SetEqual(g=%RESP%)
  1918. If (&g)=(<CR>) Then SetEqual(g=%var%e)
  1919. DelLines(%var%e,%var%g)
  1920. If (%ARESP%)=(ERROR) Then Goto (invn)
  1921. Say(&CR&&11&Lines %var%e to %var%G have been deleted.)
  1922. Goto (ent)
  1923.  
  1924.   *chg
  1925. Say(&CR&  &3&Who do you want us to send the message to?&12&:&11&(                    )&15&*)
  1926. Back(21)
  1927. SetFill(%var%a)
  1928. cMenuAsk(*)
  1929. SetEqual(a=%RESP%)
  1930. SeekUser(%RESP%)
  1931. SetEqual(c=%NDNUMB%)
  1932. SetEqual(d=2)
  1933. If (%ARESP%)=(No) Then Goto (notfound)
  1934. Goto (ent)
  1935.  
  1936.   *mod
  1937. Say(&CR&&3&                 What is this message about?&12&:&11&(                    )&15&*)
  1938. Back(21)
  1939. SetFill(%var%b)
  1940. cAsk%LEN20%(*)
  1941. SetEqual(b=%RESP%)
  1942. Goto (ent)
  1943.  
  1944.   *edit
  1945. If (%FULL%)=(Yes) Then Goto (add)
  1946. cMenuAsk (&CR&&3&Which line would you like to edit?&12&: &15&*)
  1947. Number(%RESP%)
  1948. IfNotTrue (Goto (invn))
  1949. If (%RESP%)=(%MAXLINE%) Then Goto (goedit)
  1950. linefeed(1)
  1951. cmpval(%RESP%,%MAXLINE%)
  1952. If (%ARESP%)=(No) Then Goto (Invn)
  1953.  
  1954.   *goedit
  1955. SetEqual(h=%MAXLINE%)
  1956. gettext(15,7,%RESP%,%RESP%)
  1957. setmax(%var%h)
  1958. Goto (ent)
  1959.  
  1960.   *invn
  1961. Say(&14&That line number doesn't exist in this message.  &11&Try again, please.&CR&)
  1962. Goto (ent)
  1963.  
  1964.   *add
  1965. If (%FULL%)=(Yes) Then Goto (fmode)
  1966. Say(&CR&&14&You may now continue your message.  Press (&11&ENTER&14&) to end the message.&CR&)
  1967. showtxt2(15,7)
  1968. gettext(15,7,%MAXLINE%,99)
  1969. delextra
  1970. Goto (ent)
  1971.         
  1972.   *save
  1973. SetEqual(x=)
  1974. If (&k)=(No) Then Goto (stsave)
  1975. If (&v)=(Yes) Then Goto (stsave)
  1976. If (&q)=(10) Then Goto (stsave)
  1977. Say(&CR&&3&Would you like to attach a file to this message? &9&[   ]&14&*)
  1978. Back(4)
  1979. YesNoAsk(*)
  1980. If (%RESP%)=(No) Then Goto (stsave1)
  1981. loadsub(control\EnterAtt.ctl)
  1982.  
  1983.   *stsave
  1984. InpLine(varr.%NODE%,1)
  1985. SetEqual(r=%ARESP%)
  1986.  
  1987.   *stsave1
  1988. Say(&CR&&11&Saving your message, please wait...*)
  1989. if (%Msgfpvt%)=(Y) then setequal(k=Y)
  1990. if (&z)=(15) then kill(quote.%node%)
  1991. NotIf (&z)=(15) Then writemsg(/:LASTMSG/,%var%a,%NAME%,%var%b,%var%c,%var%k,0,%var%v,%var%x)
  1992. If (&z)=(15) Then writemsg(/:LASTMSG/,%var%a,%NAME%,%var%b,%var%c,%var%k,%var%y,%var%v,%var%x)
  1993. himsg(/:LASTMSG/)
  1994. notif (&z)=(15) then log(--,Message (%ARESP%) entered in area #/:LASTMSG/)
  1995. if (&z)=(15) then log (--,Reply (%aresp%) to #%var%y entered in area #/:lastmsg/)
  1996. if (&z)=(15) then himsg(/:lastmsg/)
  1997. If (&z)=(15) Then SetEqual(f=%ARESP%)
  1998. If (&z)=(15) Then lowmsg(/:LASTMSG/)
  1999. If (&z)=(15) Then SetEqual(n=%ARESP%)
  2000. NotIf (&k)=(20) Then Goto (smsg)
  2001. himsg(/:LASTMSG/)
  2002. redo (/:LASTMSG/,%var%q,%ARESP%)
  2003.  
  2004.   *smsg
  2005. Say(Saved!)
  2006. Goto (abt)
  2007.         
  2008.   *list
  2009. linefeed(1)
  2010. showtxtl(11,3) ;showtxtL is the same as showtxt except shows line numbers...
  2011. linefeed(1)
  2012. enter
  2013. Goto (ent)
  2014.  
  2015.   *abort
  2016. Say(&CR&&12&Your message has been thrown away.)
  2017.  
  2018.   *abt
  2019. inittxt
  2020. SetMode(reg)
  2021. return
  2022.  
  2023.   *notfound
  2024. eline(70)
  2025. SetEqual(c=0)
  2026. Say(Their name couldn't be found.  )
  2027. Say(    &3&Would you like to send the message anyway? &9&[   ]&14&*)
  2028. Back(4)
  2029. YesNoAsk(*)
  2030. If (%RESP%)=(No) Then Goto (abt)
  2031. Goto (ent)
  2032.         
  2033.   *stedit
  2034. showtxt2(15,7) ;same as showtxtL except doesnt show last line #...
  2035. gettext(15,7,%var%p,99)
  2036. Goto (ent)
  2037.  
  2038.   *notenufs
  2039. display(display\nospce)
  2040. Goto (stsave)
  2041.         
  2042.   *aborted
  2043. SetEqual(x=)
  2044. FlushOut
  2045. Log(--,Attach upload aborted (%var%x))
  2046. Display(display\attabt)
  2047. Goto (stsave)
  2048.         
  2049.   *alreadyhere
  2050. Display (display\HERENOW)
  2051. Goto (pok)
  2052.  
  2053.   *fmode
  2054. LoadSub(control\macros\fulledit.ctl)
  2055. Goto (ent)
  2056. HPHONECTLòSay(What is your new &11&home &3&phone number?&9&: &15&)
  2057. Picture(###-###-####)
  2058. SetEqual(/PHONE=%RESP%)
  2059. Log(--,Changed Phone # to %RESP%)
  2060. return
  2061. EDITCTLzsetequal(a=%NAME%)
  2062. upcase(a)
  2063. setequal(i=%MSGFROM%)
  2064. upcase(i)
  2065. notif (&i)=(&a) then goto (inv2)
  2066. setequal(p=%MAXLINE%)
  2067. setequal(q=%var%y)
  2068. msgkill(/:LASTMSG/,%var%y)
  2069. setequal(a=%MSGTO%)
  2070. setequal(k=20)
  2071. seekuser(%var%a)
  2072. setequal(c=%NDNUMB%)
  2073. setequal(y=0)
  2074. IfNotTrue (setequal(c=0))
  2075. setequal(b=%MSGDESC%)
  2076. setequal(z=15)
  2077. loadmem(control\macros\ENTER.CTL,goto (stenter))
  2078. CITYCTL}Ask(What is your &11&City and State &3&address?&12&: &15&*)
  2079. SetEqual(/FROM=%RESP%)
  2080. Log(--,Changed From (City,St))
  2081. return
  2082. CHANGECTLNotIf (/SEC)=(100) then display(%FAREA%)
  2083. If (/SEC)=(100) then goto (sysv)
  2084. *bkh
  2085. MenuAsk%CRON%(&CR&&3&Which file area would you like&11&(ENTER=Quit)&3&?&12&: &15&*)
  2086. If (%RESP%)=(<CR>) then Return
  2087.  CmpValo(%MAXFAREA%,%RESP%)
  2088.  IfTrue(goto (bds))
  2089.  SelFarea(%RESP%)
  2090.  CmpVal(%sec%,%FILSEC%)
  2091.  IfTrue(goto (nofs))
  2092.  SetEqual(/LASTDOWN=%RESP%)
  2093.  Display(%FILPATH%welc)
  2094.  Say(&CR&&11&Area #%RESP%: &15&%FILNAME% &11&is now selected!&CR&)
  2095.  Say(&3&Would you like to list this area? &9&[   ]&14&*)
  2096.  Back(4)
  2097.  YesNoAsk()
  2098.  If (%RESP%)=(Yes) Then loadsub(control\macros\flist.ctl)
  2099. Return
  2100. *bds
  2101. loadsub(control\macros\badsel.ctl)
  2102. Return
  2103. *nofs
  2104. display(display\NOFSEC)
  2105. selfarea(/:lastdown/)
  2106. return
  2107.  
  2108. *sysv
  2109. seek(%FAREA%.100)
  2110. iftrue(view(%FAREA%.100))
  2111. ifnottrue(display(%FAREA%))
  2112. goto (bkh)
  2113. MWHOCTLxif (%MULTI%)=(TRUE) then goto (start)
  2114. say(&CR&&11&Sorry, %FNAME%, this system is not running the Multinode version of the)
  2115. say(Powerboard BBS Package.&CR&&CR&&3&If you feel this would be a good addition to the BBS, please contact)
  2116. say(your Sysop, %SYSOP%.&CR&)
  2117. enter
  2118. return
  2119. *start
  2120. Seek(%CPAT%whoison.dat)
  2121. If (%ARESP%)=(No) Then return
  2122. linefeed(1)
  2123. setequal(w=0)
  2124. size(%CPAT%whoison.dat)
  2125. display(display\who)
  2126. divvar(%ARESP%/131=y)
  2127. do
  2128. inc(w)
  2129. nodestat(%var%w)
  2130. say(&11&%var%w&15&    %NAVAIL%&7&  %NNAME% %NFROM% %NBAUD%%hRed%%NACTIVITY%)
  2131. If (&w)=(&y) then goto (ewho)
  2132. loop
  2133.  
  2134.         *ewho
  2135. linefeed(1)
  2136. Enter
  2137. Return
  2138. NEWBULLCTLCsay(&15&&CR&Please Wait!... &14&Searching for bulletins updated since your last logon...)
  2139. newbulletins(display\bull)
  2140. notif (%ARESP%)=(NONE) then view (updated.%NODE%)
  2141. if (%ARESP%)=(NONE) then goto (nobul)
  2142. return
  2143.         
  2144.         *nobul
  2145. say(&10&None of the bulletins have been updated since your last call.)
  2146. return
  2147. FREADCTL┐display(display\READF)
  2148. *fname
  2149. say(&3&Please enter the name of the file to read&12&: &14&(            )&15&*)
  2150. back(13)
  2151. menuask%nocr%%CRON%%LEN12%(*)
  2152. if (%RESP%)=(<CR>) then goto (ret)
  2153. adddef(.%DEFEXT%)
  2154. seekfall(%RESP%)
  2155. if (%ARESP%)=(INVALID) then goto (invfn)
  2156. if (%ARESP%)=(No) then goto (nothere)
  2157. if (%ARESP%)=(NOT ENOUGH) then goto (notenuf)
  2158. selFarea(%ARESP%)
  2159. linefeed(1)
  2160. view(%FILPATH%%RESP%)
  2161. selfarea(/:LASTDOWN/)
  2162. enter
  2163. Return
  2164.         *invfn
  2165. Display(Display\INVALID)
  2166. flushout
  2167. selfarea(/:LASTDOWN/)
  2168. Enter
  2169. goto (fname)
  2170.         *NotHere
  2171. Display(Display\notfnd)
  2172. goto (fname)
  2173.         *notenuf
  2174. Display (Display\fbadsec)
  2175. selfarea(/:LASTDOWN/)
  2176. return
  2177. *ret
  2178. linefeed(1)
  2179. return
  2180. LTAGGEDCTL┘Seek(tagged.%NODE%)
  2181. IfNotTrue (Goto (none))
  2182. Say(&CR&&15&Files currently tagged:&CR&)
  2183. Lview(tagged.%NODE%,10,7)
  2184. linefeed(1)
  2185. Enter
  2186. Return
  2187. *none
  2188. Say(&CR&&11&No files are tagged at this time.&CR&)
  2189. enter
  2190. Return
  2191. OLD-SELCTLÅclearmem
  2192. display(display\SELAREAS)
  2193. setequal(a=/:LASTMSG/)
  2194. findsel
  2195. setequal(d=1)
  2196. do
  2197. selarea(%var%d)
  2198. enufsec(%AREASEC%)
  2199. if (%ARESP%)=(No) then goto (cnt)
  2200. nicesay(&10&Area %var%d (&7&%AREANAME%&10&)  -  &14&^:d^)
  2201. *cnt
  2202. if (&d)=(%MAXAREA%) then goto (elist)
  2203. inc(d)
  2204. loop
  2205.         *elist
  2206. setequal(/lastmsg=%var%a)
  2207. selarea(/:lastmsg/)
  2208. say(&CR&&3&Would you like to change this? &9&[   ]&14&*)
  2209. back(4)
  2210. yesnoask(*)
  2211. if (%RESP%)=(No) then Return
  2212. menuask(&3&Which area would you like to change?&12&: &15&*)
  2213. setequal(r=%RESP%)
  2214. say(&CR&&3&Would you like this area to be selected? &9&[   ]&14&*)
  2215. back(4)
  2216. yesnoask(*)
  2217. select(%var%r,%RESP%)
  2218. Return
  2219. SHELLCTLÆ clearscr
  2220.  If (%LOCAL%)=(TRUE) then goto (locshell)
  2221.  Exec (dos %PORT%)
  2222. return
  2223.  
  2224. *locshell
  2225.  Log(--,%NAME% Shelled to DOS) 
  2226.  Exec ()
  2227. return
  2228. VIEWLOGSCTL menuask%cron%(&CR&&3&Please enter the text/date to search for &11&(Enter=%DATE%)&12&: &15&*)
  2229. if (%RESP%)=(<CR>) then setequal(/resp=%DATE%)
  2230. clearscr
  2231. say(&13&Searching Callers Log . . .)
  2232. say(&7&)
  2233. closecall
  2234. searchdisp(%CALLSLOG%,%Resp%)
  2235. opencalle
  2236. enter
  2237. return
  2238. SEARCHMCTLQhimsg(/:LASTMSG/)
  2239. setequal(f=%ARESP%)
  2240. loadmem(control\READ.CTL,goto (search))
  2241. FLISTCTL$setequal(y=5)
  2242. clearscr
  2243. setequal(k=1)
  2244. if (%CD%)=(No) then display(%FILPATH%header)
  2245. if (%CD%)=(Yes) then display(%CDPath%/:lastdown/\header)
  2246. if (%Y%)=(25) then goto (blist)
  2247. if (%Y%)=(23) then goto (blist)
  2248. spause(%y%)
  2249.         
  2250.         *blist
  2251. 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&)
  2252. defPif(s:stop,n:nonstop,v:view2,h:fhlp,t:tag2,d:down2)
  2253. if (%CD%)=(No) then fdisp(%FILPATH%files.bbs,12,15,7,11,3,%var%k)
  2254. if (%CD%)=(Yes) then fdisp(%CDPath%/:lastdown/\files.bbs,12,15,7,11,3,%var%k)
  2255. spause(1)
  2256. if (%ARESP%)=(No) then goto (err)
  2257. say(&11&&CR& ══ &14&End of File Area Listing&11& ══&CR&)
  2258. defpause($7$&0&[Send more text?]$0$&3& (&11&S&3&)top, (&11&N&3&)onstop or (&11&C&3&)ontinue?&12&: &7&)
  2259. defPif(s:stop,n:nonstop)
  2260. enter
  2261. Return
  2262.         *fhlp
  2263. defpause($7$&0&[Send more text?]$0$&3& (&11&S&3&)top, (&11&N&3&)onstop or (&11&C&3&)ontinue?&12&: &7&)
  2264. defPif(s:stop,n:nonstop)
  2265. setequal(k=%ARESP%)
  2266. display(display\help\lst,/:SEC/)
  2267. goto (blist2)
  2268.  
  2269.         *err
  2270. defpause($7$&0&[Send more text?]$0$&3& (&11&S&3&)top, (&11&N&3&)onstop or (&11&C&3&)ontinue?&12&: &7&)
  2271. defPif(s:stop,n:nonstop)
  2272. display(display\NOFILES)
  2273. enter
  2274. Return
  2275.         
  2276. *view2
  2277. setequal(k=%ARESP%)
  2278. loadsub(control\macros\zview.ctl)
  2279. goto (blist2)
  2280. *tag2
  2281. setequal(k=%ARESP%)
  2282. loadsub(control\macros\tfiles.ctl)
  2283. goto (blist2)
  2284. *down2
  2285. setequal(k=%ARESP%)
  2286. loadsub(control\macros\down.ctl)
  2287. selfarea(/:Lastdown/)
  2288. goto (blist2)
  2289. *blist2
  2290. spause(0)
  2291. clearscr
  2292. goto (blist)
  2293. NODEDOWNCTL╓if (%MULTI%)=(TRUE) then goto (start)
  2294. say(&CR&&11&Sorry, %FNAME%, this system is not running the Multinode version of the)
  2295. say(Powerboard BBS Package.&CR&&CR&&3&If you feel this would be a good addition to the BBS, please contact)
  2296. say(your Sysop, %SYSOP%.&CR&)
  2297. enter
  2298. return
  2299. *start
  2300. loadsub(control\macros\mwho.ctl)
  2301. menuask%cron%(&CR&&3&Please enter the number of the &11&node &3&to shut down&12&: &15&*)
  2302. if (%resp%)=(<CR>) then return
  2303. nodedown(%resp%)
  2304. return
  2305. VIEWNODECTL}if (%MULTI%)=(TRUE) then goto (start)
  2306. say(&CR&&11&Sorry, %FNAME%, this system is not running the Multinode version of the)
  2307. say(Powerboard BBS Package.&CR&&CR&&3&If you feel this would be a good addition to the BBS, please contact)
  2308. say(your Sysop, %SYSOP%.&CR&)
  2309. enter
  2310. return
  2311. *start
  2312. loadsub(control\macros\mwho.ctl)
  2313. menuask%cron%(&CR&&3&Please enter the number of the &11&node &3&to view&12&: &15&*)
  2314. if (%resp%)=(<CR>) then return
  2315. getscreen(%resp%)
  2316. say(&CR&&14&Please wait while screen is being retrived... this process may take a)
  2317. say(while.  Please wait at the following prompt until the screen arrives.&CR&)
  2318. enter
  2319. return
  2320. KILLNODECTL╫if (%MULTI%)=(TRUE) then goto (start)
  2321. say(&CR&&11&Sorry, %FNAME%, this system is not running the Multinode version of the)
  2322. say(Powerboard BBS Package.&CR&&CR&&3&If you feel this would be a good addition to the BBS, please contact)
  2323. say(your Sysop, %SYSOP%.&CR&)
  2324. enter
  2325. return
  2326. *start
  2327. loadsub(control\macros\mwho.ctl)
  2328. menuask%cron%(&CR&&3&Please enter the number of the &11&node &3&to disconnect&12&: &15&*)
  2329. if (%resp%)=(<CR>) then return
  2330. killnode(%resp%)
  2331. return
  2332. DELTAGCTL░seek(tagged2.%node%)
  2333. ifnottrue(goto (notag))
  2334. loadsub(control\macros\ltagged.ctl)
  2335. Say(&CR&&3&Are you sure you want to &11&delete&3& the tagged file list? &9&[   ]&14&*)
  2336. Back(4)
  2337. YesNoAsk(*)
  2338. If (%RESP%)=(No) Then Return
  2339. Say(&CR&&14&Deleting...*)
  2340. Kill(tagged2.%NODE%,tagged.%NODE%,free.%NODE%)
  2341. Say( |)
  2342. Say(&15&Deleted!   &CR&)
  2343. Enter
  2344. Return
  2345. *notag
  2346. say(&CR&&12&You don't have any tagged files!)
  2347. linefeed(1)
  2348. enter
  2349. return
  2350. COMMENTCTLadisplay(display\comment)
  2351. *stc
  2352. SetEqual(o=/:LASTMSG/)
  2353. say(&3&Would you like to leave&11& %SYSOP%&3& a comment?&9& [   ]&14&*)
  2354. back(4)
  2355. yesnoask(*)
  2356. if (%RESP%)=(No) then return
  2357. Zap(lconf.%NODE%,/:lastmsg/)
  2358. If (&q)=(10) Then goto (lve)
  2359. setequal(t=%RESP%)
  2360. Say(&CR&&3&What is this comment about?&12&:&11&(                 )&15&*)
  2361. Back(18)
  2362. SetFill(Question)
  2363. cAsk%CRON%%LEN17%(*)
  2364. if (%RESP%)=(<CR>) then Return
  2365. SetEqual(b=%RESP%)
  2366. SetActivity(Leaving comment...)
  2367. Log(--,Leaving (%var%t) Comment Re: %RESP%)
  2368. linefeed(1)
  2369.         
  2370.         *lve
  2371. setequal(a=%sysop%)
  2372. SeekUser(%var%a)
  2373. SetEqual(c=%NDNUMB%)
  2374. SetEqual(o=/:LASTMSG/)
  2375. SetEqual(/lastmsg=1)
  2376. SelArea(1)
  2377. SetEqual(y=0)
  2378. If (%ARESP%)=(No) Then SetEqual(c=0)
  2379. InitTxt
  2380. SetEqual(k=30)
  2381. LoadSub(control\macros\menter.ctl)
  2382. InpLine(lconf.%NODE%,1)
  2383. SetEqual(/lastmsg=%ARESP%)
  2384. SelArea(%ARESP%)
  2385. Return
  2386. CHGCTL⌡Display(display\CHG,/:SEC/)
  2387. MenuAsk%cron%(&CR&&3&Which message area would you like&11&(ENTER=Quit)&3&?&12&: &15&*)
  2388. if (%Resp%)=(<CR>) then return
  2389. *sela
  2390. Number(%RESP%)
  2391. If (%ARESP%)=(No) Then Return
  2392. CmpValO(%MAXAREA%,%RESP%) ;cmpvalo will report no if it's under 1.
  2393. IfTrue (Return)
  2394. SelArea(%RESP%)
  2395. EnufSec(%AREASEC%)
  2396. IfTrue(Goto (cnt))
  2397. SelArea(/:LASTMSG/)
  2398. Say(&CR&&14&You don't have a high enough security level for that area.&CR&)
  2399. enter
  2400. Return
  2401. *cnt
  2402. Display(areas\welc%RESP%)
  2403. say(&CR&&11&Changing...|)
  2404. ListFile(areas\farea%RESP%)
  2405. eline(13)
  2406. if (%FAREA%)=(AREAS\FAREA%RESP%) then goto (fsetup)
  2407. goto (seled)
  2408.  
  2409. *fsetup
  2410. selfarea(1)
  2411. setequal(/lastdown=1)
  2412. *seled
  2413. Say(Area #%RESP%:&15& %AREANAME%&11& is now selected!&CR&&7&)
  2414. if (%AREAPVT%)=(Y) then say(Private mail is allowed in this area.)
  2415. if (%AREAPVT%)=(N) then say(No private mail is allowed in this area.)
  2416. if (%AREAFPUB%)=(Y) then say(All messages are forced public.)
  2417. if (%AREAFPVT%)=(Y) then say(All messages are forced private.)
  2418. if (%MSGNET%)=(Y) then say(Netmail is supported in this area.)
  2419. if (%MSGFNET%)=(Y) then say(All mail in this area is Netmail.)
  2420. linefeed(1)
  2421. enter
  2422. SetEqual(/LASTMSG=%RESP%)
  2423. seek(areas\news/:lastmsg/.asc)
  2424. iftrue(loadsub(control\macros\cnfnews.ctl))
  2425. Return
  2426. REPLYCTL║setequal(k=0)
  2427. capture(quote.%NODE%)
  2428. inittxt
  2429. setequal(a=%MSGFROM%)
  2430. setequal(b=%MSGDESC%)
  2431. fcomma(b)
  2432. fcomma(a)
  2433. setequal(z=15)
  2434. seekuser(%var%a)
  2435. setequal(c=%NDNUMB%)
  2436.  
  2437. IfNotTrue (setequal(c=0))
  2438. if (%AREAPVT%)=(N) then goto (stenter1)
  2439. if (%AREAFPVT%)=(Y) then goto (stenter1)
  2440. say(&3&Would you like to make this a private message? &9&[   ]&14&*)
  2441. back(4)
  2442. yesnoask(*)
  2443. setequal(k=%RESP%)
  2444. *stenter1
  2445. loadmem(control\macros\menter.ctl)
  2446. MCOPYCTLÑcMenuAsk(&CR&&3&Enter message number to copy&12&: &15&*)
  2447. inittxt
  2448. GetMail(%RESP%,/:LASTMSG/,1)
  2449. cMenuAsk(&CR&&3&Copy to which area?&12&: &15&*)
  2450. If (%MSGPVT%)=(PRIVATE) Then SetEqual(k=Yes)
  2451. NotIf (%MSGPVT%)=(PRIVATE) Then SetEqual(k=No)
  2452. setequal(a=%msgfrom%)
  2453. fcomma(a)
  2454. setequal(b=%msgto%)
  2455. fcomma(b)
  2456. setequal(c=%msgdesc%)
  2457. fcomma(c)
  2458. WriteMsg(%RESP%,%var%b,%var%a,%var%c,00,%var%k,0,%MSGNET%,%MSGATTNAME%)
  2459. Return
  2460. ABANDCTLif (/lastmsg)=(1) then goto (already)
  2461. say(&CR&&11&%areaname% &2&Conference abandoned!&CR&)
  2462. enter
  2463. setequal(/resp=1)
  2464. loadmem(control\macros\chg.ctl,goto (sela))
  2465. *already
  2466. say(&CR&&12&You are already in the main conference &11&(%areaname%)&CR&)
  2467. enter
  2468. return
  2469. DEFPROTCTL╢Display (Display\defprots)
  2470. MenuAsk (&3&Which protocol would you like (or N for None)?%hRed%: &15&*)
  2471. SetEqual(/protocol=%RESP%)
  2472. Log(--,Changed Default Protocol to %RESP%)
  2473. return
  2474. SCRLENCTLôMenuAsk (&3&Please enter the new length for your screen&12&: &15&*)
  2475. SetEqual(/screenlen=%RESP%)
  2476. Log(--,Changed Screen Length to %RESP%)
  2477. return
  2478. GRAPHCTL╦Say(Do you want to use &11&ANSI color&3& graphics? &9&[   ]&14&*)
  2479. Back(4)
  2480. YesNoAsk(*)
  2481. SetEqual(/graphics=ANSI)
  2482. If (%RESP%)=(No) Then SetEqual(/graphics=ASCII)
  2483. Log(--,Changed Graphics Mode)
  2484. return
  2485.