diff options
author | Charles Krinke | 2008-09-08 02:24:30 +0000 |
---|---|---|
committer | Charles Krinke | 2008-09-08 02:24:30 +0000 |
commit | 4822e79759307ac7293df98a19fd9c17def9f371 (patch) | |
tree | a05a54c58b08efd3b406d7bdbcf416c85b68fe0f | |
parent | Fix dll filenames in test targets. (diff) | |
download | opensim-SC-4822e79759307ac7293df98a19fd9c17def9f371.zip opensim-SC-4822e79759307ac7293df98a19fd9c17def9f371.tar.gz opensim-SC-4822e79759307ac7293df98a19fd9c17def9f371.tar.bz2 opensim-SC-4822e79759307ac7293df98a19fd9c17def9f371.tar.xz |
Implement llEjectFromLand.
-rw-r--r-- | OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs | 13 | ||||
-rw-r--r-- | OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | 13 |
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) |