Example #1
0
INT KNetConnectPlayer::OnClientLogin2( DWORD dwRoleId, const GUID& rConnGuid, INT nConnectId, BOOL bHidden /*= FALSE*/,BOOL bTinyTerminal)
{
	INT nRetCode = FALSE;
	KPlayer* pPlayer = NULL;
	INT nPlayerIndex = 0;
	pPlayer = g_cPlayerMgr.GetById(dwRoleId);
	LOG_PROCESS_ERROR(pPlayer);
	LOG_PROCESS_ERROR(pPlayer->GetGameState() == gsWaitForConnect);
	LOG_PROCESS_ERROR(pPlayer->m_cPlayerServer.m_Guid == rConnGuid);
	pPlayer->SetTinyTerminal(bTinyTerminal);
	nPlayerIndex = pPlayer->GetPlayerIndex();
	
	m_pnConnId2PlayerIndex[nConnectId] = nPlayerIndex;
	m_pnPlayerIndex2ConnId[nPlayerIndex] = nConnectId;

	m_mpAccount2Player[pPlayer->m_cPlayerServer.m_strAccount] = nPlayerIndex;

	g_RelayClient.DoConfirmPlayerLoginRequest(dwRoleId);

	pPlayer->SetGameState(gsWaitForPermit);
	pPlayer->m_nTimer       = 0;
	
	nRetCode = TRUE;
EXIT0:
	if (!nRetCode)
	{
		QLogPrintf(LOG_INFO, "Invalid Client: %d\n", nConnectId);

		if (pPlayer)
			QLogPrintf(LOG_INFO, "Player %d state %d\n", dwRoleId, pPlayer->GetGameState());
	}
	return nRetCode;
}