diff --git a/src/Client/World/WorldSession.cpp b/src/Client/World/WorldSession.cpp index 30eb891..960965e 100644 --- a/src/Client/World/WorldSession.cpp +++ b/src/Client/World/WorldSession.cpp @@ -1040,13 +1040,19 @@ void WorldSession::_HandleNotificationOpcode(WorldPacket& recvPacket) void WorldSession::_HandleNameQueryResponseOpcode(WorldPacket& recvPacket) { uint64 pguid; - uint8 unk; + uint8 realm; std::string pname; - - pguid = recvPacket.GetPackedGuid(); - recvPacket >> unk >> pname; + uint32 prace, pgender, pclass; + if(GetInstance()->GetConf()->clientbuild>6005) + pguid = recvPacket.GetPackedGuid(); + else + recvPacket >> pguid; + recvPacket >> pname >> realm >> prace >> pgender >> pclass; if(pname.length()>MAX_PLAYERNAME_LENGTH || pname.length() time=%u flags=0x%X x=%.4f y=%.4f z=%.4f o=%.4f",guid,time,flags,x,y,z,o)); Object *obj = objmgr.GetObj(guid); if(obj && obj->IsWorldObject()) { ((WorldObject*)obj)->SetPosition(x,y,z,o); } + //TODO: Eval rest of Packet!! } void WorldSession::_HandleSetSpeedOpcode(WorldPacket& recvPacket)