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

  1.  
  2.                              MACRODAT.MAC 2.5 ALPHA
  3.                       by Jeff Oberlee   (C)opyright 1992,93
  4.  
  5. {:alr} {MACL MACROBBS.MAC,WF3}   {:alu} {MACL MACROBBS.MAC,bbs}
  6.  
  7. {:close}
  8.   {RCLO}
  9.   {WCLO}
  10. {:time_out}
  11.   {MACL MACROBBS.MAC,time_out}
  12.  
  13. {:cls}
  14.   {CLEA}
  15.   {COMP on,} {IFCO CLS3}
  16.   {COMP mnu,A} {IFCO CLS1}
  17.   {SEND ^[[2J}
  18.   {GOTO CLS2}
  19. {:CLS1} {SEND ^L}
  20. {:CLS2} {DISP 1,1,4F,│                                                                              }
  21.   {DISP 1,3,4E,%login_name #%userno}
  22.   {DISP 1,40,47,AL=%al}
  23.   {DISP 1,49,47,%mspeed}
  24.   {DISP 1,57,47,%_ela mins}
  25.   {DISP 1,70,4F,%an9%%chat}
  26.   {DISP 2,1,4F,│                                                                              }
  27.   {DISP 2,3,47,%rname  -  %from}
  28.   {DISP 3,1,4F,└──────────────────────────────────────────────────────────────────────────────}
  29.   {DISP 4,1,07,}
  30. {:CLS3} {RETURN}
  31.  
  32. {:press_any_key}
  33.   {COMP mnu,a} {IFCO PAK1}
  34.   {SEND %an3%%an9^[[24;1h^[[24;1f[Press Any Key]%an0}
  35.   {GOTO PAK2}
  36. {:PAK1} {SEND ^J^M^J[Press Any Key]}
  37. {:PAK2} {SETG 300,time_out}
  38.   {GETS-H temp,1,PAK}
  39. {:PAK} {SEND ^M               ^M}
  40.   {SETV temp}
  41.   {RETURN}
  42.  
  43. {:read_user}
  44.   {ROPE %userdir%%userno.USR,RU1}
  45.   {READ login_name}
  46.   {READ password}
  47.   {READ al}
  48.   {READ protocol}
  49.   {READ expert}
  50.   {READ a}
  51.   {READ fa}
  52.   {READ l_call}
  53.   {READ rname}
  54.   {READ from}
  55.   {READ pcpd}
  56.   {READ clr2}
  57.   {READ arcer}
  58.   {READ arc}
  59.   {RCLO}
  60. {:RU1} {RETURN}
  61.  
  62. {:write_user}
  63.   {WOPE %userdir%%userno.USR}
  64.   {WRIT %login_name}
  65.   {WRIT %password}
  66.   {WRIT %al}
  67.   {WRIT %protocol}
  68.   {WRIT %expert}
  69.   {WRIT %a}
  70.   {WRIT %fa}
  71.   {WRIT %_dwt %_dat}
  72.   {WRIT %rname}
  73.   {WRIT %from}
  74.   {WRIT %pcpd}
  75.   {WRIT %clr2}
  76.   {WRIT %arcer}
  77.   {WRIT %arc}
  78.   {WCLO}
  79.   {RETURN}
  80.  
  81. {:chg_password}
  82.   {SEND ^J^M}
  83. {:NU10} {PUSH}
  84.   {SEND ^J^M%an4%Choose a password.  You will need it each time you log-on.^J^M}
  85. {:NU1} {SEND %an0%Password: }
  86. {:NU7} {CALL cd}
  87.   {GETS password,15,NU7}
  88.   {LENG %password} {COMP %_len,4} {IFCO-GE NU3}
  89.   {SEND ^J^M%an1%Invalid password.  %an0%Must be at least 4 characters long.^J^M}
  90.   {GOTO NU1}
  91. {:NU3} {POPS}
  92. {:NU8} {RETURN}
  93.  
  94. {:get_protocol}
  95.   {PUSH}
  96.   {SETE time_out}
  97.   {SEND ^J^M}
  98. {:GP2} {COMP expert,ON} {IFCO GP1}
  99.   {CALL CLS}
  100.   {SEND ^J^M%an1}
  101.   {SEND ^J^M             ┌───────────────────────────────────────────────────┐}
  102.   {SEND ^J^M             │ %an0▒▒▒▒▒▒▒▒▒▒▒▒ %an7%File Transfer Protocols %an0▒▒▒▒▒▒▒▒▒▒▒▒ %an1│}
  103.   {SEND ^J^M             └───────────────────────────────────────────────────┘^J^M}
  104.  
  105.   {IFEX MBBSPROT.LST,,GP7}
  106.   {ROPE MBBSPROT.LST,GP7}
  107. {:GP8} {READ ch} {LENG %ch} {COMP _len,1} {IFCO ,GP8}
  108.   {IFEX MBXPRO-%ch.MAC,,GP8}
  109.   {READ dline}
  110.   {SEND ^J^M                            %an1[%an0%%ch%%an1] %dline}
  111.   {GOTO GP8}
  112. {:GP7}
  113.   {SEND ^J^M                            %an1[%an0%G%an1] Ymodem-G}
  114.   {SEND ^J^M                            %an1[%an0%Y%an1] Ymodem}
  115.   {SEND ^J^M                            %an1[%an0%K%an1] Xmodem-1k}
  116.   {SEND ^J^M                            %an1[%an0%X%an1] Xmodem-CRC^J^M}
  117. {:GP4} {SEND ^J^M}
  118.   {SEND %an0%Please select a default file transfer protocol.^J^M}
  119.   {SEND You can always change it later...^J^M^J}
  120.  
  121. {:GP1} {SEND ^M%an1%Your choice:%an0  ^H}
  122.   {SETG 300,time_out}
  123. {:GP3} {GETS-H ch,1,GP3}
  124.   {COMP ch,*} {IFCO time_out}
  125.   {COMP ch,?} {IFCO GP1}
  126.   {COMP ch,,} {IFCO GP1}
  127.   {IFEX MBXPRO-%ch.MAC,GP6}
  128.   {SETV dline,xkyg} {INST dline,%ch} {IFCO ,GP1}
  129. {:GP6}
  130.   {SETV protocol,%ch}
  131.   {SEND ^J^M}
  132.   {COMP new,1} {IFCO GP5}
  133.   {POPS}
  134.   {RETURN}
  135. {:GP5} {MACL MACROBBS.MAC,NU11}
  136.  
  137. {:update_clist}
  138.   {ROPE %datadir%CALLERS.LST,UC1}
  139.   {WOPE %datadir%TEMP.000}
  140. {:UC2} {READ ch} {READ cline} {READ dline}
  141.   {COMP ch,%userno} {IFCO UC3}
  142.   {WRIT %ch} {WRIT %cline} {WRIT %dline} {GOTO UC2}
  143. {:UC3} {COMP s,1} {IFCO UC5}
  144. {:UC4} {WRIT %ch}
  145.   {WRIT %login_name}
  146.   {WRIT %password}
  147. {:UC5} {READ dline} {WRIT %dline} {GOTO UC5}
  148. {:UC1} {WCLO}
  149.   {EXEC-N COPY %datadir%TEMP.000 %datadir%CALLERS.LST}
  150.   {EXEC-N DEL %datadir%TEMP.000}
  151.   {RETURN}
  152.  
  153. {:screen_full}
  154.   {SEND More? (Y,n) : }
  155.   {SETG 300,SF3}
  156. {:SF1} {GETS-H ch,1,SF2}
  157.   {COMP ch,y} {IFCO SF4}
  158.   {COMP ch,n} {IFCO SF4}
  159.   {SEND ^H} {GOTO SF1}
  160. {:SF2} {SETV ch,y} {GOTO SF4}
  161. {:SF3} {SETV ch,n}
  162. {:SF4} {SEND ^M                  ^M}
  163.   {SETG 300,time_out}
  164.   {RETURN}
  165.  
  166. {:cd}
  167.   {IFCA cd1}
  168.   {COMP on,1} {IFCO time_out}
  169. {:cd1} {RETURN}
  170.  
  171. {:expert_tog}
  172.   {COMP expert,ON}
  173.   {IFCO ET1}
  174.   {SETV expert,ON}
  175.   {GOTO ET2}
  176. {:ET1} {SETV expert,OFF}
  177. {:ET2} {RETURN}
  178.  
  179. {:msgread_tog}
  180.   {COMP clr2,y} {IFCO MSG1}
  181.   {SETV clr2,y}
  182.   {GOTO MSG2}
  183. {:MSG1}
  184.   {SETV clr2,n}
  185. {:MSG2}
  186.   {RETURN}
  187.  
  188. {:get_rname}
  189.   {PUSH}
  190.   {SEND ^J^M^J%an7%For the records, what's your REAL name?}
  191.   {SEND ^J^M%an0(Press ENTER if your system handle IS your real name.)^J^M}
  192.   {SEND %an0->%an5 }
  193.   {GETS rname,30,GN7}
  194. {:GN8} {POPS}
  195.   {RETURN}
  196. {:GN7} {SETV rname,%login_name}
  197.   {SEND %rname}
  198.   {GOTO GN8}
  199.  
  200. {:get_from}
  201.   {PUSH}
  202.   {SEND ^J^M^J%an7%Where are you calling from?  %an0(City, State)^J^M}
  203.   {SEND %an0->%an1 }
  204. {:GN9} {GETS from,30,GN9}
  205.   {POPS}
  206.   {RETURN}
  207.  
  208. /\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
  209. /\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
  210. /\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
  211. /\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
  212. /\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
  213.  
  214. {:start}
  215.   {SETE time_out}
  216.   {CALL cls}
  217.   {SEND ^J^M%an3                           System Information Request%an0^J^M}
  218.   {SEND ^J^M All information you provide here is strictly for the records.
  219.   {SEND ^J^M Please answer honestly.^J^M}
  220.   {WOPE %userdir%DATA\%userno.DAT}
  221.   {ROPE %datadir%PERSONAL.DAT,E3}
  222.   {SETV count,0}
  223.   {SETG 300,close}
  224. {:E1} {SEND ^J^M}
  225.   {READ ch} {READ dline} {INCR count}
  226.   {SEND %an7%%count.%an0 %dline: %an7}
  227. {:E2} {GETS dline,%ch,E2}
  228.   {WRIT %dline}
  229.   {GOTO E1}
  230. {:E3} {WCLO}
  231.   {SETV mcount,%count}
  232.   {SETV dline} {SETV ch} {SETV count}
  233.  
  234. {:ST1} {SEND ^J^M%an4%Change anything? %an0(y,n) : }
  235.   {SETG 120,time_out}
  236. {:ST2} {GETS ch,1,ST2}
  237.   {COMP ch,n} {IFCO N1}
  238.   {COMP ch,y} {IFCO M1}
  239.   {SEND ^H} {GOTO ST2}
  240.  
  241. {:D0} {CALL cls}
  242.   {SETV mcount,0}
  243. {:D1} {SEND ^J^M}
  244.   {SETV count,0}
  245.   {INCR mcount}
  246.   {ROPE %datadir%PERSONAL.DAT,M0}
  247. {:D2} {INCR count} {READ dline} {READ dline}
  248.   {COMP count,%mcount} {IFCO ,D2}
  249.   {SEND %an7%%mcount. }
  250. {:D6} {RCLO} {SEND %an0%%dline: } {SETV count,0}
  251.   {ROPE %userdir%DATA\%userno.DAT,M1}
  252. {:D3} {INCR count} {READ dline}
  253.   {COMP count,%mcount} {IFCO ,D3}
  254.   {RCLO} {SEND %an7%%dline}
  255.   {GOTO D1}
  256.  
  257. {:M0} {DECR mcount}
  258. {:M1} {SEND ^J^M%an5%Change which? %an0(1 - %mcount, L=List, ENTER=quit) : }
  259. {:M7} {GETS ch,2,ST1}
  260.   {COMP ch,l} {IFCO D0}
  261.   {COMP ch,1} {IFCO-L M8}
  262.   {COMP ch,%mcount} {IFCO-G M8,M9}
  263. {:M8} {SEND ^H} {GOTO M7}
  264. {:M9} {SETV count,0}
  265.   {ROPE %datadir%PERSONAL.DAT}
  266. {:M2} {INCR count} {READ temp} {READ dline}
  267.   {COMP count,%ch} {IFCO ,M2}
  268.   {RCLO}
  269.   {SEND ^J^M^J%an3%%dline: %an7}
  270.   {GETS dline,%temp,M1}
  271.   {SEND ^J^M%an7%Updating . . .}
  272.   {ROPE %userdir%DATA\%userno.DAT,M5}
  273.   {WOPE %datadir%TEMP.000}
  274.   {SETV count,0}
  275. {:M3} {INCR count} {READ temp}
  276.   {COMP count,%ch} {IFCO M4}
  277.   {WRIT %temp} {GOTO M3}
  278. {:M4} {WRIT %dline}
  279. {:M10} {READ dline} {WRIT %dline} {GOTO M10}
  280. {:M5} {WCLO}
  281.   {EXEC-N COPY %datadir%TEMP.000 %userdir%DATA\%userno.DAT}
  282.   {SEND ^J^M}
  283.   {GOTO M1}
  284.  
  285. //////////////////////////////////////////////////////////////////
  286.  
  287. {:user_info}
  288.   {SETE time_out}
  289.   {SETV pass,%password}
  290.   {PUSH}
  291. {:UI1}
  292.   {CALL cls}
  293.   {SEND ^J^M}
  294.   {SETV ch,%tlc} {DECR ch,%_ela}
  295.   {SEND ^J^M%an1%Time on-line  : %an7%%_ela %an0%minute(s)}
  296.   {SEND ^J^M%an1%Time remaining: %an7%%ch %an0%minute(s)^J^M^J}
  297.   {SEND %an0     Name/Handle: %an3%%login_name^J^M^J}
  298.   {SEND %an7%1. %an0  Real Name..: %an7%%rname^J^M}
  299.   {SEND %an7%2. %an0  Location...: %an7%%from^J^M}
  300.   {SEND %an7%3. %an0  Password...: %an7%%password^J^M}
  301.   {SEND %an7%4. %an0  Protocol...: %an7%%protocol^J^M}
  302.   {SEND %an7%5. %an0  Expert Mode: %an7%%expert^J^M}
  303.   {SEND %an7%6. %an0  MsgReadCls.: %an7%%clr2^J^M^J}
  304.   {SEND %an7%S. %an0  Save changes^J^M}
  305.   {SEND %an7%Q. %an0  Quit to MAIN MENU (no save)^J^M^J}
  306.   {SEND %an3%Change Data  %an0%%_tim^J^M}
  307.   {SETV ch,%tlc} {DECR ch,%_ela}
  308.   {SEND %an0%Mins Left: %ch^J^M}
  309.   {SEND %an7%CD Command:%an0 }
  310. {:UI6}
  311.   {SETG 300,time_out}
  312.   {GETS-H ch,1,UI6}
  313.   {COMP ch,*} {IFCO time_out}
  314.   {COMP ch,s} {IFCO UI2}
  315.   {COMP ch,q} {IFCO UI5}
  316.   {COMP ch,1} {IFCO get_rname}
  317.   {COMP ch,2} {IFCO get_from}
  318.   {COMP ch,3} {IFCO chg_password}
  319.   {COMP ch,4} {IFCO get_protocol}
  320.   {COMP ch,5} {IFCO expert_tog}
  321.   {COMP ch,6} {IFCO msgread_tog}
  322.   {SEND ^H} {GOTO UI6}
  323. {:UI2}
  324.   {SEND ^J^M^J%an1%Saving...}
  325.   {CALL write_user}
  326.   {COMP pass,%password} {IFCO UI4}
  327.   {CALL update_clist}
  328. {:UI4}
  329.   {SEND %an0%Ok}
  330. {:UI3}
  331.   {SETV pass}
  332.   {GOTO N2}
  333. {:UI5}
  334.   {CALL read_user}
  335.   {GOTO UI3}
  336.  
  337. {:intro_msg]
  338.   {SETE time_out}
  339.   {IFEX %datadir%INTROMSG.MSG,,IM3}
  340.   {SEND ^J^M^J%an7%Current%an1 INTROMSG%an0:^J^M^J}
  341.   {ROPE %datadir%INTROMSG.MSG,IM3}
  342. {:IM9} {READ dline} {SEND ^M%dline^J^M} {GOTO IM9}
  343. {:IM3} {SEND ^J^M%an4%Change it?  %an0(y,%an7%N%an0%) : }
  344.   {CALL cd}
  345. {:IM5} {GETS-H ch,1,IM4}
  346.   {COMP ch,y} {IFCO IM0}
  347.   {COMP ch,n} {IFCO IM4}
  348.   {SEND ^H} {GOTO IM5}
  349. {:IM0} {WOPE %datadir%INTROMSG.MSG} {WRIT %login_name #%userno} {WCLO}
  350.   {WOPE-A %datadir%LOG-1.LOG} {WRIT %_tim : Altered INTROMSG} {WCLO}
  351.   {SEND ^J^M^J%an1%INTROMSG     %an0%Five lines max - %an7/s%an0 to save^J^M}
  352.   {SETV count,0}
  353. {:IM1} {INCR count}
  354.   {COMP count,6} {IFCO-E IM2}
  355.   {SEND ^J^M%an7%%count> %an0%}
  356.   {CALL cd}
  357.   {GETS dline,79}
  358.   {COMP dline,/s} {IFCO IM2}
  359.   {WOPE-A %datadir%INTROMSG.MSG} {WRIT %dline} {WCLO}
  360.   {GOTO IM1}
  361. {:IM2} {SEND ^J^M%an1%Saving...}
  362.   {ROPE %datadir%INTROMSG.MSG,IM8}
  363.   {WOPE-A %datadir%LOG-1.LOG}
  364. {:IM7} {READ dline} {WRIT   %dline} {GOTO IM7}
  365. {:IM8} {WCLO}
  366. {:IM4} {SETV dline} {SETV count}
  367.   {GOTO N2}
  368.  
  369.  
  370. {:N1} {SETV count} {SETV mcount} {SETV dline} {SETV temp}
  371.   {MACL MACROBBS.MAC,BB21}
  372.  
  373. {:N2} {MACL MACROBBS.MAC,main_menu}
  374.  
  375.