aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region
diff options
context:
space:
mode:
authorCharles Krinke2008-09-08 02:24:30 +0000
committerCharles Krinke2008-09-08 02:24:30 +0000
commit4822e79759307ac7293df98a19fd9c17def9f371 (patch)
treea05a54c58b08efd3b406d7bdbcf416c85b68fe0f /OpenSim/Region
parentFix dll filenames in test targets. (diff)
downloadopensim-SC-4822e79759307ac7293df98a19fd9c17def9f371.zip
opensim-SC-4822e79759307ac7293df98a19fd9c17def9f371.tar.gz
opensim-SC-4822e79759307ac7293df98a19fd9c17def9f371.tar.bz2
opensim-SC-4822e79759307ac7293df98a19fd9c17def9f371.tar.xz
Implement llEjectFromLand.
Diffstat (limited to '')
-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)