Difference between revisions of "LlListenRemove"

From Second Life Wiki
Jump to navigation Jump to search
(Better variable name. Improve comments)
m (<lsl> tag to <source>)
(3 intermediate revisions by 3 users not shown)
Line 2: Line 2:
|inject-2={{LSL Function/handle|handle|listen}}
|inject-2={{LSL Function/handle|handle|listen}}
|func_id=27|func_sleep=0.0|func_energy=10.0
|func_id=27|func_sleep=0.0|func_energy=10.0
|func=llListenRemove|p1_type=integer|p1_name=handle
|func=llListenRemove
|p1_type=integer|p1_subtype=handle|p1_name=handle
|func_footnote
|func_footnote
|func_desc=Removes listen event callback {{LSLP|handle}}
|func_desc=Removes listen event callback {{LSLP|handle}}
Line 11: 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=<source 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 26: Line 27:
         llListenRemove(ListenHandle);  // Stop listening
         llListenRemove(ListenHandle);  // Stop listening
     }
     }
}</lsl>
}</source>
|helpers
|helpers
|also_functions={{LSL DefineRow||[[llListen]]}}
|also_functions={{LSL DefineRow||[[llListen]]}}

Revision as of 12:13, 22 January 2015

Summary

Function: llListenRemove( integer handle );

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.
All Issues ~ Search JIRA for related Bugs

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

Search JIRA for related Issues

Signature

function void llListenRemove( integer handle );