aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Environment
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Environment')
-rw-r--r--OpenSim/Region/Environment/EstateManager.cs25
1 files changed, 25 insertions, 0 deletions
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
221 SetRegionDebug(remote_client, packet); 221 SetRegionDebug(remote_client, packet);
222 } 222 }
223 break; 223 break;
224 case "teleporthomeuser":
225 if (m_scene.PermissionsMngr.GenericEstatePermission(remote_client.AgentId))
226 {
227 TeleportOneUserHome(remote_client,packet);
228 }
229 break;
224 default: 230 default:
225 m_log.Error("EstateOwnerMessage: Unknown method requested\n" + packet.ToString()); 231 m_log.Error("EstateOwnerMessage: Unknown method requested\n" + packet.ToString());
226 break; 232 break;
227 } 233 }
234
235
236 }
237
238 private void TeleportOneUserHome(object remove_client,EstateOwnerMessagePacket packet)
239 {
240 LLUUID invoice = packet.MethodData.Invoice;
241 LLUUID SenderID = packet.AgentData.AgentID;
242 LLUUID Prey = LLUUID.Zero;
243
244 Helpers.TryParse(Helpers.FieldToUTF8String(packet.ParamList[1].Parameter),out Prey);
245 if (Prey != LLUUID.Zero)
246 {
247 ScenePresence s = m_scene.GetScenePresence(Prey);
248 if (s != null)
249 {
250 m_scene.TeleportClientHome(Prey, s.ControllingClient);
251 }
252 }
228 } 253 }
229 254
230 private void SetRegionDebug(IClientAPI remote_client, EstateOwnerMessagePacket packet) 255 private void SetRegionDebug(IClientAPI remote_client, EstateOwnerMessagePacket packet)