Multiple Greeting Messages (ANSI Option Included)
What this does:
This is something that will give your MUD some variety. When players log on they see a
greeting message, after a while it can get pretty boring. This snippet will allow you to have
as many greeting message as you want, it will have 4 default.
What you will need to change:
db.c
comm.c
-------------------------------------------------------------------------------------------------
db.c
Find,
char * help_greeting;
Below that add,
char * help_greeting1;
char * help_greeting2;
char * help_greeting3;
Find,
if ( !str_cmp( pHelp->keyword, "greeting" ) )
help_greeting = pHelp->text;
Below it add,
if ( !str_cmp( pHelp->keyword, "greeting1" ) )
help_greeting1 = pHelp->text;
if ( !str_cmp( pHelp->keyword, "greeting2" ) )
help_greeting2 = pHelp->text;
if ( !str_cmp( pHelp->keyword, "greeting3" ) )
help_greeting3 = pHelp->text;
-------------------------------------------------------------------------------------------------
comm.c
For NON-ANSI greetings,
Find,
/*
* Send the greeting.
*/
{
extern char * help_greeting;
if ( help_greeting[0] == '.' )
write_to_buffer( dnew, help_greeting+1, 0 );
else
write_to_buffer( dnew, help_greeting , 0 );
}
Change it to look like this,
/*
* Send the greeting.
*/
{
extern char * help_greeting;
extern char * help_greeting1;
extern char * help_greeting2;
extern char * help_greeting3;
int num;
num = number_range(0,3);
switch (num)
{
default:
case 0:
write_to_buffer( dnew, help_greeting, 0 );
break;
case 1:
write_to_buffer( dnew, help_greeting1, 0 );
break;
case 2:
write_to_buffer( dnew, help_greeting2, 0 );
break;
case 3:
write_to_buffer( dnew, help_greeting3, 0 );
break;
}
}
_________________________________________________________________________________________________
For ANSI greetings using send_to_desc_color,
Find,
/*
* Send the greeting.
*/
{
extern char * help_greeting;
if ( help_greeting[0] == '.' )
write_to_buffer( dnew, help_greeting+1, 0 );
else
write_to_buffer( dnew, help_greeting , 0 );
}
Change it to look like this,
/*
* Send the greeting.
*/
{
extern char * help_greeting;
extern char * help_greeting1;
extern char * help_greeting2;
extern char * help_greeting3;
int num;
num = number_range(0,3);
switch (num)
{
default:
case 0:
send_to_desc_color( help_greeting, dnew );
break;
case 1:
send_to_desc_color( help_greeting1, dnew );
break;
case 2:
send_to_desc_color( help_greeting2, dnew );
break;
case 3:
send_to_desc_color( help_greeting3, dnew );
break;
}
}
-------------------------------------------------------------------------------------------------
make clean
make
On your mud you will have to create help files for GREETING1, GREETING2 and GREETING3 or when
you log on you will see nothing, or possibly even a crash.
copyover/reboot your mud
To make more greetings,
Find,
extern char * help_greeting3;
Below it add,
extern char * help_greeting#; /* # stands for the next number, do not use # */
Find,
num = number_range(0,3);
Change the (0,3) to look like, (0,4) the 3 should always have 1 added.
Find,
case 3:
send_to_desc_color( help_greeting3, dnew );
break;
Below it add,
case 4:
write_to_buffer( dnew, help_greeting4, 0 );
break;
OR for ANSI greetings,
case 4:
send_to_desc_color( help_greeting4, dnew );
break;
And so on...
-------------------------------------------------------------------------------------------------
Any problems please contact me at the provided email address,
-,,,.,,,,-
_'Diablo'_ Star Wars Development
''''''
[*]------------------------------------------------[*]
||| If you have any problems please contact me at: |||
||| crazy_mike_316@hotmail.com |||
[*]------------------------------------------------[*]