diff options
author | megamage <none@none> | 2009-08-06 11:01:22 -0500 |
---|---|---|
committer | megamage <none@none> | 2009-08-06 11:01:22 -0500 |
commit | 05940192f4cb4cef7b30b7ca76fba5ec4c90a32e (patch) | |
tree | 8bbb96145e73683b6874ae59d04b130f191516ae | |
parent | e8330e4162f044b928f26d91e71db986e59978ef (diff) |
*Fix a dead loop in 4786. By QAston.
--HG--
branch : trunk
-rw-r--r-- | src/game/Player.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/game/Player.cpp b/src/game/Player.cpp index 046332847a9..a49d6ac6d77 100644 --- a/src/game/Player.cpp +++ b/src/game/Player.cpp @@ -1623,11 +1623,17 @@ void Player::SendTeleportAckMsg() void Player::TeleportOutOfMap(Map *oldMap) { + while(IsBeingTeleportedFar()) + GetSession()->HandleMoveWorldportAckOpcode(); + if(FindMap() != oldMap) return; TeleportTo(m_homebindMapId, m_homebindX, m_homebindY, m_homebindZ, GetOrientation()); + while(IsBeingTeleportedFar()) + GetSession()->HandleMoveWorldportAckOpcode(); + if(FindMap() == oldMap) { sLog.outCrash("Cannot teleport player out of map!"); |