equipment saving

From: Kras Kresh (kras_kresh@hotmail.com)
Date: 06/11/02


I've just read a message (408) from bugs.circlemud.org that was put in the
fixed section about "Rent file improper destruction". The comment for that
was "Fixed...not sure when -- or how. -gg". But for me, this is not fixed on
my MUD. The problem is a seemingly random disappearance of a rent file. For
me, it can occur if a player is caught in a reboot or has rented.

The suggested fix was to create a flag to tell if the player is in the game
-- "PLR_INGAME". Then in handler.c, in function extract_char_final(), where
Crash_delete_crashfile() is used, replace with the following:

    if (PLR_FLAGGED(ch, PLR_INGAME)) {
      Crash_delete_crashfile(ch);
      REMOVE_BIT(PLR_FLAGS(ch), PLR_INGAME);
    }

Then in char_to_store() in db.c, where "st->char_specials_saved =
ch->char_specials.saved;" appears", after it, insert:

  REMOVE_BIT(st->char_specials_saved.act, PLR_INGAME);

Lastly, the message said to flag to player with PLR_INGAME when he is added
to the character_list. I would suggest when the player enters the game. If
it is done where the player is added to the list, a "stat file <player
name>" will screw with the flag.

  SET_BIT(PLR_FLAGS(d->character), PLR_INGAME);

I inserted that right before the message that told the room that the player
has entered the game world in interpreter.c

If there is a problem with this, please tell. If anyone knows of a better
way to fix this, also please tell.

_________________________________________________________________
Chat with friends online, try MSN Messenger: http://messenger.msn.com

--
   +---------------------------------------------------------------+
   | FAQ: http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html |
   | Archives: http://post.queensu.ca/listserv/wwwarch/circle.html |
   | Newbie List:  http://groups.yahoo.com/group/circle-newbies/   |
   +---------------------------------------------------------------+



This archive was generated by hypermail 2b30 : 06/25/03 PDT