From: MLKESL@stthomas.edu

Just a couple of things I wrote.
I am a very new coder, but I am proud myself.
These are just a couple of tidbit things that might
be of some use to someone out there, plus, without
this list my mud would not be what it is now...
even though its only been a month :p


center_to_char > sent a string and an integer, returns modified string
               > integer is used as the width to center at...normally 80

do_font        > uses center_to_char in some places because i felt like it
               > sent a string, it will send that string to character in format
               > can be edited easily to display different outputs i guess
               > mine is set as simple as it gets...
               > also converst to upper just because it looks nicer
               > I like things plain so mine looks like this...

                        +-+-+-+-+-+-+-+-+-+-+
                        R O L E P L A Y I N G
                        +-+-+-+-+-+-+-+-+-+-+

               > You could get much more creative...i toyed with it
               but i like things simple...others might look like
               these by just changing a few letters....
                                                          
                        /\++/\++/\++/\++/\++/\
                      < R O L E P L A Y I N G >
                        \/++\/++\/++\/++\/++\/
                                 or
                        _____________________
                        R:O:L:E:P:L:A:Y:I:N:G
                        ^v^v^v^v^v^v^v^v^v^v^
                                 or
                        
                      :.:.:.:.:.:.:.:.:.:.:.:.:
                      : R-O-L-E-P-L-A-Y-I-N-G :
                      :.:.:.:.:.:.:.:.:.:.:.:.:

/** mlk=>
 ** eg. center_to_char("Text centered to 40 columns", ch, 40);
 **/
void center_to_char(char *argument, CHAR_DATA *ch, int columns)
{
char centered[MAX_INPUT_LENGTH];
int spaces;

columns = (columns < 2) ? 80 : columns;
spaces=(columns-strlen(argument))/2;

sprintf(centered,"%*c%s",spaces,' ',argument);
send_to_char(centered,ch);

return;
}
 
/*
For this you need to put a line for center_to_char in merc.h
under the send_to_char line, except you will have to add
"int columns" to the args...
 */
 
 
 
 
/** mlk=> 
 ** eg. do_font(ch,argall);  -I used this in my help file titles
 **                           \ Strategically placed so helps with "."
 **                            \ prelude do not get the font.
 **     do_font(ch,"hi");
 **/
void do_font( CHAR_DATA *ch, char *argument)
{
int  place, size;
char buf[10];

    size = strlen(argument);

/* top border */
center_to_char( "{b+{D-",ch,72-(2*size) );

for (place=2;place<size;place++)
send_to_char("{b+{D-",ch);
send_to_char("{b+\n\r",ch);

/* middle */
sprintf(buf,"{B%c",UPPER(argument[0]));
center_to_char(buf,ch,72-(2*size) );

for (place=1;place<size;place++)
        {
        sprintf(buf," %c",UPPER(argument[place]));
        send_to_char(buf,ch);
        }
send_to_char("{x\n\r",ch);

/* bottom border */
center_to_char( "{b+{D-",ch,72-(2*size) );

for (place=2;place<size;place++)
send_to_char("{b+{D-",ch);
send_to_char("{b+\n\r",ch);

return;
}

 /* just throw this one in comm.c after center_to_char */