home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1993 #2 / Image.iso / comm / mbbs25a4.zip / MACROBUL.MAC < prev    next >
Text File  |  1993-05-30  |  10KB  |  356 lines

  1.  
  2.                              MACROBUL.MAC 2.5 ALPHA
  3.                       by Jeff Oberlee   (C)opyright 1992,93
  4.  
  5.  
  6. {:alr} {MACL MACROBBS.MAC,WF3}  {:alu} {MACL MACROBBS.MAC,bbs}
  7.  
  8. {:esc_menu}
  9.   {IFCA ,ESM} {SEND ^J^M%an7%%an9%Time comes to a grinding halt!  %an0}
  10. {:ESM} {SETE-P0 ESM2} {SETV ch}
  11.   {PARM ,,,,0}
  12.   {INPU ch, PRESS:  [ENTER] to CHAT, [U]seredit, [D]OS, [H]angup}
  13.   {COMP ch,h} {IFCO ESM4}
  14.   {COMP ch,d} {IFCO ESM5}
  15.   {COMP on,} {IFCO ESM}
  16.   {COMP ch,u} {IFCO ESM3}
  17.   {COMP ch,} {IFCO ,ESM}
  18. {:ESM1} {COMP cf,} {IFCO CT8,ESM}
  19. {:ESM2} {SETE-P0 esc_menu}
  20.   {IFCA ,ESM6} {SEND %an3%Then suddenly...} {PAUS 1}
  21. {:ESM6} {RETURN}
  22. {:ESM5} {SHEL} {GOTO ESM}
  23. {:ESM3} {COMP open,y} {IFCO ESM}
  24. {:ESM8} {COMP login_name,} {IFCO ESM}
  25.   {SETV lname,%login_name} {INPU lname,EDIT: Handle  (3-30 characters)}
  26.   {COMP lname,1} {IFCO-GE ESM8}
  27.   {LENG %lname} {COMP _len,3} {IFCO-L ESM8}
  28.   {LENG %lname} {COMP _len,30} {IFCO-G ESM8}
  29. {:ESM10} {SETV ch,%al} {INPU ch,EDIT: Access Level  (0-999)}
  30.   {COMP ch,999} {IFCO-G ESM10}
  31. {:ESM9} {SETV temp,%pcpd} {INPU temp,EDIT: Time limit per Day/Call (D/C)}
  32.   {COMP temp,c} {IFCO ESM11}
  33.   {COMP temp,d} {IFCO ,ESM9}
  34. {:ESM11}
  35.   {SETV al,%ch}
  36.   {SETV pcpd,%temp}
  37.   {SETV row,%_row} {SETV col,%_col} {DISP 2,2,0F,%an9 * Saving * }
  38.   {COMP lname,%login_name} {IFCO ESM7}
  39.   {SETV login_name,%lname}
  40.   {SETE time_out}
  41.   {CALL update_clist}
  42. {:ESM7} {CALL write_user}
  43.   {DISP 2,2,07,            }
  44.   {DISP %row,%col,,}
  45.   {SETV row} {SETV col} {SETV lname}
  46.   {GOTO ESM}
  47. {:ESM4} {SETV s,2} {GOTO time_out}
  48.  
  49. {:chat}
  50.   {SETV temp,0} {SETV ccount,0}
  51.   {WOPE-A %datadir%LOG-1.LOG} {WRIT %_tim : Chat request} {WCLO}
  52.   {SEND ^J^M^J%an4%Paging %sysop ...^J^M}
  53.   {SPOC n} {SEND %an3%Press %an0[ESC]%an3 then %an0[ENTER]%an3 to chat with%an7 %login_name %an3...^J^M} {SPOC y}
  54. {:CT7} {INCR ccount} {SETV-S ch,an%ccount}
  55.   {SEND %ch█}
  56.   {SEND ^G} {SEND ^G} {SEND ^G} {PAUS 2}
  57.   {COMP ccount,5} {IFCO-G ,CT7}
  58. {:CT6} {SETV chat,CHAT}
  59.   {SEND ^M%an0%Sorry, %sysop isn't around right now.^J^M}
  60.   {SEND %an0%However, the chat flag has been set.^J^M^J}
  61.   {GOTO CT9}
  62. {:CT8} {SETV tl,%_ela}
  63.   {SETG 300,time_out}
  64.   {WOPE-A %datadir%LOG-1.LOG} {WRIT %_tim : Started chat} {WCLO}
  65.   {COMP cb,y} {IFCO ,CT14}
  66.   {CAPT y,%datadir%CHAT.LOG}
  67. {:CT14} {SEND ^J^M^J%an3%You've just entered . . . %an7%The Twilight Zone.  %an3%Reality vanishes.^J^M}
  68.   {SEND %an2(Type "%an0%bye!%an2" on a blank line to exit when desired.)^J^M}
  69.   {SETV cf,1} {SETV co1,%an0} {SETV co2,%an3}
  70.   {SETE-P0 esc_menu}
  71.   {PUSH}
  72. {:CT2} {COMP cf,1} {IFCO CT3}
  73.   {SEND %co2} {SETV cf,1} {GOTO CT4}
  74. {:CT3} {SEND %co1} {SETV cf,2}
  75. {:CT4} {SETV cline}
  76. {:CT5} {SEND ^J}
  77. {:CT13} {SEND ^M%cline}
  78.   {GETS-AH cline,78,CT2}
  79.  
  80.   {COMP cline,/c} ......... {IFCO switch_c}
  81.   {COMP cline,bye!} ....... {IFCO CT1}
  82.   {COMP cline,bye!!} ...... {IFCO time_out}
  83.   {COMP cline,/scroll} .... {IFCO view_scroll}
  84.   {COMP cline,NO CARRIER} . {IFCO time_out}
  85.  
  86.   {LENG %cline}
  87.   {COMP %_len,78} {IFCO-L CT4}
  88.   {SETV ccount,79}
  89. {:CT11} {DECR ccount}
  90.   {COMP ccount,60} {IFCO-LE CT4}
  91.   {SUBS ch,%ccount,1,%cline}
  92.   {COMP ch, } {IFCO ,CT11}
  93.   {COMP ccount,78} {IFCO CT4}
  94.   {INCR ccount}
  95.   {SUBS cline,%ccount,100,%cline}
  96. {:CT12} {COMP ccount,%_len} {IFCO-G CT5}
  97.   {SEND ^H ^H}
  98.   {INCR ccount}
  99.   {GOTO CT12}
  100. {:CT1} {CAPT n}
  101.   {SETV ch,%_ela} {DECR ch,%tl} {INCR tlc,%ch} {SETV tl}
  102.   {SEND ^J^M^J%an3%You've just left . . . %an7%The Twilight Zone.  %an3%Reality restored.^J^M^J}
  103.   {WOPE-A %datadir%LOG-1.LOG} {WRIT %_tim : Ended chat} {WCLO}
  104.   {SETV cf} {SETV co1} {SETV co2} {SETV chat} {SETV cline}
  105.   {POPS}
  106. {:CT9} {SETV ccount}
  107.   {SETE-P0 esc_menu}
  108.   {CALL press_any_key}
  109.   {RETURN}
  110.  
  111. {:switch_c}
  112. {:SW1} {SEND ^M%an0(0 %an1%1 %an2%2 %an3%3 %an4%4 %an5%5 %an6%6 %an7%7%an0)  ^H}
  113.   {GETS-H ch,1,SW1}
  114.   {COMP ch,0} {IFCO-L SW1}
  115.   {COMP ch,7} {IFCO-G SW1}
  116.   {SEND ^M                    ^M}
  117.   {COMP cf,1} {IFCO ,SW3}
  118.   {SETV-S co2,an%ch} {SEND %co2} {GOTO SW4}
  119. {:SW3} {SETV-S co1,an%ch} {SEND %co1}
  120. {:SW4} {SETV cline}
  121.   {GOTO CT13}
  122.  
  123. {:view_scroll}
  124.   {SCROLL}
  125.   {GOTO CT4}
  126.  
  127. {:update_clist}
  128.   {ROPE %datadir%CALLERS.LST,UC1}
  129.   {WOPE %datadir%TEMP.000}
  130. {:UC2} {READ ch} {READ cline} {READ dline}
  131.   {COMP ch,%userno} {IFCO UC3}
  132.   {WRIT %ch} {WRIT %cline} {WRIT %dline} {GOTO UC2}
  133. {:UC3} {COMP s,1} {IFCO UC5}
  134. {:UC4} {WRIT %ch}
  135.   {WRIT %login_name}
  136.   {WRIT %password}
  137. {:UC5} {READ dline} {WRIT %dline} {GOTO UC5}
  138. {:UC1} {WCLO}
  139.   {EXEC-N COPY %datadir%TEMP.000 %datadir%CALLERS.LST}
  140.   {EXEC-N DEL %datadir%TEMP.000}
  141.   {RETURN}
  142.  
  143. {:write_user}
  144.   {WOPE %userdir%%userno.USR}
  145.   {WRIT %login_name}
  146.   {WRIT %password}
  147.   {WRIT %al}
  148.   {WRIT %protocol}
  149.   {WRIT %expert}
  150.   {WRIT %a}
  151.   {WRIT %fa}
  152.   {WRIT %_dwt %_dat}
  153.   {WRIT %rname}
  154.   {WRIT %from}
  155.   {WRIT %pcpd}
  156.   {WRIT %clr2}
  157.   {WRIT %arcer}
  158.   {WRIT %arc}
  159.   {WCLO}
  160.   {RETURN}
  161.  
  162. {:read_data}
  163.   {ROPE %datadir%CALLER.DAT,RD1}
  164.   {READ %callno}
  165.   {READ %tdcalls}
  166.   {READ pub}
  167.   {READ pvt}
  168.   {READ ttu}
  169.   {READ tf}
  170.   {READ ldate}
  171.   {READ stime}
  172.   {READ ftime}
  173.   {READ l_caller}
  174.   {READ luserno}
  175.   {READ uhigh}
  176.   {READ mhigh}
  177.   {READ fhigh}
  178.   {RCLO}
  179. {:RD1} {RETURN}
  180.  
  181. {:write_data}
  182.   {WOPE %datadir%CALLER.DAT}
  183.   {WRIT %callno}
  184.   {WRIT %tdcalls}
  185.   {WRIT %pub}
  186.   {WRIT %pvt}
  187.   {WRIT %ttu}
  188.   {WRIT %tf}
  189.   {WRIT %ldate}
  190.   {WRIT %stime}
  191.   {WRIT %ftime}
  192.   {WRIT %login_name}
  193.   {WRIT %userno}
  194.   {WRIT %uhigh}
  195.   {WRIT %mhigh}
  196.   {WRIT %fhigh}
  197.   {WCLO}
  198.   {RETURN}
  199.  
  200. {:time_out}
  201.   {MACL MACROBBS.MAC,time_out}
  202.  
  203. {:cls}
  204.   {CLEA}
  205.   {COMP on,} {IFCO CLS3}
  206.   {COMP mnu,A} {IFCO CLS1}
  207.   {SEND ^[[2J}
  208.   {GOTO CLS2}
  209. {:CLS1} {SEND ^L}
  210. {:CLS2} {DISP 1,1,4F,│                                                                              }
  211.   {DISP 1,3,4E,%login_name #%userno}
  212.   {DISP 1,40,47,AL=%al}
  213.   {DISP 1,49,47,%mspeed}
  214.   {DISP 1,57,47,%_ela mins}
  215.   {DISP 1,70,4F,%an9%%chat}
  216.   {DISP 2,1,4F,│                                                                              }
  217.   {DISP 2,3,47,%rname  -  %from}
  218.   {DISP 3,1,4F,└──────────────────────────────────────────────────────────────────────────────}
  219.   {DISP 4,1,07, }
  220. {:CLS3} {RETURN}
  221.  
  222. {:press_any_key}
  223.   {COMP mnu,a} {IFCO PAK1}
  224.   {SEND %an3%%an9^[[24;1h^[[24;1f[Press Any Key]%an0}
  225.   {GOTO PAK2}
  226. {:PAK1} {SEND ^J^M^J[Press Any Key]}
  227. {:PAK2} {SETG 300,time_out}
  228.   {GETS-H temp,1,PAK}
  229. {:PAK} {SEND ^M               ^M}
  230.   {SETV temp}
  231.   {RETURN}
  232.  
  233. {:dsp_file}
  234.   {IFEX %dump_file,,DF5}
  235.   {SETV count,0} {SETV open,y}
  236.   {ROPE %dump_file,DF3}
  237. {:DF} {PUSH}
  238.   {SETE-P0 esc_menu}
  239. {:DF1} {READ dline}
  240.   {SEND ^M%dline%%an0^J^M}
  241.   {INCR count} {COMP count,22} {IFCO DF4,DF1}
  242. {:DF2} {RCLO}
  243. {:DF3} {SETV dline} {SETV ch} {SETV count}
  244.   {SETV open}
  245.   {POPS}
  246.   {CALL press_any_key}
  247.   {RETURN}
  248.  
  249. {:DF4} {SETV count,0}
  250.   {SEND %an4%More? %an7(Y,n) %an0: }
  251.   {SETG 300,DF9}
  252. {:DF6} {GETS-H ch,1,DF7}
  253.   {COMP ch,y} {IFCO DF7}
  254.   {COMP ch,n} {IFCO DF7}
  255.   {SEND ^H} {GOTO DF6}
  256. {:DF7} {SEND ^M                  ^M}
  257.   {COMP ch,n} {IFCO DF2}
  258. {:DF9} {CALL CLS}
  259.   {SEND ^J^M}
  260.   {GOTO DF1}
  261.  
  262. {:DF5} {SEND ^J^M^G%an1%Error: %an7%File not found: %dump_file}
  263.   {CALL press_any_key}
  264.   {RETURN}
  265.  
  266. {:screen_full}
  267.   {SEND %an4%More? %an7(Y,n) %an0: }
  268.   {SETG 300,SF3}
  269. {:SF1} {GETS-H ch,1,SF2}
  270.   {COMP ch,y} {IFCO SF4}
  271.   {COMP ch,n} {IFCO SF4}
  272.   {SEND ^H} {GOTO SF1}
  273. {:SF2} {SETV ch,y} {GOTO SF4}
  274. {:SF3} {SETV ch,n}
  275. {:SF4} {SEND ^M                  ^M}
  276.   {SETG 300,time_out}
  277.   {RETURN}
  278.  
  279. {:expert_tog}
  280.   {COMP expert,ON}
  281.   {IFCO ET1}
  282.   {SETV expert,ON}
  283.   {GOTO ET2}
  284. {:ET1} {SETV expert,OFF}
  285. {:ET2} {RETURN}
  286.  
  287. {:ansi}
  288.   {SETV mnu,n}
  289.   {SETV an0,^[[0;2;37m} - gray
  290.   {SETV an1,^[[0;1;31m} - red
  291.   {SETV an2,^[[0;2;32m} - green
  292.   {SETV an3,^[[0;1;33m} - yellow
  293.   {SETV an4,^[[0;1;34m} - blue
  294.   {SETV an5,^[[0;1;35m} - magenta
  295.   {SETV an6,^[[0;1;36m} - cyan
  296.   {SETV an7,^[[0;1;37m} - white
  297.   {SETV an9,^[[5m}   - blink
  298.   {SETV an12,^[[44m} - blue background
  299.   {SETV an13,^[[41m} - red background
  300.   {RETURN}
  301.  
  302. {:cd}
  303.   {IFCA cd1}
  304.   {COMP on,1} {IFCO time_out}
  305. *-{:cd1} {COMP on,1} {IFCO ,cd2}
  306.   {COMP _ela,%tlc} {IFCO-GE time_out}
  307. {:cd2} {RETURN}
  308.  
  309. /\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
  310. /\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
  311. /\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
  312. /\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
  313. /\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
  314.  
  315. {:start}
  316.   {PUSH}
  317. {:P5}
  318.   {SETG 300,time_out}
  319.   {CALL CLS}
  320.   {SEND ^M^J^J^J%an7}
  321.   {SEND ^M^J             ┌───────────────────────────────────────────────────┐}
  322.   {SEND ^M^J             │ %an0▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ %an7%Text Menu %an0▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ %an7│}
  323.   {SEND ^M^J             └───────────────────────────────────────────────────┘^J^M}
  324.   {IFEX MBBSBULL.LST,,P7}
  325.   {ROPE MBBSBULL.LST,P7}
  326. {:P8} {READ ch} {COMP %ch,1} {IFCO-GE ,P8}
  327.   {READ dline} {READ dump_file}
  328.   {SEND ^J^M                        %an0[%an7%%ch%%an0]%an0 %dline}
  329.   {GOTO P8}
  330. {:P7}
  331.   {SEND ^J^M                        %an0[%an7%Q%an0] %an0%MAIN MENU}
  332.  
  333. {:P4} {SEND ^J^M^J%an7%Text Menu  %an0%%_tim^J^M}
  334.   {SETV tl,%tlc} {DECR tl,%_ela}
  335.   {SEND %an0%Mins Left: %tl^J^M}
  336. {:P1} {SEND ^M}
  337. {:P12} {SEND %an7%TM Command:%an0  ^H}
  338.   {CALL cd}
  339. {:P3} {GETS ch,8,P3}
  340.  
  341.   {COMP ch,*} {IFCO time_out}
  342.   {COMP ch,?} {IFCO P5}
  343.   {COMP ch,q} {IFCO P11}
  344.  
  345.   {ROPE MBBSBULL.LST,P1}
  346. {:P10} {READ dline} {COMP %dline,1} {IFCO-GE ,P10}
  347.   {READ temp} {READ dump_file} {COMP ch,%dline} {IFCO ,P10}
  348.   {RCLO}
  349.   {CALL cls}
  350.   {CALL dsp_file}
  351.   {RETURN}
  352.  
  353. {:P11} {MACL MACROBBS.MAC,main_menu}
  354.  
  355.  
  356.