Implementation of new LSL function: list llGetAttachedList(key avatar); It also returns HUDs' keys.

Signed-off-by: Mandarinka Tasty <mandarinka.tasty@gmail.com>
Signed-off-by: UbitUmarov <ajlduarte@sapo.pt>
This commit is contained in:
Mandarinka Tasty
2016-11-04 06:24:56 +01:00
committed by UbitUmarov
parent d2e380e81e
commit b0f87fba1c
3 changed files with 32 additions and 0 deletions

View File

@@ -7022,6 +7022,32 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
return m_host.ParentGroup.AttachmentPoint;
}
public LSL_List llGetAttachedList(string id)
{
m_host.AddScriptLPS(1);
LSL_List AttachmentsList = new LSL_List();
ScenePresence av = World.GetScenePresence((UUID)id);
string NOT_FOUND = "NOT_FOUND";
string NOT_ON_REGION = "NOT ON REGION";
if (av == null)
return new LSL_List(NOT_FOUND);
if (av.IsChildAgent)
return new LSL_List(NOT_ON_REGION);
List<SceneObjectGroup> AttachmentsKeys;
AttachmentsKeys = av.GetAttachments();
foreach (SceneObjectGroup AttachmentKey in AttachmentsKeys)
AttachmentsList.Add(new LSL_Key(AttachmentKey.FromItemID.ToString()));
return AttachmentsList;
}
public virtual LSL_Integer llGetFreeMemory()
{
m_host.AddScriptLPS(1);