Difference between revisions of "LlDetectedName"

From Second Life Wiki
Jump to navigation Jump to search
(+example)
m
(19 intermediate revisions by 7 users not shown)
Line 1: Line 1:
{{LSL_Function/negative_index|false|number}}{{LSL_Function
{{LSL_Function
|inject-2={{LSL_Function/detected|item|name|error={{LSL Constant/NULL KEY}}}}
|func_id=31|func_sleep=0.0|func_energy=10.0
|func_id=31|func_sleep=0.0|func_energy=10.0
|sort=DetectedName
|sort=DetectedName
|func=llDetectedName|return_type=string|p1_type=integer|p1_name=number
|func=llDetectedName|return_type=string|p1_type=integer|p1_name=item
|func_footnote=Returns an {{HoverText|empty string|""}} if '''number''' is not with in range.
|func_footnote=Returns {{LSL Constant/NULL KEY}} if {{LSLP|item}} is not valid.<br>
If the item detected is an avatar then the {{LSLGC|Avatar/Name|legacy name}} is returned.
|func_desc
|func_desc
|return_text=that is the name of {{LSLGC|Detected|detected}} object or avatar '''number'''
|return_text=that is the name of the {{LSLGC|Detected|detected}} {{LSLP|item}}.
|spec
|spec
|caveats={{HoverText|empty string|&quot;&quot;}} might mean {{HoverText|NULL_KEY|&quot;00000000-0000-0000-0000-000000000000&quot;}} in this case...
|caveats
|constants
|constants
|examples=
|examples=
<div style="margin:0.4em 0em 0.5em 0em;border:1px solid #AAAAAA;line-height:1.1em;font-family: Courier New, Courier, mono;padding-top: 0.5em;padding: 0.5em 0em 0.5em 0.5em;">
<source lang="lsl2">
<div style="color: #A00000;">default</div>
default
}<div>{</div>
{
<div>{{Tab}}<span style="color:steelblue;">touch_start</span>(<span style="color: #007700;">integer</span> num)</div>
    touch_start(integer num_detected)
<div>{{Tab}{</div>
    {
<div>{{Tab|2}}<span style="color: #A00000">llSay</span><span style="color: black">(0,</span><span style="color:#A00000">llDetectedName</span>(0));</div>
        key    id  = llDetectedKey(0);
<div>{{Tab}}}</div>
        string name = llDetectedName(0);// could use llKey2Name(id) here instead
<div>}</div>
 
</div>
//     name is the legacy name, i.e. "John Doe" or if lastname Resident "John Resident"
 
        llSay(PUBLIC_CHANNEL,
            "The avatar with the key'" + (string)id + "' is named '" + name + "'.");
    }
}
</source>
|helpers
|helpers
|also_functions
|also_functions
|also_events
|also_events
|also_articles={{LSL DefineRow||{{LSLGC|Detected}}|}}
|also_articles
|notes
|notes
}}{{LSLC|Detected|name}}
|cat1=Avatar/Name
|cat2=Legacy Name
|cat3
|cat4
}}

Revision as of 00:55, 22 January 2015

Summary

Function: string llDetectedName( integer item );

Returns a string that is the name of the detected item.

• integer item Index of detection information

item does not support negative indexes. Returns NULL_KEY if item is not valid.
If the item detected is an avatar then the legacy name is returned.

Specification

llDetected* functions only work if called from within Detection events (collision, collision_start, collision_end, sensor, touch, touch_start, touch_end) or in functions called by Detection events. They will fail silently and return unusable values if called during other events.

Caveats

  • If item is out of bounds this function returns NULL_KEY and the script continues to execute without an error message.
  • Events that enable the llDetected* functions always return at least one detected item.
    • Detection events are not raised if there is nothing detected.[1]
    • The detection event's items detected parameter is initially never less than 1.[2]
All Issues ~ Search JIRA for related Bugs

Examples

default
{
    touch_start(integer num_detected)
    {
        key    id   = llDetectedKey(0);
        string name = llDetectedName(0);// could use llKey2Name(id) here instead

//      name is the legacy name, i.e. "John Doe" or if lastname Resident "John Resident"

        llSay(PUBLIC_CHANNEL,
            "The avatar with the key'" + (string)id + "' is named '" + name + "'.");
    }
}

See Also

Articles

•  Detected

Deep Notes

Search JIRA for related Issues

Footnotes

  1. ^ The exception is no_sensor but it doesn't enable llDetected* functions.
  2. ^ Like all event parameters, the user can overwrite the initial value.

Signature

function string llDetectedName( integer item );