At 01:48 PM 1/15/98 +0100, you wrote: > What I need pointers for is where to put the clean_event call for >the character who is searching, so as to stop just that search event >for that character, not something more drastic like stopping all >characters searching .... You might try having a unique "control block" being the causer, rather than ch, and run clean_events() on that... some pseudo code, assuming you have a player descripter value for the search control block: struct event_control_block { struct char_data *ch; whatever else you might need; }; ..... do_search() { struct event_control_block *ecb; if (GET_SEARCH_EVENT(ch)) return; /* they're already searching */ ecb = malloc(...); ecb->ch = ch; GET_SEARCH_EVENT(ch) = ecb; add_event(ecb,.....,event_do_search); } ..... EVENT(event_do_search) { .... .... free(GET_SEARCH_EVENT(causer->ch)); } +------------------------------------------------------------+ | 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