- :P For all those who asked, below is my code for displaying percentage :P levels for skills and spells. Someone asked a question on how to allow a :P person to have both spells and skills, the answer is that Circle really :P doesn't differentiate between the two, and you just assign skills to a :P spell caster as you would assign spells, in class.c. this is way old, but only just got around to it. i was the person who originally asked about assigning both skills and spells to a class. since i wanted to let various classes have both, i didn't want it to display them all in one big list, so i had it break it down into two lists :) in spec_procs.c, i changed the list_skills function, included below. you will have to add a buf3 declaration in db.h. probably not the most elegant way of doing it, but it works :) it firsts lists all the spells, and then all the skills. void list_skills(struct char_data * ch) { extern char *spells[]; extern struct spell_info_type spell_info[]; int i, sortpos; if (!GET_PRACTICES(ch)) strcpy(buf, "You have no practice sessions remaining.\r\n"); else { sprintf(buf, "You have %d practice session%s remaining.\r\n", GET_PRACTICES(ch), (GET_PRACTICES(ch) == 1 ? "" : "s")); } sprintf(buf, "%s\r\nYou know of the following spells:\r\n", buf); strcpy(buf2, buf); for (sortpos = 1; sortpos <= MAX_SPELLS; sortpos++) { i = spell_sort_info[sortpos]; if (strlen(buf2) >= MAX_STRING_LENGTH - 32) { strcat(buf2, "**OVERFLOW**\r\n"); break; } if (GET_LEVEL(ch) >= spell_info[i].min_level[(int) GET_CLASS(ch)]) { sprintf(buf, "%-20s %s\r\n", spells[i], how_good(GET_SKILL(ch, i))); strcat(buf2, buf); } } sprintf(buf2, "%s\r\nYou know of the following skills:\r\n", buf2); strcpy(buf3, buf2); for (sortpos = MAX_SPELLS + 1; sortpos <= MAX_SKILLS; sortpos++) { i = spell_sort_info[sortpos]; if (strlen(buf3) >= MAX_STRING_LENGTH - 32) { strcat(buf3, "**OVERFLOW**\r\n"); break; } if (GET_LEVEL(ch) >= spell_info[i].min_level[(int) GET_CLASS(ch)]) { sprintf(buf2, "%-20s %s\r\n", spells[i], how_good(GET_SKILL(ch, i))); strcat(buf3, buf2); } } page_string(ch->desc, buf3, 1); } +-----------------------------------------------------------+ | 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