User Tools

Site Tools


menus

This is an old revision of the document!


MENU SYSTEM


ANATOMY OF A MENU

The BBS menus are the core of the BBS system. It is where all BBS commands and functions available to the user are defined and setup. Mystic BBS supports an unlimited number of defined menus which can be setup in any way, allowing a totally customizable and unique interface for the user.

Each menu consists of a Settings page where general options are defined for the menu, along with an options list, where options that appear on the menu can be defined. Each option will have one or more “menu commands” associated to it that are executed when the option is selected. In order words, a menu option defines the option that is presented to the user and the menu command(s) associated with the option define what the BBS actually does when the option is executed.

Menus can be configured to automatically generate a list of options based on the options configured, or the internally generated menu can be replaced by a display file (in the Settings page).

There are more advanced techniques such as automatic executing menu options based on specific details or even based on time, as well as menu option stacking that will be discussed in more detail in an advanced menu editing section.


USING THE MENU EDITOR

When first entering the menu editor, you will be prompted to select which theme definition you'd like to edit. It is possible to have different sets of menus for each theme!

After you've selected the theme you'd like to edit, you will be shown the main menu selection screen:

         █▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ Menu Editor (Default) ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▄
         █ Menu Name             Description                     █
         █ ───────────────────────────────────────────────────── █
         █ account               Account change                  ▓
         █ autosig               Edit auto signature menu        ░
         █ bbslist               BBS list menu                   ░
         █ demos                 Demos of various things         ░
         █ doors                 Example doors/games menu        ░
         █ file                  File base menu                  ░
         █ flist                 Download file list menu         ░
         █ fnewscan              Scan for new files menu         ░
         █ fqueue                File queue editor menu          ░
         █ goodbye               Logoff menu                     ░
         █ ───────────────────────────────────────────────────── █
         █                Press / for command list               █
         ▀▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄█ 
  • Select Slash (⁄) to see the Insert, Delete or Copy individual menus
  • Highlight any menu and hit ENTER to modify it.

Command List

When a menu is first opened for editing, the default view is the list of options defined in the menu. This view is presented first because it is the most widely used, but each menu also has a Settings page as well.

█▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ Command list (account) ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▄
█ HotKey     Text                                       ID Exe █
█ ──────────────────────────────────────────────────────────── █
█ A          (A) Address                ->               1   1 ▓
█ B          (B) City/State             ->               2   1 ░
█ C          (C) Zip Code               ->               3   1 ░
█ D          (D) Home Phone             ->               4   1 ░
█ E          (E) Data Phone             ->               5   1 ░
█ F          (F) E-mail Address         ->               6   1 ░
█ G          (G) Password               -> [not shown    7   1 ░
█ H          (H) Screen Length          ->               8   1 ░
█ I          (I) Graphics Mode          ->               9   1 ░
█ J          (J) Date Format            ->              10   1 ░
█ ──────────────────────────────────────────────────────────── █
█                   Press / for command list                   █
▀▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄█
  • Highlight and hit ENTER to select a command
  • Use the slash (⁄) key to see a menu of more options.
█▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▄
█ S Settings         █
█ I Insert           █
█ D Delete           █
█ C Copy             █
█ P Paste            █
█ V View             █
▀▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄█
  • Insert - Insert a new command
  • Delete - Delete the highlighted command
  • Copy - Copy the highlighted command
  • Paste - Paste the copied command
  • View - View the generated menu.
  • Settings - Adjust the settings of the menu

The Menu Settings page will allow for the adjustment of many different features of the menu.

█▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ Menu Settings (account) ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▄
█                                                                    █
█  Description  │ Account change                                     █
█  Access       │ s10                                                █
█  Fallback     │                                                    █
█  Menu Type    │ Standard                                           █
█  Input Type   │ User Defined                                       █
█  Input Chars  │ Uppercase                                          █
█  Use Global   │ No                                                 █
█  Node Status  │                                                    █
█  Display File │                                                    █
█  Display Cols │ 1                                                  █
█  Menu Header  │ |CL ▒ Account Settings for |$R55|UH|CR             █
█  Menu Prompt  │ |CRCommand (Q/Quit) ->                             █
█  X            │ 0                                                  █
█  Y            │ 0                                                  █
▀▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄█
  • Description - Set the description of the Menu as seen in the Menu List.
  • Access - Set the ACS level required for the user to access this menu.
  • Fallback - Defines a fallback menu which is loaded if the user is sent to this menu but does not meet the access requirements. Leaving this value blank will send the user back to the menu they were last on.
  • Menu Type - Select either Standard, Lightbar, Lightbar/Grid, or Lightbar/Prompt
  • Input Type - Select either User Defined, HotKey, or LongKey
  • Input Chars - This defines how user input is visually represented on the menu. If set to Uppercase, then the user input will be displayed as uppercase. Lowercased would display as lowercase, and Hidden will hide all user input from appearing.
  • Use Global - Mystic has a “global” menu, wherre menu options can be defined that will be loaded into this menu if this option is set to Yes.
  • Node Status - Sets the text that will be displayed for the user's “status”. Leaving this option blank will not set the user's status. By default Mystic will set the user status to “Browsing menus” when the user is in a menu.
  • Display File- When left blank, Mystic will automatically generate a menu based on the configured menu options and the user's access to them. However, a menu can be replaced by defining the base filename (the filename without the .asc or .ans extension) to be loaded from the Theme's text directory. Note that “@S” can be used in the filename and will be replaced by the user's security level allowing you to create menus specific to different security levels you may wish to use on your BBS.
  • Display Cols- Sets the number of columns Mystic will use to format the menu options when generating a menu. Valid options are 1-9, or H for Hidden. The H option will not display any generated menu options on the screen.
  • Menu Header - Defines the header to be displayed before the list of generated menu commands. If left blank, no menu header will be displayed. When the default generated menu is replaced by “Display File” then the header will not be displayed. All MCI codes are available for use in menu headers.
  • Menu Prompt - Defines the prompt to be displayed after the menu is displayed. Setting this to blank will display no prompt. The prompt is always displayed regardless of if the menu is generated by Mystic BBS or replaced by a Display File. All MCI codes are available for use.
  • X, Y - The X and Y positions to park the cursor after the menu has been drawn on the screen. These are only used in the Lightbar-type Menu types.
TypeDescription
StandardUses the standard displayed menu
LightbarThe LightBar High and LightBar Low text can be placed anywhere on the screen
Lightbar/PromptSearchlight-style. The menu options can be scrolled through at the prompt location by using the arrow keys or typing in hotkeys to jump quickly to a selection.
Lightbar/GridAllow you to define the jumps between menu commands based on the key input. It is more complicated to set up but if you wanted to make a more complex interface. The Up, Down, Left, Right, Home, Escape, Tab, PageUp PageDown and End Fields link to the command# in menu. Selecting one of those keys will move the lightbar to that command.

Command Editor

The Command Editor is used for editing the individual commands.

█▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ Command #20 (account) ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▄t
█ Display Text  │                                                             █
█ LightBar Low  │                                                             █
█ LightBar High │                                                             █
█ Hot Key       │ Q                                                           █
█ Access        │                                    Up    │ 0   Escape │ 0   █
█ Display Type  │ Access                             Down  │ 0   Tab    │ 0   █
█ X Y           │ 0  0                               Left  │ 0   PageUp │ 0   █
█ Timer         │ 0                                  Right │ 0   PageDn │ 0   █
█ Timer Type    │ Interval      Redraw │ Yes         Home  │ 0   End    │ 0   █
█ Command ────────────────── Access ───── Data ─────────────────────────────  █
█ (GO) Go to new menu                     main                                ▓
█                                                                             ░
█                                                                             ░
█                                                                             ░
█                                                                             █
▀▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ (TAB) to edit menu commands ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄█
  • Display Text - The text that is displayed in the Command List window list.
  • Lightbar Low - The text that is displayed when this lightbar menu option is cold.
  • Lightbar High- The text that is displayed when this lightbar menu option is hot.
  • Hot Key - The keyboard keys that will activate this command. There are many automatic
  • Access - Define the ACS string for this menu. Use CTRL-L to see a list of non-keyboard keys that can be used.
  • X,Y - The X,Y location for the Lightbar Low and and Lightbar High text
  • Timer - Sets the number of seconds to activate the Timer-based execution or 0 to disable a time-based execution of this menu command.
  • Timer Type - Sets the type of time-based execution. When set to “Interval” then the command will be automatically executed after <Timer> number of seconds. When set to “OnlyOnce” the command will be automatically executed one time when the menu is loaded after <Timer> number of seconds. When set to “PerRedraw” then the command will be automatically executed after <Timer> seconds every time the menu is redrawn.
  • Redraw - If set to TRUE the menu will be redrawn after this menu selection is executed. If set to false the menu will not be redrawn after execution.
  • Up, Down, Left, Right, Home, Escape, Tab, PageUp, PageDn, End - Define which menu command to switch to when one of these keys are used when this command is highlighted.

Each command can perform several sub-tasks in a series. Select (TAB) to toggle between the command metadata menu and the list of sub-commands for this command.

Sub Command Editor

Many sub commands can be stacked in one menu command. The sub commands will be activated in serial order when the menu command is activated. This allows for multiple actions for one menu command.

█▀▀▀▀▀▀▀▀▀▀▀▀▀ Menu (prelogin) Command #1 ▀▀▀▀▀▀▀▀▀▀▀▀▀▄
█                                                      █
█  Command │ (GO) Go to new menu                       █
█     Data │ main                                      █
█   Access │                                           █
█  Execute │ Select                                    █
█                                                      █
▀▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄█
  • Command - Select from a picklist of available menu commands.
  • Data - The optional data field to use for menu commands that require more information.
  • Access - The ACS string to use for this sub command
  • Execute - Execute the sub command on which grid event. Used only on Lightbar/Grid menus.
menus.1553424558.txt.gz · Last modified: 2019/03/24 05:49 by g00r00

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki