diff options
Diffstat (limited to 'OpenSim/Region/ScriptEngine/Shared')
-rw-r--r-- | OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | 23 |
1 files changed, 5 insertions, 18 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index c7a7581..a747586 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | |||
@@ -5085,30 +5085,17 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
5085 | 5085 | ||
5086 | public void llSetPrimitiveParams(LSL_Types.list rules) | 5086 | public void llSetPrimitiveParams(LSL_Types.list rules) |
5087 | { | 5087 | { |
5088 | llSetLinkPrimitiveParams(m_host.LinkNum+1, rules); | 5088 | llSetLinkPrimitiveParams(m_host.LinkNum, rules); |
5089 | } | 5089 | } |
5090 | 5090 | ||
5091 | public void llSetLinkPrimitiveParams(int linknumber, LSL_Types.list rules) | 5091 | public void llSetLinkPrimitiveParams(int linknumber, LSL_Types.list rules) |
5092 | { | 5092 | { |
5093 | m_host.AddScriptLPS(1); | 5093 | m_host.AddScriptLPS(1); |
5094 | |||
5095 | if(m_host.ParentGroup == null) | ||
5096 | return; | ||
5094 | 5097 | ||
5095 | SceneObjectPart part=null; | 5098 | SceneObjectPart part = m_host.ParentGroup.GetLinkNumPart(linknumber); |
5096 | |||
5097 | if (m_host.LinkNum+1 != linknumber) | ||
5098 | { | ||
5099 | foreach (SceneObjectPart partInst in m_host.ParentGroup.GetParts()) | ||
5100 | { | ||
5101 | if ((partInst.LinkNum) == linknumber) | ||
5102 | { | ||
5103 | part = partInst; | ||
5104 | break; | ||
5105 | } | ||
5106 | } | ||
5107 | } | ||
5108 | else | ||
5109 | { | ||
5110 | part = m_host; | ||
5111 | } | ||
5112 | 5099 | ||
5113 | if (part == null) | 5100 | if (part == null) |
5114 | return; | 5101 | return; |