In my MUD, I have eliminated classes and added mulitiple level systems and races. I have thus changed the spell/skill system accordingly, or so I think. I am now having problems with the list_skills functions. I've added Weapons and Languages to the skill/spell system, but list_skills didn't work before then. I've attached my list_skills below after countless trying of fixing it myself. I had it working before one of our coders(?) accidently RMed the wrong directory, so I know it's possible. Please Help. Thank you. -Ryan Brown ObCircle: >--- >"One hundred years from now, none of this will matter because you and I >will be dead -- unless the Grim Reaper has switched his record-keeping to >a Windows 95-based system, in which case we all might live forever. " >-- Associated Press I like that :) void list_skills(struct char_data *ch) { extern char *spells[]; extern struct spell_info_type spell_info[]; int i, j = 0; sprintf(buf, "\r\n\r\n------------------------SKILLS------------------------\r\n"); for (i = MAX_SPELLS + 1; i <= NUM_SKILLS; i++) { if ((spell_info[i].type == 1) && (GET_BTHLEV(ch) >= spell_info[i].min_level)) { sprintf(buf, "%s%-20s (%3d%%) ", buf, spells[i], GET_SKILL(ch, i)); if (!(++j % 3)) strcat(buf, "\r\n"); } else if ((spell_info[i].type == 2) && (GET_CMDLEV(ch) >= spell_info[i].min_level)) { sprintf(buf, "%s%-20s (%3d%%) ", buf, spells[i], GET_SKILL(ch, i)); if (!(++j % 3)) strcat(buf, "\r\n"); } else if ((spell_info[i].type == 3) && (GET_COMLEV(ch) >= spell_info[i].min_level)) { sprintf(buf, "%s%-20s (%3d%%) ", buf, spells[i], GET_SKILL(ch, i)); if (!(++j % 3)) strcat(buf, "\r\n"); } else if ((spell_info[i].type == 4) && (GET_ENGLEV(ch) >= spell_info[i].min_level)) { sprintf(buf, "%s%-20s (%3d%%) ", buf, spells[i], GET_SKILL(ch, i)); if (!(++j % 3)) strcat(buf, "\r\n"); } else if ((spell_info[i].type == 5) && (GET_ESPLEV(ch) >= spell_info[i].min_level)) { sprintf(buf, "%s%-20s (%3d%%) ", buf, spells[i], GET_SKILL(ch, i)); if (!(++j % 3)) strcat(buf, "\r\n"); } else if ((spell_info[i].type == 6) && (GET_FRCLEV(ch) >= spell_info[i].min_level)) { sprintf(buf, "%s%-20s (%3d%%) ", buf, spells[i], GET_SKILL(ch, i)); if (!(++j % 3)) strcat(buf, "\r\n"); } else if ((spell_info[i].type == 7) && (GET_PILLEV(ch) >= spell_info[i].min_level)) { sprintf(buf, "%s%-20s (%3d%%) ", buf, spells[i], GET_SKILL(ch, i)); if (!(++j % 3)) strcat(buf, "\r\n"); } else if ((spell_info[i].type == 8) && (GET_SMGLEV(ch) >= spell_info[i].min_level)) { sprintf(buf, "%s%-20s (%3d%%) ", buf, spells[i], GET_SKILL(ch, i)); if (!(++j % 3)) strcat(buf, "\r\n"); } } send_to_char(buf, ch); sprintf(buf, "\r\n\r\n------------------------SPELLS------------------------\r\n"); for (i = 1; i <= NUM_SPELLS; i++) { if ((spell_info[i].type == 6) && (GET_FRCLEV(ch) >= spell_info[i].min_level)) { sprintf(buf, "%s%-20s (%3d%%) ", buf, spells[i], GET_SKILL(ch, i)); if (!(++j % 3)) strcat(buf, "\r\n"); } } send_to_char(buf, ch); sprintf(buf, "\r\n\r\n------------------------WEAPONS-----------------------\r\n"); for (i = MAX_SKILLS; i <= NUM_WEAPS; i++) { if (GET_COMLEV(ch) >= spell_info[i].min_level) { sprintf(buf, "%s%-20s (%3d%%) ", buf, spells[i], GET_SKILL(ch, i)); if (!(++j % 3)) strcat(buf, "\r\n"); } } send_to_char(buf, ch); sprintf(buf, "\r\n\r\n-----------------------LANGUAGES----------------------\r\n"); for (i = MAX_WEAPS; i <= NUM_LANGS; i++) { sprintf(buf, "%s%-20s (%3d%%) ", buf, spells[i], GET_SKILL(ch, i)); if (!(++j % 3)) strcat(buf, "\r\n"); } send_to_char(buf, ch); } +------------------------------------------------------------+ | 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