========
| DB.C |
========

those goes after the wiznet announcement that an area has repoped:

for (d = descriptor_list; d; d= d->next)
if (d->connected == CON_PLAYING
   && d->character->in_room != NULL
   && d->character->in_room->area == pArea)
{
sprintf( buf, "%s", pArea->repop_msg );
send_to_char(buf, d->character);
send_to_char( "\n\r", d->character);
}

==========
| MERC.H |
==========

in the area_data table put this:

    char *		repop_msg;

=========
| OLC.C |
=========

    {   "credits",	aedit_credits	},
put this after that:
    {   "repop",		aedit_repop_msg	},

=========
| OLC.H |
=========

DECLARE_OLC_FUN( aedit_credits	);
put this after that:
DECLARE_OLC_FUN( aedit_repop_msg	);

=============
| OLC_ACT.C |
=============

put the following in the aedit_show function:

    sprintf( buf, "Repop Message: {W[{g%s{W]{x\n\r", pArea->repop_msg);
    send_to_char( buf, ch);

put the following in before the aedit_file function:

AEDIT( aedit_repop_msg )
{
    AREA_DATA *pArea;

    EDIT_AREA(ch, pArea);

    if ( argument[0] == '\0' )
    {
	send_to_char( "Syntax:   repop [MESSAGE]\n\r", ch );
	return FALSE;
    }

    free_string( pArea->repop_msg );
    pArea->repop_msg = str_dup( argument );

    send_to_char( "Repop Message set.\n\r", ch );
    return TRUE;
}

==============
| OLC_SAVE.C |
==============

put the following right after "fprintf( fp, "Security %d\n",         pArea->security 	);" :
    fprintf( fp, "RepopMsg %s~\n",		pArea->repop_msg 	);