----MAIN MENU COMMANDS------ ----MESSAGE ENTRY COMMANDS--- ----AIDE COMMANDS----- A Aide (for those with privs) A Abort C Create Room C Chatroom C Continue D Delete Room E Enter New R Replace Text R Rename Room G Goto S Save E Edit Room J Jumpto H Hold for Later P Give/Rmv User Write Privs N Read New P Print Current X Exit P Page User for chat Q Quick Message to user R Read Reverse ----CONFIGURATION COMMANDS--- S Skip ? A Toggle ANSI Codes -- Later versions T Terminate C Personal Comment Field U Ungoto ? P Change Password V Version W Who is Online H Enter Held Message ---Pause Commands--- Z Configuration/User Info [Space] 'More' M Jump to the Mail Room & Enter S Stop F Read Forward First to Last A Again/Repeat K Known Rooms N Next (if reading messages) L Latest # (read forward) D Delete (if reading messages) General State: NotLoggedIn LoggingOut Menu entry Message entry Data entry Chat mode Specific States: Main Menu Aide Menu Message Edit Menu Room Edit Menu User Configuration Menu Pause Menu Yes/No Menu General Text Numeric Text Transition State: Messages Bulletins GotoRoom UserPage MailUser Terminate AideCreateRoom AideDeleteRoom AideUserWritePrivs MsgAbortYN MsgEntryToReplace MsgEntryReplaceWith ReadLatestNum DeleteMsgYN SpecificGoto States Menu Entry, Main menu, Null A - If user is aide, change Specific State to Aide Menu Print "Aide Menu> " C - Print "Chat" Change General State to Chat E - Print "Enter Message" If not Mail, Change General state to Message Entry Else Change General State to Data Entry Change Specific State to General Text Change Transition State to MailUser" Print prompt "Mail Message to whom? :" F - Print "Read All Messages, First to Last" Change Specific State to Pause Menu Change Transition State to Messages Set User Message Read 'index' to first message of room Set User Message Read Direction to 'forward' Perform Read Message G - Print "Goto next room: " Perform GotoRoom (Next) H - Print "Enter Held Message" Perform General State to Message Entry Perform HeldMessage J - "Jump to specific room" Change General State to "Data Entry" Change Specific State to General Text Change Transition State to SpecificGoto Print prompt "Room Name or partial Room Name: " K - Print "Known Rooms" Perform KnownRooms L - Print "Read Latest Messages" Change General State to Data Entry Change Specific State to Numeric Text Change Transition State to ReadLatestNum Print prompt "Read forward, latest how many? :" M Print "Enter Mail Message" Perform GotoRoom(Mail) Change General State to "Data Entry" Change Specific State to General Text Change Transition State to MailUser Print prompt "Mail Message to whom? :" N - Print "Read New Messages" Change Specific state to Pause Menu Change Transition State to Messages Set user message read 'index' to first new message of room Set User Message Read Direction to 'forward' Perform Read Message P - Print "Page User for Chat" Change General state to Data Entry Change Specific State to General Text Change Transition State to UserPage Print prompt "Page whom? :" Q - Print "Enter Quick message to online user" Change General state to Data Entry Change Specific State to General Text Change Transition State to UserQuick Print prompt "Quick message to whom? :" R - Print "Read All Messages, Last to First" Change Specific State to Pause Menu Change Transition State to Messages Set user message read 'index' to last message of room Set User Message Read Direction to 'backward' Perform Read Message S - Skip (?) T - Print "Terminate[Quit]" Change Specific State to Yes/No Menu Change Transition State to Terminate Print " Are you sure?" U - Ungoto (?) V - Print "STadel Version [whatever]" W - Print "Who's Online" Do WhoList Z - Print "User Configuration Menu:" Change Specific State to User Config Menu ? - Print "Main Menu:" Change Specific State to Pause Menu Change Transition State to Bulletins Perform Read Bulletin (MainMenu.txt) Menu Entry, Aide Menu, Null C - Print "Create Room" Change General State to Data Entry Change Specific State to General Text Change Transition State to AideCreateRoom Print prompt " Enter Room Name: " D - Print "Delete Room" Change General State to Data Entry Change Specific State to General Text Change Transition State to AideDeleteRoom Print prompt " Enter Room Name: " E - Print "Edit Current Room" Change Specific State to Room Edit Menu P - Print "Change User Write Privs" Change General State to Data Entry Change Specific State to General Text Change Transition State to AideUserWritePrivs Print prompt " Enter User Name: " R - Print "Rename current room" If room is {cfg.lobby}, Mail, or Aide, Print "Cannot rename this room." Else Change General State to Data Entry Change Specific State to General Text Change Transition State to AideRenameRoom Print prompt " Enter New Room Name [blank to keep old]: " X - Print "Exit aide menu" Change Specific State to Main Menu Menu Entry, Message Edit Menu, Null A - Change Specific State to Yes/No Menu Change Transition State to MsgAbortYN Print " Abort message - Are you sure? [Y/N]" C - Change Specific State to Message Entry H - Perform HoldMessage If successful, Change Specific State to Main Menu P - Print "Current Message is as follows:" Perform PrintMessage R - Print "Replace text in message" Change General State to Data Entry Change Specific State to General Text Change Transition State to MsgEntryToReplace Print " Enter text to be replaced (max 20 chars):" S - Print "Save message" Perform SaveMessage Change Specific State to Main Menu Menu Entry, Pause Menu, Messages [Space/N] - Set user message read 'index' to next message, determined from direction Perform Read Message A - Set User Message Read 'index' to just-read message Perform Read Message S - Change Specific State to Main Menu D - If user entered message, Change Specific State to Yes/No Menu Change Transition State to DeleteMsgYN Print " Are you sure you wish to delete this message? [Y/N]: " Data Entry, Complete, * SpecificGoto - Try to find room name. If found, GotoRoom Else, Print "Room not found, and no room name starts with that." Change General State to Menu Entry Change Specific State to Main Menu ReadLatestNum - Set Message Read 'index' to indicated message of room If not enough messages, Set Message Read 'index' to first message of room Set User Message Read Direction to 'forward' Set General State to Pause Menu Set Specific State to Messages Perform Read Message MailUser - Search user log for user name If found, Change General state to Message Entry Do Enter Message, with "To" field filled with user name entered UserPage - Search user log for user name and login status If found, Queue page statement to user logged in Change General State to Menu Entry Change Specific State to Main Menu UserQuick - Search user log for user name and login status If found, Change Transition State to QuickMessage QuickMessage - Queue entered statement to user user logged in Change General State to Menu Entry Change Specific State to Main Menu AideCreateRoom - Attempt to Do CreateRoom If Successful, Change General State to Menu Entry Change Specific State to Room Edit Menu AideDeleteRoom - If room is {cfg.lobby}, Mail, or Aide, Print "Cannot delete that room." Else Attempt to find room. If Found, Print " Really Delete Room? [Y/N]: " Change General State to Menu Entry Change Specific State to Yes/No Menu AideUserWritePrivs - Search user log for user name If Not Found, determine current. Print " User not known." Else, Change General State to Menu Entry Change Specific State to Yes/No Menu Print " {Give/Take away} Write Priveleges for User? [Y/N] AideRenameRoom - Check if room name already taken. If it is, Print " That room name already exists." Else Change General State to Menu Entry Change Specific State to Yes/No Menu Print " Really rename this room to {newname}? [Y/N]" MsgEntryToReplace - Check message log data for text. If not found, Print " Text not found" Change General State to Menu Entry Change Specific State to Message Edit Menu Else Change Specific State to MsgEntryReplaceWith MsgEntryReplaceWith - Replace text entered from MsgEntryToReplace with this text Change General State to Menu Entry Change Specific State to Message Edit Menu Print "Current Message is as follows:" Perform PrintMessage Menu Entry, Yes/No Menu, * Terminate - Y: Change General State to LoggingOut Change Specific State to LoggingOut Change Transition State to LoggingOut N: Change Specific State to Main Menu MsgAbortYN - Y: Change Specific State to Main Menu N: Change Specific State to Message Edit Menu DeleteMsgYN - Y: Do Delete Message N: Change Specific State to Pause Menu AideDeleteRoom - Y: Do Delete Room, set room pointer to {cfg.lobby} Change Specific State to Main Menu N: Change Specific State to Aide Menu AideUserWritePrivs - Y: Toggle entered user's write privs N: Print "User's write priveleges unchanged." Change Specific State to Aide Menu AideRenameRoom - Y: Rename room Change Specific State to Main Menu N: Print "Room name unchanged." Change Specific State to Aide Menu LoggingOut Perform Read Bulletin (logout.txt) Print "Thank you for 'calling' {cfg.BBSName}." Do User Logout stuff (if anything) Do Connection Disconnect stuff At end of state transition cases: If General State is Menu Entry Main Menu: Print Room name, append ">" Aide Menu: Print "Aide Menu>" Message Edit Menu: Print " Message Command:" Yes/No Menu: (do nothing) Pause Menu: If Transition is "Messages" Print "[Space]: next message [S] Stop [A] Again" If user 'owns' message, append [D] Delete If Transition is "MessagesMore" Print "[Space]: More [S] Stop [A] Again Room Edit menu: Print "Room Edit Menu: " User Config Menu: Print "Current User Configuration:" Print current user configuration