Thanks, Joachim. I had to tweak it a little bit, but it really pointed me in the right direction. It works great now, so thanks a lot for the help. Joachim Pileborg wrote: > > At 17-Feb-98, Jon Barrett wrote: > > Add the following line somewhere near the top of spells.h: > typedef void (*spell_function)(int, struct char_data *, struct char_data *, > struct obj_data *, int); > > > struct spell_info_type { > > byte min_position; /* Position for caster */ > > int mana_min; /* Min amount of mana used by a spell (highest lev) > */ > > int mana_max; /* Max amount of mana used by a spell (lowest lev) > */ > > int mana_change; /* Change in mana used by spell from lev to lev */ > > bool is_innate[NUM_RACES]; > > int min_level[NUM_CLASSES]; > > byte violent; > > int targets; /* See below for use with TAR_XXX */ > > void (*spell_function) > > (int level, struct char_data *ch, struct char_data *victim, struct > > obj_data *obj, int spellnum); > > }; > > Change the spell_function definition to the following: > spell_fun spell_function; > > > void spello(int spl, int max_mana, int min_mana, int mana_change, int > > minpos, > > int targets, int violent, void (*func)) > > Change the "void (*func)" thing to: spell_fun func > > > { > > int i; > > > for (i = 0; i < NUM_CLASSES; i++) > > spell_info[spl].min_level[i] = LVL_IMMORT; > > spell_info[spl].mana_max = max_mana; > > spell_info[spl].mana_min = min_mana; > > spell_info[spl].mana_change = mana_change; > > spell_info[spl].min_position = minpos; > > spell_info[spl].targets = targets; > > spell_info[spl].violent = violent; > > *spell_info[spl].spell_function = func; //ERROR points here > > } > > And finaly change the last assignment to: > spell_info[spl].spell_function = func; > > This should work (it is untested though). > > / Joachim +------------------------------------------------------------+ | 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