fix the block of teleport to same region handle
parent
730a35eedc
commit
0cf3ec553a
|
@ -559,22 +559,13 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
|
||||||
|
|
||||||
if (finalDestination == null)
|
if (finalDestination == null)
|
||||||
{
|
{
|
||||||
m_log.WarnFormat( "{0} Final destination is having problems. Unable to teleport {1} {2}: {3}",
|
m_log.WarnFormat( "{0} Unable to teleport {1} {2}: {3}",
|
||||||
LogHeader, sp.Name, sp.UUID, reason);
|
LogHeader, sp.Name, sp.UUID, reason);
|
||||||
|
|
||||||
sp.ControllingClient.SendTeleportFailed(reason);
|
sp.ControllingClient.SendTeleportFailed(reason);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check that these are not the same coordinates
|
|
||||||
if (finalDestination.RegionLocX == sp.Scene.RegionInfo.RegionLocX &&
|
|
||||||
finalDestination.RegionLocY == sp.Scene.RegionInfo.RegionLocY)
|
|
||||||
{
|
|
||||||
// Can't do. Viewer crashes
|
|
||||||
sp.ControllingClient.SendTeleportFailed("Space warp! You would crash. Move to a different region and try again.");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!ValidateGenericConditions(sp, reg, finalDestination, teleportFlags, out reason))
|
if (!ValidateGenericConditions(sp, reg, finalDestination, teleportFlags, out reason))
|
||||||
{
|
{
|
||||||
sp.ControllingClient.SendTeleportFailed(reason);
|
sp.ControllingClient.SendTeleportFailed(reason);
|
||||||
|
@ -691,6 +682,12 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
|
||||||
|
|
||||||
ulong destinationHandle = finalDestination.RegionHandle;
|
ulong destinationHandle = finalDestination.RegionHandle;
|
||||||
|
|
||||||
|
if(destinationHandle == sourceRegion.RegionHandle)
|
||||||
|
{
|
||||||
|
sp.ControllingClient.SendTeleportFailed("Can't teleport to a region on same map position. Try going other region first, then retry");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// Let's do DNS resolution only once in this process, please!
|
// Let's do DNS resolution only once in this process, please!
|
||||||
// This may be a costly operation. The reg.ExternalEndPoint field is not a passive field,
|
// This may be a costly operation. The reg.ExternalEndPoint field is not a passive field,
|
||||||
// it's actually doing a lot of work.
|
// it's actually doing a lot of work.
|
||||||
|
|
Loading…
Reference in New Issue