LlDetectedRot
Looking for the current API? Open the llDetectedRot reference →
Function notes
Returns <0.0, 0.0, 0.0, 1.0> if
number is not valid sensed object.Examples
//--// get compass facing of Avatar that touches this object //--//
//-- list of compass directions starting at East, rotated clockwise
list gLstCompassPoints = [ "East", "NorthEast", "North", "NorthWest", "West", "SouthWest", "South", "SouthEast" ];
//-- convert rotation to z-axis compass direction
string CompassDirection( rotation rRotBase )
{
integer iCountCompassPoints = llGetListLength(gLstCompassPoints);
//-- convert rotation to a direction
vector vDirection = <0.0, 1.0, 0.0> / rRotBase;
//-- take the direction and determine the z rotation
float fAngle = llAtan2(vDirection.x, vDirection.y);
//-- take the angle and find the compass point
integer iCompassPoint = llRound(fAngle * iCountCompassPoints / TWO_PI);
//-- convert to string
return llList2String( gLstCompassPoints, iCompassPoint );
}
default{
state_entry()
{
llSay( 0, "Touch me to get your compass facing" );
}
touch_start( integer vIntTouchCount )
{
integer vIntCounter = 0;
do
{
llSay( 0,
llDetectedName( vIntCounter )
+ " is facing "
//-- next line gets avatar rotation and converts to compass direction
+ CompassDirection( llDetectedRot( vIntCounter ) ) );
} while ( ++vIntCounter < vIntTouchCount );
}
}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.