浏览代码

fix llGetLinkKey to support LINK_* constants

UbitUmarov 3 年之前
父节点
当前提交
3d5d4333dd
共有 1 个文件被更改,包括 9 次插入0 次删除
  1. 9 0
      OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs

+ 9 - 0
OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs

@@ -4704,6 +4704,15 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
         public LSL_Key llGetLinkKey(int linknum)
         {
             m_host.AddScriptLPS(1);
+            if(linknum < 0)
+            {
+                if (linknum == ScriptBaseClass.LINK_ROOT)
+                    return m_host.ParentGroup.RootPart.UUID.ToString();
+                if (linknum == ScriptBaseClass.LINK_THIS)
+                    return m_host.UUID.ToString();
+                return ScriptBaseClass.NULL_KEY;
+            }
+
             SceneObjectPart part = m_host.ParentGroup.GetLinkNumPart(linknum);
             if (part != null)
             {