diff options
Diffstat (limited to 'OpenSim/Region/ScriptEngine')
-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 ac74bf8..cf801ba 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | |||
@@ -3773,6 +3773,16 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3773 | } | 3773 | } |
3774 | 3774 | ||
3775 | /// <summary> | 3775 | /// <summary> |
3776 | /// Returns the name of the child prim or seated avatar matching the | ||
3777 | /// specified link number. | ||
3778 | /// </summary> | ||
3779 | /// <param name="linknum"> | ||
3780 | /// The number of a link in the linkset or a link-related constant. | ||
3781 | /// </param> | ||
3782 | /// <returns> | ||
3783 | /// The name determined to match the specified link number. | ||
3784 | /// </returns> | ||
3785 | /// <remarks> | ||
3776 | /// The rules governing the returned name are not simple. The only | 3786 | /// The rules governing the returned name are not simple. The only |
3777 | /// time a blank name is returned is if the target prim has a blank | 3787 | /// time a blank name is returned is if the target prim has a blank |
3778 | /// name. If no prim with the given link number can be found then | 3788 | /// name. If no prim with the given link number can be found then |
@@ -3800,10 +3810,14 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3800 | /// Mentions NULL_KEY being returned | 3810 | /// Mentions NULL_KEY being returned |
3801 | /// http://wiki.secondlife.com/wiki/LlGetLinkName | 3811 | /// http://wiki.secondlife.com/wiki/LlGetLinkName |
3802 | /// Mentions using the LINK_* constants, some of which are negative | 3812 | /// Mentions using the LINK_* constants, some of which are negative |
3803 | /// </summary> | 3813 | /// </remarks> |
3804 | public LSL_String llGetLinkName(int linknum) | 3814 | public LSL_String llGetLinkName(int linknum) |
3805 | { | 3815 | { |
3806 | m_host.AddScriptLPS(1); | 3816 | m_host.AddScriptLPS(1); |
3817 | // simplest case, this prims link number | ||
3818 | if (linknum == m_host.LinkNum || linknum == ScriptBaseClass.LINK_THIS) | ||
3819 | return m_host.Name; | ||
3820 | |||
3807 | // parse for sitting avatare-names | 3821 | // parse for sitting avatare-names |
3808 | List<String> nametable = new List<String>(); | 3822 | List<String> nametable = new List<String>(); |
3809 | World.ForEachRootScenePresence(delegate(ScenePresence presence) | 3823 | World.ForEachRootScenePresence(delegate(ScenePresence presence) |
@@ -3827,10 +3841,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3827 | return nametable[totalprims - linknum]; | 3841 | return nametable[totalprims - linknum]; |
3828 | } | 3842 | } |
3829 | 3843 | ||
3830 | // simplest case, this prims link number | ||
3831 | if (m_host.LinkNum == linknum) | ||
3832 | return m_host.Name; | ||
3833 | |||
3834 | // Single prim | 3844 | // Single prim |
3835 | if (m_host.LinkNum == 0) | 3845 | if (m_host.LinkNum == 0) |
3836 | { | 3846 | { |