diff options
Diffstat (limited to 'OpenSim/Region/ScriptEngine/Shared')
-rw-r--r-- | OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index 17e3de1..de49d6d 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | |||
@@ -4125,6 +4125,16 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
4125 | } | 4125 | } |
4126 | 4126 | ||
4127 | /// <summary> | 4127 | /// <summary> |
4128 | /// Returns the name of the child prim or seated avatar matching the | ||
4129 | /// specified link number. | ||
4130 | /// </summary> | ||
4131 | /// <param name="linknum"> | ||
4132 | /// The number of a link in the linkset or a link-related constant. | ||
4133 | /// </param> | ||
4134 | /// <returns> | ||
4135 | /// The name determined to match the specified link number. | ||
4136 | /// </returns> | ||
4137 | /// <remarks> | ||
4128 | /// The rules governing the returned name are not simple. The only | 4138 | /// The rules governing the returned name are not simple. The only |
4129 | /// time a blank name is returned is if the target prim has a blank | 4139 | /// time a blank name is returned is if the target prim has a blank |
4130 | /// name. If no prim with the given link number can be found then | 4140 | /// name. If no prim with the given link number can be found then |
@@ -4152,10 +4162,14 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
4152 | /// Mentions NULL_KEY being returned | 4162 | /// Mentions NULL_KEY being returned |
4153 | /// http://wiki.secondlife.com/wiki/LlGetLinkName | 4163 | /// http://wiki.secondlife.com/wiki/LlGetLinkName |
4154 | /// Mentions using the LINK_* constants, some of which are negative | 4164 | /// Mentions using the LINK_* constants, some of which are negative |
4155 | /// </summary> | 4165 | /// </remarks> |
4156 | public LSL_String llGetLinkName(int linknum) | 4166 | public LSL_String llGetLinkName(int linknum) |
4157 | { | 4167 | { |
4158 | m_host.AddScriptLPS(1); | 4168 | m_host.AddScriptLPS(1); |
4169 | // simplest case, this prims link number | ||
4170 | if (linknum == m_host.LinkNum || linknum == ScriptBaseClass.LINK_THIS) | ||
4171 | return m_host.Name; | ||
4172 | |||
4159 | // parse for sitting avatare-names | 4173 | // parse for sitting avatare-names |
4160 | List<String> nametable = new List<String>(); | 4174 | List<String> nametable = new List<String>(); |
4161 | World.ForEachRootScenePresence(delegate(ScenePresence presence) | 4175 | World.ForEachRootScenePresence(delegate(ScenePresence presence) |
@@ -4179,10 +4193,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
4179 | return nametable[totalprims - linknum]; | 4193 | return nametable[totalprims - linknum]; |
4180 | } | 4194 | } |
4181 | 4195 | ||
4182 | // simplest case, this prims link number | ||
4183 | if (m_host.LinkNum == linknum) | ||
4184 | return m_host.Name; | ||
4185 | |||
4186 | // Single prim | 4196 | // Single prim |
4187 | if (m_host.LinkNum == 0) | 4197 | if (m_host.LinkNum == 0) |
4188 | { | 4198 | { |