/***Add this Variable***/ int spn = 0; /***********************/ /*** All DIKU/ROM/MUD, etc etc rules apply for this snippet. Please respect my work, as I have respected others. Leave this comment in for my work. Snippet Creator: Silence Tyire /*** /***Replace the display for the practice command with:**********/ send_to_char("{G+{W**************************************{MSPELLS{W***********************************{G+\n\r", ch); for (sn = 0; sn < MAX_SKILL; sn++) { if (skill_table[sn].name == NULL) break; if (ch->level < skill_table[sn].skill_level[ch->class] || ch->pcdata->learned[sn] < 1 /* skill is not known */ ) continue; if ((skill_table[sn].spell_fun == spell_null) && (spn == 0)) { spn++; send_to_char("\n\r{G+{W**************************************{MSKILLS{W***********************************{G+\n\r", ch); col = 0; } sprintf (buf, " {C%-18s {B%3d%% {x", skill_table[sn].name, ch->pcdata->learned[sn]); send_to_char (buf, ch); if (++col % 3 == 0) send_to_char ("\n\r", ch); } if (col % 3 != 0) send_to_char ("\n\r", ch); sprintf (buf, "{G+{W**************************************{MPractices{D: {R%-3d{W***************************{G+{x\n\r", ch->practice); send_to_char (buf, ch); } /***This snippet ends right before do_practice jumps into the else { CHAR_DATA *mob; int adept; if (!IS_AWAKE (ch)) { send_to_char ("In your dreams, or what?\n\r", ch); return; } part of your code***/