aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs13
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs13
2 files changed, 24 insertions, 2 deletions
diff --git a/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs b/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs
index b2334be..ebf2a15 100644
--- a/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs
+++ b/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs
@@ -4507,7 +4507,18 @@ namespace OpenSim.Region.ScriptEngine.Common
4507 public void llEjectFromLand(string pest) 4507 public void llEjectFromLand(string pest)
4508 { 4508 {
4509 m_host.AddScriptLPS(1); 4509 m_host.AddScriptLPS(1);
4510 NotImplemented("llEjectFromLand"); 4510 UUID agentId = new UUID();
4511 if (UUID.TryParse(pest, out agentId))
4512 {
4513 ScenePresence presence = World.GetScenePresence(agentId);
4514 if (presence != null)
4515 {
4516 // agent must be over the owners land
4517 if (m_host.OwnerID == World.GetLandOwner(presence.AbsolutePosition.X, presence.AbsolutePosition.Y))
4518 World.TeleportClientHome(agentId, presence.ControllingClient);
4519 }
4520 }
4521 // ScriptSleep(5000);
4511 } 4522 }
4512 4523
4513 public LSL_Types.list llParseString2List(string str, LSL_Types.list separators, LSL_Types.list spacers) 4524 public LSL_Types.list llParseString2List(string str, LSL_Types.list separators, LSL_Types.list spacers)
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
index 1cde8d2..20dc46e 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
@@ -4408,7 +4408,18 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
4408 public void llEjectFromLand(string pest) 4408 public void llEjectFromLand(string pest)
4409 { 4409 {
4410 m_host.AddScriptLPS(1); 4410 m_host.AddScriptLPS(1);
4411 NotImplemented("llEjectFromLand"); 4411 UUID agentId = new UUID();
4412 if (UUID.TryParse(pest, out agentId))
4413 {
4414 ScenePresence presence = World.GetScenePresence(agentId);
4415 if (presence != null)
4416 {
4417 // agent must be over the owners land
4418 if (m_host.OwnerID == World.GetLandOwner(presence.AbsolutePosition.X, presence.AbsolutePosition.Y))
4419 World.TeleportClientHome(agentId, presence.ControllingClient);
4420 }
4421 }
4422 // ScriptSleep(5000);
4412 } 4423 }
4413 4424
4414 public LSL_Types.list llParseString2List(string str, LSL_Types.list separators, LSL_Types.list spacers) 4425 public LSL_Types.list llParseString2List(string str, LSL_Types.list separators, LSL_Types.list spacers)