/*I hate repeating code over, and over again, and player file deletion happens in many places *throughout my mud code. So i decided to write up this little function, it contains all my *deletion data. Remove what you don't use in your system. and replace all your normal deletion *code and replace it with this. Its allot of help :) *Dazzle(Darien) of Sandstorm * sandstorm.kicks-ass.org port 6969 */ void delete_character(CHAR_DATA *ch) { DESCRIPTOR_DATA *d, *d_next; int id; char strsave[MIL]; xprintf( strsave, "%s%s", PLAYER_DIR, capitalize(ch->name ) ); remove_from_auth( ch->name ); stop_fighting(ch,TRUE); update_members(ch,TRUE); update_wizlist(ch,TRUE); delete_home(ch); if (ch->pcdata->in_progress) free_note (ch->pcdata->in_progress); id = ch->id; d = ch->desc; extract_char( ch, TRUE ); /* toast evil cheating bastards */ if ( d != NULL ) close_socket( d ); for (d = first_descriptor; d != NULL; d = d_next) { CHAR_DATA *tch; d_next = d->next; tch = d->original ? d->original : d->character; if (tch && tch->id == id) { extract_char(tch,TRUE); close_socket(d); } } unlink(strsave); }