> 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