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

  1.  
  2.                              MACROPAK.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. {:esc_menu}
  8.   {IFCA ,ESM} {SEND ^J^M%an7%%an9%Time comes to a grinding halt!  %an0}
  9. {:ESM} {SETE-P0 ESM2} {SETV ch}
  10.   {PARM ,,,,0}
  11.   {INPU ch, PRESS:  [ENTER] to CHAT, [U]seredit, [D]OS, [H]angup}
  12.   {COMP ch,h} {IFCO ESM4}
  13.   {COMP ch,d} {IFCO ESM5}
  14.   {COMP on,} {IFCO ESM}
  15.   {COMP ch,u} {IFCO ESM8}
  16.   {COMP ch,} {IFCO ,ESM}
  17. {:ESM1} {COMP cf,} {IFCO CT8,ESM}
  18. {:ESM2} {SETE-P0 esc_menu}
  19.   {IFCA ,ESM6} {SEND %an3%Then suddenly...} {PAUS 1}
  20. {:ESM6} {RETURN}
  21. {:ESM5} {SHEL} {GOTO ESM}
  22. {:ESM8} {COMP login_name,} {IFCO ESM}
  23.   {SETV lname,%login_name} {INPU lname,EDIT: Handle  (3-30 characters)}
  24.   {COMP lname,1} {IFCO-GE ESM8}
  25.   {LENG %lname} {COMP _len,3} {IFCO-L ESM8}
  26.   {LENG %lname} {COMP _len,30} {IFCO-G ESM8}
  27. {:ESM10} {SETV ch,%al} {INPU ch,EDIT: Access Level  (0-999)}
  28.   {COMP ch,999} {IFCO-G ESM10}
  29. {:ESM9} {SETV temp,%pcpd} {INPU temp,EDIT: Time limit per Day/Call (D/C)}
  30.   {COMP temp,c} {IFCO ESM11}
  31.   {COMP temp,d} {IFCO ,ESM9}
  32. {:ESM11}
  33.   {SETV al,%ch}
  34.   {SETV pcpd,%temp}
  35.   {SETV row,%_row} {SETV col,%_col} {DISP 2,2,0F,%an9 * Saving * }
  36.   {COMP lname,%login_name} {IFCO ESM7}
  37.   {SETV login_name,%lname}
  38.   {SETE time_out}
  39.   {CALL update_clist}
  40. {:ESM7} {CALL write_user}
  41.   {DISP 2,2,07,            }
  42.   {DISP %row,%col,,}
  43.   {SETV row} {SETV col} {SETV lname}
  44.   {GOTO ESM}
  45. {:ESM4} {SETV s,2} {GOTO time_out}
  46.  
  47. {:chat}
  48.   {SETV temp,0} {SETV ccount,0}
  49.   {WOPE-A %datadir%LOG-1.LOG} {WRIT %_tim : Chat request} {WCLO}
  50.   {SEND ^J^M^J%an4%Paging %sysop ...^J^M}
  51.   {SPOC n} {SEND %an3%Press %an0[ESC]%an3 then %an0[ENTER]%an3 to chat with%an7 %login_name %an3...^J^M} {SPOC y}
  52. {:CT7} {INCR ccount} {SETV-S ch,an%ccount}
  53.   {SEND %ch█}
  54.   {SEND ^G} {SEND ^G} {SEND ^G} {PAUS 2}
  55.   {COMP ccount,5} {IFCO-G ,CT7}
  56. {:CT6} {SETV chat,CHAT}
  57.   {SEND ^M%an0%Sorry, %sysop isn't around right now.^J^M}
  58.   {SEND %an0%However, the chat flag has been set.^J^M^J}
  59.   {GOTO CT9}
  60. {:CT8} {SETV tl,%_ela}
  61.   {SETG 240,time_out}
  62.   {WOPE-A %datadir%LOG-1.LOG} {WRIT %_tim : Started chat} {WCLO}
  63.   {COMP cb,y} {IFCO ,CT14}
  64.   {CAPT y,%datadir%CHAT.LOG}
  65. {:CT14} {SEND ^J^M^J%an3%You've just entered . . . %an7%The Twilight Zone.  %an3%Reality vanishes.^J^M}
  66.   {SEND %an2(Type "%an0%bye!%an2" on a blank line to exit when desired.)^J^M}
  67.   {SETV cf,1} {SETV co1,%an0} {SETV co2,%an3}
  68.   {SETE-P0 esc_menu}
  69.   {PUSH}
  70. {:CT2} {COMP cf,1} {IFCO CT3}
  71.   {SEND %co2} {SETV cf,1} {GOTO CT4}
  72. {:CT3} {SEND %co1} {SETV cf,2}
  73. {:CT4} {SETV cline}
  74. {:CT5} {SEND ^J}
  75. {:CT13} {SEND ^M%cline}
  76.   {GETS-AH cline,78,CT2}
  77.  
  78.   {COMP cline,/c} ......... {IFCO switch_c}
  79.   {COMP cline,bye!} ....... {IFCO CT1}
  80.   {COMP cline,bye!!} ...... {IFCO time_out}
  81.   {COMP cline,/scroll} .... {IFCO view_scroll}
  82.   {COMP cline,NO CARRIER} . {IFCO time_out}
  83.  
  84.   {LENG %cline}
  85.   {COMP %_len,78} {IFCO-L CT4}
  86.   {SETV ccount,79}
  87. {:CT11} {DECR ccount}
  88.   {COMP ccount,60} {IFCO-LE CT4}
  89.   {SUBS ch,%ccount,1,%cline}
  90.   {COMP ch, } {IFCO ,CT11}
  91.   {COMP ccount,78} {IFCO CT4}
  92.   {INCR ccount}
  93.   {SUBS cline,%ccount,100,%cline}
  94. {:CT12} {COMP ccount,%_len} {IFCO-G CT5}
  95.   {SEND ^H ^H}
  96.   {INCR ccount}
  97.   {GOTO CT12}
  98. {:CT1} {CAPT n}
  99.   {SETV ch,%_ela} {DECR ch,%tl} {INCR tlc,%ch} {SETV tl}
  100.   {SEND ^J^M^J%an3%You've just left . . . %an7%The Twilight Zone.  %an3%Reality restored.^J^M^J}
  101.   {WOPE-A %datadir%LOG-1.LOG} {WRIT %_tim : Ended chat} {WCLO}
  102.   {SETV cf} {SETV co1} {SETV co2} {SETV chat} {SETV cline}
  103.   {POPS}
  104. {:CT9} {SETV ccount}
  105.   {SETE-P0 esc_menu}
  106.   {CALL press_any_key}
  107.   {RETURN}
  108.  
  109. {:switch_c}
  110. {:SW1} {SEND ^M%an0(0 %an1%1 %an2%2 %an3%3 %an4%4 %an5%5 %an6%6 %an7%7%an0)  ^H}
  111.   {GETS-H ch,1,SW1}
  112.   {COMP ch,0} {IFCO-L SW1}
  113.   {COMP ch,7} {IFCO-G SW1}
  114.   {SEND ^M                    ^M}
  115.   {COMP cf,1} {IFCO ,SW3}
  116.   {SETV-S co2,an%ch} {SEND %co2} {GOTO SW4}
  117. {:SW3} {SETV-S co1,an%ch} {SEND %co1}
  118. {:SW4} {SETV cline}
  119.   {GOTO CT13}
  120.  
  121. {:view_scroll}
  122.   {SCROLL}
  123.   {GOTO CT4}
  124.  
  125. {:update_clist}
  126.   {ROPE %datadir%CALLERS.LST,UC1}
  127.   {WOPE %datadir%TEMP.000}
  128. {:UC2} {READ ch} {READ cline} {READ dline}
  129.   {COMP ch,%userno} {IFCO UC3}
  130.   {WRIT %ch} {WRIT %cline} {WRIT %dline} {GOTO UC2}
  131. {:UC3} {COMP s,1} {IFCO UC5}
  132. {:UC4} {WRIT %ch}
  133.   {WRIT %login_name}
  134.   {WRIT %password}
  135. {:UC5} {READ dline} {WRIT %dline} {GOTO UC5}
  136. {:UC1} {WCLO}
  137.   {EXEC-N COPY %datadir%TEMP.000 %datadir%CALLERS.LST}
  138.   {EXEC-N DEL %datadir%TEMP.000}
  139.   {RETURN}
  140.  
  141. {:write_user}
  142.   {WOPE %userdir%%userno.USR}
  143.   {WRIT %login_name}
  144.   {WRIT %password}
  145.   {WRIT %al}
  146.   {WRIT %protocol}
  147.   {WRIT %expert}
  148.   {WRIT %a}
  149.   {WRIT %fa}
  150.   {WRIT %_dwt %_dat}
  151.   {WRIT %rname}
  152.   {WRIT %from}
  153.   {WRIT %pcpd}
  154.   {WRIT %clr2}
  155.   {WRIT %arcer}
  156.   {WRIT %arc}
  157.   {WCLO}
  158.   {RETURN}
  159.  
  160. {:time_out}
  161.   {MACL MACROBBS.MAC,time_out}
  162.  
  163. {:cls}
  164.   {CLEA}
  165.   {COMP on,} {IFCO CLS3}
  166.   {COMP mnu,A} {IFCO CLS1}
  167.   {SEND ^[[2J}
  168.   {GOTO CLS2}
  169. {:CLS1} {SEND ^L}
  170. {:CLS2} {DISP 1,1,4F,│                                                                              }
  171.   {DISP 1,3,4E,%login_name #%userno}
  172.   {DISP 1,40,47,AL=%al}
  173.   {DISP 1,49,47,%mspeed}
  174.   {DISP 1,57,47,%_ela mins}
  175.   {DISP 1,70,4F,%an9%%chat}
  176.   {DISP 2,1,4F,│                                                                              }
  177.   {DISP 2,3,47,%rname  -  %from}
  178.   {DISP 3,1,4F,└──────────────────────────────────────────────────────────────────────────────}
  179.   {DISP 4,1,07,}
  180. {:CLS3} {RETURN}
  181.  
  182. {:press_any_key}
  183.   {COMP mnu,a} {IFCO PAK1}
  184.   {SEND %an3%%an9^[[24;1h^[[24;1f[Press Any Key]%an0}
  185.   {GOTO PAK2}
  186. {:PAK1} {SEND ^J^M^J[Press Any Key]}
  187. {:PAK2} {SETG 300,time_out}
  188.   {GETS-H temp,1,PAK}
  189. {:PAK} {SEND ^M               ^M}
  190.   {SETV temp}
  191.   {RETURN}
  192.  
  193. {:ascii_ul}
  194.   {COMP mnu,A} {IFCO AU1}
  195.   {SEND ^[[2J} {GOTO AU2}
  196. {:AU1} {SEND ^L}
  197. {:AU2}
  198.   {IFEX %dump_file,,AU3}
  199.   {PARM ,,,,%uicd}
  200.   {ASCI-S0 %dump_file,}
  201.   {PARM ,,,,%nicd}
  202. {:AU3} {RETURN}
  203.  
  204. {:expert_tog}
  205.   {COMP expert,ON}
  206.   {IFCO ET1}
  207.   {SETV expert,ON}
  208.   {GOTO ET2}
  209. {:ET1} {SETV expert,OFF}
  210. {:ET2} {RETURN}
  211.  
  212. {:cd}
  213.   {IFCA cd1}
  214.   {COMP on,1} {IFCO time_out}
  215. *-{:cd1} {COMP on,1} {IFCO ,cd2}
  216.   {COMP _ela,%tlc} {IFCO-GE time_out}
  217. {:cd2} {RETURN}
  218.  
  219. {:screen_full}
  220.   {SEND %an4%More? %an7(Y,n) %an0: }
  221.   {SETG 120,SF3}
  222. {:SF1} {GETS-H ch,1,SF2}
  223.   {COMP ch,y} {IFCO SF4}
  224.   {COMP ch,n} {IFCO SF4}
  225.   {SEND ^H} {GOTO SF1}
  226. {:SF2} {SETV ch,y} {GOTO SF4}
  227. {:SF3} {SETV ch,n}
  228. {:SF4} {SEND ^M                  ^M}
  229.   {SETG 300,time_out}
  230.   {RETURN}
  231.  
  232. /\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
  233. /\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
  234. /\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
  235. /\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
  236. /\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
  237.  
  238. {:start}
  239.   {PUSH}
  240.   {SETE time_out}
  241.   {CALL cd}
  242.   {SETV mac,PAK}
  243. {:MP1}
  244.   {SETV n} {SETV ta} {SETV em} {SETV ul}
  245.   {SETV files} {SETV desc} {SETV filepath}
  246.   {SETV tran} {SETV transdir} {SETV proto} {SETV tl}
  247.   {SETE-P0 esc_menu}
  248.   {COMP expert,ON} {IFCO MP4}
  249. {:MP8} {CALL cls}
  250.   {SEND ^J^M^J^J%an4%}
  251.   {SEND ^J^M             ┌───────────────────────────────────────────────────┐}
  252.   {SEND ^J^M             │ %an0░░░░░░░░░░░░░░░░░%an7 Message Packer %an0░░░░░░░░░░░░░░░░%an4 │}
  253.   {SEND ^J^M             └───────────────────────────────────────────────────┘^J^M}
  254.  
  255.   {SEND ^J^M                %an4[%an0%A%an4] Archiver                  %an4[%an0%M%an4] Message Base}
  256.   {SEND ^J^M                %an4[%an0%T%an4] Tag Areas                 %an2[%an0%F%an2] File Base}
  257.   {SEND ^J^M                %an4[%an0%D%an4] Download Packet           %an0[%an0%Q%an0] MAIN MENU}
  258.  
  259.   {SEND ^J^M^J                        %an4[%an0%C%an4] Chat     [%an0%X%an4] Xpert Toggle
  260.                                   
  261. {:MP4} {SEND ^J^M^J%an4%Message Packer   %an0%%_tim^J^M}
  262.   {SETV ch,%tlc} {DECR ch,%_ela}
  263.   {SEND %an0%Mins Left: %ch^J^M}
  264. {:MP5} {CALL cd}
  265. {:MP7} {SEND ^M} {COMP expert,ON} {IFCO ,MP9}
  266.   {SEND %an4(%an0%?%an4=menu) }
  267. {:MP9} {SEND %an7%MP Command:  ^H}
  268.   {SETG 300,time_out}
  269.   {GETS-H ch,1,MP5}
  270. {:MP14}
  271.   {SETV dline,uph} {INST dline,%ch} {IFCO ,MP3} {COMP al,0} {IFCO MP6}
  272. {:MP3}
  273.   {COMP ch,*} {IFCO time_out}
  274.   {COMP ch,?} {IFCO MP8}
  275.   {COMP ch,a} {IFCO archiver}
  276.   {COMP ch,d} {IFCO download}
  277.   {COMP ch,t} {IFCO tag_area}
  278.   {COMP ch,c} {IFCO chat}
  279.   {COMP ch,x} {IFCO expert_tog}
  280.   {COMP ch,f} {IFCO file_base}
  281.   {COMP ch,m} {IFCO msg_base}
  282.   {COMP ch,q} {IFCO ,MP5}
  283.  
  284. {:main} {MACL MACROBBS.MAC,main_menu}
  285.  
  286. {:msg_base}
  287.   {IFEX MACROMSG.MAC,,MP7}
  288.   {IFEX %msgsdir%A%a.BAS,MB2}
  289.   {IFEX %msgsdir%A*.BAS,,MP5}
  290.   {SETV a,0}
  291. {:MB1} {INCR a}
  292.   {COMP a,%mhigh} {IFCO-G MP5}
  293.   {IFEX %msgsdir%A%a.BAS,,MB1}
  294. {:MB2}
  295.   {ROPE %msgsdir%A%a.BAS,MB1} {READ ch} {READ ch} {RCLO}
  296.   {COMP ch,%al} {IFCO-G MB1}
  297.   {SETV files} {SETV dfiles} {SETV desc}
  298.   {MACL MACROMSG.MAC,start}
  299.  
  300. {:file_base}
  301.   {IFEX MACROFIL.MAC,,MP7}
  302.   {IFEX %filedir%F%fa.BAS,FX2}
  303.   {IFEX %filedir%F*.BAS,,MP5}
  304.   {SETV fa,0}
  305. {:FX1} {INCR fa}
  306.   {COMP fa,%fhigh} {IFCO-G MP5}
  307.   {IFEX %filedir%F%fa.BAS,,FX1}
  308. {:FX2}
  309.   {ROPE %filedir%F%fa.BAS,FX1} {READ ch} {READ ch} {RCLO}
  310.   {COMP ch,%al} {IFCO-G FX1}
  311.   {MACL MACROFIL.MAC,start}
  312.  
  313. {:archiver}
  314.   {SEND ^J^M^J%an7%Select a message packer format:^J^M}
  315.   {IFEX %_hom%MBBSARCH.LST,AR1}
  316.   {SETV arcer,ZIP} {SETV arc,pkzip}
  317.   {SEND ^J^M%an1%No packer list found. %an0 Defaulting to%an7 ZIP%an0 format.}
  318.   {GOTO DLR}
  319. {:AR1} {ROPE %_hom%MBBSARCH.LST,AR3}
  320. {:AR2} {READ ch}
  321.  {COMP ch,1} {IFCO-GE ,AR2} {READ temp} {READ dline}
  322.   {SEND ^J^M%an3%%ch. %an0%%temp}
  323.   {GOTO AR2}
  324. {:AR3} {SEND ^J^M^J%an7%Your choice?%an0 }
  325. {:AR5} {GETS ch,2,AR7}
  326.   {ROPE %_hom%MBBSARCH.LST,AR4}
  327. {:AR6} {READ temp}
  328.   {COMP temp,%ch} {IFCO ,AR6}
  329.   {READ arcer} {READ arc} {RCLO}
  330.   {CALL write_user}
  331. {:AR7} {RETURN}
  332. {:AR4} {SEND ^J^M%an1%Invalid selection.} {GOTO AR3}
  333.  
  334. {:tag_area}
  335.   {IFEX %maindir\READER\TAGS\%userno.OLR,,TA2}
  336.   {ROPE %maindir\READER\TAGS\%userno.OLR,TA2}
  337.   {SETV count,0}
  338. {:TA1}
  339.   {INCR count} {READ idx%count} {GOTO TA1}
  340. {:TA2}
  341.   {SEND ^J^M^J%an7%Tag/Untag which area? %an0(area #, L=List, ENTER=Quit): }
  342.   {GETS ch,2,TA6}
  343.   {COMP ch,l} {IFCO TA5}
  344.   {COMP ch,1} {IFCO-GE TA9}
  345. {:TA3}
  346.   {SEND ^J^M%an1%That area doesn't exist!}
  347.   {GOTO TA2}
  348. {:TA9}
  349.   {IFEX %msgsdir%A%ch.BAS,,TA3}
  350.   {ROPE %msgsdir%A%ch.BAS,TA3} {READ bname} {READ bal} {RCLO}
  351.   {COMP al,%bal} {IFCO-GE ,TA3}
  352.   {COMP idx%ch,} {IFCO TA4}
  353.   {SEND ^J^M^J%an7%%bname %an0- %an1%Untagged.}
  354.   {SETV idx%ch,}
  355.   {GOTO TA2}
  356. {:TA4}
  357.   {SEND ^J^M^J%an7%%bname %an0- %an2%Tagged.}
  358.   {SETV-S idx%ch,a%ch}
  359.   {GOTO TA2}
  360. {:TA5}
  361.   {CALL cls}
  362.   {SETV count,0} {SETV mcount,0}
  363.   {SEND ^J^M%an7  Message Area(s):^J^M}
  364. {:AC1}
  365.   {SETV temp}
  366.   {INCR count}
  367.   {COMP count,%mhigh} {IFCO-G TA2}
  368.   {IFEX %msgsdir%A%count.BAS,,AC1}
  369.   {ROPE %msgsdir%A%count.BAS,AC9} {READ bname} {READ bal}
  370.   {READ temp} {READ temp} {READ temp} {READ temp} {RCLO}
  371. {:AC9}
  372.   {COMP al,%bal} {IFCO-L AC1}
  373.   {SETV ch, }
  374.   {COMP idx%count,} {IFCO AC2}
  375.   {SETV ch,-}
  376. {:AC2} {COMP temp,y} {IFCO AC10}
  377.   {SEND ^J^M%an3%%ch %an7%%count> %an4%%bname} {GOTO AC8}
  378. {:AC10}
  379.   {SEND ^J^M%an3%%ch %an7%%count> %an5%%bname}
  380. {:AC8}
  381.   {INCR mcount} {COMP mcount,20} {IFCO ,AC1}
  382.   {CALL screen_full}
  383.   {COMP ch,y} {IFCO AC1,TA2}
  384. {:TA6}
  385.   {CALL write_idx}
  386.   {RETURN}
  387.  
  388. {:download}
  389.   {IFEX %maindir\READER\TAGS\%userno.OLR,,DLE}
  390.   {ROPE %maindir\READER\TAGS\%userno.OLR,DL2}
  391.   {SETV count,0} {SETV temp,0}
  392. {:DL1}
  393.   {INCR count} {READ idx%count}
  394.   {COMP idx%count,} {IFCO DL1}
  395.   {SETV-S idx%count,a%count} {INCR temp} {GOTO DL1}
  396. {:DL2}
  397.   {COMP temp,0} {IFCO DLE}
  398.   {SETV count,0} {SETV total,0}
  399.   {SEND ^J^M^J^J%an0 Area                          Unread
  400.   {SEND ^J^M%an0 Name                           Msgs
  401.   {SEND ^J^M%an4----------------------------------------
  402. {:DL3}
  403.   {INCR count} {COMP count,%mhigh} {IFCO-G DL4}
  404.   {COMP idx%count,} {IFCO DL3}
  405.   {IFEX %msgsdir%A%count.BAS,,DL3}
  406.   {ROPE %msgsdir%A%count.BAS,DL3}
  407.   {READ bname} {READ temp} {READ temp} {READ temp} {READ ch} {RCLO}
  408. {:DL305}
  409.   {SETV-S temp,idx%count} {DECR temp} {DECR ch,%temp}
  410.   {SETV dline,                              } {SETV temp}
  411.   {LENG %bname} {SUBS %temp,%_len,30,%dline}
  412.   {SEND ^J^M%an7 %bname%%temp %ch} {INCR total,%ch}
  413.   {GOTO DL3}
  414. {:DL4}
  415.   {SEND ^J^M%an4----------------------------------------
  416.   {SEND ^J^M%an0                       Total:    %an3%%total}
  417.   {SEND ^J^M^J}
  418.   {COMP total,0} {SETV total} {IFCO DLE3}
  419. {:DL5}
  420.   {SEND ^M%an0%Pack these messages? (%an7%Y,%an0%n):%an7  ^H}
  421.   {GETS-H ch,1,DL6}
  422.   {COMP ch,n} {IFCO DLR2}
  423.   {COMP ch,y} {IFCO ,DL5}
  424. {:DL6}
  425.   {EXEC-N DEL %maindir\READER\PACKET.*}
  426.   {SEND ^J^M%an7%Scanning tagged message areas...^J^M}
  427.   {SETV mcount,0} {SETV count,0} {SETV temp,0}
  428. {:DL7}
  429.   {INCR mcount} {COMP mcount,%mhigh} {IFCO-G DL9}
  430.   {COMP idx%mcount,} {IFCO DL7}
  431.   {ROPE %msgsdir%A%mcount.BAS,DL7}
  432.   {READ bname} {READ temp} {READ temp} {READ temp} {READ ch} {RCLO}
  433.   {SEND ^M%an1%%bname
  434.   {COMP idx%mcount,%ch} {IFCO-LE ,DL7}
  435.   {SETV-S temp,idx%mcount}
  436. {:DL8}
  437.   {EXEC-N ECHO   >> %maindir\READER\PACKET.ASC}
  438.   {EXEC-N ECHO Msg# %temp in area: %bname >> %maindir\READER\PACKET.ASC}
  439.   {EXEC-N TYPE %msgsdir%A%mcount\%temp.MSG >> %maindir\READER\PACKET.ASC}
  440.   {INCR temp} {COMP temp,%ch} {IFCO-G DL7,DL8}
  441. {:DL9}
  442.   {SEND ^M%an5%Packing in %an7%%arcer%%an5 format...}
  443.   {EXEC-N %arc %maindir\READER\PACKET %maindir\READER\PACKET.ASC}
  444.   {EXEC-N DEL %maindir\READER\PACKET.ASC}
  445.   {SEND %an0%Done.^J^M}
  446.   {SETV files,PACKET.%arcer}
  447.   {SETV transdir,%maindir\READER}
  448.   {SETV filepath,%transdir\%files}
  449.   {SETV proto,S%protocol}
  450.   {IFEX MBXPRO-%protocol.MAC,,DL14}
  451.   {ROPE MBXPRO-%protocol.MAC,DL14} {READ dline} {READ pname} {READ path} {RCLO}
  452.   {IFEX %path,,DLE2}
  453.   {MACL MBXPRO-%protocol.MAC,start}
  454. {:pdoor}
  455.   {COMP %_err,0}
  456.   {EXEC-N DEL %maindir\READER\PACKET.*}
  457.   {IFCO DL11}
  458.   {WOPE-A %datadir%LOG-1.LOG} {WRIT ▒░▒░▒  ERRONEOUS PACKET DOWNLOAD at %_tim of %filepath  ▒░▒░▒} {WCLO}
  459.   {SEND   %an1%Erroneous download.^J^M}
  460.   {COMP expert,ON} {IFCO DL10}
  461.   {CALL press_any_key}
  462. {:DL10}
  463.   {SETV files} {SETV filepath} {SETV transdir} {SETV proto}
  464.   {POPS-C}
  465.   {GOTO start}
  466. {:DL11}
  467.   {WOPE-A %datadir%LOG-1.LOG} {WRIT %_tim : successful packet download of %filepath} {WCLO}
  468.   {SEND   %an7%Successful download.}
  469.   {SEND ^J^M^J%an5%Updating message pointers...}
  470.   {SETV ch,0}
  471. {:DL12}
  472.   {INCR ch} {COMP ch,%mhigh} {IFCO-G DL13}
  473.   {COMP idx%ch,} {IFCO DL12}
  474.   {IFEX %msgsdir%A%ch.BAS,,DL12}
  475.   {ROPE %msgsdir%A%ch.BAS,DL12}
  476.   {READ temp} {READ temp} {READ temp} {READ temp} {READ temp} {RCLO}
  477.   {INCR temp} {SETV idx%ch,%temp} {SETV a%ch,%temp}
  478.   {GOTO DL12}
  479. {:DL13}
  480.   {CALL write_idx}
  481.   {GOTO DL10}
  482. {:DL14}
  483.   {COMP proto,sy} {IFCO s_y}
  484.   {COMP proto,sg} {IFCO s_y}
  485. {:s_x}
  486.   {SEND ^J^M%an0%Start your%an7 XMODEM%an0  download now.}
  487.   {SXMO-K %filepath}
  488.   {GOTO pdoor}
  489. {:s_y}
  490.   {SEND ^J^M%an0%Start your%an7 YMODEM%an0 download now.}
  491.   {SYMO-K %filepath}
  492.   {GOTO pdoor}
  493. {:DLE} {SEND ^J^M^J%an1%You have no TAGGED message areas. %an0 Select "T" to Tag areas.^J^M^J}
  494.   {GOTO DLR}
  495. {:DLE3} {SEND ^J^M%an1%No new messages found.^J^M^J}
  496.   {GOTO DLR}
  497. {:DLE2} {SEND ^J^M%an1"%path" not found.^J^M^J}
  498. {:DLR} {SETV ch,0}
  499. {:CLR} {INCR ch} {COMP ch,%mhigh} {IFCO-G CLR1} {SETV idx%ch} {GOTO CLR}
  500. {:CLR1} {CALL press_any_key}
  501. {:DLR2} {RETURN
  502.  
  503. {:write_idx}
  504.   {WOPE %maindir\READER\TAGS\%userno.OLR}
  505.   {SETV ch,0}
  506. {:WI1} {INCR ch} {COMP ch,%mhigh} {IFCO-G WI2}
  507.   {SETV-S temp,idx%ch} {WRIT %temp} {SETV idx%ch} {GOTO WI1}
  508. {:WI2} {WCLO}
  509.   {WOPE %msgsdir%INDEX\%userno.IDX}
  510.   {SETV ch,0}
  511. {:WI3} {INCR ch} {COMP ch,%mhigh} {IFCO-G WI4}
  512.   {SETV-S temp,a%ch} {WRIT %temp} {GOTO WI3}
  513. {:WI4} {WCLO} {SETV temp}
  514.   {RETURN}
  515.  
  516.