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; }
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); } }