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