void WorldSession::HandleNameQueryOpcode(WorldPacket& recv_data)
{
    uint64 guid;

    recv_data >> guid;

    Player *pChar = sObjectMgr->GetPlayer(guid);

    if (pChar)
        SendNameQueryOpcode(pChar);
    else
    {
        if (CharacterNameData* cname = sWorld->GetCharacterNameData(guid))
        {
            WorldPacket data(SMSG_NAME_QUERY_RESPONSE, 8+1+1+1+1+1+1+10);
            data.appendPackGUID(guid);
            data << uint8(0);
            if (cname->m_name == "")
            {
                data << std::string(GetVoragineString(LANG_NON_EXIST_CHARACTER));
                data << uint32(0);
            }
            else
            {
                data << cname->m_name;
                data << uint8(0);
                data << uint8(cname->m_race);
                data << uint8(cname->m_gender);
                data << uint8(cname->m_class);
            }
            data << uint8(0);
            SendPacket(&data);
        }
    }
}
示例#2
0
void WorldSession::HandleNameQueryOpcode(WorldPacket& recvData)
{
    ObjectGuid guid;
    uint32 realmId;

    recvData >> realmId;

    guid[2] = recvData.ReadBit();
    guid[1] = recvData.ReadBit();
    guid[5] = recvData.ReadBit();
    guid[7] = recvData.ReadBit();
    guid[0] = recvData.ReadBit();
    guid[4] = recvData.ReadBit();
    guid[6] = recvData.ReadBit();
    guid[3] = recvData.ReadBit();

    recvData.ReadByteSeq(guid[3]);
    recvData.ReadByteSeq(guid[2]);
    recvData.ReadByteSeq(guid[6]);
    recvData.ReadByteSeq(guid[1]);
    recvData.ReadByteSeq(guid[0]);
    recvData.ReadByteSeq(guid[4]);
    recvData.ReadByteSeq(guid[5]);
    recvData.ReadByteSeq(guid[7]);

    // This is disable by default to prevent lots of console spam
    // sLog->outInfo(LOG_FILTER_NETWORKIO, "HandleNameQueryOpcode %u", guid);

    SendNameQueryOpcode(guid, realmId);
}
示例#3
0
void WorldSession::HandleNameQueryOpcode(WorldPacket& recv_data)
{
    uint64 guid;

    recv_data >> guid;

	SendNameQueryOpcode(guid);
}
示例#4
0
void WorldSession::HandleNameQueryOpcode(WorldPacket& recvData)
{
    uint64 guid;
    recvData >> guid;

    // This is disable by default to prevent lots of console spam
    // sLog->outInfo(LOG_FILTER_NETWORKIO, "HandleNameQueryOpcode %u", guid);

    SendNameQueryOpcode(guid);
}
示例#5
0
void WorldSession::HandleNameQueryOpcode(WorldPacket& recvData)
{
    uint64 guid;
    recvData >> guid;

    // This is disable by default to prevent lots of console spam
    // TC_LOG_INFO("network", "HandleNameQueryOpcode %u", guid);

    SendNameQueryOpcode(guid);
}
示例#6
0
void WorldSession::HandleNameQueryOpcode(WorldPacket& recv_data)
{
    uint64 guid;
    recv_data >> guid;

    // This is disable by default to prevent lots of console spam
    // sLog->outString("HandleNameQueryOpcode %u", guid);

    SendNameQueryOpcode(guid);
}
示例#7
0
void WorldSession::HandleNameQueryOpcode(WorldPacket& recv_data)
{
    ObjectGuid guid;
    recv_data >> guid;
    uint32 bytesLeft = recv_data.wpos() - recv_data.rpos();

    sLog.outDebug("Received CMSG_NAME_QUERY from %s. Guid %s bytesleft %u.",
        _player->GetGuidStr().c_str(), guid.GetString().c_str(), bytesLeft);

    switch (bytesLeft)
    {
        case 4:
        {
            uint32 realmId;
            recv_data >> realmId;
            if (!realmId)
                realmId = realmID;

            // actually will never happen
            if (realmID != realmId)
            {
                sLog.outError("Warning! Quering players from other realms is not supported. Queried realm id: %u This realm id: %u Guid: %s",
                    realmId, realmID, guid.GetString().c_str());

                WorldPacket data(SMSG_NAME_QUERY_RESPONSE, 9);
                data << guid.WriteAsPacked();
                data << uint8(1);
                SendPacket(&data);
                return;
            }

            Player* pChar = sObjectMgr.GetPlayer(guid);
            if (pChar)
                SendNameQueryOpcode(pChar, realmId);
            else
                SendNameQueryOpcodeFromDB(guid, realmId);
            break;
        }
        case 8:
        {
            uint64 unk64;
            recv_data >> unk64;
            sLog.outDebug("Received unhandled CMSG_NAME_QUERY with uint64 value " UI64FMTD, unk64);
            break;
        }
        case 12:
        {
            uint32 unk32;
            uint64 unk64;
            recv_data >> unk32 >> unk64;
            sLog.outDebug("Received unhandled CMSG_NAME_QUERY with int32 value %u and uint64 value " UI64FMTD, unk32, unk64);
            break;
        }
    }
}
void WorldSession::HandleNameQueryOpcode(WorldPacket& recv_data)
{
    uint64 guid;

    recv_data >> guid;

    if (Player *pChar = ObjectAccessor::FindPlayer(guid))
        SendNameQueryOpcode(pChar);
    else
        SendNameQueryOpcodeFromDB(guid);
}
示例#9
0
void WorldSession::HandleNameQueryOpcode(WorldPacket & recv_data) {
	uint64 guid;

	recv_data >> guid;

	Player *pChar = sObjectMgr->GetPlayer(guid);

	if (pChar)
		SendNameQueryOpcode(pChar);
	else
		SendNameQueryOpcodeFromDB(guid);
}
示例#10
0
void WorldSession::HandleNameQueryOpcode(WorldPacket& recv_data)
{
    ObjectGuid guid;

    recv_data >> guid;

    Player* pChar = sObjectMgr.GetPlayer(guid);

    if (pChar)
        { SendNameQueryOpcode(pChar); }
    else
        { SendNameQueryOpcodeFromDB(guid); }
}
示例#11
0
void WorldSession::HandleNameQueryOpcode( WorldPacket & recv_data )
{
    ObjectGuid guid;

    recv_data >> guid;

    Player *pChar = sObjectMgr.GetPlayer(guid);
    if (pChar)
        SendNameQueryOpcode(pChar);
    else
        if (guid!=auctionbot.GetAHBObjectGuid().GetRawValue())
            SendNameQueryOpcodeFromDB(guid);
        else
            SendFakeNameForAHBotQueryOPcode();
}
示例#12
0
void WorldSession::HandleNameQueryOpcode( WorldPacket & recv_data )
{
    CHECK_PACKET_SIZE(recv_data, 8);

    uint64 guid;

    recv_data >> guid;

    Player *pChar = objmgr.GetPlayer(guid);

    if (pChar)
        SendNameQueryOpcode(pChar);
    else
        SendNameQueryOpcodeFromDB(guid);
}
示例#13
0
void WorldSession::HandleNameQueryOpcode(WorldPacket& recv_data)
{
    uint64 guid;

    recv_data >> guid;

    // This is disable by default to prevent lots of console spam
    // sLog->outString("HandleNameQueryOpcode %u", guid);

    if (Player* pChar = ObjectAccessor::FindPlayer(guid))
        SendNameQueryOpcode(pChar);
    else
    {
        if (const CharacterNameData* cname = sWorld->GetCharacterNameData(GUID_LOPART(guid)))
        {
            WorldPacket data(SMSG_NAME_QUERY_RESPONSE, 8+1+1+1+1+1+1+10);
            data.appendPackGUID(guid);
            data << uint8(0);
            if (cname->m_name == "")
            {
                data << std::string(GetTrinityString(LANG_NON_EXIST_CHARACTER));
                data << uint32(0);
            }
            else
            {
                data << cname->m_name;
                data << uint8(0);
                data << uint8(cname->m_race);
                data << uint8(cname->m_gender);
                data << uint8(cname->m_class);
            }
            data << uint8(0);
            SendPacket(&data);
        }
    }
}
示例#14
0
void WorldSession::HandleNameQueryOpcode(WorldPackets::Query::QueryPlayerName& packet)
{
    SendNameQueryOpcode(packet.Player);
}