*Fix a dead loop in 4786. By QAston.
--HG-- branch : trunk
This commit is contained in:
@@ -1623,11 +1623,17 @@ void Player::SendTeleportAckMsg()
|
|||||||
|
|
||||||
void Player::TeleportOutOfMap(Map *oldMap)
|
void Player::TeleportOutOfMap(Map *oldMap)
|
||||||
{
|
{
|
||||||
|
while(IsBeingTeleportedFar())
|
||||||
|
GetSession()->HandleMoveWorldportAckOpcode();
|
||||||
|
|
||||||
if(FindMap() != oldMap)
|
if(FindMap() != oldMap)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
TeleportTo(m_homebindMapId, m_homebindX, m_homebindY, m_homebindZ, GetOrientation());
|
TeleportTo(m_homebindMapId, m_homebindX, m_homebindY, m_homebindZ, GetOrientation());
|
||||||
|
|
||||||
|
while(IsBeingTeleportedFar())
|
||||||
|
GetSession()->HandleMoveWorldportAckOpcode();
|
||||||
|
|
||||||
if(FindMap() == oldMap)
|
if(FindMap() == oldMap)
|
||||||
{
|
{
|
||||||
sLog.outCrash("Cannot teleport player out of map!");
|
sLog.outCrash("Cannot teleport player out of map!");
|
||||||
|
|||||||
Reference in New Issue
Block a user