* fixed delayed CMSG_CHANNEL_LIST opcode spam to server if a channel list contained some guids which names were not yet known.

This commit is contained in:
false_genesis 2008-09-30 23:09:35 +00:00
parent aa0450df9e
commit 8af84b8c87
2 changed files with 5 additions and 3 deletions

View File

@ -229,16 +229,18 @@ void Channel::HandleListRequest(WorldPacket& recvPacket)
for(uint32 i = 0; i < size; i++)
{
recvPacket >> guid >> mode;
// all player names in this packet must be known before
// all player names in this packet must be known before we can continue
if(_worldSession->GetOrRequestPlayerName(guid).empty())
{
_worldSession->_DelayWorldPacket(recvPacket, uint32(_worldSession->GetLagMS() * 1.2f));
must_delay = true;
}
cpl[guid] = mode;
}
if(must_delay)
{
_worldSession->_DelayWorldPacket(recvPacket, uint32(_worldSession->GetLagMS() * 1.2f));
return;
}
// store list of GUIDs in: @ChannelList - see below
DefList *l = _worldSession->GetInstance()->GetScripts()->lists.Get("@ChannelList");

View File

@ -312,7 +312,7 @@
</File>
<File
RelativePath=".\shared\Auth\Hmac.h">
</File>
</File>
<File
RelativePath=".\shared\Auth\md5.c">
</File>