At 12:28 PM 8/18/98 -0400, you wrote: >I want it to display a msg every minute and 10 >seconds "You animate the corpse. <so much> time left." or "You enchant the >armor. <so much> time left." etc, but this is difficult to do in the current >form I have it. Any suggestions? Sounds like you want an event system to me. I'm not familiar with most of the event packages out there, but they typically let you associate a variable with your event structure. This variable can be a pointer to a structure with as much information as you need. For delayed spell casting, you could consider a structure such as: struct delayed_spell_event_info { int number_of_pulses_left; struct char_data *ch, *vict; struct obj_data *tobj; int spell_num; }; And a delayed function that, in PSEUDO-code, resembles: void delayed_spell_event_func(struct delayed_spell_event_info *info) { if (--info->number_of_pulses_left) { sprintf(buf, "There are %d pulses remaining for the spell.\r\n", info->number_of_pulses_left+1); send_to_char(buf, info->ch); /* re-initialize the event with this new structure */ add_event(info, delayed_cast_spell_event_func, info->number_of_pulses_left); } else cast_spell(info->ch, info->vict, info->tobj, info->spell_num); /* finally cast it */ } +------------------------------------------------------------+ | 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