Rather then make another topic, I was having the same problem using the same codebase. I also tried the suggested fixes, and it corrected the display issue. However when you type practice '<skill name>' it gives these messages:
Domick tells you, 'I've taught you everything I can about aid.'
Domick tells you, 'You'll have to practice it on your own now...'
except that it doesn't actually practice the skill. It's still at 0% in both the practice display and slist.
It's not writing anything to the individuals pfile.
Here's the lines of code I'm looking at but not seeing any problem.
adept = ( int )( class_table[ch->Class]->skill_adept * 0.2 );
if( ch->pcdata->learned[sn] >= adept )
{
snprintf( buf, MAX_STRING_LENGTH, "$n tells you, 'I've taught you everything I can about %s.'",
skill_table[sn]->name );
act( AT_TELL, buf, mob, NULL, ch, TO_VICT );
act( AT_TELL, "$n tells you, 'You'll have to practice it on your own now...'", mob, NULL, ch, TO_VICT );
}
else
{
ch->practice--;
ch->pcdata->learned[sn] += int_app[get_curr_int( ch )].learn;
act( AT_ACTION, "You practice $T.", ch, NULL, skill_table[sn]->name, TO_CHAR );
act( AT_ACTION, "$n practices $T.", ch, NULL, skill_table[sn]->name, TO_ROOM );
if( ch->pcdata->learned[sn] >= adept )
{
ch->pcdata->learned[sn] = adept;
act( AT_TELL, "$n tells you. 'You'll have to practice it on your own now...'", mob, NULL, ch, TO_VICT );
}
}
}
return;
}
Any ideas? Let me know if you need anything else.
Nevermind, I was able to figure this one out. One of my friends added a class, and forgot to set a few things for it, including the skilladept. Sorry for a pointless post, I should've thought to have checked the file out first rather then diving into code.
Well... heh, I guess that is the point. |