mirror of
https://github.com/mangosfour/server.git
synced 2025-12-13 04:37:00 +00:00
[8805] fix freeze with repeatingly calls at logout + HandleMoveWorldportAckOpcode
starts in WorldSession::logout inside while(isTeleportedFar)... through coord won't get ever valid there - it will call itself all the time
This commit is contained in:
parent
fb6f792cf3
commit
eb94d78761
2 changed files with 6 additions and 1 deletions
|
|
@ -50,6 +50,11 @@ void WorldSession::HandleMoveWorldportAckOpcode()
|
|||
// possible errors in the coordinate validity check
|
||||
if(!MapManager::IsValidMapCoord(loc.mapid, loc.coord_x, loc.coord_y, loc.coord_z, loc.orientation))
|
||||
{
|
||||
sLog.outError("WorldSession::HandleMoveWorldportAckOpcode: player got's teleported far to a not valid location. (map:%u, x:%f, y:%f, z:%f) We log him out and don't save him..", loc.mapid, loc.coord_x, loc.coord_y, loc.coord_z);
|
||||
// stop teleportation else we would try this again in the beginning of WorldSession::LogoutPlayer...
|
||||
GetPlayer()->SetSemaphoreTeleportFar(false);
|
||||
// player don't gets saved - so his coords will stay at the point where
|
||||
// he was last saved
|
||||
LogoutPlayer(false);
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue