diff options
-rw-r--r-- | OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs index 5dbe5e4..36e9da6 100644 --- a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs +++ b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs | |||
@@ -230,6 +230,13 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
230 | "[ENTITY TRANSFER MODULE]: Teleport for {0} to {1} within {2}", | 230 | "[ENTITY TRANSFER MODULE]: Teleport for {0} to {1} within {2}", |
231 | sp.Name, position, sp.Scene.RegionInfo.RegionName); | 231 | sp.Name, position, sp.Scene.RegionInfo.RegionName); |
232 | 232 | ||
233 | if (!SetInTransit(sp.UUID)) | ||
234 | { | ||
235 | m_log.DebugFormat( | ||
236 | "[ENTITY TRANSFER MODULE]: Ignoring within region teleport request of {0} {1} to {2} - agent is already in transit.", | ||
237 | sp.Name, sp.UUID, position); | ||
238 | } | ||
239 | |||
233 | // Teleport within the same region | 240 | // Teleport within the same region |
234 | if (IsOutsideRegion(sp.Scene, position) || position.Z < 0) | 241 | if (IsOutsideRegion(sp.Scene, position) || position.Z < 0) |
235 | { | 242 | { |
@@ -268,6 +275,8 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
268 | { | 275 | { |
269 | sp.Scene.EventManager.TriggerOnScriptChangedEvent(grp.LocalId, (uint)Changed.TELEPORT); | 276 | sp.Scene.EventManager.TriggerOnScriptChangedEvent(grp.LocalId, (uint)Changed.TELEPORT); |
270 | } | 277 | } |
278 | |||
279 | ResetFromTransit(sp.UUID); | ||
271 | } | 280 | } |
272 | 281 | ||
273 | /// <summary> | 282 | /// <summary> |