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.