本文整理汇总了C++中CDPDatabaseClient::SendGC1to1StateToDBSrvr方法的典型用法代码示例。如果您正苦于以下问题:C++ CDPDatabaseClient::SendGC1to1StateToDBSrvr方法的具体用法?C++ CDPDatabaseClient::SendGC1to1StateToDBSrvr怎么用?C++ CDPDatabaseClient::SendGC1to1StateToDBSrvr使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CDPDatabaseClient
的用法示例。
在下文中一共展示了CDPDatabaseClient::SendGC1to1StateToDBSrvr方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
// 모든 대전장의 길드대전이 끝났다.
void CGuildCombat1to1Mng::GuildCombat1to1AllClose()
{
ClearTime();
m_nState = GC1TO1_CLOSE;
for( int i=0; i<(int)( m_vecTenderGuild.size() ); i++ )
{
CGuild* pGuild = g_GuildMng.GetGuild( m_vecTenderGuild[i].ulGuildId );
if( pGuild )
{
for( map<u_long, CGuildMember*>::iterator it=pGuild->m_mapPMember.begin(); it!=pGuild->m_mapPMember.end(); it++ )
{
CUser* pUser = (CUser*)prj.GetUserByID( it->first );
if( IsValidObj(pUser) )
SendNowState( pUser );
}
}
}
m_vecGuilCombat1to1.clear();
m_vecTenderGuild.clear();
g_dpDBClient.SendGC1to1StateToDBSrvr();
}
示例2: GetTickCount
// 1대1 길드대전 오픈
void CGuildCombat1to1Mng::GuildCombat1to1Open( BOOL bGMText )
{
if( !g_eLocal.GetState( EVE_GUILDCOMBAT1TO1 ) )
return;
vector<__GC1TO1TENDER>::iterator it;
if( !bGMText )
{
for( it=m_vecTenderFailGuild.begin(); it!=m_vecTenderFailGuild.end(); it++ )
{
// 이전 1:1길드대전에 입찰 실패 길드가 신청금을 수령하지 않았을 경우
g_dpDBClient.SendGC1to1Tender( 'U', (*it).ulGuildId, (*it).nPenya, 'N' );
}
m_vecTenderFailGuild.clear();
}
// 신청한 길드수가 최소 참여 길드수보다 적을 때
if( (int)( m_vecTenderGuild.size() ) < m_nMinJoinGuild )
{
// 1대1 길드대전 취소 및 연장 처리
CString strTemp;
strTemp.Format( prj.GetText( TID_GAME_GUILDCOMBAT1TO1_NOGAME ), m_nMinJoinGuild );
g_DPCoreClient.SendCaption( strTemp );
ClearTime();
m_nState = GC1TO1_CLOSE;
return;
}
// 1:1길드대전 오픈 메세지..
g_DPCoreClient.SendCaption( prj.GetText( TID_GAME_GUILDCOMBAT1TO1_OPEN ) );
g_DPCoreClient.SendCaption( prj.GetText( TID_GAME_GUILDCOMBAT1TO1_LINEUP ) );
// 참가자 구성 시간 설정
m_nState = GC1TO1_OPEN;
m_nWaitTime = (int)m_Lua.GetGlobalNumber( "MemberLineUpTime" );
m_dwTime = GetTickCount();
// 입찰 순위에 들지 못한 길드 제거
int nCount = 0;
for( it=m_vecTenderGuild.begin(); it!=m_vecTenderGuild.end(); )
{
nCount++;
if( nCount <= m_nMaxJoinGuild )
it++;
else // 입찰 순위에서 밀려난 경우
{
CGuild* pGuild = g_GuildMng.GetGuild( (*it).ulGuildId );
if( pGuild )
{
CUser* pUser = (CUser*)prj.GetUserByID( pGuild->m_idMaster );
if( IsValidObj( pUser ) )
pUser->AddDefinedText( TID_GAME_GUILDCOMBAT1TO1_FAILTENDER );
}
g_dpDBClient.SendGC1to1Tender( 'U', (*it).ulGuildId, (*it).nPenya, 'F' );
m_vecTenderFailGuild.push_back( (*it) );
it = m_vecTenderGuild.erase( it );
}
}
// 입찰 순위에는 들어갔지만 상대 길드가 없는 경우(홀수)
if( m_vecTenderGuild.size() % 2 != 0 )
{
it = m_vecTenderGuild.end(); it--; // 마지막 순위 // 노트 : rbegin()을 사용하시오.
CGuild* pGuild = g_GuildMng.GetGuild( (*it).ulGuildId );
if( pGuild )
{
CUser* pUser = (CUser*)prj.GetUserByID( pGuild->m_idMaster );
if( IsValidObj( pUser ) )
pUser->AddDefinedText( TID_GAME_GUILDCOMBAT1TO1_FAILTENDER );
}
g_dpDBClient.SendGC1to1Tender( 'U', (*it).ulGuildId, (*it).nPenya, 'F' );
m_vecTenderFailGuild.push_back( (*it) );
m_vecTenderGuild.erase( it );
}
// 출전 가능한 길드의 모든 길드원에게 OPEN STATE 알림(길드 마스터는 참가자 구성 시간 출력)
for( it=m_vecTenderGuild.begin(); it!=m_vecTenderGuild.end(); it++ )
{
CGuild* pGuild = g_GuildMng.GetGuild( (*it).ulGuildId );
if( pGuild )
{
for( map<u_long, CGuildMember*>::iterator it2=pGuild->m_mapPMember.begin(); it2!=pGuild->m_mapPMember.end(); it2++ )
{
CUser* pUser = (CUser*)prj.GetUserByID( it2->first );
if( IsValidObj( pUser ) )
SendNowState( pUser );
}
}
}
g_dpDBClient.SendGC1to1StateToDBSrvr(); // 1:1길드대전이 오픈되었다고 DBServer에 알림
}