Re: purgeplay.c

From: Patrick Dughi (dughi@IMAXX.NET)
Date: 06/12/98


> My pfile has gotten awfully big, 20 megs, 2000 people, and since i've
> just shut the mud down for maintanance most of them need to be deleted.
> Well purgeplay worked great for me except one thing, I want to have
> it move idnums of people down if there's a space avaliable. For example:
>
> Bob's idnum is 514
> John's idnum is 515
> Ann's idnum is 516
> John got deleted
> Ann's idnum should become 515.
>
> So there are no idnums without characters. Any ideas how I would go
> about doing this? (I'll have to wipe the mail file too but thats no
> problem)
> I'm guessing putting a check if one's idnum - 1 is used by anyone but
> then it would move it down one but not down 100 (this is happening a
> lot since when I shutdown pretty much only the begining 10 and the
> ending 4000 idnums are used. everything in the middle deleted)
>
   First, realize that you're not saving space, or efficiency by deleting
pre-used idnums.

   Second, realize that if you have anything like mail, board messages,
houses, clans, or any other id-num related thing that bad nasty things
could result.

   If you really want though, I suppose you could just run it through a
while loop and just decrement as long as the previous idnum is not taken,
once for each character.  You'd actually probably want to make a function
that after the player index loads, it makes well, vnums for all the player
idnums.. 1-2-3-4 and then simply assign the idnum of the char to the vnum.
That would be easier i'd guess.

                                                PjD


     +------------------------------------------------------------+
     | 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