Exemplo n.º 1
0
void MMatchClanMap::AddObject(const MUID& uid, MMatchObject* pObj)
{
	if (! IsEnabledObject(pObj)) return;

	int nCLID = pObj->GetCharInfo()->m_ClanInfo.m_nClanID;
	if (nCLID == 0) return;

	// 임시코드... AddObject()하는 어느곳에서 잘못된 값을 가져와서 서버 크래쉬 유발시키기 때문에 일단 여기서 막음
	// 또한 AddObject()하는곳에서 log를 남겨 배포후 원인을 잡는 과정이 있을거임...20090224 by kammir
	if (nCLID <= -1) return;		// nCLID는 정수형
	if (nCLID >= 9000000) return;	// 현재(20090224) 한국 최고 클랜ID가 "1399559"이다.(DB에서는 1씩증가시킴)

	// 클랜이 없으면 새로 생성
	iterator itor = find(nCLID);
	if (itor == end()) 
	{
		CreateClan(nCLID, pObj->GetCharInfo()->m_ClanInfo.m_szClanName);
	}

	itor = find(nCLID);
	if (itor != end())
	{
		MMatchClan* pClan = (*itor).second;

		pClan->AddObject(uid, pObj);
	}
}
Exemplo n.º 2
0
void MMatchClanMap::AddObject(const MUID& uid, MMatchObject* pObj)
{
	if (! IsEnabledObject(pObj)) return;

	int nCLID = pObj->GetCharInfo()->m_ClanInfo.m_nClanID;
	if (nCLID == 0) return;

	// 클랜이 없으면 새로 생성
	iterator itor = find(nCLID);
	if (itor == end()) 
	{
		CreateClan(nCLID, pObj->GetCharInfo()->m_ClanInfo.m_szClanName);
	}

	itor = find(nCLID);
	if (itor != end())
	{
		MMatchClan* pClan = (*itor).second;

		pClan->AddObject(uid, pObj);
	}
}