home *** CD-ROM | disk | FTP | other *** search
/ Beijing Paradise BBS Backup / PARADISE.ISO / software / BBSDOORW / FMNU11H.ZIP / MENU!.DOC < prev    next >
Text File  |  1996-05-17  |  25KB  |  571 lines

  1.  
  2.         ▄▄██████▄▄▀████████▄▀█████        ▄▄██████▄▄▀██████▄      ▄████▄
  3.        █████▌▐████▄▀██▌▐█████ ████       █████▌▐█████ █████      ████████
  4.       ▐█████  █████▌▐█  █████▌▐███ ▄▄█  ▐█████  █████▌▐████      ████████
  5.       ██████ ▐████▀▀▄█ ▐█████▌▐██████▀  ██████ ▐██████ ████      ████████
  6.       ██████ ▀▀▀▄▄████▄██████▌▐███▀     ▀▄▀███▄███████ ████    ▄▄▄▄▀█████
  7.       █████████ ██████▀ █████▌▐███ █▄▄▄███ ███▀ ██████ ████ ▄██████▌▐████
  8.       ██████▀▀▀ ██████  █████▌▐███ ▐██████▌▐██  ██████ ████  ██████ ████▀
  9.       ██████    ██████  █████▌▐███  ██████ ███  ██████ ████  █████▌▀▀▀▀
  10.       ██████    ██████  █████▌▐███  █████▌▐███  ██████ ████  █████▌▐███▄
  11.       ██████    ██████  █████▌▐███▌▐████▌▐████  ██████ ████▌▐████▀▄██████
  12.      ▄██████▄  ▄██████  █████▌▐███████▀▀▄█████  ██████ ████████▀▀ ▀█████▀ aC!
  13.  
  14.             ■■■ QUALiTY FRεεWARε AND SHARεWARε AT L0WεST PRiCεS! ■■■
  15.  
  16.  
  17.                           ^^ FATAL! PRESENTS ^^
  18.  
  19.                   [ MENU! v1.1h FOR REMOTE ACCESS 2.0X ]
  20.  
  21.  
  22. .Disclaimer.
  23.  
  24. This program is released as SHAREWARE which means that you may evaluate it
  25. for a reasonable period of time (usually 30 days) and then either
  26. register it or delete it COMPLETELY off your hard disk !
  27. Please read more information about registering in the REGISTER.NOW file.
  28. Disassembling or changing the program (.exe) files is strictly prohibited
  29. and is a violation of the copyright owned by the author !
  30. I guarantee that this program needs some space on your hard disk.
  31. I don't take any responsibility for damages caused by the program.
  32.  
  33.  
  34.  
  35. .What is it?.
  36.  
  37. FaTAL!MENU is not the first but the most comprehensive LIGHTBAR utility
  38. for Remote Access 2.0x. You can define custom lightbar driven menus that
  39. will guide your users through your board very comfortably by using the
  40. cursor keys or defined hotkeys.
  41. This tool is able to replace a lot of other tools flying around, offering
  42. even more functions than most of them. It will easily do the following jobs:
  43.  
  44. - Your Mainmenu, Filemenu, Message menu etc. :-)
  45. - Quick Login
  46. - Upload manager (Private upload, normal upload etc.)
  47. - Lightbar-Logoff
  48. - Ansi-BBS-Addys
  49. - Comment to Sysop-crew (buit-in or external message editor!)
  50. - Door-executer
  51. - Lightbar Bulletins with animated enter prompts
  52.  
  53.  
  54.  
  55. .The features at a glance.
  56.  
  57. - Supports .ANS / .AVT / .ASC and .PCB (!) files
  58. - Supports RAL Prompts and ANSI nesting
  59. - Associate hotkeys with lightbars
  60. - You can define min/max security level and flags for each lightbar
  61. - "Hidden" lightbars only reachable by hotkey
  62. - Multiple commands for each lightbar possilbe
  63. - Nice info text for each lightbar definable just like in setup programs :)
  64. - Autoexec-lightbars
  65. - RA-Menu-jumps (like fatal!doors did)
  66. - RA-Hotkey-stuffing ("simulates" a keypress for RA)
  67. - Internal menu structure with 50 levels deep GOSUB/RETURN and GOTO commands
  68. - ESC-Key definable
  69. - Random enter prompts (see also special FATAL! control codes)
  70. - No jumpy cursor, it is hidden on both sysop's and user's end
  71. - USERDOES-Support, definable for each menu (FaTAL!WHO recommended)
  72. - Nice scrolly feature supporting PCB colorcodes AND RA-CONTROL-CODES !!
  73.  
  74.  
  75.  
  76. .The new FATAL!-DOOR-ENGINE supports the following:
  77.  
  78. - PCB color codes (@-Codes) in ansis and prompts !
  79. - RA control (^K/^F) and color codes
  80. - Some special FATAL! control codes like Animated enter prompts in ansis
  81.   using the @Yxxx-yyy command (xxx=RandomStart, yyy=RandomEnd)
  82. - Receiving of online-messages in a nice popup-window
  83. - RA semaphore files support (RAXITx.x - see RA.DOC)
  84. - Built in ANS and AVT decoding for local screen
  85. - Sysop can terminate the door with ALT-X without any changes being written
  86. - Sysop can see user's password with ALT-P
  87.  
  88.  
  89.  
  90.  
  91. --------------------------.How to use it.------------------------------------
  92.  
  93. There are three main ways in using MENU!, the well known "menu jump" ,
  94. the "stuff Key" and the new "modify menu" method.
  95.  
  96. MENU JUMP METHOD:
  97.  
  98. You create a new .MNU file using RACONFIG, putting an AUTOEXEC MENU 7
  99. (External Program) in the first line, to start MENU!.
  100. the second line is a RETURN FROM GOSUB which makes RA read the menu stack
  101. and return to the menu in the stack. Since MENU! changes this entry, RA will
  102. jump where you want and thus giving the possibility to branch into different
  103. RA menus, controlled by FaTAL!MENU.
  104. (See JUMP command in the command description)
  105.  
  106.  
  107. STUFF KEY METHOD:
  108.  
  109. In the main menu for example, instead of showing a "TEXTFILE WITH MENU HOTKEYS"
  110. you AUTOexecute the FaTAL!MENU which then "simulates" a keypress to RA by
  111. stuffing it into the local keyboard buffer and exiting MENU!.
  112. This gives you the possibility to make almost EVERYTHING lightbar-controlled.
  113. But for this to work the user MUST HAVE HOTKEYS "ON" in his user record !
  114. (See STUFF command in the command description)
  115.  
  116. MODIFY MENU METHOD:
  117.  
  118. You create a new .MNU File where you put as many lines like your BBS has into,
  119. each line must be AUTOEXEC and only allowed for one node. Have a look at the
  120. enclosed !FTLMENU.MNU, thats the one I use :)
  121. In the CTL file then you use the command MODIFY to change the line matching
  122. the actual node number to another TYPE and OPTION and then JUMP to the menu.
  123. By doing this you can save a lot of tiny .MNU files by just modifying one
  124. to the function you need right then.
  125.  
  126.  
  127. HOW TO DEFINE THE LIGHTBARS:
  128.  
  129. Defining the lightbars is very easy on one hand but somehow dangerous on the
  130. other hand, since you have to be sure not to make definition mistakes !
  131. Lightbars are currently defined by special characters for start and end
  132. directly in the ANSI file. The character is a ASCII 173 (ALT-173) which
  133. looks like "¡". Is you for example want to define 2 lightbars for a
  134. "quick login" you would do it as following in your ANSI editor:
  135.  
  136.     ¡ Quick Login ¡  ¡ Normal Login ¡
  137.  
  138. for a left-right arrangement or
  139.  
  140.     ¡ Quick Login  ¡
  141.     ¡ Normal Login ¡
  142.  
  143. for an up-down arrangement.
  144.  
  145. When you are ready with your ansi (of course there shouldn't be any ¡'s
  146. except those for the lightbars!) you can test it and wander around with the
  147. Lightbars. You should use the the same fore- and background color for the ¡'s
  148. so they won't be visible later.
  149.  
  150. Please note:
  151.  
  152. It's best to have straight columns and rows of lightbars like
  153.  
  154.     LIGHTBAR    LIGHTBAR
  155.     LIGHTBAR    LIGHTBAR
  156.     LIGHTBAR    LIGHTBAR
  157.  
  158. and to AVOID arrangements like
  159.  
  160.     LIGHTBAR    LIGHTBAR
  161.           LIGHTBAR
  162.     LIGHTBAR    LIGHTBAR
  163.  
  164. since the program wouldnt know to which column the middle lightbar belongs!
  165.  
  166. Now that you have defined all lightbars in the ANSI, you have to define
  167. the actions taken when pressing ENTER on a lightbar.
  168. To do this you must understand how the positions are made up because in the
  169. .CTL file you have to state a number representing a lightbar.
  170. Your ANSI file must be 23 lines long. The lightbar tags are counted from
  171. top-left to bottom-right as follows:
  172.  
  173. All lightbars in the leftmost column have their Y-position in the ANSI as tag.
  174. All lightbars in the second column have their Y-position + 23 as tag.
  175. So for each additional lightbar-column you have to add 23 to the Y-postion.
  176.  
  177. An Example:
  178.         column 1     column 2     column 3
  179.    -----------------top of ansi---------------------
  180.  1 |
  181.  2 |
  182.  3 |
  183.  4 |    LIGHTBAR1    LIGHTBAR3    LIGHTBAR4
  184.  5 |    LIGHTBAR2
  185.  6 |
  186.  . |
  187.  . |
  188.  . |
  189. 23 |
  190.    -----------------end of ansi---------------------
  191.  
  192. LIGHTBAR1 : Tag 4            because Y-position is 4
  193. LIGHTBAR2 : Tag 5            because Y-position is 5
  194. LIGHTBAR3 : Tag 23+4=27      because Y-position is 4 in the second column
  195. LIGHTBAR4 : Tag 23+23+4=50   because Y-position is 4 in the third column
  196.  
  197. You have to state the lightbar tag after the MENU= command.
  198. (see command description below).
  199.  
  200. For our little example it would look like:
  201.  
  202. MENU=04,<commands for LIGHTBAR1>
  203. MENU=05,<commands for LIGHTBAR2>
  204. MENU=27,<commands for LIGHTBAR3>
  205. MENU=50,<commands for LIGHTBAR4>
  206.  
  207. This kind of numbering has the advantage that you can easily insert light-
  208. bars without having to change all the MENU= lines.
  209.  
  210.  
  211.  
  212. In the [DEFAULT] menu block you can define global commands valid for the
  213. ctl file. these defaults can be overridden in any menu block.
  214.  
  215.  
  216.  
  217.  
  218. -----------------------.Commandline Parameters.------------------------------
  219.  
  220. MENU!.EXE <menu> [/C<ctlfile>] [/REM]
  221.  
  222. <menu>      must be specified and defines the CTL menu block to start in.
  223.  
  224. /C<ctlfile> tells MENU! to read ALL informations from the specified CTL File.
  225.  
  226. /REM        makes MENU! "remember" the CTL menu block where it was before.
  227.             This overrides the also given <menu> which still MUST be given.
  228.             In case no POSFILE is found MENU! starts at <menu>.
  229.             THIS ONLY WORKS IN REGISTERED MODE AND IN CONJUNCTION WITH A
  230.             POSFILE -> (see below).
  231.  
  232.  
  233. WARNING:    Be sure to use the *M parameter when calling MENU! from RA
  234.             otherwise there might be not enough free conventional RAM for
  235.             MENU! to work proberly.
  236.  
  237.  
  238. ---------------------.CTL File Commands Overview.----------------------------
  239.  
  240. The MENU!.CTL file MUST be plain ASCII with <CR> terminated lines, use an
  241. ASCII editor like DOS's EDIT.COM !
  242.  
  243.  
  244. [<label>]         : Start label for each menu block in the .CTL file.
  245.  
  246. REGCLR=b,f        : Color definition for the copyright and register-info line
  247.                     at the bottom of the screen. b=background,f=foreground.
  248.                     {+} Registered only
  249.  
  250. ANSI=<file>       : Background ANSI for the menu block where the lightbars
  251.                     are defined in.
  252.  
  253. LIGHTBARCLR=b,f   : Color definition for the active lightbar, the inactive
  254.                     colors are taken from the ANSI.
  255.  
  256. USERDOES=<text>   : USERDOES-info for the menu block, is written to the
  257.                     USERDOES.x file created by MENU!.
  258.  
  259. MINSCROLLBPS=x    : Used in the [DEFAULT] menu block to define the minimum
  260.                     bps rate to show the SCROLLTEXT.
  261.  
  262. SCROLLTXTPOS=x,y  : Defines the starting x/y position for a scrolly
  263.  
  264. SCROLLTXTLEN=x    : Defines the "window", how many chars to show at
  265.                     the same time, range 5-80, keep small as possible
  266.                     'cause it has to be transferred realtime :-)
  267.  
  268. SCROLLSPEED=x     : Most important thing... the SPEED of the scrolly,
  269.                     range 1-30 , 1=Fastest for >14400bps 30=Snail :)
  270.  
  271. SCROLLCLR=b,f     : Default color settings for the scrolly, but you
  272.                     can have it as colourful as you want using the PCB-
  273.                     COLOR CODES in the scrolltext.
  274.  
  275. SCROLLTEXT="<TEXT>" Text to be scrolled. You can define a maximum of 8
  276.                     SCROLLTEXT= lines, they will be linked together
  277.                     internally before scrolling. AND NOW THE HIT:
  278.                     YOU CAN USE RA's CONTROL CODES IN THE TEXT, so
  279.                     you can welcome your users with their NAMES etc. :-)))
  280.                     To do this, I suggest using
  281.                     RACONFIG > MANAGER > CTL-FILES > OTHER and then type
  282.                     MENU!.CTL to edit the CTL with RACONFIG's editor where
  283.                     you can put RA CONTROL CODES into the text by pressing
  284.                     CTRL-P and the code (see RA.DOC)
  285.  
  286. STARTONCE=<tag>   : Defines the lightbar to start at when no position file
  287.                     exists and the internal GOSUB stack is empty.
  288.  
  289. STARTALWAYS=<tag> : Defines the lightbar to start always at regardless what
  290.                     position is in the stack. The position file is also
  291.                     ignored.
  292.  
  293. [END]             : END marker for each menu block in the .CTL file.
  294.  
  295.  
  296. MENU=<tag>,<cmd>  : Definition of action taken when ENTER is pressed on a
  297.                     certain lightbar.
  298.                     <tag> is the lightbar tag number as described above.
  299.  
  300.  
  301. Some commands can only be stated once per MENU= line, These are marked
  302. with an "*" in the description below. Other commands can be chained
  303. and will be processed in the order they are stated (e.g. First show an
  304. ansi, then jump to the upload menu).
  305.  
  306. <cmd> can be one of the following:
  307.  
  308.                 * KEY <ESC,0-9,A-Z>
  309.                     Associates a HOTKEY with the MENU= line. Can only be used
  310.                     once per line. If you define one MENU=00,KEY x,...
  311.                     line then this function can only be called via hotkey,
  312.                     since lightbar 00 will never exist :)
  313.                     If you want to define some hotkeys not in conjunction
  314.                     with lightbars you have to use tags that are not occupied
  315.                     by a lightbar. Remember that each MENU= line (except
  316.                     followups) MUST have a UNIQUE tag number, so MENU=00
  317.                     can only be used ONCE (Useful for the ESC key).
  318.                     KEY ESC defines action taken when ESC is pressed.
  319.  
  320.                 * AUTO
  321.                     Defines the whole line as AUTOEXEC, which means it will
  322.                     be processed instantly when the lightbar is selected,
  323.                     without the need to press ENTER on it.
  324.  
  325.                 * MINSEC <0-65535>
  326.                     Minimal security required for this MENU= line to be
  327.                     processed.
  328.                     {+} Registered only
  329.  
  330.                 * MAXSEC <0-65535>
  331.                     Maximal security required for this MENU= line to be
  332.                     processed. With the security commands it's easy to
  333.                     set up two MENU= lines having the same lightbar
  334.                     tag but different functions depending on the user's
  335.                     security level.
  336.                     {+} Registered only
  337.  
  338.                 * FLX <A1-A8,B1-B8,C1-C8,D1-D8>
  339.                     Flags that the user must have SET for this MENU= line
  340.                     to be processed. FLAG A1A2 means A1 AND A2 must be SET
  341.                     {+} Registered only
  342.  
  343.                 * FLO <A1-A8,B1-B8,C1-C8,D1-D8>
  344.                     Flags that the user must NOT have SET for this MENU= line
  345.                     to be processed. FLAG A1A2 means A1 AND A2 must be SET
  346.                     {+} Registered only
  347.  
  348.                   SHOW <filename> <promptcommand>
  349.                     Shows <filename> to the user and immediately returns if
  350.                     NO promptcommand is given. <promptcommand> can be
  351.                     0 for the RAL-prompt or xx RND yy z for a FATAL! Prompt
  352.                     like used with all the other FATAL! Programs.
  353.                     xx is the prompt to start at, RND yy, if given, activates
  354.                     the random prompt function selecting a prompt between
  355.                     xx and yy automatically. z is the number of blank lines
  356.                     MENU! will insert after the ANSI before showing the prompt.
  357.                     Remember: The FATAL! Prompts must be in <RA-DIR>\PROMPTS.
  358.  
  359.                   EXEC <filename.ext> <parameters>
  360.                     Executes <filename> as a sub-door from within MENU! with
  361.                     auto-memory-swap feature, giving as much as possible of
  362.                     free DOS memory for the sub-door. <parameters> are passed
  363.                     to the program as command-line parameters, substituting
  364.                     *B with the DTE BPS RATE, *P with the COM PORT (1-4),
  365.                     *C with the PORT (0-3) and *N with the actual NODE NUMBER.
  366.  
  367.                   JUMP <ramenu>
  368.                     Writes <ramenu> to the exitinfo-menustack and terminates
  369.                     MENU!, causing RA to jump to <ramenu> when it encounters
  370.                     the next RETURN FROM GOSUB command.
  371.                     THERE CAN BE SEVERAL <RAMENU> TO JUMP INTO !
  372.                     NOTE THAT THEY WILL BE EXECUTED IN REVERSE ORDER THAN
  373.                     STATED, Example:
  374.                     JUMP TOP SCAN MESSI is executed by RA in the order
  375.                     MESSI -> SCAN -> TOP !!!
  376.                     REQUIREMENT:
  377.                     EACH MENU *MUST* END WITH A AUTO-RETURN COMMAND !
  378.  
  379.  
  380.                   STUFF <keystroke>
  381.                     Puts <keystroke> into the local keyboard buffer and
  382.                     terminates MENU!, causing RA to interpret the "stuffed"
  383.                     key as the user's keystroke and to take actions defined
  384.                     in the RA menu where MENU! is called from.
  385.                     WARNING: This only works with HOTKEYS "ON" in user's
  386.                     setup !!!
  387.  
  388.                   MODIFY <.MNU-File> TYPE:<typ> OPT:<option>
  389.                     Modifies the first line in <.MNU-FILE> matching the
  390.                     actual node number to Menu Type <typ> and inserts <option>
  391.                     into the option-line.
  392.                     For the RA-Type definitions please see RA.DOC :-)
  393.  
  394.                   RZ <path>
  395.                     Activates the INTERNAL Z-Modem Protocol to receive
  396.                     files from the user into the directory <path>.
  397.                     The internal Z-Modem is ZedZap8k compatible (8k Blocks!)
  398.  
  399.                   SZ <file>
  400.                     Activates the INTERNAL Z-Modem Protocol and sends
  401.                     <file> to the user.
  402.  
  403.                   GOTO <menublock>
  404.                     Causes MENU! to read the [<menublock>] defined block
  405.                     from the .CTL file without remembering where it came from.
  406.  
  407.                   GOSUB <menublock>
  408.                     Causes MENU! to read the [<menublock>] defined block
  409.                     from the .CTL file, remembering up to 50 levels deep
  410.                     where the GOSUB was executed from.
  411.  
  412.                   RETURN
  413.                     Causes MENU! to return to the last menu where a GOSUB
  414.                     was encountered or, if the stack is empty, to terminate
  415.                     MENU! like QUIT does.
  416.  
  417.                   QUIT
  418.                     Terminates MENU! with errorlevel 0, saving back the
  419.                     EXITINFO.BBS for RA to recognize changes made with the
  420.                     built-in usereditor for example.
  421.  
  422.                   MSG [AREA:<areanum>] [TO:<name>] [SUBJ:<text>] [PVT]
  423.                     Initiates the built-in message-write functions.
  424.                     If AREA:<areanum> is stated with a valid area number, the
  425.                     user will write the message into that area, if it's set
  426.                     to 0 or not stated at all, the user will write in his
  427.                     active message area.
  428.                     If area type is "pick an alias", the user is prompted
  429.                     for an alias to use.
  430.                     if TO:<name> is stated, the message will be adressed to
  431.                     that person regardlessly if it exists in the userbase
  432.                     or not otherwise the user is prompted for the receiver
  433.                     and depending on the type of area (Echomail/Local) the
  434.                     receiver must exist in the userbase or not.
  435.                     if SUBJ:<text> is stated, the message will be sent with
  436.                     <text> in the subject field, otherwise the user will be
  437.                     prompted for a message subject.
  438.                     if PVT is stated, the message will be private if the
  439.                     area is a PRIVATE/PUBLIC type.
  440.                     If the user has FULL SCREEN editor set to "YES" and the
  441.                     EXTERNAL EDIT line in RACONFIG is NOT EMPTY, the external
  442.                     editor will be called, otherwise a simple internal line-
  443.                     editor is used.
  444.                     {+} External Editor only in Registered version
  445.  
  446.                 * NOPOSFILE
  447.                     Tells MENU! not to save the lightbar position file
  448.                     to disk at shutdown. Useful before logging the user off
  449.                     so the next user has "fresh" positions.
  450.                     {+} Registered only
  451.  
  452.                 * NOSAVEPOS
  453.                     Tells MENU! not to save the position of the actual menu
  454.                     to the position file when processing a GOTO, GOSUB,
  455.                     RETURN, STUFF, JUMP or QUIT command, useful for a
  456.                     "quit"-lightbar, so the lightbar doesn't reappear
  457.                     on "quit" when restarting the menu.
  458.                     {+} Registered only
  459.  
  460.                 * INFO <xx>,<yy>,<len>,"<text>"
  461.                     INFO defines a help line, displaying <text> at position
  462.                     xx,yy with length len. The rest will be filled with
  463.                     blank spaces. If the infoline is longer than len, the
  464.                     rest will be cut off.
  465.                     Use the pcb-codes for colors :).
  466.                     It is recommended to state an extra MENU= line with the
  467.                     same tag as the MENU= line the help is for.
  468.  
  469.  
  470.  
  471. ----------------------------.Quick Installation.-----------------------------
  472.  
  473. ..1.. Create a dir preferably in your RA system dir and copy all files to it.
  474.  
  475. ..2.. For a quick demonstration go to that dir and type MENU! MAIN /L.
  476.  
  477. ..3.. Edit an ANSI and save it preferably in .PCB format so you don't need
  478.       separate .ANS and .AVT files !
  479.  
  480. ..4.. Edit the given .CTL file to suit your needs.
  481.  
  482. ..5.. Make up your mind what you want to use FaTAL!MENU for, we will give
  483.       an example here how to install it as a LIGHTBAR-LOGOFF.
  484.  
  485.       So this is the LOGOFF menu block in the .CTL file (without the line
  486.       numbers ofcourse) :
  487.  
  488. ---cut------cut------cut-----
  489. 1.    [LOGOFF]
  490. 2.    REGCLR      =01,11
  491. 3.    ANSI        =LOGOFF
  492. 4.    LIGHTBARCLR =04,15
  493. 5.    USERDOES    =MyWo Lightbar-Logoff
  494.  
  495. 7.    MENU=09,RETURN
  496. 8.    MENU=10,STUFF !,NOPOSFILE
  497. 9.    MENU=11,STUFF %,NOPOSFILE
  498. 10.   MENU=12,GOSUB ADVERTS
  499. 11.   MENU=13,EXEC M:\RA\UTILS\WALL\FTL!WALL.EXE
  500. 12.   MENU=14,EXEC M:\RA\UTILS\STN\STN.EXE
  501.  
  502. 14.   [END]
  503. ---cut------cut------cut-----
  504.  
  505.  
  506. Explanation:
  507.  
  508. Line 1 : The start label, must be unique in the ctl file to find the block
  509.  
  510. Line 2 : REGCLR gives REGISTERED sysops the opportunity of changing the
  511.          colors of the bottom line "Fatal!Menu by Electron/Fatal" and
  512.          to switch it off completely with REGCLR=00,00 !
  513.  
  514. Line 3 : ANSI defines the background-ansi to show (w/o extension!)
  515.  
  516. Line 4 : LIGHTBARCLR defines how the active lightbar will look like
  517.          (Background,Foreground)
  518.  
  519. Line 5 : USERDOES defines what users on other lines will see in FaTAL!WHO
  520.  
  521. Line 7 : MENU=09 means this is the control-line for the leftmost lightbar
  522.          found in line 9 (counted from top of screen)
  523.          RETURN means pressing ENTER here will return to the calling menu
  524.          if there is one or exit MENU! if this was the first menu
  525.  
  526. Line 8 : STUFF ! means pressing ENTER on this lightbar will STUFF the "!"
  527.          into sysop's keyboard buffer and exiting MENU! immediately so
  528.          that RA recognises the "stuffed" keypress and reacts in it's menu.
  529.          NOPOSFILE stops MENU! from saving the lightbar position.
  530.  
  531. Line 9 : Same as for line 8, here we stuff a "%" into the buffer
  532.  
  533. Line 10: GOSUB ADVERTS branches to the ADVERTS menu block in the CTL file, if
  534.          not defined, MENU! will exit with an error message to sysop and user.
  535.  
  536. Line 11: EXEC is the command to call "sub-doors" from MENU! (with ext!)
  537.  
  538. Line 12: same as for line 11
  539.  
  540. Line 14: The end label, vital for MENU! to find it's way through the nasty
  541.          ASCII rubbish :-)
  542.  
  543.  
  544.  
  545.  
  546.  
  547.  
  548.  
  549.  
  550.                                                        __.       ____
  551.                                                       /  |      /   /\
  552.        ____________________________________ _________/   |     /   /  \
  553.        \                |      \           |       \     |     \      /
  554.         \______  _______|__     \______    |___     \    |      \    /
  555.             /         /          \  /      |         \   |       \  /
  556.            /     ____/    _       \/       |  _       \  |_______ \/
  557.         :  \       | |    |       /\       |  |       /         / /\ :
  558.        ::: :\    __|:|____|__    / :\    __|__|__    /   ______/:/  \ ::
  559.        |:::::\  /::::::::::::\  /::::\  /::::::::\  /\  /::::::::\  /::|
  560.       -+------\/--------------\/------\/----------\/--\/----------\/---+-
  561.        |      ---/\/ ALWAYS THE LATEST REMOTE ACCESS WAREZ \/\---      |
  562.  
  563.  
  564. ***************************************************************************
  565.  
  566.     UPDATES ARE FREE DOWNLOAD IN MYSTERIOUS WORLDZ BBS (+49-30-8329130)
  567.     AND ALL REG- AND DISTSITES AROUND. DON'T MISS TO CALL TODAY.
  568.  
  569. ***************************************************************************
  570.  
  571.