本文整理汇总了C++中Account::GetEntityGroupMap方法的典型用法代码示例。如果您正苦于以下问题:C++ Account::GetEntityGroupMap方法的具体用法?C++ Account::GetEntityGroupMap怎么用?C++ Account::GetEntityGroupMap使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Account
的用法示例。
在下文中一共展示了Account::GetEntityGroupMap方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: OnLogMessage
//.........这里部分代码省略.........
CMessage msg(MSG_W2S_OTHER_KICKPLAYER);
msg.Add((BYTE)FCM_KICK_PLAYER);
msg.Add(pPlayer->GetExID());
msg.SendToSocket(pPlayer->GetGsSocket());
}
}
}
}
break;
case MSG_L2W_LOG_KICKPLAYER://根据CDKEY踢出一个玩家
{
char strCDKey[256];
pMsg->GetStr(strCDKey,256);
Account* pAcc = GetGame().GetEntityManager()->FindAccount(strCDKey);
if(pAcc
&& pAcc->GetPlayerState() != PLAYER_STATE_ENTERED_GAME)
{
pAcc->SetPlayerState(PLAYER_STATE_BACKTOLOGIN);
pAcc->SetLoginTimeoutValue(timeGetTime());
}
}
break;
case MSG_L2W_LOG_REPEAT_LOGIN:
{
char strCDKey[256];
pMsg->GetStr( strCDKey, 256 );
// 看该帐号是否有角色在游戏中
Account* tLoginInfo = GetGame().GetEntityManager()->FindAccount(strCDKey);
if(tLoginInfo)
{
if(tLoginInfo->GetEntityGroupMap().size())
{
CGUID CurGamedPlayerGuid = tLoginInfo->GetCurGamedPlayerGuid();
if( CurGamedPlayerGuid != NULL_GUID)
{
CPlayer* pPlayer = GetGame().GetMapPlayer(CurGamedPlayerGuid);
if(pPlayer)
{
long gsid = GetGame().GetGlobalRgnManager()->FindGSIDByRgnID(pPlayer->GetRegionExID());
if(gsid != -1)
{
CMessage msg( MSG_W2S_LOG_REPEAT_LOGIN );
msg.Add( CurGamedPlayerGuid );
msg.SendToGS(gsid);
}
else
{
tLoginInfo->SetPlayerState(PLAYER_STATE_BACKTOLOGIN);
CMessage msg(MSG_W2L_LOG_PLAYERQUIT);
msg.Add(strCDKey);
msg.Add(0L);
msg.SendToServer(NF_LOGIN_SERVER);//send to loginserver
}
// _snprintf(pszLogingInfo,512,AppFrame::GetText("WS_LOGMESSAGE_12"), strCDKey);
// PutStringToFile("Login_WS_Info",pszLogingInfo);
Log4c::Trace(ROOT_MODULE,FormatText("WS_LOGMESSAGE_12", strCDKey));
return;
}
}
}