Hi elitepvpers,
I am having some trouble with the v6 PK system.
When an player kills an player he will get an negative karma.
But when an normal player kills an player with negative karma.
The normal player isnt gaining karma. Its just sits on 0.
Who can point me in the right direction for this.
I was thinking it has something to do with this part.
int CMover::ChangeSlaughter( CHANGE_SLAUGHTER_TYPE type, CMover* pDefender, int nSetCarmaPoint )
{
#ifdef __QUGET_KARMA_TITLES
if(!pDefender)
{
SetHonorAdd(HS_SLAUGHTER_COUNT,HI_COUNT_CHECK);
}
else
{
pDefender->SetHonorAdd(HS_SLAUGHTER_COUNT,HI_COUNT_CHECK);
}
//SetHonorAdd(HS_SLAUGHTER_COUNT,HI_COUNT_CHECK);
#endif
int nVal = 0;
switch( type )
{
case CHANGE_SLAUGHTER_KILL: // PK¿¡ ÀÇÇÑ Slaughter º¯°æ
nVal = IncSlaughterPoint( pDefender );
break;
case CHANGE_SLAUGHTER_ATTACK: // PK½Ãµµ¿¡ ÀÇÇÑ Slaughter º¯°æ
nVal = IncSlaughterPoint2( pDefender );
break;
case CHANGE_SLAUGHTER_RECOVERY:
if( m_nSlaughter < 0 )
{
m_nSlaughter += 1;
nVal = 1;
}
break;
case CHANGE_SLAUGHTER_SET:
{
nVal = nSetCarmaPoint - m_nSlaughter;
m_nSlaughter = nSetCarmaPoint;
}
break;
}
if( nVal > 0 )
((CUser*)this)->AddDefinedText( TID_GAME_GETPKPOINT, "%d", nVal ); // xxx ½½·ÎÅÍ Æ÷ÀÎÆ®¸¦ ¾ò¾ú´Ù
else if( nVal < 0 )
((CUser*)this)->AddDefinedText( TID_GAME_DECPKPOINT, "%d", -nVal ); // xxx ½½·ÎÅÍ Æ÷ÀÎÆ®°¡ °¨¼ÒÇß´Ù.
if( nVal )
{
// ½½·ÎÅÍ Æ÷ÀÎÆ®ÀÇ º¯È*°¡ ÀÖ¾úÀ¸¸é °»½Å½ÃÅ´.
g_UserMng.AddSetSlaughterPoint( this, m_nSlaughter, m_nNumKill ); // ¾îÅÂÄ¿ ÁÖÀ§ Ŭ¶ó¿¡ ½½·ÎÅÍÆ÷ÀÎÆ® Áõ°¡¸¦ ¾Ë¸².
if( pDefender ) // ÀüÅõ¿¡ ÀÇÇÔ
g_dpDBClient.SendLogPkPvp( this, pDefender, nVal, 'P' );
}
return nVal;
}
With kind regards.