diff options
Diffstat (limited to 'OpenSim/Region/ScriptEngine')
3 files changed, 33 insertions, 0 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index 85837e4..ced81ad 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | |||
@@ -7022,6 +7022,33 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
7022 | return m_host.ParentGroup.AttachmentPoint; | 7022 | return m_host.ParentGroup.AttachmentPoint; |
7023 | } | 7023 | } |
7024 | 7024 | ||
7025 | public LSL_List llGetAttachedList(string id) | ||
7026 | { | ||
7027 | m_host.AddScriptLPS(1); | ||
7028 | |||
7029 | ScenePresence av = World.GetScenePresence((UUID)id); | ||
7030 | |||
7031 | if (av == null || av.IsDeleted) | ||
7032 | return new LSL_List("NOT_FOUND"); | ||
7033 | |||
7034 | if (av.IsChildAgent || av.IsInTransit) | ||
7035 | return new LSL_List("NOT_ON_REGION"); | ||
7036 | |||
7037 | LSL_List AttachmentsList = new LSL_List(); | ||
7038 | List<SceneObjectGroup> Attachments; | ||
7039 | |||
7040 | Attachments = av.GetAttachments(); | ||
7041 | |||
7042 | foreach (SceneObjectGroup Attachment in Attachments) | ||
7043 | { | ||
7044 | if(Attachment.HasPrivateAttachmentPoint) | ||
7045 | continue; | ||
7046 | AttachmentsList.Add(new LSL_Key(Attachment.UUID.ToString())); | ||
7047 | } | ||
7048 | |||
7049 | return AttachmentsList; | ||
7050 | } | ||
7051 | |||
7025 | public virtual LSL_Integer llGetFreeMemory() | 7052 | public virtual LSL_Integer llGetFreeMemory() |
7026 | { | 7053 | { |
7027 | m_host.AddScriptLPS(1); | 7054 | m_host.AddScriptLPS(1); |
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Interface/ILSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Interface/ILSL_Api.cs index 8b8638c..3d1482d 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Interface/ILSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Interface/ILSL_Api.cs | |||
@@ -116,6 +116,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Interfaces | |||
116 | LSL_String llGetAnimation(string id); | 116 | LSL_String llGetAnimation(string id); |
117 | LSL_List llGetAnimationList(string id); | 117 | LSL_List llGetAnimationList(string id); |
118 | LSL_Integer llGetAttached(); | 118 | LSL_Integer llGetAttached(); |
119 | LSL_List llGetAttachedList(string id); | ||
119 | LSL_List llGetBoundingBox(string obj); | 120 | LSL_List llGetBoundingBox(string obj); |
120 | LSL_Vector llGetCameraPos(); | 121 | LSL_Vector llGetCameraPos(); |
121 | LSL_Rotation llGetCameraRot(); | 122 | LSL_Rotation llGetCameraRot(); |
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Stub.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Stub.cs index cea66d2..2769712 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Stub.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Stub.cs | |||
@@ -426,6 +426,11 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase | |||
426 | return m_LSL_Functions.llGetAttached(); | 426 | return m_LSL_Functions.llGetAttached(); |
427 | } | 427 | } |
428 | 428 | ||
429 | public LSL_List llGetAttachedList(string id) | ||
430 | { | ||
431 | return m_LSL_Functions.llGetAttachedList(id); | ||
432 | } | ||
433 | |||
429 | public LSL_List llGetBoundingBox(string obj) | 434 | public LSL_List llGetBoundingBox(string obj) |
430 | { | 435 | { |
431 | return m_LSL_Functions.llGetBoundingBox(obj); | 436 | return m_LSL_Functions.llGetBoundingBox(obj); |