Table of Contents

MENU SYSTEM

Related Categories
Themes
Menu Command Reference

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 command/options list, where options that appear on the menu are defined. Each option then has one or more “menu commands” associated to it. These menu commands are executed when the option is selected by the user. In order words, a menu option defines the option that is presented to the user and the menu command(s) configured inside of the option define what the BBS actually does when the option is executed.

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

There are many more advanced techniques such as automatic execution of menu options based on specific criteria or time-based intervals, or menu option chaining and branching that will be discussed in their own sections.

In addition to the standard type of menu, there are also Lightbar, Grid, and Prompt menu styles which build off of the standard menu system. These types of menus will also be covered in more detail in their own sections.


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 below. As with most Mystic menus, if you wish to search for an item just start typing the text you wish to search for.

         █▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ 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               █
         ▀▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄█ 

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 that can be accessed from the command list by typing /

█▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ Options 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                   █
▀▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄█
█▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▄
█ S Settings         █
█ I Insert           █
█ D Delete           █
█ C Copy             █
█ P Paste            █
█ V View             █
▀▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄█

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                                                  █
▀▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄█
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/GridAllows you to define the jumps between menu options based on the user's input. It is more complicated to set up but allows for more intricate control over how menu input behaves. The Up, Down, Left, Right, Home, Escape, Tab, PageUp, PageDown, and End fields can link to a command ID found in the menu. When the user presses one of the keys while the command option is selected, Mystic will jump to the command ID defined for that key. A series of menu commands can also be defined for each specific key press, and will be executed prior to jumping to the defined command ID.

Option Editor

The Option Editor is used for editing the individual menu options.

█▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ Option  #20 (account) ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▄
█ 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 ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄█

This allows very intricate configuration of menu selection behavior at the expense of complexity.

Each option can perform several sub-tasks in a series when the option is selected and these tasks are defined by creating a menu command or a list of menu commands within the option. Select (TAB) to toggle between the option metadata and the list of menu commands for this menu option.

Many menu commands can be defined to be executed by a single menu option. The menu commands will be activated in serial order when the menu option is activated. This allows for multiple actions for one menu command. Each menu command can have its own access string requirement which allows for advance techniques such as command branching.

A list of menu commands can be found in the Menu Command Reference

█▀▀▀▀▀▀▀▀▀▀▀▀▀ Menu (prelogin) Command #1 ▀▀▀▀▀▀▀▀▀▀▀▀▀▄
█                                                      █
█  Command │ (GO) Go to new menu                       █
█     Data │ main                                      █
█   Access │                                           █
█  Execute │ Select                                    █
█                                                      █
▀▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄█

CREATING STANDARD MENU


CREATING LIGHTBAR MENU


CREATING GRID MENU


CREATING PROMPT MENU


AUTO-EXECUTION


OPTION CHAINING


TIMER EVENTS


COMMAND BRANCHING