**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.

Reply via email to