> Gosh, I know I am gonna get it for this one, where as this is really
> newbie. I have been going through the code, looking, trying things,
> failing, and starting the process over again. Maybe I am just missing this
> because it is 4 in the morning and I am still really sick. Okay, enough
> rambling. I was looking for a way to make a race be deleted when they die.
> I don't want them to see the menu, I want it to give them a nice little
> message like "You have lost your soul to your god." delete their character,
> then close their connection. I also don't want them to ever have corpses.
> All their equipment and gold should be junked. Eek, I'm rambling again... I
> am going to sleep, thanks for any help I get.
i guess you really liked the idea of cyberenet MUD's Shadowen race/class
(please credit us)..
it was really quite easy..
siv
void raw_kill(struct char_data *ch, struct char_data *killer)
{
.
.
if (GET_CLASS(ch) == CLASS_SHADOW) {
SET_BIT(PLR_FLAGS(ch), PLR_DELETED);
delete_obj_file(GET_NAME(ch));
delete_alias_file(GET_NAME(ch));
for (o = ch->carrying; o; o = next_obj) {
next_obj = o->next_content;
extract_obj(o);
}
for (i = 0; i < NUM_WEARS; i++)
if (GET_EQ(ch, i))
extract_obj(GET_EQ(ch, i));
}
save_char(ch, NOWHERE);
.
.
if (GET_CLASS(ch) != CLASS_SHADOW)
make_corpse(ch, killer);
.
.
}
then in handler.c
void extract_char(struct char_data *ch)
{
.
.
if (!freed && ch->desc != NULL) {
if (GET_CLASS(ch) == CLASS_SHADOW) {
STATE(ch->desc) = CON_CLOSE;
SEND_TO_Q("You are forever dead.\r\n", ch->desc);
} else {
STATE(ch->desc) = CON_MENU;
SEND_TO_Q(MENU, ch->desc);
}
} else { /* if a player gets purged from within the game */
if (!freed)
free_char(ch);
}
}
+------------------------------------------------------------+
| Ensure that you have read the CircleMUD Mailing List FAQ: |
| http://democracy.queensu.ca/~fletcher/Circle/list-faq.html |
+------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/15/00 PST