Tbbs 2.3-16/Disk 1/RIPKIT/RIPMENUS.SDL

20.6 KB 628ab46ed92e4376…
;
; eSoft, Inc.
;
; TBBS Sample System RIP Menus
; SDL Source Code
;
; created by: Karl E. Glasgow IV



;***************************************************************************
;******  WE RECOMMEND YOU PRINT THIS FILE IN ITS ENTIRETY FOR REVIEW  ******
;***************************************************************************



; --------------------------------------------------------------------------
; THIS IS THE SDL (SYSTEM DEFINITION LANGUAGE) SOURCE CODE THAT CREATES
; THE SAMPLE RIP MENU SYSTEM.  THE COMMENTS IN THIS FILE EXPLAIN EACH PART
; AND ITS PURPOSE.  DON'T BE AFRAID OF THE TERM "LANGUAGE" -- YOU DON'T
; HAVE TO BE A PROGRAMMER TO WORK WITH SDL.
;
; BY READING THROUGH THE COMMENTS IN THIS FILE FROM START TO FINISH, YOU
; CAN GAIN ENOUGH UNDERSTANDING TO ALLOW YOU TO MAKE CHANGES TO THESE MENUS
; WITH THE MINIMUM OF EFFORT.
;
; REMEMBER!  IF YOU MAKE CHANGES TO THESE MENUS YOU MUST RECOMPILE THIS
;            SOURCE CODE SO THAT YOUR CHANGES TAKE AFFECT.  TO RECOMPILE,
;            DO THE FOLLOWING:
;
; FROM THE "C:\TBBS\MENU" DIRECTORY, TYPE "SDL MENU" AND HIT <ENTER>.
; --------------------------------------------------------------------------


; INTRODUCTION:
; --------------------------------------------------------------------------
;
; This sample SDL code is heavily commented to provide you with as
; much context-sensitive help as possible as you review these menus
; and make changes.
;
; (Comments are any lines which begin with a semi-colon ";")

; Nearly all of these sample system menus use a TBBS tool called a
; "Macro".  To make simple changes to these menus, you usually don't
; have to worry about changing the macros that have already been
; defined -- you can just use them (and that's relatively easy).
;
; However, if you wish to view or edit the macros used in the sample
; system, or add new macros of your own, you will find them in a separate
; file called "MACROS.SDL".  Comments in that file will help you
; understand what individual macros do.


; The main system DOS path, and your BBS' name are defined by the Install
; program and stored in the file called "PATHS.SDL"
;
Include: PATHS.SDL

; All of the macros which set ANSI colors are contained in the file
; called "COLORS.SDL"
;
Include: COLORS.SDL

; All of the RIP macros used here are defined in the file called
; "RIPMACRO.SDL"
;
Include: RIPMACRO.SDL




; TBBS MENU DEFINITIONS:
; --------------------------------------------------------------------------

; SDL MENU STRUCTURE:
;
; TBBS menus defined in SDL begin with the "Menu:" keyword, followed
; by the 1-4 character name of the menu.  The last entry in a menu
; definition is the "EndMenu:" keyword.
;
; Within each menu, individual menu entries are marked by the "Entry:"
; keyword first, followed by any number of entry-specific keywords.
;
; For more information on menu structure, available functions and
; commands, etc., see Chapter 6 and 7 of your TBBS reference manual.  The
; tutorial found in the Understanding How It Works Guide also covers this
; in detail.

; MENU ENTRIES IN THIS SAMPLE SYSTEM:
; --------------------------------------------------------------------------

; Each menu entry here has commentary before it, describing briefly what
; the entry is for.

; Most menu entries in this sample system SDL code are laid out as
; follows:
;               Entry:
;               @OPTIONn(key,text,@key)
;               Key=key Type=type Opt Data=optional data
;
; Example:
;               Entry:
;               @OPTION1(F,File Areas,@F)
;               Key=F Type=5 Optdata=RFIL
;
; @OPTION1(F,File Areas,@F)
;
; The @OPTION1() macro used in each entry tell TBBS which option on the
; menu you're defining.  This sample menu system allows up to 7 regular
; menu options and 3 global command option per menu.  If you're defining
; the 4th option on the menu, you'd use @OPTION4(), the 6th option would
; be @OPTION6(), and so on.
;
; Inside of the parenthesis of the @OPTION1 macro are three items.  The first
; is the character that will appear highlighted on the menu.  This should
; tell the user what key to press to activate the option.  Second is the
; description of this menu option that will appear on the menu next to the
; highlighted key.  In the above example, the description will read "File
; Areas".  The third is the RIP hotkey that will be used for this option.
; It should always be the key you've selected with an at sign (@) before it.
;
; KEY=F
;
; This tells TBBS that this menu option is activated by the user pressing
; the "F" key.  This should match the first item in the @OPTION macro.
; (Otherwise, pressing the highlighted key does nothing!)
;
; TYPE=5
;
; This tells TBBS what it should do if the specified key is pressed by
; the user (in this example, an "F").  Available functions can range from
; 1 to 255.  A comprehensive listing of all menu types appears in your
; TBBS reference manual under Chapter 6.  (The Type=5 in our example here
; sends the user to another menu if selected)
;
; OPT DATA=RFIL
;
; OPT DATA stands for "optional data", and it provides TBBS with whatever
; additional information it needs to perform the function you've defined.
; If you want to download files from a particular directory, the Opt Data
; would say which directory that is.  If you want the menu option to allow
; a user to read messages from a particular message area, the Opt Data
; would say which message area, and so on.  (In our example, the Type=5
; sends the user to another menu, and the Opt Data of "RFIL" indicates that
; that menu is called "RFIL" (MENU: RFIL).
;
; --------------------------------------------------------------------------


; NOW FOR THE ACTUAL MENU DEFINITIONS:

; **************************************************************************
; ENTRANCE MENU
; This menu performs functions ONLY ONCE PER CALL, and then sends
; the user to the "RMN" menu.
; **************************************************************************
;

; This menu was created dynamically by eSoft's INSTALL program.  To view
; and/or edit the very first menu that RIP callers access when they call
; your system, it can be found in the "RIP_1ST.SDL" file.

Include: RIP_1ST.SDL




;
; **************************************************************************
; MAIN MENU
; This is the main system menu (top level menu).
; **************************************************************************
;
Menu: RMN

; This macro paints a background RIP button image and displays the title
; for the menu.  "BACKGRND.RIP" is the name of the file containing the
; RIP screen background, "Main Menu" is the menu's title, and the BBSNAME
; macro is your BBS' name (as defined by the Install program, and stored
; in the PATHS.SDL file).
;
@TITLE(BACKGRND.RIP,Main Menu,@BBSNAME)

; Go to the Message Areas menu (MENU: RMES)
Entry:
@OPTION1(M,Message Areas,@M)
Key=M Type=5 Opt Data=RMES

; Go to the File Areas menu (MENU: RFIL)
Entry:
@OPTION2(F,File Areas,@F)
Key=F Type=5 Opt Data=RFIL

; Go to the News and Information Menu (MENU: RNWS)
Entry:
@OPTION3(N,News and Information,@N)
Key=N Type=5 Opt Data=RNWS

; Go to the Utilities Menu (MENU: RUTL)
Entry:
@OPTION4(U,Utilities,@U)
Key=U Type=5 Opt Data=RUTL

; Run the "VOTING" questionnaire (QAL)
; The questionnaire itself is called "VOTING.QAL", and can most
; likely be found in the TBBS\QA directory.
Entry:
@OPTION5(P,Participate in User Poll,@P)
Key=P Type=32 Opt Data=VOTING

; View the results thus far of the VOTING questionnaire.
; QAL voting statistics are stored in the VOTING.QAF file
; itself.  To clear the statistics, simply recompile the
; questionnaire by typing "QAL VOTING" from the \QA directory.
;
Entry:
@OPTION6(V,View Results of Poll,@V)
Key=V Type=33 Opt Data=VOTING

; Enter chat mode via the "CHITCHAT" conference.
; Conferences are defined in CEDIT under the <O>ther option.
Entry:
@OPTION7(C,Chat User-to-User,@C)
Key=C Type=52 Opt Data=CHITCHAT

; Go to the Goodbye menu, prior to logging off the system (MENU: RBYE)
Entry:
@GLOBAL1(G,Goodbye,@G)
Key=G Type=5 Opt Data=RBYE

; Go to the Sysop menu, if you have a PRIV level of 255 (MENU: RSYS)
Entry:
@GLOBAL3(\!,\! Sysop,@!)
Key=! Type=5 Opt Data=RSYS
Priv=255

Endmenu:



;
; **************************************************************************
; FILE AREAS MENU
; File uploads and file download areas.
; **************************************************************************
;
Menu: RFIL

; This macro paints a background RIP button image and displays the title
; for the menu.  "BACKGRND.RIP" is the name of the file containing the
; RIP screen background, "Main Menu" is the menu's title, and the BBSNAME
; macro is your BBS' name (as defined by the Install program, and stored
; in the PATHS.SDL file).
;
@TITLE(BACKGRND.RIP,File Areas,@BBSNAME)

; Allows the user to upload a file with description.  This file
; will be added to the LIST.DIR pseudo directory that can be
; found in the path specified by the UPLDPATH macro.
;
Entry:
@OPTION1(U,Upload a New File,@U)
Key=U Type=47 Opt Data=@UPLDPATH+\LIST

; Allows the user to access the AREAS.FAR file area listing,
; which can be found in the path specified by the DNLDPATH macro.
; Files can then be downloaded from any of the file areas found
; within that FAR listing.
;
Entry:
@OPTION2(D,Download File Section,@D)
Key=D Type=4 Opt Data=@DNLDPATH+\AREAS /z

; Go to the Goodbye menu, prior to logging off the system (MENU: RBYE)
Entry:
@GLOBAL1(G,Goodbye,@G)
Key=G Type=5 Opt Data=RBYE

; Return to the previous menu
Entry:
@GLOBAL2(-,- Prev,@-)
Key=- Type=12 Opt Data=1

; Go to the top level menu (usually MENU: RMN)
Entry:
@GLOBAL3(0,0 Main,@0)
Key=0 Type=12 Opt Data=0

Endmenu:




;
; **************************************************************************
; MESSAGE AREAS MENU
; Message areas and e-mail menu.
; **************************************************************************
;
Menu: RMES

; This macro paints a background RIP button image and displays the title
; for the menu.  "BACKGRND.RIP" is the name of the file containing the
; RIP screen background, "Main Menu" is the menu's title, and the BBSNAME
; macro is your BBS' name (as defined by the Install program, and stored
; in the PATHS.SDL file).
;
@TITLE(BACKGRND.RIP,Message Areas,@BBSNAME)

; Go to the RMSG menu (MENU: RMSG) and reference the "E-Mail" message
; board (as defined in CEDIT under <M>essage, <B>oard Definitions).
; "Electronic Mail" will be the title of that menu.
;
Entry:
@OPTION1(1,1 Private E-Mail,@1)
Key=1 Type=5 Opt Data=RMSG "Private E-Mail" "Electronic Mail"

; Go to the RMSG menu (MENU: RMSG) and reference the "General" message
; board (as defined in CEDIT under <M>essage, <B>oard Definitions).
; "General Messages" will be the title of that menu.
;
Entry:
@OPTION2(2,2 General Messages,@2)
Key=2 Type=5 Opt Data=RMSG "General Messages" "General Messages"

; Go to the RMSG menu (MENU: RMSG) and reference the "Technical" message
; board (as defined in CEDIT under <M>essage, <B>oard Definitions).
; "Technical Discussion" will be the title of that menu.
;
Entry:
@OPTION3(3,3 Technical Discussion,@3)
Key=3 Type=5 Opt Data=RMSG "Technical Area" "Technical Discussion"

; Go to the RMSG menu (MENU: RMSG) and reference the "Lounge" message
; board (as defined in CEDIT under <M>essage, <B>oard Definitions).
; "The Lounge" will be the title of that menu.
;
Entry:
@OPTION4(4,4 The Lounge,@4)
Key=4 Type=5 Opt Data=RMSG "The Lounge" "The Lounge"

; Go to the RMSG menu (MENU: RMSG) and reference the "Classifieds" message
; board (as defined in CEDIT under <M>essage, <B>oard Definitions).
; "Classified Ads" will be the title of that menu.
;
Entry:
@OPTION5(5,5 Classified Ads,@5)
Key=5 Type=5 Opt Data=RMSG "Want Ads" "Classified Ads"

; Go to the Goodbye menu, prior to logging off the system (MENU: RBYE)
Entry:
@GLOBAL1(G,Goodbye,@G)
Key=G Type=5 Opt Data=RBYE

; Return to the previous menu
Entry:
@GLOBAL2(-,- Prev,@-)
Key=- Type=12 Opt Data=1

; Go to the top level menu (usually MENU: RMN)
Entry:
@GLOBAL3(0,0 Main,@0)
Key=0 Type=12 Opt Data=0

Endmenu:



;
; **************************************************************************
; UTILITIES MENU
; User utilities such as changing your password and terminal
; settings, viewing what other users are currently on-line, duration
; of this call, etc.
; **************************************************************************
;
Menu: RUTL

; This macro paints a background RIP button image and displays the title
; for the menu.  "BACKGRND.RIP" is the name of the file containing the
; RIP screen background, "Main Menu" is the menu's title, and the BBSNAME
; macro is your BBS' name (as defined by the Install program, and stored
; in the PATHS.SDL file).
;
@TITLE(BACKGRND.RIP,Utilities,@BBSNAME)

; Execute the TBBS command to allow the user to view and alter their
; terminal and user settings.
;
Entry:
@OPTION1(T,Change Terminal Settings,@T)
Key=T Type=31 Optdata=/s

; Display a text file called "USERSTAT.TXT".  This particular file
; contains Insertion Parameters (see Chapter 2, page 2-14 of your
; TBBS reference manual for more information on Insertion Parameters)
; that will display certain user statistics from the USERLOG file.
;
Entry:
@OPTION2(I,Status Info Display,@I)
Key=I Type=1 Opt Data=USERSTAT.TXT

; Display the date and time of when this call began and how long
; the user has been on-line.
;
Entry:
@OPTION3(D,Display Time Parameters,@D)
Key=D Type=11

; Allow the user to reset the pointers which record what the last
; message read by the user was, message area by message area.
;
Entry:
@OPTION4(R,Reset Last Read Msg Pointers,@R)
Key=R Type=16

; Page the sysop at the local TBBS console.  A bell will ring to alert
; the sysop that someone has requested their attention.
;
Entry:
@OPTION5(S,Chat With the Sysop,@S)
Key=S Type=23

; Allows the user to change their logon password.
;
Entry:
@OPTION6(P,Change Logon Password,@P)
Key=P Type=25

; Presents a listing of what other users are currently on-line
;
Entry:
@OPTION7(W,Who is Online Now,@W)
Key=W Type=50

; Go to the Goodbye menu, prior to logging off the system (MENU: RBYE)
Entry:
@GLOBAL1(G,Goodbye,@G)
Key=G Type=5 Opt Data=RBYE

; Return to the previous menu
Entry:
@GLOBAL2(-,- Prev,@-)
Key=- Type=12 Opt Data=1

; Go to the top level menu (usually MENU: RMN)
Entry:
@GLOBAL3(0,0 Main,@0)
Key=0 Type=12 Opt Data=0

Endmenu:



;
; **************************************************************************
; UNIVERSAL MESSAGE AREA MENU
; Displays the common message area options such as sending a message,
; reading messages, etc.
;
; * THIS MENU IS USED FOR ALL SYSTEM MESSAGE AREAS, and the commands
;   relate to whichever message area it is instructed to use via menu
;   parameters.
;
; To call this menu from another menu, use the following syntax as a
; part of your menu entry:
;
; Type=5 Opt Data=RMSG "<board name from CEDIT>" "<title of area>"
;
; NOTE: For more information on Menu Parameters, see your TBBS
;       reference manual, Chapter 6, page 6-7.
; **************************************************************************
;
Menu: RMSG

; This macro paints a background RIP button image and displays the title
; for the menu.  "BACKGRND.RIP" is the name of the file containing the
; RIP screen background, "Main Menu" is the menu's title, and the BBSNAME
; macro is your BBS' name (as defined by the Install program, and stored
; in the PATHS.SDL file).
;
@TITLE(BACKGRND.RIP,%m2%,@BBSNAME)

; Enter a new message in the specified message area
;
Entry:
@OPTION1(S,Send a Message,@S)
Key=S Type=7 Opt Data=%m1%

; Read messages in the specified message area
;
Entry:
@OPTION2(R,Read Messages,@R)
Key=R Type=6 Opt Data=%m1%

; Scan a listing of messages in the specified message area
;
Entry:
@OPTION3(Q,Quickscan Messages,@Q)
Key=Q Type=8 Opt Data=%m1%

; If any unread messages are waiting for this user, display them in
; a listing and allow them to read those messages now.
;
Entry:
@OPTION4(W,Read Waiting Messages,@W)
Key=W Type=15

; Go to the Goodbye menu, prior to logging off the system (MENU: RBYE)
Entry:
@GLOBAL1(G,Goodbye,@G)
Key=G Type=5 Opt Data=RBYE

; Return to the previous menu
Entry:
@GLOBAL2(-,- Prev,@-)
Key=- Type=12 Opt Data=1

; Go to the top level menu (usually MENU: RMN)
Entry:
@GLOBAL3(0,0 Main,@0)
Key=0 Type=12 Opt Data=0

Endmenu:



;
; **************************************************************************
; NEWS AND INFORMATION
; View text information
; **************************************************************************
;
Menu: RNWS

; This macro paints a background RIP button image and displays the title
; for the menu.  "BACKGRND.RIP" is the name of the file containing the
; RIP screen background, "Main Menu" is the menu's title, and the BBSNAME
; macro is your BBS' name (as defined by the Install program, and stored
; in the PATHS.SDL file).
;
@TITLE(BACKGRND.RIP,News and Information,@BBSNAME)

; Display the list of available text files under the family name
; of "NEWS" -- see Chapter four of the TBBS reference manual for more
; information about Type 2's.
Entry:
@OPTION1(N,System News,@N)
Key=N Type=2 Optdata=@TEXTPATH+\NEWS

; Display the list of available text files under the family name
; of "INFO" -- see Chapter four of the TBBS reference manual for more
; information about Type 2's.
Entry:
@OPTION2(I,Information About TBBS,@I)
Key=I Type=2 Optdata=@TEXTPATH+\INFO

; Go to the Goodbye menu, prior to logging off the system (MENU: RBYE)
Entry:
@GLOBAL1(G,Goodbye,@G)
Key=G Type=5 Opt Data=RBYE

; Return to the previous menu
Entry:
@GLOBAL2(-,- Prev,@-)
Key=- Type=12 Opt Data=1

; Go to the top level menu (usually MENU: RMN)
Entry:
@GLOBAL3(0,0 Main,@0)
Key=0 Type=12 Opt Data=0

Endmenu:



;
; **************************************************************************
; SYSOP MENU
; For sysop-level users ONLY (PRIV=255)
; System maintenance and control functions
; **************************************************************************
;
Menu: RSYS

; This macro paints a background RIP button image and displays the title
; for the menu.  "BACKGRND.RIP" is the name of the file containing the
; RIP screen background, "Main Menu" is the menu's title, and the BBSNAME
; macro is your BBS' name (as defined by the Install program, and stored
; in the PATHS.SDL file).
;
@TITLE(BACKGRND.RIP,Sysop Menu,@BBSNAME)

; Read messages in all message areas together (as if everything were
; contained in one single message area)
;
Entry:
@OPTION1(C,Combined Message Access,@C)
Key=C Type=6

; Choose which message areas should be accessible when reading combined
; messages (see above entry).
;
Entry:
@OPTION2(S,Select/Deselect Combined Areas,@S)
Key=S Type=24

; Allow general file maintenance of the areas/files contained in
; AREAS.FAR.  This FAR file can be found in whatever directory has been
; defined in the DNLDPATH macro (definition itself can be found in
; PATHS.SDL).
;
Entry:
@OPTION3(F,File Area Maintenance,@F)
Key=F Type=14 Opt Data=@DNLDPATH+\AREAS

; Go to the Goodbye menu, prior to logging off the system (MENU: RBYE)
Entry:
@GLOBAL1(G,Goodbye,@G)
Key=G Type=5 Opt Data=RBYE

; Return to the previous menu
Entry:
@GLOBAL2(-,- Prev,@-)
Key=- Type=12 Opt Data=1

; Go to the top level menu (usually MENU: RMN)
Entry:
@GLOBAL3(0,0 Main,@0)
Key=0 Type=12 Opt Data=0

Endmenu:



;
; **************************************************************************
; GOODBYE MENU
; Allows the user to hangup, return to the last menu, or leave a
; message to the sysop and then hangup.
; **************************************************************************
;
Menu: RBYE

; This macro paints a background RIP button image and displays the title
; for the menu.  "BACKGRND.RIP" is the name of the file containing the
; RIP screen background, "Main Menu" is the menu's title, and the BBSNAME
; macro is your BBS' name (as defined by the Install program, and stored
; in the PATHS.SDL file).
;
@TITLE(BACKGRND.RIP,Goodbye?,@BBSNAME)

; Log off the system (hangup)
Entry:
@OPTION1(G,Goodbye - Logoff Now,@G)
Key=G Type=10

; Return to the previous menu instead of hanging up
Entry:
@OPTION2(-,- Prev,@-)
Key=- Type=12 Opt Data=1

; Enter a message to the sysop, and then hangup
Entry:
@OPTION3(L,Leave a Message First,@L)
Key=L Type=7 Opt Data=MSG TO SYSOP /f:"SYSOP"

Endmenu: