Пример #1
0
bool ChatClient::PacketControl(Packet* pPacket)
{
	LPPACKETDATA data = (LPPACKETDATA)pPacket->GetPacketData();

	switch (data->wOpCode)
	{
	case UT_ENTER_CHAT: {
		SendChatEnterRes((sUT_ENTER_CHAT*)data);
		SendFriendList();
		//SendGuildInfo();		
	}break;
	case UT_CHAT_MESSAGE_SAY: SendChatSay((sUT_CHAT_MESSAGE_SAY*)data); break;
	case UT_CHAT_MESSAGE_SHOUT: SendChatShout((sUT_CHAT_MESSAGE_SHOUT*)data); break;
	case UT_CHAT_MESSAGE_WHISPER: SendChatWhisper((sUT_CHAT_MESSAGE_WHISPER*)data); break;
	case UT_CHAT_MESSAGE_PRIVATESHOP_BUSINESS: SendChatPrivateShop((sUT_CHAT_MESSAGE_PRIVATESHOP_BUSINESS*)data); break;
	// FRIEND PACKETS
	case UT_FRIEND_ADD_REQ: SendFriendAdd((sUT_FRIEND_ADD_REQ*)data); break;
	case UT_FRIEND_DEL_REQ: SendFriendDel((sUT_FRIEND_DEL_REQ*)data); break;
	case UT_FRIEND_MOVE_REQ: SendFriendMove((sUT_FRIEND_MOVE_REQ*)data); break;
	case UT_FRIEND_BLACK_ADD_REQ: SendBlackListAdd((sUT_FRIEND_BLACK_ADD_REQ*)data); break;
	case UT_FRIEND_BLACK_DEL_REQ: SendBlackListDel((sUT_FRIEND_BLACK_DEL_REQ*)data); break;
	// SYS PACKETS
	case SYS_ALIVE: { ResetAliveTime(); } break;
	case SYS_PING: break;
	default:
		Logger::Log("Received Opcode: %s\n", NtlGetPacketName_UT(data->wOpCode));
		return false;
		break;
	}
	return true;
}
Пример #2
0
void SocialMgr::SendUpdateToFriends(Player* plr)
{
	if(!plr)
		return;

	std::map<uint64, std::set<uint64>*>::iterator Itr = m_isInFriendList.find(plr->GetGUID());
	if(Itr == m_isInFriendList.end())
		return;

	std::set<uint64>* iList = Itr->second;
	std::set<uint64>::iterator itr;
	Player* cPlayer = NULL;

	for(itr = iList->begin(); itr != iList->end(); itr++)
	{
		cPlayer = objmgr.GetPlayer(*itr);
		if(cPlayer)
			SendFriendList(cPlayer);
	}
}