Renegade Advanced Customization Revision #2 by Sexual Chocolate [ENTiTY] Written for use with Renegade Version 01/02/94 EXP Too often I have called Renegade boards that have been unmodified or poorly customized from the default set-up. The ones that have been customized are usually boring and unimaginative, and only scratch the surface of Renegade's capabilities. The strength of the Renegade BBS software lies in the capabilities of the menu editor. With a little imagination in the use of the menu editor and a bit of patience, the look and feel of a Renegade board can be very impressive. The suggestions and instructions contained within this text are certainly not the extent of what can be done with Renegade, but are merely suggestions and ideas for implementing some of the more advanced and unique features not found on many Renegade systems. Also contained within this file are tips on getting around some of the more annoying bugs and flaws in Renegade. What's New This Issue: 1 - Making Renegade Oneliners Version 2.9 work correctly with 01/02/94 Renegade. (Yes, I know 3.0 recently came out. Thought I'd include this anyway.) 2 - Tips on using NUQUES.EXE (Part of the NUVote package by Killean) with the 01/02/94 Renegade. Also, how to use Ansimation infoforms with Renegade. 3 - Creating separate file and message conferences that are number based. 4 - Problems with Renemail and what to do about them. 5 - Fixed a minor typo in the instructions on how to delete the @ conference. 6 - Revised arrow-key prompt instructions for RG 01/02/94. 7 - Fixed a MAJOR problem in the instructions on setting up a full-screen logon. I had previously failed to mention that the prompt for the user's handle was in the STRING.DAT file, and NOT in the RENEGADE.OVR file. The password prompt, however, is in the RENEGADE.OVR file. Also, the instructions on implementing a full-screen logon are more detailed now. Section 1 Making Renegade Oneliners Version 2.9 by Prometheus work correctly with Renegade 01/02/94 EXP With the switch from 07/17/93 Renegade to 12/25/93 or 01/02/94, the manner in which RG handles infoforms has changed a bit. Those of you who have experience with the Oneliners program by Prometheus are probably aware that it uses an infoform to query the user for the text to append to the ONELINE.ASC file, thus eliminating the need to drop to a door to prompt for the text to append to ONELINE.ASC (also eliminating the need to code serial/modem routines in the door). In the previous 07/17/93 version of Renegade, infoform answers were appended to the end of the .ASW file, regardless of whether or not that person had previously completed the particular infoform. It would also automatically create the .ASW if it did not already exist. With the 12/25/93 and 01/02/94 update of Renegade, infoforms are handled in a slightly different manner. Old infoform answers are now replaced with new infoform answers if the user fills out the infoform again. Also, more importantly, the 01/02/94 and 12/25/93 version of Renegade will not correctly process infoforms unless a .ASW file is already present (and is at least 1 byte). This new way of handling infoforms proposes a problem to Sysops using the Oneliners door by Prometheus. There is, however, a simple work-around which should solve the problem. You will need to create a .BAT file called ONELINE.BAT which contains the following statements: ONELINE.EXE COPY C:\BBS\MISC\ONELINE.TXT C:\BBS\MISC\ONELINE.ASW Be sure to change the path name specified in this batch file to correspond to the correct pathname of your BBS. Also, you will need to create a file called ONELINE.TXT which contains a carriage return (basically to make the file at least 1 byte long) and place it in your MISC directory. Now change the menu file that you use to call the ONELINE.EXE program to simply call ONELINE.BAT instead. Prometheus has, however, released an update of his program which solves the problem I have tried to resolve above. Until the update becomes more widely distributed, this simple fix should do the trick for those of you who haven't yet received his new version. Section 2 Using NUVOTE's .INF file to call NUQUES.EXE and tips on using ANSI/Ansimation infoforms within Renegade Those of you using the New User Voting program by Killean will need to add the following line to the end of the .INF file used to call the NUQUES.EXE included with the NUVote package. ;K This infoform command tells RG not to save the answers to an .ASW file and is required in order to use NUQUES.EXE with the 12/25/93 or 01/02/94 version of Renegade. For those of you not wishing to use an external door (such as NUQUES.EXE) to fill out ANSI/Ansimation infoforms but are puzzled on how to get Renegade to work with ANSI/Ansimation infoforms, read on. The first time I tried to use an Ansimation infoform with Renegade, only the first few prompts for input would be placed in the correct position when filling out the infoform. This was aggravating and I couldn't understand why RG wasn't reading the infoform correctly. The problem arises when the "*" that tells Renegade to accept input isn't at the end of the line. The Draw doesn't take into account that you need the "*" at the end of the line, and writes it where it pleases in the .ANS/.INF file. What you will need to do is search through the NEWUSER.INF Ansimation infoform with a text editor and make sure that all the lines with "*" contain the "*" as the last character on the line. You can insert a RETURN to isolate this character as the last one on each line where input is accepted. It will take a few tries, so be patient. Section 3 Creating Separate File and Message Conferences (using a number based system) Renegade's conference system is structured so that conferences contain both message and file areas. In an effort to emulate the Vis-X/Obv-2/etc. style of separating message and file conferences in Renegade, I have come-up with this rather simple work-around. The procedure I use also makes it possible for the user to pick conferences by a number rather than by a letter. First, you will need to set up the conference system so that message and file conferences are separated into different conference tags, rather than file and message areas having a single tag for both. As an example, I have included my conference area settings: N:Title :ACS =:========================================:=== A Belfast Local FE B BeerWare Support Network FE C CyberCrime International FE D CrimsonNET FE E ShadowNet FE F ValiantNet FE W General/Miscellaneous [FILE] FE X Art Groups and Magazines [FILE] FE Y PC Demos and Music [FILE] FE Z Renegade and BeerWare Utils [FILE] FE My ACS flag of "FE" is just a flag that I have set for users who have been validated and have access to my file and message areas. Do with this ACS setting what you want. After you have configured separate file and conference areas, you will want to create an ANSI which is displayed to users when they change message or file conferences. Create a separate file for message and file conferences, with each one containing appropriate conference information. I have titled my file conference listing FILECONF.ANS and my message conference listing MSGCONF.ANS. Both of these are placed in the MISC directory. Here's my FILECONF.ANS: File Conferences þ1þ Miscellaneous/General þ2þ Art Groups and Magazines þ3þ PC Demos and Music þ4þ Renegade and BeerWare Utilities Here's my MSGCONF.ANS: Message Conferences þ1þ Belfast Local þ2þ BeerWare Support Net þ3þ CCi Network þ4þ CrimsonNET þ5þ ShadowNet þ6þ ValiantNet You will now need to create the actual .MNU file that is called when a user wishes to change message or file conferences. There will need to be two of these .MNU files--one to switch message conferences and one to switch file conferences. Which .MNU is executed depends on whether the user is at the file or message menu. My file conference changing menu is called JUMPCONF.MNU and my message conference menu is called JUMPCONM.MNU. Here's my JUMPCONF.MNU: Menu filename: JUMPCONF 1. Menu titles : 2. Help files :FILECONF.ANS / FILECONF.ANS 3. Menu Prompt :Conference Selection [?/List]: (Conference Selection [?/List]: ) 4. ACS required :"" 5. Password :*None* 6. Fallback menu :MAIN 7. Forced ?-level:2 8. Generic info :4 cols - 4/3/5 9. Flags :---------- Q. Quit Here's the menu command information for JUMPCONF.MNU: NN:KK-Typ-Options NN:KK-Typ-Options NN:KK-Typ-Options ==:========================:=====================:=============== 1 1 OR W 4 2 -^ SCANFILE 7 4 OR Z 2 1 -^ SCANFILE 5 3 OR Y 8 4 -^SCANFILE 3 2 OR X 6 3 -^ SCANFILE You will notice that the .MNU scans for the corresponding number which represents a conference. From there, Renegade switches to that conference and executes the SCANFILE menu. SCANFILE.MNU simply asks the user if they want to search for new files since their last call. You could do this, or you could have it drop directly into your FILE.MNU (or whatever yours may be called). Here's my JUMPCONM.MNU: Menu filename: JUMPCONM 1. Menu titles : 2. Help files :MSGCONF.ANS / MSGCONF.ANS 3. Menu Prompt :Conference Selection [?/List]: (Conference Selection [?/List]: ) 4. ACS required :"" 5. Password :*None* 6. Fallback menu :MAIN 7. Forced ?-level:2 8. Generic info :4 cols - 4/3/5 9. Flags :---------- Q. Quit Here's the menu command information for JUMPCONM.MNU: NN:KK-Typ-Options NN:KK-Typ-Options NN:KK-Typ-Options ==:========================:====================:=============== 1 1 OR A 5 3 OR C 9 5 OR E 2 1 -^ SCANMSG 6 3 -^ SCANMSG 10 5 -^ SCANMSG 3 2 OR B 7 4 OR D 11 6 OR F 4 2 -^ SCANMSG 8 4 -^ SCANMSG 12 6 -^ SCANMSG As in the previous JUMPCONF.MNU, the -^ SCANMSG simply executes a menu which asks the user if they want to read all new messages in the current conference. Also, as in the previous JUMPCONF.MNU, the number a user enters to switch conferences jumps to the appropriate RG letter based conference tag. The procedure I have outlined above to separate file and message conferences is quite simple. The tricky part comes when you want to have different access levels for different conferences and you don't want a conference listing to be displayed full of selections that a user doesn't have appropriate access to. For the time being, I will leave the problem of access variable display files and access conditional .MNU files for changing conferences up to the reader to figure out. It can be accomplished, and perhaps some time in the future I will include the appropriate procedures to do so in another revision of this file. Section 4 Problems With Renemail Renegade systems who are participating in a network like CyberCrime International in which many large ANSIs are transmitted in messages may have run into situations in which Renemail crashes and doesn't finish tossing echo mail into the RG message areas. Because of Renemail's unstable performance, you may wish to stick the following lines into the appropriate part of your IMRUN or FD batch file. :RunRenemail Renemail -T IF ERRORLEVEL 2 GOTO RunRenemail Renemail -P Renemail will return an errorlevel of 2 if it halts during message tossing. This batch file simply traps the errorlevel and attempts to toss the remaining messages. No, this will not create an infinite loop because Renemail will automatically delete the offending message which caused it to crash. Section 5 How to delete the @ conference For some people, like myself, the default conference of @ that Renegade comes set-up with is a nuisance. Much to my dismay, when I went to go delete the @ conference, I was unable to. Renegade will not let you delete the conference using the delete command in the conference editor. There is, however, a way to get around this minor inconvenience. Follow these steps to delete the @ conference: 1) From the WFC screen, press $ to drop into the conference editor. 2) Press M (for modify) at the conference editor menu. Select the @ conference when prompted for which one to modify. 3) When Renegade lets you edit the conference name, press the backspace key. This deletes the name of the conference you are editing. 4) Now press the space bar and hit return. This replaces your old conference name with a null string. (Actually, it stores a "space" for the name of the conference, but for our purposes it just removes the old name.) 5) Renegade will now ask you to enter the conference ACS. Just hit return. Don't worry about deleting the current conference ACS settings. You should now see that the @ conference has disappeared. If you have deleted the @ conference in an already set-up system, make sure that you check the ACS levels in your file areas and messages areas to make sure that none of the bases are set to give access to them if a user is only in the @ conference. (For example, you might have the access levels of some of your file or messages areas set to ACS "C@".) If you don't change the access flags accordingly, you may notice that those bases will not be available to your users. Section 6 Arrow-Key Prompts in Renegade WARNING: Arrow-key prompts will not work unless your users have their HOT KEYS set to ON. Vision-X, Vision/2, and Obv/2 have the ability to implement arrow key prompts. Setting arrow key prompts up in Renegade might at first glance seem impossible to set-up, by it can indeed be accomplished. Renegade, for some reason, lacks an MCI code to home the cursor. In order to accomplish arrow key prompts with Renegade, we will need to be able to send a home-cursor ANSI command to the user. Here's a quick way to accomplish this: 1) Load The Draw 2) Select the set-up options menu item, and make sure that The Draw is configured to NOT append blank lines to the end of an ANSI. 3) Return to the ANSI editing screen. 4) Press ALT-S (save file) and save the blank screen. The Draw will ask you if you want to (C)lear Screen, (H)ome, or (N)one. Select H. The file should be stored in your MISC directory off of the main Renegade directory. The name of the file should be HOME.ANS. So, for me, the file would be saved as: C:\BBS\MISC\HOME.ANS. Simple. 5) Exit The Draw You will now need to return to Renegade and go into the menu editor. Let's create a sample arrow-key prompt that will ask the user if they wish to scan for new files. At the menu editor menu, hit I to insert a menu. Name the menu SCANFYES. Now hit M to modify a menu. Type SCANFYES when Renegade asks you the name of the menu to modify. Follow these steps: 1) You will need to hit X to toggle to the screen which lets you modify the menu title, help files, etc. if you are not already on that screen. 2) Null out the menu titles by hitting 1, and replacing the existing menu titles with a space bar. 3) When at the menu editor prompt, hit 2 to modify the help files. Set both of them to HOME.ANS. 4) Hit 3 to modify the menu prompt. For example, we are making an arrow key prompt which will ask the user if they want scan for new files. So, let's replace the menu prompt with: .ùþ Scan for new files? YES no|00|16 Notice the |00|16 bar color codes. The bar codes |00 and |16 together will cause Renegade NOT to echo what the user has typed. This is essential in making a decent looking arrow-key prompt. 5) Set ACS to null. 6) Set password to null. 7) Set the fallback menu to MAIN. 8) The forced ?-level should be set to 2. 9) Make sure the T flag is NOT on. When you create a new menu, Renegade defaults with this flag on. Turn it OFF. 10) Hit I to insert a menu command. Insert 3 commands before command number 2. 11) Now, hit M and then 1 to modify the first command. Null out the "Long description" and the "Short description" (items 1 and 2 at the edit menu prompt, respectively). 12) Hit 3 to edit the menu keys. Replace it with N. 13) Make sure the ACS required is blank. (Item 4 from the edit menu prompt) 14) Replace the Cmdkeys (item 5) with -^ (this is the GOTO command). 15) Edit the options and replace it with SCANFNO. 16) Hit the ] key to go to command #2. 17) Do steps 11, 13, 14, and 15 again. 18) Replace the menu keys (item 3) with C. Why C? Renegade captures a "C" every time someone presses the right arrow key. 19) Hit the ] key to go to command #3. 20) Do steps 11 and 13. 21) Hit 3 to edit the menu keys. Replace it with ENTER. 22) Replace the Cmdkeys (item 5) with FN. 23) Edit the options and replace it with G. 24) Hit the ] key to go to command #3 25) Do steps 11, 13, and 21. 26) Replace the Cmdkeys (item 5) with -^. 27) Edit the options and replace it with the name of your file menu. On most systems, this would be FILE. 28) Press Q to twice to exit back to then directory listing of the .MNU files. 29) Type I to insert a menu. Name the menu SCANFNO. 30) Now press M to modify a menu. Modify the SCANFNO menu. 31) Use X to toggle to the display that shows you the menu help files, prompt displayed, etc. 32) Press 1 to edit the menu titles. Set these to null by putting spaces in place of the menu titles. 33) Modify the help files by pressing 2. Both of them should be set to HOME.ANS. 34) Press 3 to edit the menu prompt. Replace it with: .ùþ Scan for new files? yes NO|00|16 As you can see, compared to the other menu we made, the NO is now highlighted. 35) Set the ACS to null. 36) Set the password to none. 37) Set the fallback-menu to MAIN. 38) Set the forced-? level to 2. 39) Make sure the T toggle is not on. 40) Press I to insert a menu command. Insert 2 commands before command number 2. 41) Do #11. 42) Hit 3 to edit the menu keys. Set this to ENTER. 43) Do #13 and 14. 44) Press 6 to set the options. Set this to FILE, or whatever the name of your .MNU for the file area. 45) Press ] to go to the next menu item, number 2. 46) Do #11. 47) Hit 3 to edit the menu keys. Set this to D. Renegade traps "D" whenever someone hits the left arrow key. 48) Do #13 and 14. 49) Press 6 to set the options. Set this to SCANFYES. 50) Press ] to go to the next menu item, number 3. 51) Do #11. 52) Hit 3 to edit the menu keys. Set this to Y. 53) Do #13, 14, 49. 54) Press Q twice to return to the .MNU file listing. Press M to modify your MAIN.MNU. 55) Edit your F command in this menu so that when the user presses F, it will first clear the screen (use the MCI code of %CL to do this), and then goto the SCANFYES menu (use the -^ command with the options of SCANFYES). 56) Quit out of the menu editor. There are a few things to keep in mind when using arrow key prompts. First of all, your users NEED to have HOTKEYS ENABLED for these menus to work. Also, the arrow keys WILL NOT work locally for you. This is because Renegade does not trap the same key sequence locally as it does for users over the modem. The example I've given you is only a start. There are many more interesting things that can be accomplished with arrow-key prompts, such as pull-down menus and matrix logins. Use your damn imagination, and don't just copy my example. Section 7 Full Screen Login (w/o Shuttle) What exactly is a full screen login? One example of a full screen login might include the displaying of PRELOGON.ANS, in which there is a portion of the ANSI set aside for the user to enter his handle and password. Another, more simpler implementation of a full-screen login just consists of placing the "Handle:" and "Password:" prompt in a location of the screen other than the upper left hand corner. In order to implement a full screen login, you will need to have a hex-editor such as Norton Disk Editor. Also, you will need to have some knowledge of ANSI commands. You will be modifying the RENEGADE.OVR file, which I am sure is not condoned in any way by Renegade's author, Cott Lang. So, for legal reasons, I will state the what I am about to tell you is for informational purposes only. We'll leave it at that. The first problem we have when trying to implement a custom full screen login is how exactly do we tell Renegade where to position itself before it accepts input of the user's handle and password. In order to do this, you will have to load your PRELOGON.ANS into The Draw and write down the coordinates (shown on the bottom right handle corner of the screen) of the location where you want Renegade to accept input of the user's handle and password. Your PRELOGON.ANS will need to contain the actual prompt for the user's handle and password, as we will need all the room we can get in the overlay file for ANSI commands that tell Renegade where to position the cursor. After you have written down the coordinates of where to accept input for the user's name and handle, make a back-up of your RENEGADE.OVR and STRING.DAT files. To be even safer, make a back-up of your entire BBS directory. After your overlay file is backed up, load STRING.DAT into your favorite hex-editor. Now, search for the portion of the file which contains the string that is displayed to your callers when it asks for their name or handle. We will be replacing this with the ANSI coordinates that you wrote down for the location of where to prompt for the user's name or handle. As I said before, you should have the actual prompt that is displayed to your users contained in the PRELOGON.ANS that is displayed to callers before they are prompted for their handle and password. To move the cursor to a specific region of the screen, hex edit the following in, working BACKWARDS from the current login prompt string: 1B 5B Vertical Position (each digit of the number being a HEX equivalent of the standard ASCII representation of the digit) 3B Horizontal Position (see above note about vertical position) 48 Those numbers represent the ANSI escape sequence to place the cursor at any coordinate on the screen. 1B is ESCAPE, 5B is "[", 3B is ";", and 48 is "H". To complete the modification, do the same process for the password prompt in the RENEGADE.OVR file. It may take a few tries to modify the .OVR correctly, so be sure you have a back-up copy handy. By modifying these ANSI escape sequences directly into your .OVR file, you will be sending ANSI codes to EVERYONE, no matter what emulation Renegade detects. Consequently, any non-ANSI users will think your login screen is messed up. Also, be aware that sometimes Renegade doesn't detect a caller's emulation immediately, and when it attempts to display your PRELOGON.ANS, those whose ANSI emulation isn't detected will get a blank screen unless you save a copy of PRELOGON.ANS as PRELOGON.ASC. ------ The following is a message from a thread on CyberCrime's Renegade echo concerning hex-editing ANSI positioning commands into Renegade. For those of you still confused on how to implement the full-screen login correctly, this message may help. Date: 4:07 am Thu Jan 20, 1994 Number : 96 of 104 From: Killean Base : Renegade To : Veritech Refer #: None Subj: Re: even newer.. Replies: None Stat: Sent Origin : 18 Jan 94 10:11:01 The hardest part in doing anything like that to the .OVR file is making sure you fit the new "custom" changes into the pre-existing strings. Also, I don't know if you've programmed before, but you have to remember that the VERY FIRST CHARACTER of the string you're hex-editing determines the total length of the string. For example, go into the .OVR with your favorite hex-editor (I like to use ZipZap personally) and search the file for the string you want to edit. The first character preceding that string is probably going to look like ALT-17 (I can't show you in RG's editor) or something like that. That character means the string is 17 characters long (not including that ALT-17 char). Also, remember that these characters listed probably are in hexadecimal and not decimal. So ALT-17 is really 11 in hexadecimal. I have this handy table that shows me all the characters in both decimal and hexadecimal format. SO... Next, what I did is put a few ANSI codes in the string first to tell it where to go. Example: (without the ALT-27 char) [27C will tell it to move 27 characters to the right and [2A will move the cursor up two lines. This is the hard part. I had drawn a little ANSI text file as my "window" for the handle/password information, and using those [A's and [C's I just positioned each string to fit inside my "window". BUT, you have to do so in a way so as to use all the available space in the string (unless you change that first 'length' character to something smaller -- you CANNOT make it larger though). Hope that helps... Please remember, the instructions contained within this file were for information purposes only and it should be left up to the reader to use his or her OWN imagination, and not merely rely on my examples and instructions. The suggestions contained in this file were meant to show the power of Renegade, and perhaps teach the reader some of the techniques I have used to implement various features on my BBS. Those of you wishing to contact me may send netmail to Cyber Crime Node 69:5916/0. You'll also find me on the Cyber Crime Renegade Echo. My Internet address is matt.hite@saclive.com Greets Thanks go out to the following people: Cott Lang for writing such a powerful FREE bulletin board system software. Make the FILE_ID.DIZ support longer... please. Glenn Danzig of /´cid Productions for showing me how powerful Renegade actually is. Crewl Blade of /´CiD for his hard work in helping to customize our BBS. James Bomb for being a modemer who isn't illiterate, obnoxious, and 12 years old. (Well... uh, most of the time at least.) Killean of TRiBE for his contributions to this publication and for his invaluable work on UltraTop and NUVote. Every Renegade Sysop should have all his BeerWare utilities -- they are hands- down THE BEST utilities available for Renegade. Keep up the good work!