this is how I have been trying to get it working but keep getting segfaults please assst me here... (this is all 3.0 code) * * do_cast is the entry point for PC-casted spells. It parses the arguments, * determines the spell number and finds a target, throws the die to see if * the spell can be cast, checks for sufficient mana and subtracts it, and * passes control to cast_spell(). */ ACMD(do_cast) { struct char_data *tch = NULL; struct obj_data *tobj = NULL; char *s,*s1, *s2, *t, *temps = " "; int mana, spellnum, i, tempc, target = 0; s = strtok(argument, " "); //w1 protection dispel s1 = strtok(NULL, " "); //w2 from evil s2 = strtok(NULL, "\0"); //w3 evil <target> strcpy (temps, argument); if (s == NULL) { send_to_char("Cast what where?\r\n", ch); return; } else if (s1 == NULL) { tempc = 1; } else if (s2 == NULL) { tempc = 2; } else { tempc = 0; } sprintf(temps, "%s", s); while (!(spellnum = find_skill_num(temps)) && tempc > 0) { switch (tempc) { case 1: { sprintf(temps, " "); sprintf(temps, "%s" s1); sprintf(t, "%s", s2); break; } case 2: { sprintf(temps, " "); sprintf(temps, "%s", s2); sprintf(t, "%c" NULL); break; } default: { tempc = 0; break; } } //endswitch tempc--; } //endwhile if ((spellnum < 1) || (spellnum > MAX_SPELLS)) { send_to_char("Cast what?!?\r\n", ch); return; } ... rest of do_cast is same as in 3.0 spell_parser.c remember this segfualts my mud whenever someone tries to cast. +-----------------------------------------------------------+ | 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