aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs')
-rw-r--r--OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs12
1 files changed, 11 insertions, 1 deletions
diff --git a/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs b/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs
index cef9cbf..c2f8e96 100644
--- a/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs
+++ b/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs
@@ -3028,7 +3028,17 @@ namespace OpenSim.Region.ScriptEngine.Common
3028 public void llTeleportAgentHome(string agent) 3028 public void llTeleportAgentHome(string agent)
3029 { 3029 {
3030 m_host.AddScriptLPS(1); 3030 m_host.AddScriptLPS(1);
3031 NotImplemented("llTeleportAgentHome"); 3031 LLUUID agentId = new LLUUID();
3032 if (LLUUID.TryParse(agent, out agentId))
3033 {
3034 ScenePresence presence = World.GetScenePresence(agentId);
3035 if (presence != null)
3036 {
3037 // agent must be over the owners land
3038 if (m_host.OwnerID == World.GetLandOwner(presence.AbsolutePosition.X, presence.AbsolutePosition.Y))
3039 World.TeleportClientHome(agentId, presence.ControllingClient);
3040 }
3041 }
3032 } 3042 }
3033 3043
3034 public void llModifyLand(int action, int brush) 3044 public void llModifyLand(int action, int brush)