>snipped everything - this is a more general message< I haven't seen item duplication in a while. Generally speaking, it's usually difficult enough to perform on purpose, now involving a planned crash, and special timing issues. I personally have never been able to get it to work correctly (though I have been able to log onto a mud 6-7 times with the same character, it was an error with the creation menu process. The mud crashed quickly after anyway). What was more important to me was inadvertant item duplication. Using Xapobjs, I had allowed players to perform a 'reimbursement' save. It was controled by the character - up to them when to perform a save, but it would save their entire equipment to a secondary item file. Then, if they were somehow unfairly stripped of gear, an immortal could 'reimb <player>' and restore their lost inventory. For a while, especially when we were playing with object-affecting code, there were crashes where this was necessary. One player in particular seemed to have need of a reimb nearly every day. Though we never had any hard proof, we stopped reimbing him, thinking that he was somehow attempting a duplication of eq with our help. Later, another coder put in object tracking. Basically, it was a unique number based on the time (including microseconds) and attached to an object. If the object was ever duplicated, one of them would be destroyed. This ended our problem with the character above - most of his equipment had been dropped, or when he was killed, he did not return to pick it up. Reimb denied. This would work whether or not it was an immortal-controled reimb, or a player-crash-item duplication scheme. It hasn't been fully automated - right now the search and destruction are based in perl scripts which run on the object files. Though it needs some spiffying up, I think that this would be a nice final solution. I for one enjoy being able to type 'save' and have my character saved. Especially on circlemuds which - as many of us know - are rather crash prone. (Not any fault of the base, just many inexperienced programmers = many unstable muds). It's dreadfully simple to add - just look into the gettimeofday timeval struct, and the tv_usec member. The hard part is scanning all other files for an occurance. PjD +------------------------------------------------------------+ | Ensure that you have read the CircleMUD Mailing List FAQ: | | http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html | +------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 04/10/01 PDT