Difference between revisions of "LlSensorRemove"

From Second Life Wiki
Jump to navigation Jump to search
m
(Focus example 1 on demonstrating the function in question. Example 2 added nothing to the understanding of llSensorRemove() and is available elsewhere.)
 
(5 intermediate revisions by 3 users not shown)
Line 9: Line 9:
|caveats=*If called within the [[sensor]] event then it also removes all of the sensor data that is accessed by the {{LSLGC|Detected|detection}} functions.  
|caveats=*If called within the [[sensor]] event then it also removes all of the sensor data that is accessed by the {{LSLGC|Detected|detection}} functions.  
|constants
|constants
|examples=<lsl>
|examples=The following basic example shows an object that when touched starts scanning for avatars in 10m every 30 seconds, and stops as soon as at least one is found, and returns their name.
default
<source lang="lsl2">default {
{
     touch_start(integer x) {
     state_entry()
         llSensorRepeat("", NULL_KEY, AGENT, 10.0, PI, 30.0);
    {
         llSensorRepeat("", "", AGENT, 5, PI, 1); //Searches the agent in the range. 5 is the range (in meters).
     }
     }
     sensor(integer num_detected)
    {
     sensor(integer x) {
         llOwnerSay("Detected to: "+llKey2Name(llDetectedKey(0))); //Detects the name of the agent.
         llSay(0, llDetectedName(0) + " was found first!");
         llSensorRemove(); //Removes the sensor.
         llSensorRemove();
        //This does the sensor search for an agent once.
    }
    no_sensor()
    {
        llSensorRepeat("", "", AGENT, 5, PI, 1);
        //If agent is not in range of sensor, this will search the agent again.
     }
     }
}
}
</lsl>
</source>
 
|helpers
|helpers
|also_functions=
|also_functions=
{{LSL DefineRow||[[llSensorRepeat]]|Scans for agents or objects every time period}}
{{LSL DefineRow||[[llSensorRepeat]]|Scans for agents or objects every time period}}
{{LSL DefineRow||[[llSensor]]| Runs a sensor once}}
|also_tests
|also_tests
|also_events=
|also_events=
{{LSL DefineRow||[[sensor]]|}}
{{LSL DefineRow||[[sensor]]|Triggered when a sensor detects something}}
{{LSL DefineRow||[[no_sensor]]|Triggered when a sensor detects nothing}}
|also_articles
|also_articles
|notes
|notes
|cat1=Sensor
|cat1=Sensor
|haiku={{Haiku|Call off the hounds.|The quarry has escaped us.|Back to the stables.}}
|cat2
|cat2
|cat3
|cat3
|cat4
|cat4
}}
}}

Latest revision as of 12:19, 17 January 2016

Summary

Function: llSensorRemove( );
0.0 Forced Delay
10.0 Energy

Removes the sensor setup by llSensorRepeat.

There are no parameters or return value for this function, as only one llSensorRepeat can be specified per script.

Caveats

  • If called within the sensor event then it also removes all of the sensor data that is accessed by the detection functions.

Examples

The following basic example shows an object that when touched starts scanning for avatars in 10m every 30 seconds, and stops as soon as at least one is found, and returns their name.

default {
    touch_start(integer x) {
        llSensorRepeat("", NULL_KEY, AGENT, 10.0, PI, 30.0);
    }
 
    sensor(integer x) {
        llSay(0, llDetectedName(0) + " was found first!");
        llSensorRemove();
    }
}

See Also

Events

•  sensor Triggered when a sensor detects something
•  no_sensor Triggered when a sensor detects nothing

Functions

•  llSensorRepeat Scans for agents or objects every time period
•  llSensor Runs a sensor once

Deep Notes

Signature

function void llSensorRemove();

Haiku

Call off the hounds.
The quarry has escaped us.
Back to the stables.