Could someone please tell me why the below code is not working? I have gone over it and put in some log checks, but cannot find out why its not working. I believe that after a mob vnum is equal to masters[i].master, it does not kick out of the loop correctly and mob is changed. for (mob = world[ch->in_room].people; mob || !found; mob = mob->next_in_room) for (i = 0; masters[i].master != -1; i++) { sprintf(buf, "MOB Found, VNUM = %d", GET_MOB_VNUM(mob)); log(buf); if (GET_MOB_VNUM(mob) == masters[i].master) { found = TRUE; log("Second Step Complete"); break; } } log("Beginning of Step 3"); if (!mob) { send_to_char("There is no one here to train you.\r\n", ch); return; } I get the message "There is no one here to train you" even though above I get Second Step complete meaning mob cannot be !mob. Also, if I add in a Check for the mobs vnum right after Beginning of step 3 log, it crashes with a seg fault. Anyone have any ideas? _\|/_____________________________\|/_ Ryan Lane Gasper _\|/_ /|"You will never see me cause \/------------------\/|\ | I'm always alone" -Ministry dalamar@cybercom.net| |"The tree of liberty must be refreshed from time to | _\|_time_with_the_blood_of_patriots_and_tyrants"_-ThomasJ|/_ /|\ -*-1997-*- /|\ +------------------------------------------------------------+ | 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