aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ScriptEngine
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/ScriptEngine')
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs20
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 {