Code:
new szSkillName[64], iSkillLevel;
new szMsg[256], szUltimate[256], szPassive[256];
new pos = 0, posU = 0, posP = 0;
new iSkillLevel2
// Loop through all available skills to find the trainable options...
for ( new iSkillID = 0; iSkillID < MAX_SKILLS; iSkillID++ )
{
// Get the skill's level
iSkillLevel = SM_GetSkillLevel( id, iSkillID, 8 );
iSkillLevel2=iSkillLevel-1
// If the skill level is > 0 then the user has this skill!
if ( iSkillLevel > 0 )
{
// Get the skill's name
LANG_GetSkillName( iSkillID , id, szSkillName, 63, 19 );
// Trainable skill
if ( SM_GetSkillType( iSkillID ) == SKILL_TYPE_TRAINABLE )
{
pos += formatex( szMsg[pos], 256-pos, "^n%s %L %d", szSkillName, id, "WORD_LEVEL", iSkillLevel );
switch(iSkillID){
case 0:pos += formatex( szMsg[pos], 256-pos, " (%d^%)",floatround(p_vampiric[iSkillLevel2]*100))
case 1:pos += formatex( szMsg[pos], 256-pos, " (%d speed)",floatround(p_unholy[iSkillLevel2]))
case 2:pos += formatex( szMsg[pos], 256-pos, " (%d\%)",floatround(p_levitation[iSkillLevel2]*100))
case 4:pos += formatex( szMsg[pos], 256-pos, " (%d%%)",floatround(float(p_invisibility[iSkillLevel2])/255.0*100.0))
case 5:pos += formatex( szMsg[pos], 256-pos, " (+%dhp)", p_devotion*(iSkillLevel2+1))
case 6:pos += formatex( szMsg[pos], 256-pos, " (%d%%)",floatround(p_bash[iSkillLevel2]*100))
case 8:pos += formatex( szMsg[pos], 256-pos, " (%d%%)",floatround(p_critical[iSkillLevel2]*100))
case 9:pos += formatex( szMsg[pos], 256-pos, " (%fX)",p_grenade[iSkillLevel2])
case 10:pos += formatex( szMsg[pos], 256-pos, " (%d%%)",floatround(p_ankh[iSkillLevel2]*100))
case 12:pos += formatex( szMsg[pos], 256-pos, " (%d%%)",floatround(p_evasion[iSkillLevel2]*100))
case 13:pos += formatex( szMsg[pos], 256-pos, " (%d%%)",floatround(p_thorns[iSkillLevel2]*100))
case 14:pos += formatex( szMsg[pos], 256-pos, " (%d%%)",floatround(p_trueshot[iSkillLevel2]*100))
case 16:pos += formatex( szMsg[pos], 256-pos, " (%d%%)",floatround(p_phoenix[iSkillLevel2]*100))
case 17:pos += formatex( szMsg[pos], 256-pos, " (%d%%)",floatround(p_banish[iSkillLevel2]*100))
case 18:pos += formatex( szMsg[pos], 256-pos, " (%d%%)",floatround(p_mana[iSkillLevel2]*100))
case 21:pos += formatex( szMsg[pos], 256-pos, " (%f sec)",p_heal[iSkillLevel2])
case 22:pos += formatex( szMsg[pos], 256-pos, " (%d%%)",floatround(p_hex[iSkillLevel2]*100))
case 23:pos += formatex( szMsg[pos], 256-pos, " (%d)",p_serpent[iSkillLevel2])
case 26:pos += formatex( szMsg[pos], 256-pos, " (%d%%)",floatround(p_fan[iSkillLevel2]*100))
case 27:pos += formatex( szMsg[pos], 256-pos, " (%d%%)",floatround(p_blink[iSkillLevel2]*100))
case 28:pos += formatex( szMsg[pos], 256-pos, " (%d%%)",floatround(p_shadow[iSkillLevel2]*100))
case 31:pos += formatex( szMsg[pos], 256-pos, " (%d%%)",floatround(p_impale[iSkillLevel2]*100))
case 32:pos += formatex( szMsg[pos], 256-pos, " (%d%%)",floatround(p_spiked[iSkillLevel2]*100))
case 33:pos += formatex( szMsg[pos], 256-pos, " (%d%%)",floatround(p_carrion[iSkillLevel2]*100))
//default:pos += formatex( szMsg[pos], 256-pos, " (%d%%)",pp);
}
}
// Skill is an ultimate
else if ( SM_GetSkillType( iSkillID ) == SKILL_TYPE_ULTIMATE && iSkillLevel > 0 )
{
posU += formatex( szUltimate[posU], 255-posU, "^n%L: %s", id, "WORD_ULTIMATE", szSkillName );
}
// Skill is passive
else if ( SM_GetSkillType( iSkillID ) == SKILL_TYPE_PASSIVE )
{
posP += formatex( szPassive[posP], 255-posP, "^n%s", szSkillName );
}
}
}