On Mon, 9 Dec 1996, Eduardo Gutierrez de Oliveira wrote:
>It is not exactly a bug, but rather the lack of a check...
>
>If a user auctions something and he drops it the auction code will not
>check for it and the mud will crash, it they change what they are auction
>the same will happen.
Geez, and I thought my 7-line comment block on how to make your own
check was sufficient ;) Here's the functions I use: How it's called is
up to you. Clip&save if you think you might use auction.c, it's not in
the .gz file on the FTP site, or if you like the codes...
---8<---8<--- Check functions I left out of auction.c so you could
customize your method. (Some people take the idea
that you shouldn't be able to drop the object in the
first place, I took the idea that it should check)
struct obj_data *check_obj(struct char_data *ch, struct obj_data *obj)
{
struct obj_data *ch_obj;
for (ch_obj = ch->carrying; ch_obj; ch_obj = ch_obj->next_content)
if (ch_obj->item_number == obj->item_number)
return ch_obj;
return NULL;
}
struct char_data *check_ch(struct char_data *ch)
{
register struct char_data *tch;
extern struct char_data *character_list;
if (!ch)
return NULL;
for (tch = character_list; tch; tch = tch->next)
if (ch->pfilepos == tch->pfilepos && ch->nr == tch->nr)
return tch;
return NULL;
}
---8<---8<---
--
George Greer Student Systems Co-Administrator of Dragon
greerga@muohio.edu http://www.ham.muohio.edu/~greerga
--
Genius may have its limitations, but stupidity is not thus
handicapped. -- Elbert Hubbard
+-----------------------------------------------------------+
| Ensure that you have read the CircleMUD Mailing List FAQ: |
| http://cspo.queensu.ca/~fletcher/Circle/list_faq.html |
+-----------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/18/00 PST