This topic has been up before, if you check the archives.. I believe the solution was to check to make sure there was a victim in fight code. -----Original Message----- From: Circle Discussion List [mailto:CIRCLE@post.queensu.ca]On Behalf Of Steve Kunitzer Sent: Wednesday, March 22, 2000 5:02 AM To: CIRCLE@post.queensu.ca Subject: [CIRCLE] [NEWBIE] Crashing circle30bpl16-dg7a-oasis2.0 I've been dabbling with the circle30bpl16-dg7a-oasis2.0 archive from the ftp site and I have come up with the following crash... Whenever a mortal character "kills" another mob, the mud crashes. I have narrowed down the error (as best I think I know how to) to fight.c in the raw_kill or die methods. void die(struct char_data * ch, struct char_data * killer) { gain_exp(ch, -(GET_EXP(ch) / 2)); if (!IS_NPC(ch)) { REMOVE_BIT_AR(PLR_FLAGS(ch), PLR_KILLER); REMOVE_BIT_AR(PLR_FLAGS(ch), PLR_THIEF); } raw_kill(ch, killer); <------- } If I remove or modify the line above I get no crash but no corpse and objects left behind. void raw_kill(struct char_data * ch, struct char_data * killer) { if (FIGHTING(ch)) stop_fighting(ch); while (ch->affected) affect_remove(ch, ch->affected); if (killer) { if (death_mtrigger(ch, killer)) death_cry(ch); } else death_cry(ch); make_corpse(ch); <-------- extract_char(ch); <-------- } If I comment out either of these two lines I don't get a crash but a whole slew of attempt to damage a corpse messages. Has anyone else run into this problem? It has been driving me crazy. +------------------------------------------------------------+ | Ensure that you have read the CircleMUD Mailing List FAQ: | | http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html | +------------------------------------------------------------+ +------------------------------------------------------------+ | Ensure that you have read the CircleMUD Mailing List FAQ: | | http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html | +------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 04/10/01 PDT