View this in DPSrvr.cpp:
Code:
void CDPSrvr::OnLEventCreate( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
{
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );
if( IsValidObj( pUser ) )
{
int iEEvent, iIEvent;
ar >> iEEvent >> iIEvent;
int nRet = lordevent::CreateRequirements( pUser, iEEvent, iIEvent );
if( nRet )
{
pUser->AddDefinedText( nRet );
return;
}
ILordEvent* pEvent = CSLord::Instance()->GetEvent();
int nPerin = pUser->RemoveTotalGold( pEvent->GetCost( iEEvent, iIEvent ) );
char szContext[100] = { 0,};
sprintf( szContext, "OnLEventCreate: cost: %d(perin), %I64d(penya)", nPerin, pEvent->GetCost( iEEvent, iIEvent ) - ( nPerin * PERIN_VALUE ) );
PutPenyaLog( pUser, "e", szContext, 0 );
g_dpDBClient.SendLEventCreate( pUser->m_idPlayer, iEEvent, iIEvent );
}
}