Thanks BlueWall for a patch that adds Hypergrid dynamic linking to osTeleportAgent. Fixes mantis #3408.
parent
e7d4ea134e
commit
75873b6253
|
@ -38,6 +38,7 @@ using OpenSim.Framework;
|
|||
using OpenSim.Framework.Console;
|
||||
using OpenSim.Region.Framework.Interfaces;
|
||||
using OpenSim.Region.Framework.Scenes;
|
||||
using OpenSim.Region.Framework.Scenes.Hypergrid;
|
||||
using OpenSim.Region.ScriptEngine.Shared;
|
||||
using OpenSim.Region.ScriptEngine.Shared.Api.Plugins;
|
||||
using OpenSim.Region.ScriptEngine.Shared.ScriptBase;
|
||||
|
@ -506,6 +507,25 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
|||
== World.LandChannel.GetLandObject(
|
||||
presence.AbsolutePosition.X, presence.AbsolutePosition.Y).landData.OwnerID)
|
||||
{
|
||||
|
||||
// Check for hostname , attempt to make a hglink
|
||||
// and convert the regionName to the target region
|
||||
if ( regionName.Contains(".") && regionName.Contains(":"))
|
||||
{
|
||||
// Try to link the region
|
||||
RegionInfo regInfo = HGHyperlink.TryLinkRegion(World,
|
||||
presence.ControllingClient,
|
||||
regionName);
|
||||
// Get the region name
|
||||
if (regInfo != null)
|
||||
{
|
||||
regionName = regInfo.RegionName;
|
||||
}
|
||||
else
|
||||
{
|
||||
// Might need to ping the client here in case of failure??
|
||||
}
|
||||
}
|
||||
presence.ControllingClient.SendTeleportLocationStart();
|
||||
World.RequestTeleportLocation(presence.ControllingClient, regionName,
|
||||
new Vector3((float)position.x, (float)position.y, (float)position.z),
|
||||
|
|
|
@ -707,6 +707,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Instance
|
|||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
m_log.DebugFormat("[Script] Exception: {0}", e.Message);
|
||||
m_InEvent = false;
|
||||
m_CurrentEvent = String.Empty;
|
||||
|
||||
|
|
Loading…
Reference in New Issue