本文整理汇总了C++中CDPDatabaseClient::SendLogPkPvp方法的典型用法代码示例。如果您正苦于以下问题:C++ CDPDatabaseClient::SendLogPkPvp方法的具体用法?C++ CDPDatabaseClient::SendLogPkPvp怎么用?C++ CDPDatabaseClient::SendLogPkPvp使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CDPDatabaseClient
的用法示例。
在下文中一共展示了CDPDatabaseClient::SendLogPkPvp方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: DoDuelResult
//
// 파티원들에게 bWin에 따라 승/패 사실을 알리고 듀얼을 종료시킴.
//
void CParty::DoDuelResult( CParty *pDuelOther, BOOL bWin, int nAddFame, float fSubFameRatio )
{
CUser *pMember;
int i;
for( i = 0; i < m_nSizeofMember; i ++ )
{
pMember = g_UserMng.GetUserByPlayerID( m_aMember[i].m_uPlayerId );
if( IsValidObj( pMember ) )
{
pMember->AddDuelPartyResult( pDuelOther, bWin ); // 각 멤버들에게 승/패 사실을 알림. / 상대파티원 리스트도 보냄.
pMember->ClearDuelParty();
if( bWin )
{
pMember->m_nFame += nAddFame; // 이긴측이면 명성 증가
pMember->AddDefinedText( TID_GAME_GETFAMEPOINT, "%d", nAddFame ); // xxx 명성 포인트가 증가
#ifdef __WORLDSERVER
g_dpDBClient.SendLogPkPvp( pMember, NULL, nAddFame, 'E' );
#endif // __WORLDSERVER
}
else
{
int nDecVal;
fSubFameRatio = fSubFameRatio / 100.0f; // 비율로 환산.
nDecVal = (int)(pMember->m_nFame * fSubFameRatio);
if( nDecVal == 0 ) nDecVal = 1;
pMember->m_nFame -= nDecVal;
if( pMember->m_nFame < 0 ) pMember->m_nFame = 0;
pMember->AddDefinedText( TID_GAME_DECFAMEPOINT, "%d", nDecVal ); // xxx 명성 포인트가 감소.
#ifdef __WORLDSERVER
g_dpDBClient.SendLogPkPvp( NULL, pMember, nAddFame, 'E' );
#endif // __WORLDSERVER
}
// 바뀐 명성치를 pMember의 주위에 날려줌.
g_UserMng.AddSetFame( pMember, pMember->m_nFame );
}
}
m_idDuelParty = 0;
}
示例2: __EndQuest
//.........这里部分代码省略.........
int nGold = pQuestProp->m_nEndRewardGoldMin + xRandom( nNum );
pUser->AddGold( nGold );
pUser->AddGoldText( nGold );
}
if( pQuestProp->m_nEndRewardExpMin )
{
nNum = pQuestProp->m_nEndRewardExpMax - pQuestProp->m_nEndRewardExpMin + 1;
int nExp = pQuestProp->m_nEndRewardExpMin + xRandom( nNum );
if( pUser->AddExperience( nExp, TRUE, FALSE ) )
pUser->LevelUpSetting();
else
pUser->ExpUpSetting();
pUser->AddSetExperience( pUser->GetExp1(), (WORD)pUser->m_nLevel, pUser->m_nSkillPoint, pUser->m_nSkillLevel );
pUser->AddDefinedText( TID_GAME_REAPEXP );
}
if( pQuestProp->m_nEndRewardSkillPoint )
{
pUser->AddSkillPoint( pQuestProp->m_nEndRewardSkillPoint );
pUser->AddSetExperience( pUser->GetExp1(), (WORD)pUser->m_nLevel, pUser->m_nSkillPoint, pUser->m_nSkillLevel );
g_dpDBClient.SendLogSkillPoint( LOG_SKILLPOINT_GET_QUEST, pQuestProp->m_nEndRewardSkillPoint, (CMover*)pUser, NULL );
}
#if __VER >= 8 // __S8_PK
if( pQuestProp->m_nEndRewardPKValueMin || pQuestProp->m_nEndRewardPKValueMax )
{
if( pQuestProp->m_nEndRewardPKValueMin <= pQuestProp->m_nEndRewardPKValueMax )
{
int nPKValue = pUser->GetPKValue() - xRandom( pQuestProp->m_nEndRewardPKValueMin, pQuestProp->m_nEndRewardPKValueMax + 1 );
if( nPKValue < 0 )
nPKValue = 0;
pUser->SetPKValue( nPKValue );
pUser->AddPKValue();
g_dpDBClient.SendLogPkPvp( (CMover*)pUser, NULL, 0, 'P' );
#if __VER >= 13 // __HONORABLE_TITLE // 달인
pUser->CheckHonorStat();
g_UserMng.AddHonorTitleChange( pUser, pUser->m_nHonor);
#endif // __HONORABLE_TITLE // 달인
}
}
#else // __VER >= 8 // __S8_PK
if( pQuestProp->m_nEndRewardKarmaStyle )
{
if( pQuestProp->m_nEndRewardKarmaStyle == 1 )
pUser->ChangeSlaughter( CHANGE_SLAUGHTER_SET, NULL, pQuestProp->m_nEndRewardKarmaPoint );
else
if( pQuestProp->m_nEndRewardKarmaStyle == 2 )
{
int nKarma = pUser->GetKarma();
pUser->ChangeSlaughter( CHANGE_SLAUGHTER_SET, NULL, nKarma + pQuestProp->m_nEndRewardKarmaPoint );
}
}
#endif // __VER >= 8 // __S8_PK
#if __VER >= 9 // __S_9_ADD
if( pQuestProp->m_nEndRewardTeleport != 0 )
pUser->REPLACE( g_uIdofMulti, pQuestProp->m_nEndRewardTeleport, pQuestProp->m_nEndRewardTeleportPos, REPLACE_NORMAL, nTempLayer );
#endif // __S_9_ADD
// 시작시 변신을 했으면 종료시 변신 해제시킨다.
if( pQuestProp->m_nBeginSetDisguiseMoverIndex )
{
CUser* pUser = prj.GetUser( nPcId );
pUser->NoDisguise( NULL );
g_UserMng.AddNoDisguise( pUser );
}
#if __VER >= 15 // __CAMPUS
if( pQuestProp->m_nEndRewardTSP )