Skip to content
lsl.devlsl.devLSL Dev

LlDetectedPos

Looking for the current API? Open the llDetectedPos reference →

Function notes

Returns <0.0, 0.0, 0.0> if number is not valid sensed object.

Return value notes

Returns a vector that is the position (in region coordinates) of detected object number.

Examples

// Get position and distance of toucher

default
{
    touch_start(integer total_number)
    {
	// get the position of the avatar touching this prim
	vector pos = llDetectedPos(0);
		
	// compute how far away they are
	float dist = llVecDist(pos, llGetPos() );
		
	llSay(0, "You are " + (string) dist + " metres from me, at coordinates " + (string) pos);
    }
}
// get name and sim position of Avatars within "say" range

default
{
    state_entry()
    {
        llOwnerSay( "Touch me to get the positions of avatars in 'Say' range" );
    }

    touch_start( integer vIntTouchCount )
    {
        // Do a one-off sensor sweep over a 20m radius sphere for avatars
        llSensor( "", "", AGENT, 20, PI );
    }

    sensor( integer vIntFound )
    {
        integer vIntCounter = 0;
        //-- loop through all avatars found
        do
        {
            llOwnerSay( llDetectedName( vIntCounter )
                // get the position of this detected avatar
                + (string) llDetectedPos( vIntCounter ) );
        } while (++vIntCounter < vIntFound); 
    }

    // sensor does not detect owner if it's attached
    no_sensor()
    {
        llOwnerSay( "I couldn't find anybody" );
    }
}

Shared wiki helpers

The original page also injects shared parameter notes, caveats or issue information through these helpers. Their conditional MediaWiki logic is not reproduced here; inspect the preserved helper source for additional material.

Template:LSL Function/detected

Original shared helper source (conditional wiki logic is not evaluated)
{{LSL Injection Test}}{{#if:

{{#vardefine:p_{{{1|none}}}_desc|Index of detection information}}

{{#vardefine:p_{{{1|none}}}_hover|Index of detection information}}

{{LSL_Function/negative_index|false|{{{1|none}}}|oob-return={{{error|}}}}}

{{#vardefine:also_articles|{{#var:also_articles}}
{{LSL DefineRow||{{LSLGC|Detected}}|}}}}

{{#vardefine:spec|{{#if:{{{simple|}}}|{{#var:spec}}|{{#if:{{#var:spec}}|{{#var:spec}}{{PBR}}}}
{{LSLGC|Detected|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.}}}}

{{#if:{{{simple|}}}||{{#vardefine:caveats|{{#var:caveats}}
*Events that enable the {{LSLGC|Detected|llDetected*}} functions always return at least one detected item.
**Detection events are not raised if there is nothing detected.{{Footnote|The exception is [[no_sensor]] but it doesn't enable {{LSLGC|Detected|llDetected*}} functions.|The exception is no_sensor but it doesn't enable llDetected* functions.}}
**The detection event's items detected parameter is initially never less than 1.{{Footnote|Like all event parameters, the user can overwrite the initial value.}}}}}}

<includeonly>
{{#ifeq:{{#var:article-type}}|event||{{#if:{{#pos:{{#var:moded}}|r}}{{#pos:{{#var:moded}}|u}}||{{#vardefine:hidden-text|{{#var:hidden-text}}
{{LSLC|Detected|{{{2}}}|{{#var:lang}}}}
}}}}}}
</includeonly>

}}<includeonly></includeonly><noinclude>
{| {{Prettytable}}
|-{{Hl2}}
! #var
! value
|-
{{VarPair|header_footnote}}
|-
{{VarPair|constants_nb}}
|-
{{VarPairTable|also_articles}}
|-
{{VarPair|p_{{{1|none}}}_desc}}
|-
{{VarPair|p_{{{1|none}}}_hover}}
|-
{{VarPair|spec}}
|-
{{VarPair|caveats}}
|}
</noinclude>
Original wiki source

Some wiki templates and tables need their original context. View this article on the Second Life Wiki. Technical wording and examples are retained from the source; historical guidance may differ from current behavior.