Difference between revisions of "LlDetectedLinkNumber"

From Second Life Wiki
Jump to navigation Jump to search
m
m (link category here we come)
(One intermediate revision by one other user not shown)
Line 4: Line 4:
|func=llDetectedLinkNumber
|func=llDetectedLinkNumber
|return_type=integer
|return_type=integer
|return_subtype=link
|return_subtype_disp=link_number
|Return_text=of the triggered event. If not supported by the event, returns zero.
|p1_type=integer|p1_name=number
|p1_type=integer|p1_name=number
|func_footnote=For {{LSLGC|Touch|touch}} and {{LSLGC|Collision|collision}} categories of events only.
|func_footnote=For {{LSLGC|Touch|touch}} and {{LSLGC|Collision|collision}} categories of events only.
|func_desc
|func_desc
|Return_text=link number of the triggered event. If not supported by the event, returns zero.
|spec
|spec
|caveats
|caveats
Line 15: Line 17:
default
default
{
{
// Drop this script into the root prim of of a build
// Touch any prim to learn its link number
     touch_start(integer num_detected)
     touch_start(integer num_detected)
     {
     {
         integer i;
         llOwnerSay("Link number clicked: " + (string)llDetectedLinkNumber(0) );      
        for(i=0; i<num_detected; ++i) {
            llOwnerSay("Link number clicked: " + (string)llDetectedLinkNumber(i));
        }
     }
     }
}
}

Revision as of 00:57, 27 December 2013

Summary

Function: integer llDetectedLinkNumber( integer number );

Returns the link_number (an integer) of the triggered event. If not supported by the event, returns zero.

• integer number Index of detection information

number does not support negative indexes. For touch and collision categories of events only.

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

  • llDetectedLinkNumber will return 0 in collision_start and collision_end events of VolumeDetect objects (SVC-2996).
  • If number is out of bounds this function returns 0 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

<lsl> default { // Drop this script into the root prim of of a build // Touch any prim to learn its link number

   touch_start(integer num_detected)
   {
       llOwnerSay("Link number clicked: " + (string)llDetectedLinkNumber(0) );       
   }

}

</lsl>

See Also

Events

•  touch_start
•  touch
•  touch_end
•  collision_start
•  collision
•  collision_end

Functions

•  llDetectedTouchFace

Articles

•  Detected

Deep Notes

All Issues

~ Search JIRA for related Issues
   llDetectedLinkNumber returns 0 with llVolumeDetect(TRUE)

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 integer llDetectedLinkNumber( integer number );