I switched th order around at chracter creation(so you choose class then race)and made a different menu for each of the classes. It works good till it gets to the races then it always automatically picks human as a race. Can anyone tell me whats wrong with this code?? Thnaks In interpreter.c case CON_QSEX: /* query sex of new user */ switch (*arg) { case 'm': case 'M': d->character->player.sex = SEX_MALE; break; case 'f': case 'F': break; default: SEND_TO_Q("That is not a sex..\r\n" "What IS your sex? ", d); return; } SEND_TO_Q(class_menu, d); SEND_TO_Q("Class: ", d); STATE(d) = CON_QCLASS; break; case CON_QCLERIC: load_result = parse_race(*arg); if (load_result == RACE_UNDEFINED) { SEND_TO_Q("\r\nThat's not a race.\r\nRace: ", d); return; } else set_race(d->character, load_result); case CON_QWARRIOR: load_result = parse_race(*arg); if (load_result == RACE_UNDEFINED) { SEND_TO_Q("\r\nThat's not a race.\r\nRace: ", d); return; } else set_race(d->character, load_result); case CON_QMAGICUSER: load_result = parse_race(*arg); if (load_result == RACE_UNDEFINED) { return; } else set_race(d->character, load_result); case CON_QCLASS: load_result = parse_class(*arg); if (load_result == CLASS_UNDEFINED) { SEND_TO_Q("\r\nThat's not a class.\r\nClass: ", d); return; } else GET_CLASS(d->character) = load_result; switch (*arg) { case 'c': case 'C': SEND_TO_Q(cleric_menu, d); SEND_TO_Q("Race:", d); STATE(d) = CON_QCLERIC; break; case 't': case 'T': SEND_TO_Q(thief_menu, d); SEND_TO_Q("Race:", d); STATE(d) = CON_QTHIEF; break; case 'w': case 'W': SEND_TO_Q(warrior_menu, d); SEND_TO_Q("Race:", d); STATE(d) = CON_QWARRIOR; break; case 'm': case 'M': SEND_TO_Q(magicuser_menu, d); SEND_TO_Q("Race:", d); STATE(d) = CON_QMAGICUSER; break; } in race.c /* New Race by class Menu by the Great Eternity:) */ const char *cleric_menu = "\r\n" "Select a race for your Cleric:\r\n" "[H]uman [E]lf\r\n"; const char *thief_menu = "\r\n" "Select a race for your Thief:\r\n" "[H]uman [E]lf \r\n"; const char *warrior_menu = "\r\n" "Select a race for your Warrior:\r\n" "[H]uman [E]lf\r\n"; const char *magicuser_menu = "\r\n" "Select a race for your Magic User:\r\n" "[H]uman [E]lf\r\n"; and father down ACMD(do_race) { int r; char body_parts[512]; extern const char *body[]; one_argument(argument, arg); if (*arg) { r = parse_race(*arg); sprintbit(races[r].body_bits, body, body_parts); sprintf(buf, "%s: %s\r\n", pc_race_types[r], body_parts); send_to_char(buf, ch); } else { for (r = 0; r < NUM_RACES; r++) { sprintbit(races[r].body_bits, body, body_parts); sprintf(buf, "%s: %s\r\n", pc_race_types[r], body_parts$ send_to_char(buf, ch); } } } Any help is appreciated +------------------------------------------------------------+ | Ensure that you have read the CircleMUD Mailing List FAQ: | | http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html | +------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 04/10/01 PDT