mirror of
https://github.com/mangosfour/server.git
synced 2025-12-15 19:37:02 +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
|
// possible errors in the coordinate validity check
|
||||||
if(!MapManager::IsValidMapCoord(loc.mapid, loc.coord_x, loc.coord_y, loc.coord_z, loc.orientation))
|
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);
|
LogoutPlayer(false);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
#ifndef __REVISION_NR_H__
|
#ifndef __REVISION_NR_H__
|
||||||
#define __REVISION_NR_H__
|
#define __REVISION_NR_H__
|
||||||
#define REVISION_NR "8804"
|
#define REVISION_NR "8805"
|
||||||
#endif // __REVISION_NR_H__
|
#endif // __REVISION_NR_H__
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue