                                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!

