**bonkself**
Sorry, thought you meant it was saving every CHANGED file.
That'll teach me to respond before drinking my coffee:P
Make sure that when you're editing an area, that ONLY that area is toggled as
changed. Everything LOOKS to be in order, though. Here's a copy of the same
function I'm using, and I KNOW this only saves one area.
/* Save changed areas, only authorized areas. */
/* ------------------------------------------ */
if ( !str_cmp( "changed", arg1 ) )
{
char buf[MAX_INPUT_LENGTH];
save_area_list();
send_to_char( "Saved zones:\n\r", ch );
sprintf( buf, "None.\n\r" );
for( pArea = area_first; pArea; pArea = pArea->next )
{
/* Builder must be assigned this area. */
if ( !IS_BUILDER( ch, pArea ) )
continue;
/* Save changed areas. */
if ( IS_SET(pArea->area_flags, AREA_CHANGED) )
{
save_area( pArea );
sprintf( buf, "%24s - '%s'\n\r", pArea->name, pArea->file_name
);
send_to_char( buf, ch );
REMOVE_BIT( pArea->area_flags, AREA_CHANGED );
}
if ( !str_cmp( buf, "None.\n\r" ) )
send_to_char( buf, ch );
return;
}
I do believe that's as close to stock asave changed as you can get (I don't
remember working with it, but I may have sometime over the years).
On Sunday 18 August 2002 05:49 am, Tom Whiting wrote:
> Umm, this is EXACTLY what asave changed is supposed to do.
>
> On Sunday 18 August 2002 04:14 am, James Bruce wrote:
> > It seems to me that my asave changed is saving ever file everytime one
> > hasthe changed flag on it....I have replaced the changed section with a
> > different code part but to no avail here isthe code...Any ideas...?
>
> if (IS_SET (pAarea->flags, AREA_CHANGED))
> {
> save_area(pArea)
> }
> Of course if you don't WANT it to save changed aras, you'll have to work
> with that quite a bit.