Add missing TeleportStart packets to llTeleportAgentHome and osTeleportAgent.

As those aren't viewer-initiated TPs, the viewer has to be informed.
This should fix Mantis #2351 and #2397.
0.6.0-stable
Homer Horwitz 2008-11-06 20:38:34 +00:00
parent 9770cf778e
commit 1df67a37dc
2 changed files with 4 additions and 0 deletions

View File

@ -3444,9 +3444,12 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
{ {
// agent must be over the owners land // agent must be over the owners land
if (m_host.OwnerID == World.GetLandOwner(presence.AbsolutePosition.X, presence.AbsolutePosition.Y)) if (m_host.OwnerID == World.GetLandOwner(presence.AbsolutePosition.X, presence.AbsolutePosition.Y))
{
presence.ControllingClient.SendTeleportLocationStart();
World.TeleportClientHome(agentId, presence.ControllingClient); World.TeleportClientHome(agentId, presence.ControllingClient);
} }
} }
}
// ScriptSleep(5000); // ScriptSleep(5000);
} }

View File

@ -479,6 +479,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
// agent must be over owners land to avoid abuse // agent must be over owners land to avoid abuse
if (m_host.OwnerID == World.GetLandOwner(presence.AbsolutePosition.X, presence.AbsolutePosition.Y)) if (m_host.OwnerID == World.GetLandOwner(presence.AbsolutePosition.X, presence.AbsolutePosition.Y))
{ {
presence.ControllingClient.SendTeleportLocationStart();
World.RequestTeleportLocation(presence.ControllingClient, regionName, World.RequestTeleportLocation(presence.ControllingClient, regionName,
new Vector3((float)position.x, (float)position.y, (float)position.z), new Vector3((float)position.x, (float)position.y, (float)position.z),
new Vector3((float)lookat.x, (float)lookat.y, (float)lookat.z), (uint)TPFlags.ViaLocation); new Vector3((float)lookat.x, (float)lookat.y, (float)lookat.z), (uint)TPFlags.ViaLocation);