From 4ee368785db1d278c1bd664b4fcad2dd4c192ffd Mon Sep 17 00:00:00 2001 From: Teravus Ovares Date: Thu, 17 Apr 2008 15:58:50 +0000 Subject: * Acks the first UseCircuitCode packet * Implements Teleport One Agent Home --- OpenSim/Region/Environment/EstateManager.cs | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'OpenSim/Region/Environment/EstateManager.cs') diff --git a/OpenSim/Region/Environment/EstateManager.cs b/OpenSim/Region/Environment/EstateManager.cs index ec556a6..ba4f0c6 100644 --- a/OpenSim/Region/Environment/EstateManager.cs +++ b/OpenSim/Region/Environment/EstateManager.cs @@ -221,10 +221,35 @@ namespace OpenSim.Region.Environment SetRegionDebug(remote_client, packet); } break; + case "teleporthomeuser": + if (m_scene.PermissionsMngr.GenericEstatePermission(remote_client.AgentId)) + { + TeleportOneUserHome(remote_client,packet); + } + break; default: m_log.Error("EstateOwnerMessage: Unknown method requested\n" + packet.ToString()); break; } + + + } + + private void TeleportOneUserHome(object remove_client,EstateOwnerMessagePacket packet) + { + LLUUID invoice = packet.MethodData.Invoice; + LLUUID SenderID = packet.AgentData.AgentID; + LLUUID Prey = LLUUID.Zero; + + Helpers.TryParse(Helpers.FieldToUTF8String(packet.ParamList[1].Parameter),out Prey); + if (Prey != LLUUID.Zero) + { + ScenePresence s = m_scene.GetScenePresence(Prey); + if (s != null) + { + m_scene.TeleportClientHome(Prey, s.ControllingClient); + } + } } private void SetRegionDebug(IClientAPI remote_client, EstateOwnerMessagePacket packet) -- cgit v1.1