Difference between revisions of "LlListenRemove"

From Second Life Wiki
Jump to navigation Jump to search
(Undo revision 1189390 by Rolig Loon (Talk))
m (Whoops, forgot an equal sign, put an extra '|', and placed the haiku line where usually the templates have it!)
 
(3 intermediate revisions by 2 users not shown)
Line 12: Line 12:
*No error is thrown if {{LSLP|handle}} has already been released or is invalid.
*No error is thrown if {{LSLP|handle}} has already been released or is invalid.
|constants
|constants
|examples=<lsl>
|examples=<syntaxhighlight lang="lsl2">
// Listen for one line of chat from the owner, echo it back to them, then stop listening
// Listen for one line of chat from the owner, echo it back to them, then stop listening
integer ListenHandle;
integer ListenHandle;
Line 27: Line 27:
         llListenRemove(ListenHandle);  // Stop listening
         llListenRemove(ListenHandle);  // Stop listening
     }
     }
}</lsl>
}</syntaxhighlight>
|helpers
|helpers
|also_functions={{LSL DefineRow||[[llListen]]}}
|also_functions={{LSL DefineRow||[[llListen]]}}
Line 38: Line 38:
|negative_index
|negative_index
|sort=ListenRemove
|sort=ListenRemove
|haiku={{Haiku|Wee break of the day|A good listener removed|out of primitive}}
|cat1=Communications
|cat1=Communications
|cat2=Chat
|cat2=Chat

Latest revision as of 04:39, 23 April 2022

Summary

Function: llListenRemove( integer handle );
0.0 Forced Delay
10.0 Energy

Removes listen event callback handle

• integer handle handle to control listen event

Caveats

  • On state change or script reset all listens are removed automatically.
    • A state change can be used as a shortcut to releasing all listens in the script.
  • No error is thrown if handle has already been released or is invalid.

Examples

// Listen for one line of chat from the owner, echo it back to them, then stop listening
integer ListenHandle;
default
{
    state_entry()
    {
        // Start listening on channel 0, for text from owner only
        ListenHandle = llListen(0, "", llGetOwner(), "");
    }
    listen(integer channel, string name, key id, string message)
    {
        llOwnerSay(message);            // Echo the message back to the owner
        llListenRemove(ListenHandle);   // Stop listening
    }
}

Notes

  • It is good practice to remove listeners when they are no longer required, or set them inactive via llListenControl

See Also

Events

• listen

Functions

•  llListen
•  llListenControl

Deep Notes

Signature

function void llListenRemove( integer handle );

Haiku

Wee break of the day
A good listener removed
out of primitive