On Thu, 31 Jul 1997, Crimson Wizard wrote:
> If you are using autorun, then "shutdown die" should do it. On a side
> note, I've got the ascii patch in and tweaked to my liking, but I noticed
> than when a character self deletes, it doesn't remove their entry from the
> index file, nor does it remove the actual pfile... hrm hrm.
That's something I left unchanged from stock circle. You can either
leave it the way it is to keep your ability to undelete players, or add
another 2 or 3 lines of code to remove them from the index and wipe their
file.
Here's the function I use to remove all files associated with a player:
void remove_player(long id, byte stomp)
{
long i;
for(i = 0; i < top_of_p_table; i++)
if(player_table[i].id > 0 && player_table[i].id == id)
break;
if(player_table[i].id != id || !*player_table[i].name)
return;
sprintf(buf, "%s/%c/%s", PLR_PREFIX, *player_table[i].name,
player_table[i].name);
chmod(buf, S_IREAD | S_IWRITE); /* I don't think this is in the public
patch. It's a little extra security
and requires inclusion of another
system include. */
unlink(buf);
sprintf(buf, "%s/%c/%s", RENT_PREFIX, *player_table[i].name,
player_table[i].name); /* This assumes rent files similar to
the ascii pfiles (ie: all files in
the same directory). If using the
stock system, you'll need to use
get_filename() as below. */
chmod(buf, S_IREAD | S_IWRITE);
unlink(buf);
get_filename(player_table[i].name, buf, SAVES_FILE);
/* This is a file with poofs, aliases,
and other ascii data in a stock-type
dir structure. Use this as an
example for removing alias files or
stock rent files. */
unlink(buf);
update_mail_index(id, NULL); /* *shrug* This is an ascii mail thing.
I have no idea how you'd remove a
player's mail from the binary plrmail
file. */
if(stomp)
*player_table[i].name = '\0'; /* Sorry I don't remember why this is
here, but I know it was necessary
for this routine to work correctly
with something else I did. The idea
is that to remove a player from the
index, "stomp" on the first letter
of their name, then call the index
save routine, which should be modded
to skip the stomped entries. */
}
Sam
+------------------------------------------------------------+
| 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/08/00 PST