** VISION/2 Configurable Files ** This file contains a list of Text/ANSI files used by ViSiON/2 and MCI codes that go along with them. An MCI code is just that, a 'code' that tells ViSiON/2 to display a variable when it comes across the code (usually a bar '|' and two letters). What is displayed in place of the MCI code depends on what that certain code represents. Remember, when using MCI codes, you must keep the codes together, with no ANSi or escape codes between the bar/letters, in other words, keep the mci codes all one color when entering them. First of all, you will need an ANSi editor, "TheDraw" is one of the most common ANSI editors. Second, some artistic talents wouldn't hurt either. ;) -------------------------------------------------------------------------- ** "I can't get these MCI codes to work!" ** The best way to use MCI codes, is to draw (or steal ;) the screen you want, when you have it just how you like it, RESCAN it (turn animation on) .. (in TheDraw this is Alt-J) then place all the MCI codes where you want them on the screen and save it. -------------------------------------------------------------------------- ** INPUT FILES ** Our first group of files here are 'input' files. ViSiON/2 uses these files to get input from the user. ViSiON/2 reacts the same way to the input as if the user was at a normal prompt. Here is a list of MCI codes that can be used in ALL 'input files'. MCI Code Description --------------------------------------------------- @ This tell V/2 to stop and get input, this MUST be somewhere in the file or V/2 will not stop and get the input. |Bxx This tells V/2 how many spaces are allowed when the user is prompted with the '@' code. This MUST be used before you use '@'. 'xx' can range from 1 to 80. |T Displays the current BBS time. |D Displays the current BBS date. |UH Displays the users handle. |=xx Sets input color to 'xxx', to find 'xx' use BACKGROUND * 16 + FOREGROUND. A list of input files V/2 can use. SYSPASS.ANS - Displayed when asking for system password ALIAS.ANS - Displayed when asking for user handle PASSWORD.ANS - Displayed when asking for user's password MSGHDR.ANS - Displayed when user chooses their message header CHAT.ANS - Displayed when asking users reason for chat SELECT.ANS - Displayed when asking which menu set to use PROT_S.ANS - File that displays the Upload Protocols PROT_R.ANS - File that displays the Download Protocols PROT_U.ANS - File that displays the Upload Protocols PROT_D.ANS - File that displayes the Download Protocol LOGOFF.ANS - Displayed when user hits 'G' to logoff the answers can be: [Y]es [N]o [F]eedback and [A]uto-Message The above filenames are 'built-in' to the software, in other words, if you want to create your own system password ansi you would have to use the file 'SYSPASS.ANS'. ž Using Input files via STRINGS.EXE. As of version .84 there are around 175 configurable strings you can change in the strings editor. An almost unknown feature is the ability to display files through these strings. In order for V/2 to know you are displaying a file instead of a string, you must this format: %%C:\DIR\SUBDIR\FILENAME.EXT '%%' is the important part which tells V/2 to display a file, and the following is the full path and filename to the file which you want displayed. This filename can be whatever you specify for each string. If the string requires input, the above 'Input File' format can be used. ž Using Input files via MENUEDIT.EXE Now with menu edit commands, you might want to get input and decide which command to run depending on that input. You can a use a normal prompt by using the '^@' command, but maybe you want to do this using an ANSI screen, you can use the '^I' command in this format: ^IC:\DIR\SUBDIR\FILENAME.EXT This command will now use the input file you specify to get input from the user. ž Creating .BAR menus with Input Files With .BAR files you can create pulldown type menus which use the the arrow keys and highlight bars to select 'input'. Instead of using the above MCI codes, a script file with the file extension '.BAR' must match the filename of the display ansi. If V/2 detects a matching .BAR file, then this format will automatically be used. For example, if you create an input file called 'EXAMPLE.ANS', and 'EXAMPLE.BAR' exists in the same directory, pulldown menus will be used. The following is the format for .BAR files. Once you have created the 'screen' (the .ANS file) you must create your script file (the .BAR file) to tell V/2: 1. The X,Y coordinats of where the menu bar is located. 2. The color of the menu bar when highlighted. Remember form to determine colors is: BACKGROUND * 16 + FOREGROUND 3. The color of the menu bar when not highlighted. 4. The hotkey which will automatically select this entry. 5. The RETURN INPUT if user hits enter on this selection or presses the hotkey. 6. The actual highlighted bar text/string that is displayed. An example of that a .BAR file would look like: 31,7,111,112,1,1,[1] Newscan Files 31,8,111,112,2,2,[2] Newscan Messages 31,9,111,112,3,3,[Q] Quit to Main Menu This first two numbers in each line tell V/2 where to place the menu bars. The third tells V/2 what color to highlite the bar. The fourth, what color to use when un-highliting the bar. The fifth, a hotkey which automatically picks the bar selection. The sixth, the input which is used if the user selects that bar. The last, what the highlighted bar should display. All of these should be typed on ONE LINE serperated by commas, one line for each menu selection (highlighted bar) that exists. Heres an example for all that are lost at this point: EXAMPLE.ANS (created using your preferred ansi editor) -------------- ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ | [1] Newscan Files | | [2] Newscan Messages | | [Q] Quit to Main Menu | ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ EXAMPLE.BAR (created using text editor) -------------- 31,7,111,112,1,1,[1] Newscan Files 31,8,111,112,2,2,[2] Newscan Messages 31,9,111,112,3,3,[Q] Quit to Main Menu -------------- If no 'EXAMPLE.BAR' file exists (or whatever the filename might be) then V/2 will use the ANSi as if it were a normal input file, (using the @ sign for input) ------------------------------------------------------------------------ ** DISPLAY FILES ** All a display file does, is, yep you guessed it, display certain stats and whatnot, not nearly as complicated as INPUT FILES, all you do here is: 1. Draw your screen. 2. Place MCI codes where you want them 3. Save the screen. Each of the listed screens below have their own set of MCI codes. You cannot mix the codes between files. MSGHDR.xx - Where xx is 1-99, this is the message header displayed before and message text. It contains who wrote the message, message title, etc. User can select which message header to use via the 'input file' called MSGHDR.ANS. MCI Code Description -------------------------------------- |B Print Current Sub-Board Name |T Prints Message Title |F Prints Author or Anonymous String |S Prints Who the message is sent to |U Prints User Note |L Print User Level |R Prints User Real Name |# Prints Current Bulletin Number |N Total Number Of Bulletins |D Date Message was Posted |W Time Message was Posted |P Message Number replied from |E Total Replies to the message MSGAREA.HDR - This is displayed whenever you change areas in the message base, displays the current message base name, sponsor, and other base statistics. MCI Code Description -------------------------------------- |B Message Area Name |T Type of base |S Sponsor of Message Area |L Required Area Level; |N Total Bulletins in Area |R Last Bulletin Read in Area |P Percentage of Bulletin's Read |D Current Date |W Current Time |C Current Conference FSEDITOR.ANS - Displayed when user is in the Full Screen Editor writing a message, this file can be from 1 to 9 line in length. MCI Code Description -------------------------------------- |#x Tell's ViSiON/2 how many lines to reserve. x can be from 1 to 9; (Used Anywhere in the .ANS) if your Editor Header is 6 lines then you would put |#6. If this code is not found, 5 lines is assumed. |T Current Time |D Current Date |A Yes or No If Anonymous |I Yes or No If INSERT is on or off |L Current Line Number |P User's Total number of posts |% User's Post/Call Ratio |E Message Title |S Who the Message is to. |=xxx; xxx is the display color for these stats. NEWSHDR.ANS - This Header is displayed before any System News is shown, should include news author, news title, date and time sent, etc. MCI Code Description -------------------------------------- |T News Title |# News Number |F News Author |D When Sent |W Time Sent |L Lowest Level |M Max Level MAILHDR.ANS - This header is shown before the text of E-Mail is displayed FBHDR.ANS - This header is displayed before the text of feedback is displayed, pretty much the same as MAILHDR.ANS. MCI Code Description -------------------------------------- |T Email Title |S Sent By/Author |W Time Sent |D Date Sent |N Writes 'New' or 'Old' |# Current Mail Number |A Total Number Of Mail FILEINFO.ANS - This is displayed when a user get's info on a single file, in the Xfer section of the bbs. MCI Code Description -------------------------------------- |F The File Name |U Uploader |T Times Downloaded |P Points ('Free') if none |B Bytes |A Estimated transfer time |L User Time Left |E Date Uploaded |W Time Uplaoded |D Description SYSSTATS.ANS - Screen that displays your bbs system statistics MCI Code Description -------------------------------------- |T Current Time |D Current Date |C Calls Today |K Total Callers |U Total Days Up |P Calls Per Day |M Total Minutes Used |I Total Mins. Idle |X Total Mins. Xfer |O Total Mins. Up |W Total Mins. Down |B Total Messages |F Total File |R Total Rumors |Q Total Quotes |! Percentage Used |@ Percentage Idle |# Percentage Up |$ Percentage Down |% Total Bytes Used |^ Bytes Occupied |& Total Bytes Free |* User's Connect |> Total Bytes Sent |< Total Bytes Received |L Percentage Local |S SysOp's Name |+ Board Name |= Total Users BADPOST.ANS - Displayed when user does not enter enough characters for a valid post/message. MCI Code Description -------------------------------------- |U User Name/Handle |T Current Time |D Current Date |P User's Total Posts |C Amount of characters used in messages |R Required amount of characters needed NEWSETUP.ANS - This sceen is used when a new user applies for access, set the screen up in the TheDraw and then Rescan it, place the above |x in the place where you want V/2 to go when the user hits the appropiate letter/number (x) you may have to turn store cursor movements cursor movements on when you use '|' then turn it off to ensure it is in the right place. MCI Code Description -------------------------------------- |1 User Color #1 |2 User Color #2 |3 User Color #3 |4 User Color #4 |5 User Color #5 |6 User Color #6 |7 User Color #7 |# User Phone Number |P User Password |N User Name |R Show Rumors |H Use Hot Keys |B User Arrow Keys |U User Note |@ V/2 Goes Here to Wait for Input |=xxx; This is the Defualt Color of the screen use. (ex: |14; = Yellow) MAINSTAT.xxx - Where xxx can be from 1-999 (used in random display in logon). This codes can also be used anytime you display a file via the '^F' command in MENUEDIT.EXE MCI Code Description -------------------------------------- |CS User's Connect String |UH User Handle |UP User Whole Phone Number |AC User Area Code |PX User Phone Number PREFIX |SX User Phone Number SUFFIX |UL User Level |FL User File Level |FP User File Points |NU User's Total Uploads |ND User's Total Downloads |UK User's Total Uploaded 'K' |DK User's Total Downloaded 'K' |UN User Note |TT User Time Today |LC Last Caller |NF New File Since Last Logon |NP New Messages Since Last Logon |TC Total Callers to BBS |NM Number of Mail waiting for user |TE Time Till System Event |CT Number Calls Today to BBS |UU User Number |LN BBS Name |SN BBS Name Abbr. |CP Com Port |CD Current Date |TI Current Time |TL User's Timeleft |HA Any Hack attempts |RN User's realname |TP User's Total Posts |FD Description of your FOSSIL Driver |AT TOTAL Time User has been on BBS |PA Pauses using the pause string |HS Holds the Screen until user presses |LO Last on DATE |LT Last on TIME |UD User's Required Upload/Download Ratio |RD User's Required Upload/Download Kilobyte Ratio |PR User's Required Post/Call Ratio |RU User's ACTUAL Upload/Download Ratio |KD User's ACTUAL Upload/Download Kilobyte Ratio |PC User's ACTUAL Post/Call Ratio |EX User's Expiration Date |ML User's Required Message Length (in Characters) |KL User's Daily Download Kilobyte Limit |DT How many Kilobytes user has download so far today |MT Current Multi-Taker Detected HEADER.ANS - Small header displayed in various parts of the BBS, (ie: "Sending mail to SysOp" or "Automessage by: "). Can also be used via menuediting with the ^X command. MCI Code Description -------------------------------------- |*X Prints out the 'X' character as many times as the length of the message |@ Prints out The Actual Message |T Prints Current Time Now Note: If You don't want it to clear the screen then (using TheDraw) save it in NORMAL Mode and pick 'N'one for the Video Prep. Then use FIXLINES.EXE to remove excess lines. INFOFORM.x - (x can be from 1 to 5) SysOp information forms used for keeping extra info on users. MCI Code Description -------------------------------------- * Stops for input |Bxx; Sets the input length (ie: |B30; means input can be up to 30 chars) ---------------------------------------------------------------------- ** CONFIGURABLE MATRIX ** There are two kinds of configurable matrix, normal input and a bar menu matrix, both created using script files. ž Normal Input Matrix. MATRIX.x - The Actual ANSI/Text File displayed (x can be from 1 to 9) MATNFO.x - This is where the info on MATRIX.1 is located. MATNFO.1 - Here is the setup of a command line: 1: COMMAND= STRING="" The 's are as follows: LOGON :Login to the BBS CHECK :Check to see what system password is APPLY :Apply for access to bbs EMAIL :Send Matrix Mail to the Management CHAT :Summon to the sysop from the matrix LATER :Disconnect from the matrix TYPE :Print a File; Form: TYPE C:\VISION\FILE.TXT HALT :Drops to DOS with specified Error Level Form: HALT xxx (xxx can be from 100-200) JUMP :This Command can Jump you to a completly differnt matrix form: JUMP x (Where X is a number between 1 and 9) for instance, if the command is JUMP 2 then the user will be "jumped" to MATRIX.2/MATNFO.2, to go back to 1 you would put a COMMAND in MATNFO.2 of JUMP 1 HELP :Displays a later specified Help File ECHO :Displays a line of text; Form: ECHO This is printed Here's an example, MATRIX.1 - Welcome to No-Name BBS! Bbs - Enter the No-Name BBS Check - Check Validation New - Apply as a New User Mail - Mail the SysOps Info - View Matrix News Bye - Drop Carrier ---------------- MATNFO.1 ---------------- 1: COMMAND=LOGON STRING="Bbs" 2: COMMAND=CHECK STRING="Check" 3: COMMAND=APPLY STRING="New" 3: COMMAND=EMAIL STRING="Mail" 4: COMMAND=TYPE C:\VISION\INFO.BBS STRING="Info" 5: COMMAND=LATER STRING="Bye" 6: COMMAND=HELP STRING="?" PROMPT=[Command]: HELPFILE=C:\VISION\MENUS\MAT1.HLP BADCOMMAND=Unknown Command! Use '?' For Help MAXTRIES=10 --------------- Now, upon connection, MATRIX.1 will be printed, HELPFILE can be set to HELPFILE=C:\VISION\MENUS\MATRIX.1 to use that same file or you can use a seperate file. PROMPT is the actual prompt used.. but you can set prompt to INTERNAL which will use the '@' command in the ansi file to stop for input.. BADCOMMAND is displayed when an unknown command is entered MAXTRIES Sets amount of times user can enter input before being hung up on ž Config Pulldown Matrix PDMATRIX.ANS - ANSI Screen that is displayed to user. PDMATRIX.NFO - Where screen cords and whatnot are displayed. Sort of similiar to .BAR, but uses a different format. PDMATRIX.NFO is where the Information on the Bar Menu is read from, the format is as follows: a: COMMAND=bbbbb XY=xx,yy STRING="ssssssssssssssss" a: is the number of the selection from 1 to 10 (Must be in consecutive order) b: is what to perform if is pressed on this hi-lighted bar, valid options are: LOGON {Logs on to BBS} CHECK {Check for access} APPLY {Apply as New User} EMAIL {Email the SysOp} CHAT {Page Sysop For Chat} LATER {Disconnect from Matrix} TYPE {Prints a File, form is TYPE Path\FileName, Ex: TYPE C:\VISION\NEWS.BBS} HALT {Exits V/2 with a specified Error Level Form: HALT xxx where xxx is any number betwenn 100-200} x: The 'X' Position on the Screen to put the Hi-Lighted Bar (1-80) y: The 'Y' Position on the Screen to put the Hi-Lighted Bar (1-25) s: This is the actual text displayed within the Hi-Lighted Bar If this is confusing here is a small example; Here's your ANSI File called PDMATRIX.ANS - Welcome to No-Name BBS! +-----------------------+ | Login to my BBS | | Apply to my BBS | | View System News | | Load Other BBS | | Drop Carrier | +-----------------------+ - Here's what the first line of PDMATRIX.NFO would now look like 1: COMMAND=LOGON XY=29,4 STRING="Login to my BBS" Ok, now "1:" represents current command "COMMAND=LOGON" means try to Logon to BBS (1 Page up gives the command names) "XY=29,4" - where the bar goes at this position on the screen "STRING="Login to my BBS"" - this is the text in the hi-lighted bar Now, this is what the whole file PDMATRIX.NFO would look like ------------------- PDMATRIX.NFO ------------------- 1: COMMAND=LOGON XY=29,4 STRING="Login to my BBS" 2: COMMAND=APPLY XY=29,5 STRING="Apply to my BBS" 3: COMMAND=TYPE C:\VISION\MENUS\NEWS.ANS XY=29,6 STRING="View System News" 4: COMMAND=HALT 100 XY=29,7 STRING="Load Other BBS" 5: COMMAND=LATER XY=29,8 STRING="Drop Carrier" BARCOLOR=31 NORMALCOLOR=127 ------------------- BARCOLOR=31 tells V/2 what you want to Bar Color to be. (If still confused about colors read this) 31 = Hi White on Blue, the formula to come up with the number 31 is Background * 16 + Foreground , so for Hi White would be 15 and Blue is 1, which is (Blue) 1 * 16 + 15 (White) = 31; (BTW: Flashing Formula is Background * 16 + Foreground + 128) NORMALCOLOR is the color of the Un-Hi-Lighted Bar -------------------------------------------------------------------------- ** Top Ten Statistics Screens ** There are 14 screen here, these are not needed however, only if 'Top Ten Type' is set to 1 in the config. If you set it to two, it will use a different method described later in this file. TOPTEN1.ANS - Top Posters TOPTEN2.ANS - Top PCR's TOPTEN3.ANS - Lowest Posters TOPTEN4.ANS - Lowest PCR's TOPTEN5.ANS - Top Uploaders TOPTEN6.ANS - Top Uploaders in Kilobytes TOPTEN7.ANS - Lowest Uploaders TOPTEN8.ANS - Lowest Uploaders in Kilobytes TOPTEN9.ANS - Top Downloaders TOPTEN10.ANS - Top Downloaders in Kilobytes TOPTEN11.ANS - Lowest Downloaders TOPTEN12.ANS - Lowest Downloaders in Kilobytes TOPTEN13.ANS - Top Callers TOPTEN14.ANS - Lowest Callers MCI Code Description ------------------------------------------------- |U Current User who is online |T Time |D Date |Nx Where 'x' is a number of 0-9.. representing the user in this place in the catagory according to the filename. so if you are using TOPTEN1.ANS {Top Poster} then |N0 would display the number 1 top poster's NAME and so on |N1 = Second, |N2 = Third.. etc.. |Bx Same as above but shows the PERCENTAGE BAR instead of the name |Vx Same as above but shows the VALUE (ie: 120 Posts, 32767 Downloads) etc. ---------------------------------------------------------------- ** User Configuration Screen ** CONFIG.ANS - ANSI Screen CONFIG.NFO - Where info/stats are stored for CONFIG.ANS Information in CONFIG.NFO: Format: l,xx,yy 'l' appropriate letter 'xx' X Cordinates for 'l' 'yy' Y Cordinates for 'l' the letters are as follows: A = Real Name P = Password U = Phone Number L = Use Arrow Bars (Yes/No) K = Ask New Scan (Yes/No) F = Full Screen Editor (Yes/No) H = Hot Keys (Yes/No) E = Emulation R = Use Rumors (Yes/No) N = User Note M = Pause Prompts 1 = User Color 1 2 = User Color 2 3 = User Color 3 4 = User Color 4 5 = User Color 5 6 = User Color 6 7 = User Color 7 @ = Where to place the cursor to wait for input These letters/numbers are wait get the corrosponding option to change. to place Real Name which is Letter 'A' put this in config.nfo say you want the real name to go to 15,20 on the screen you would put A,15,20 on one line. See example this makes no sense..! DEFCOLOR=14 sets the Color to show all the options in ------------------------------------------------------------------- ** Configurable SysOp User Editor ** USEREDIT.ANS - ANSI file that is displayed. USEREDIT.NFO - Stored Cords and keys. Format for each line in .NFO file: x,y,color,hotkey,indentifier x,y - the cords to display and get input. color - the color to display indentifier hotkey - key that will edit identifier Indentifier Description ------------------------------------------------ H Edit Users Handle O Edit Users User Note L Edit Users Access Level U Edit Users UD Level P Edit Users File Points N Edit Users Phone Numer R Real Name # Total Calls to BBS + Total Uploads - Total Downloads < Total Kilobytes Uploaded > Total Kilobytes Downloaded M Total Posts User has made ! Required Message Length (in characters) 1 Required UD Ratio 2 Required UD K Ratio 3 Required Post/Call Ratio 4 Kilobytes User has downloaded today 5 Daily Kilobyte Download Limit D Demons attack this user? T User has a Time Lock * Time Per Day C User cannot page sysop E User cannot use E-Mail = User cannot use rumors B Is User using Bar Menus F Is User using Full Screen Editor I View Infoforms K Delete User X Quit Editing ------------------------------------------------------------------- ** Configurable Chat Screens ** Filename CHAT.xxx & CHATNFO.xxx (where xxx is a number from 1-999) CHAT.xxx is the actual ANSI drawing of the screen there are two MCI codes are |U = Username |S = SysOp Name CHATNFO.xxx is where the info is stored for CHAT.xxx (line definition X,Y posistions, etc..) here is a sample file If you don't want to use any of these simply don't add them to the file TIME=43,12 - X,Y position of Current Time DATE=66,12 - X,Y position of Curernt Date ELAPSED=19,12 - X,Y position of Elapsed Time of Chat SYSOPNAME=4,1 - X,Y position of SysOp Name, if not used in MCI USERNAME=4,13 - X,Y position of User Name, if not used in MCI SYSOPCOLOR=112 - SysOp's Typing Color, Back * 16 + Fore USERCOLOR=113 - User's Color STATCOLOR=124 - Stat's Color For Time,Date etc.. USER_CLEAR_LINE - Add this to clear each user line by using the ANSI End Of Line, this is faster but clears the whole line, if not used will clear each line by each letter SYSOP_CLEAR_LINE - Same as top, only for SysOp SYSOPLINES - This starts defining the X,Y locations of the SysOps lines 1: 4,2 77,2 - 1: represents which line number 4,3 represents where to START line 1 77,2 represents where to STOP line 1 2: 4,3 77,3 3: 4,4 77,4 4: 4,5 77,5 5: 4,6 77,6 6: 4,7 77,7 7: 4,8 77,8 8: 4,9 77,9 9: 4,10 77,10 USERLINES - This starts the User Lines definitions 1: 4,14 77,14 2: 4,15 77,15 3: 4,16 77,16 4: 4,17 77,17 5: 4,18 77,18 6: 4,19 77,19 7: 4,20 77,20 8: 4,21 77,21 9: 4,22 77,22 -------------------------------------------------------------------- ** Login Procedure ** LOGIN.ANS - if this doesn't exist then ALIAS.ANS/PASSWORD.ANS will be used. all this is for is to have it all on one ANSI file instead of broken up into two as compared to ALIAS.ANS/PASSWORD.ANS, plus this one makes it easier to configure.. MCI Code Description ------------------------------------------------- |N Where to go to enter handle |P Where to go to enter password |B Displays Connect String |W Displays Date |Y Displays Time |U Displays User Note (After Handle has been entered) |D Displays Last Date On " " |T Displays Last Time On " " |O Where to go to ask if you want to apply as newuser |^xxx This is the normal color |$xxx This is the stats color (For baud/times etc..) -------------------------------------------------------------------- ** VARIOUS CONFIGURABLE LISTING FILES ** *.TOP / *.MID / *.BOT These files are used when listing, such as user list, file area list, etc. The .TOP file is displayed once. The .MID is displayed for each item in the list. The .BOT is only displayed once. All of the following 'XX' 's can be preceded by either a '|' or a '^' .. the difference is that '|' will space the string it's maximum amount of spaces allowed.. '^' will just display the string as it is.. there can be three files for each listing.. the top which has the extension .TOP, the most important which is the middle, (extension = .MID) and the bottom, which has the extension of .BOT.. the Middle is the most important because it has the actual listing information in it.. this file is redisplayed for each new line. How to get these to work: First of all, make your ansi using TheDraw, these files must be saved in 'NORMAL' Mode (not animated mode).. when saving the file, TheDraw asks a few questions.. 1. "Do you want to [C]lear the Screen, [H]ome Cursor, [N]one, etc." .. here you would probably choose [N]one unless you want it to clear the screen, but for the *.MID files [N]one is the likely choice. 2. "Maxi- mum Line Length [1-255 [N]one etc".. here you MUST select [N]one.. now TheDraw has added extra lines to the end of the file, run FIXLINES.EXE and specify the maximum amount of lines or carriage returns you want in the file.. this utility will truncate the rest of the file after the specified carriage return. (if your 'USERLIST.TOP' is three lines you would truncate at three or four lines depending on how many linefeeds you want under the header) User Listings USERLIST.TOP - Top USERLIST.MID - Supports the following MCI codes Remeber these are preceded by a '|' or '^' 'UH' = User's Handle (28 Spaces) 'LV' = User's Level (5 Spaces) 'CA' = User's Total Calls (4 Spaces) 'PC' = User's Post/Call Ratio (3 Spaces) 'UN' = User Node (30 Spaces) 'AC' = User's Area Code (3 Spaces) USERLIST.BOT - Bottom Daily Log Listing DAILYLOG.TOP DAILYLOG.MID 'DA' = Date (10 Spaces) 'UL' = Uploads (8 Spaces) 'DL' = Downloads (8 Spaces) 'PO' = Posts (8 Spaces) 'NU' = New Users (8 Spaces) 'MI' = Minutes Used (8 Spaces) 'FB' = Feedback (8 Spaces) DAILYLOG.BOT Recent Callers Listing LASTCALL.TOP LASTCALL.MID 'NU' = Number in List (2 Spaces) 'UN' = Name (28 Spaces) 'AC' = Area Code (3 Spaces) 'CA' = Total Calls to System (4 Spaces) 'DA' = Date Called (9 Spaces) 'TI' = Time Called (9 Spaces) 'MO' = Minutes On (3 Spaces) 'BA' = Baud Rate (20 Spaces) LASTCALL.BOT File Area Listing FILEAREA.TOP FILEAREA.MID 'NU' = Number of Area (3 Spaces) 'AN' = Area Name (30 Spaces) 'NF' = Number Of Files in Area (4 Spaces) 'UL' = Allow Uploads (3 Spaces) 'DL' = Allow Downloads (3 Spaces) 'NS' = NewScan in this area? (1 Space) FILEAREA.BOT Batch File Listing BATLIST.TOP BATLIST.MID 'NU' = Number in List (2 Spaces) 'FN' = Filename (12 Spaces) 'SZ' = File Size (6 Spaces) 'CO' = File Cost (4 Spaces) 'AR' = Area File (3 Spaces) 'ET' = Estimated Time (5 Spaces) BATLIST.BOT Message Area Listings MSGAREA.TOP MSGAREA.MID 'NU' = Number (2 Spaces) 'AN' = Area Name (30 Spaces) 'TY' = Base Type (Net or Local) (15 Spaces) 'LV' = Area Level (5 Spaces) 'NM' = Number of Messages (3 Spaces) 'NS' = Is Base in NewScan? (1 Space) MSGAREA.BOT 'NM' = Total Number Of Messages in Conference Multi-Node User Listing NODELIST.TOP NODELIST.MID 'NU' = Node Number (2 Spaces) 'NA' = Name of User on Node (28 Spaces) 'ST' = Status Of User (25 Spaces) 'BA' = User's Baud Rate (18 Spaces) NODELIST.BOT Users Awaiting Validation NEWUSERS.TOP NEWUSERS.MID 'NU' = Number in List (2 Spaces) 'NA' = New User's Name (28 Spaces) 'DA' = Date Applied (9 Spaces) 'TI' = Time Applies (9 Spaces) NEWUSER.BOT Last 5 Callers LASTFIVE.TOP LASTFIVE.MID 'NU' = Number in List (2 Spaces) 'UN' = Name (28 Spaces) 'AC' = Area Code (3 Spaces) 'CA' = Total Calls to System (4 Spaces) 'DA' = Date Called (9 Spaces) 'TI' = Time Called (9 Spaces) 'MO' = Minutes On (3 Spaces) 'BA' = Baud Rate (16 Spaces) LASTFIVE.BOT BBS Listings... BBSLIST.TOP BBSLIST.MID 'NA' = Name Of BBS (30 Spaces) 'PH' = Phone # Of BBS (12 Spaces) 'BA' = Highest BPS (5 Spaces) 'WA' = Software Type (8 Spaces) 'EX' = Yes/No If ANSI With Entry (3 Spaces) 'NU' = Number Of the List (2 Spaces) BBSLIST.BOT Message Conference Listings MSGCONF.TOP MSGCONF.MID 'NU' = Conference # (2 Spaces) 'NA' = Conference Name (30 Spaces) 'MI' = Minimum Level (5 Spaces) 'MA' = Maximum Level (5 Spaces) MSGCONF.BOT ** Note: You can also use MSGCONF.ANS as an input file File Conference Listings XFERCONF.TOP XFERCONF.MID 'NU' = Conference # (2 Spaces) 'NA' = Conference Name (30 Spaces) 'MI' = Minimum Level (5 Spaces) 'MA' = Maximum Level (5 Spaces) XFERCONF.BOT ** Note: You can also use XFERCONF.ANS as an input file Voting Choices/Answers Listing VCHOICES.TOP 'QU' = Voting Question/Topic (40 Spaces) VCHOICES.MID 'NU' = List Number (2 Spaces) 'NA' = Voting Selection/Answer (40 Spaces) 'TV' = Total Votes on This Selection (2 Spaces) VCHOICES.BOT Voting Topic Listing LISTVOTE.TOP LISTVOTE.MID 'NU' = Topic Number (2 Spaces) 'TO' = Voting Topiv (40 Spaces) LISTVOTE.BOT Famous Birthdays BIRTHDAY.TOP BIRTHDAY.MID 'DA' = Date (Year) (4 Spaces) 'BD' = Who's Birthday (60 Spaces) BIRTHDAY.BOT Famous Events EVENTS.TOP EVENTS.MID 'DA' = Date (Year) (4 Spaces) 'EV' = The Event (60 Spaces) EVENTS.BOT Infoform Listings FORMS.TOP FORMS.MID 'NU' = Infoform Number (1 Space) 'DE' = Description of Infoform (30 Spaces) 'RE' = Displays 'Required' or 'Optional' 'ST' = Displays 'Competed..' or 'Incomplete!' FORMS.BOT Top Five Listings (If Top Ten Type is set to '2') ( ? = 1 - 14 -; numbers match topten.xx files defined earlier) TOPFIVE.?T TOPFIVE.?M 'NU' = Number in List 'NA' = User Name 'VA' = Value (3 Posts, 10 uploads etc..) TOPFIVE.?B Incoming E-Mail List IN_MAIL.TOP IN_MAIL.MID 'NN' = Mail Number (2 Spaces) 'TI' = Mail Title 'RE' = Mail Read ('Old' or 'New') 'FF' = Mail Directed To IN_MAIL.BOT Outgoing E-Mail List OUT_MAIL.TOP OUT_MAIL.MID 'NN' = Mail Number (2 Spaces) 'TI' = Mail Title 'RE' = Mail Read ('Old' or 'New') 'FF' = Mail From OUT_MAIL.BOT Doors Listing DOORS.TOP DOORS.MID 'NU' = Door Number 'DO' = Door Name 'LV' = Minumum Level to use Door 'US' = Times door has been used. DOORS.BOT ------------------------------------------------------------------------ MCI Codes For STRINGS.EXE and Rumors/Quotes, etc.. |01-|15 Ansi Color 1-15 |B0-|B7 Activate Background Color 0-7 $x : Where 'x' is one of the following 'a' Ansi Color 0 - Black 'b' Ansi color 1 - Blue 'g' Ansi color 2 - Green 'c' Ansi color 3 - Cyan 'r' Ansi color 4 - Red 'p' Ansi color 5 - Purple/Magenta 'y' Ansi color 6 - Dark Yellow/Brown 'w' Ansi color 7 - White 'A' Ansi color 8 - Grey 'B' Ansi color 9 - Hi Blue 'G' Ansi color 10 - Hi Green 'C' Ansi color 11 - Hi Cyan 'R' Ansi color 12 - Hi Red 'P' Ansi color 13 - Hi Magenta 'Y' Ansi color 14 - Yellow 'W' Ansi color 15 - Hi White |C1 Current User's Color 1 |C2 Current User's Color 2 |C3 Current User's Color 3 |C4 Current User's Color 4 |C5 Current User's Color 5 |C6 Current User's Color 6 |C7 Current User's Color 7 |TL User's Time Left |TN Time Now |UH User's Handle |CR Carriage Return |@*xx: '*' = Character; xx = number of times to draw character '*' %% : Displays specified file/possibly uses an input file. TIMEOUT.ANS - Displayed if a user doesn't hit a key after the time-out limit NEWS.BBS - Displayed BEFORE The Matrix NEWUSER.ANS - Displayed when a newuser applies FEEDBACK.ANS - Displayed when a newuser leaves newuser feedback NICETRY. - Displayed when a user misses his password after 3 tries CALLBACK.ANS - Displayed when your system hangs up on new users PRELOGON.ANS - Displayed after user enters handle/password WELCOME.xxx - Welcome File when User is Logged on 1-999 SUMMON. - Displayed when user request chat NOLOCALS.ANS - Displayed if a local applies for access and cannot NOLOGON.ANS - Displayed if an unvalidated user enters his password to login EXEMPT.AC - List of local user's not included in total percent local PRE-UP.ANS - before user Uploads file(s).. FILETOP.ANS - File Listing Top Header ------------------------------------------------------------------------- Menu Editing Written By: Nocturnus For ViSiON/2 .84 THE REVision ViSION/2 has now added the configurability of many BBS softwares by adding the menu editing feature. Now you can make your ViSiON/2 look like whatever you decide. Now on with the info. First you need to make sure you have everything set up correct, after that you can run the MENUEDIT.EXE file and start configuring you BBS. Now there are all the defalut menus, and I will include examples in here for your understanging. All you need to do is check to see if the commands are correct. Now I will attempt to explain all the menu commands. Here we go... -- Using MENUEDIT.EXE -- After running MENUEDIT.EXE, you will see a list of menus that you may edit and a list of commands at the bottom of the screen. These commands are to EDIT, you should press F10 or ENTER, to delete a menu hit F2, and to add a menu hit F5. lets say you would like to edit, so lets say it's the main menu, so just goto where it says the menu title is MAIN MENU, and hit F10 or ENTER. After that you will be brought to another menu. Time to describe these. Menu Title : The title of the menu Fallback Menu : If a menu doesn't exist, it will goto this menu. Usually the MAIN Menu. Help File : The ansi to be displayed if the user hit's ?. ASC Required : (See ACS Section) Force Menu Level: If a user has this level or below, they will always see the Help File. Menu Password : If password enter, user must enter this password to get to the menu. Clear Screen : If yes, screen will be cleared when menu is loaded Use Menu Prompt : If set to yes, Prompt Line 1 : The menu prompt displayed for the current menu. You may use an external ANSI file here by putting this for the prompt: %% (see "Input Files") ie: %%c:\vision\menus\main.ans Prompt Line 2 : Basically just extra space if needed. Force File Conf.: File conference to be forced for this menu. Force Msg. Conf.: Message conference to be forced for this menu. Force Hot Keys : If set to YES, user can just enter the command and not have to press return. To start editing the MENU COMMANDS, enter F10. Now, you can actually change the menus around and change commands. Now you will see the list of commands used for the MAIN MENU, commands for this screen are, F2 to delete a command, F5 to add a commnad, and Enter to edit a command. Since this screen is self-explainatory, I will go on. Say you want to edit the first command, so hit enter. You can hit ALT-H to get a list of menu commands from here Now you can change the commands, a descripton of the commands are: -------------------------------------------------------------------------- Command Description: Just a little desctiption of the menu. Keystroke : The letter(s) of the command, ie: M to goto the messages or you can use: ^M : Command is run when user hits ## : Command is run when user enters a number. // : Command is AUTO-RUN once when menu is loaded ~~ : Command is AUTO-RUN everytime user enters a command Commands : This determines what happens if the user enters the above keystroke, you can enter multiple commands but they must be seperate by a semi-colon. ACS Level : User must have this level or above. Hidden : Will this command be hidden to users? Here are some examples of commands that can be used. Lets say that you want to goto the message section and you have 2 conferences, the command would look like so: ^L;CM;^L;ST1;ST3;^P;^$MESSAGE This does: ^L, clear screen, CM, asks you for what conference, ST1/ST3 displays the status screen (in MCICODES.TXT), ^P, pauses the screen, and ^$MESSAGE loads the message menu. Now, if your like me, I have it set up for a New Scan menu, so this is how mine looks. ^L;CM;^L;ST1;ST3;^P;^$MSGNS It does the same as the above, but instead of loading the message menu, it loads the Message Newscan menu, which looks like this: Command Description Keystrokes Command(s) Message Newscan Y MN;^$MESSAGE Message Newscan ^M MN;^$MESSAGE Abort Newscan N ^$MESSAGE Quit To Main Q ^$MAIN Now, if the user hit's Y or ENTER, it will go in and Newscan the current conference, and it they hit N, it will abort the newscan, and if they hit Q it will go back to the main menu. Since I use the interal prompt, I have mine set like this: Use Menu Prompt : Y Prompt Line 1 : |CR|09Scan for new messages? (Y/n): or you could make you prompt line 1 like: %%c:\vision\menus\msgns.ans That will display the ansi MSGNS.ANS from you menu directoy. There are two required .MNU files, 'START.MNU'.. this is the first menu loaded after user enters his/her name, your whole menu systems 'starts' from here. Second, is 'GLOBAL.MNU', any commands in this menu can be used from ANY prompt on the bbs. That should be a good enough doc file for you to understand. Now this is a list of all the menu commands you can use with ViSiON/2. If you need some more help, leave mail to Crimson Blade on Thieft Of Services. Here is a list of all the menu commands. '^M' - Do Command when User Hits at prompt '##' - Do Command when user hits any number '//' - AutoRun Command ONCE when menu loads '~~' - AutoRun Command at every prompt (Prompt/Print File Commands) ^x where x can be.. 'P' : Pause the screen '@' : Write parameter, get input 'H' : Write parameter, get input w/ hotkey 'B' : Beep User '$' : Change to menu xxxxx 'M' : Carriage return 'F' : Display file using bar (|) MCI Codes 'I' : Display file and get input via '@' 'S' : Show text (param) 'L' : Clear Screen 'X' : Write ^X using the config header (File Commands) Fx, where x can be ... 'D' : Download file(s) 'A' : Add file(s) to batch 'V' : View file archive 'T' : Type a text file 'R' : Remove a file from batch 'I' : Get info on a file 'U' : Upload file(s) 'L' : List file(s) by user config 'W' : List file(s) by who uploaded '*' : Change file area 'S' : Search for file (text/wildcard) 'N' : Newscan current file conference 'B' : List files in batch 'Z' : Config file newscan 'E' : Edit file user has uploaded 'C' : Clear batch list ']' : Move one file area forward '[' : Move one file area backward (File SysOp Commands) $x, where x can be 'S' : Sort area(s) 'A' : Change file area ']' : Move one file area forward '[' : Move one file area backwards 'X' : View transfer log 'W' : Add files by wildcard 'F' : Add a single file '*' : View a DOS directory 'M' : Modify current file area 'K' : Kill current file area 'O' : Reorder areas 'B' : Add a file to batch 'D' : Delete all in batch 'E' : Edit all in batch 'V' : View all in batch 'P' : Move file(s) '=' : Rename a file 'N' : SysOp file newscan 'L' : List files normal '!' : List files by who uploaded (Message Base Commands) Mx, wher x can be: 'P' : Post msg in current area 'N' : Newscan all flagged areas 'R' : Newscan current area 'K' : Delete a message 'L' : List message titles 'E' : Edit a bulletin ']' : Move to next message area '[' : Move to previous message area 'F' : Configure message newscan 'T' : Toggle base in newscan 'U' : Process QWK reply packet 'D' : Make QWK packet 'G' : Set Max QWK msgs per area 'A' : Change message area (Message SysOp Menu) &x, where x can be 'S' : Set board access by name 'A' : Set board access for all 'L' : List user's with access 'M' : Move a bulletin 'B' : Bulletin to text 'E' : Edit current sub-board 'K' : Kill current sub-board 'O' : Re-Order boards (New User Voting) Nx, where x can be 'L' : List new users 'N' : Newscan new users 'S' : Newscan new users without arrow bars 'V' : Vote on user ## (use ## for keys) 'X' : Vote on user ## without arrow bars (Email & SysOp Email Menu) Ex, where x can be 'L' : List incoming mail 'O' : List outgoing mail 'F' : Write email to text file 'E' : Edit user who sent mail (sysop only) 'C' : Copy mail to another user 'W' : Forward mail to another user 'S' : Send mail to user 'Z' : Zippy send mail to user 'N' : Scan for new mail only 'R' : Read all mail old & new 'B' : Look in another "mailbox" (sys only) '*' : Look at all mail (sysop only) 'D' : Delete mail by range (sysop only) 'A' : Edit email announcement 'Q' : Ask if user wishes to nuke old mail '-' : Read next mail (no bars/menu) 'K' : Delete current mail 'V' : View outgoing mail '#' : View mail # (if user enters #) (E-Mail Group Editing) Gx, where x can be 'A' : Select a group to edit 'D' : Delete a group 'L' : List members of group 'R' : Add user to group 'K' : Remove member from group 'C' : Set class of group 'S' : Set group creator 'B' : Add users by level (BBS Listing Menu) Bx, where x can be 'L' : List BBS's 'A' : Add a BBS 'C' : Change a entry 'V' : View BBS ANSi 'D' : Delete an entry (Rumors Menu) Rx, where x can be 'L' : List rumors 'A' : Add a rumor 'N' : Rumors newscan 'S' : Search for rumor 'D' : Delete a rumor '*' : Display random rumor (Doors Menu) Dx, where x can be.. 'L' : List doors 'O' : Open a door, ask which one 'I' : Get info on a door 'C' : Change door (sysop) 'D' : Delete door (sysop) 'M' : Create a new door (sysop) '*' : Open a door, if you user enter's a number '@' : Force open a door with parameter, (D@##) (Change Conference) Cx, where x can be.. 'F' : Change file conference, ask which one 'M' : Change message conference, ask which one 'Yx': Changce file conf, force conf #x (1-99) 'Zx': Change message conf, force conf #x (1-99) (Voting Menu) Vx, where x can be.. 'L' : List current choices 'V' : Get or change vote on current topic 'S' : Show results of current topic 'T' : List voting topics 'P' : Select voting topic; 'A' : Add a voting selection (sysop) '*' : Add a voting topic (sysop) 'D' : Delete a voting topic 'R' : Remove a choice from topic 'N' : Next topic / question 'M' : Auto-vote on mandatory topics (Miscellanous Commands) Ax, where x can be... 'A' : Change/edit auto-signature 'E' : Pick emulation set 'S' : Summon sysop 'G' : Log off bbs 'O' : Quick log off 'D' : Show daily log 'F' : Leave sysop feedback 'P' : Change user password 'Y' : View system stat's 'L' : Set last call date 'W' : View last 20 callers 'C' : Configure user account 'U' : User listing '=' : Show Famous Events/Birthdays 'M' : Change Auto-Message (SysOp Feedback Menu) Ix, where x can be.. 'W' : Display current feedback stat's 'D' : Delete current feedback 'E' : Edit user who sent current feedback 'I' : View infoform of user who send feedback 'N' : Go to the next pice of feedback 'A' : Read current feedback again 'R' : Reply to current feedback 'L' : List all feedback (by title) 'Q' : Quick read all feedback (using arrow bars) '*' : Quick read NEW feedback (using arrow bars) (Basic SysOp Commands) %x, where x can be.. 'A' : Add a user to NUV List 'U' : Edit users 'S' : Edit system status 'B' : Edit blacklist 'X' : Transfer to another user 'N' : Edit news 'K' : Delete error log 'T' : Set BBS time 'M' : Make a user 'H' : Infoform hunt 'V' : View sysop log 'D' : Delete sysop log 'L' : List everyone with sysop access 'E' : Read error log '*' : Nuke all infoforms '&' : Remote DOS shell 'O' : Add News (Misc. Login Procedures) Lx, where x can be: 'W' : Display random welcome screen 'S' : Display random stat screen 'M' : Check for new waiting mail 'F' : Check for feedback (sysops only) 'N' : Check for user notices 'A' : Display auto-message 'U' : Show new users 'L' : Show last five callers 'O' : One liners 'V' : Check for new users to vote on (Multi-Node Stuff) !x, where x can be 'C' : Multi-node chat 'S' : Send multi-node message 'L' : Node listing 'N' : Nuke Node (Hang up) 'U' : Update node status (ie: At Main Menu) (Top Five Display) ST# (where '#' can be from 1-14) ------------------------------------------------------------------------- ACS - Access Conditioning System Quick Reference. ACS is widely used system which allows a sysop to grant and restrict access to various parts of the BBS. This system is now a part of ViSiON/2. With ACS, you can 'fine tune' access to menu commands depending on many factors. Command Description ------------------------------------------------------------------------ ! a 'NOT' flag, switches true and false. () V/2 processes anything within ()'s first. | 'OR' flag, true if either two compared variables pass A true of user has ANSI/Avatar graphics Bxxx true if baud is >= 'xxx', where is 24,48,96,192,etc Cx true if message conferences = 'x' Dxx true if file level is > 'xx' Exx true is PCR (post/call ratio) passes, if 'xx' is blank, user's set PCR will be used. Fx true if 'x'(a-z) flag is set for current user Hx true if current time hour = 'x' Ixxxxx true if last user input = 'xxxxx' L true if local Pxx true if uses has more than 'xx' file points Sxx true if user level is >= 'xx' Txx true if user's time left is >= 'xx' Uxx true if user number = 'xx' V true if user level is >= specified login level Xx true if file conf = 'x' Yhh:mm/hh:mm true if current time is within hh:mm/hh:mm am/pm required ------------------------------------------------------------------------ Note: All 'xxx' variables mentioned above should be lower case or numeric. If you are not familiar with using ACS, here are some examples to help explain this system. S50 : Command will run if user level is greater than or equal to 50. !S50 : Command will NOT run if user level greater than or equal to 50. S50D50 : Command will run if user level is >= 50 AND user file level is >= 50. S25Fa : Command will run if user level is >= 25 AND user has the flag 'A' set. S100|Fb : Command will run if user level is >= 100 OR user has the 'B' flag set. Y1:00 am/3:00 pm : Command will be run if the time is within 1:00 am and 3:00 pm E30|X1 : Command will run if user's PCR is >= 30 OR if file conference = 1 (AB96S25Fd)|S100 : Command will run if user has ANSI, is at 9600 bps or higer, has a user level 25 or more, and has flag 'D' set, OR it will run if user has a level set of 100 or greater. Evision : Command will run if user's last input was 'vision'