Difference between revisions of "LlListenControl"

From Second Life Wiki
Jump to navigation Jump to search
m
m (Replaced <source> with <syntaxhighlight>)
 
(6 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{LSL_Function
{{LSL_Function
|inject-2={{LSL Function/handle|handle|listen|control=*}}
|inject-2={{LSL Function/handle|handle|listen|control=*}}
{{LSL Function/boolean|active|td=activates|fd=deactivates}}
{{LSL Function/boolean|active|td=activates|fd=deactivates|default=true}}
|func_id=26|func_sleep=0.0|func_energy=10.0
|func_id=26|func_sleep=0.0|func_energy=10.0
|func=llListenControl
|func=llListenControl
|p1_type=integer|p1_name=handle
|p1_type=integer|p1_subtype=handle|p1_name=handle
|p2_type=integer|p2_name=active
|p2_type=integer|p2_subtype=boolean|p2_name=active
|func_footnote
|func_footnote
|func_desc=Makes listen event callback {{LSLP|handle}} active or inactive
|func_desc=Makes [[listen]] event callback {{LSLP|handle}} active or inactive
|return_text
|return_text
|spec
|spec
Line 13: Line 13:
|constants
|constants
|examples=a small example of an on and off switchable listen by use of llListenControl()
|examples=a small example of an on and off switchable listen by use of llListenControl()
<LSL>
<syntaxhighlight lang="lsl2">
integer handle;
integer handle;
integer toggle;
integer toggle;
Line 20: Line 20:
     state_entry()
     state_entry()
     {
     {
      handle = llListen(5,"", NULL_KEY, "");
        handle = llListen(5, "", NULL_KEY, "");   // Establish a listener to listen to anything on channel 5 ...
      llListenControl(handle, FALSE);
        llListenControl(handle, FALSE);           // ... but make the listener inactive for now
      llSetText("not listening", <0.0,0.0,0.0>,1.0);
        llSetText("not listening", <0.0,0.0,0.0>, 1.0);
     }
     }


     touch_start(integer total_number)
     touch_start(integer total_number)
     {
     {
         toggle=!toggle;
         toggle = !toggle;
        llListenControl(handle, toggle);
        llListenControl(handle, toggle);           // Make the listener active or inactive as required
         if(toggle){
 
             llSay(0,"now listening on channel 5");
         if(toggle)
             llSetText("listening on ch 5", <1.0,0.0,0.0>,1.0);
        {
        }
             llSay(0, "now listening on channel 5");
        else{
             llSetText("listening on ch 5", <1.0,0.0,0.0>, 1.0);
            llSay(0,"not listening any more");
            llSetText("not listening", <0.0,0.0,0.0>,1.0);
         }
         }
     
        else
        {
            llSay(0, "not listening any more");
            llSetText("not listening", <0.0,0.0,0.0>, 1.0);
        }   
     }
     }
      
      
     listen(integer channel, string name, key id, string message)
     listen(integer channel, string name, key id, string message)
     {
     {
         llSay(0, name+" just said "+message);
         llSay(0, name + " just said " + message);
     }
     }
}
}
</LSL>
</syntaxhighlight>
|helpers
|helpers
|also_functions={{LSL DefineRow||[[llListen]]}}
|also_functions={{LSL DefineRow||[[llListen]]}}

Latest revision as of 05:40, 23 April 2022

Summary

Function: llListenControl( integer handle, integer active );

Makes listen event callback handle active or inactive

• integer handle handle to control listen event
• integer active TRUE (default) activates, FALSE deactivates

Caveats

All Issues ~ Search JIRA for related Bugs

Examples

a small example of an on and off switchable listen by use of llListenControl()

integer handle;
integer toggle;
default
{
    state_entry()
    {
        handle = llListen(5, "", NULL_KEY, "");    // Establish a listener to listen to anything on channel 5 ...
        llListenControl(handle, FALSE);            // ... but make the listener inactive for now
        llSetText("not listening", <0.0,0.0,0.0>, 1.0);
    }

    touch_start(integer total_number)
    {
        toggle = !toggle;
        llListenControl(handle, toggle);           // Make the listener active or inactive as required

        if(toggle)
        {
            llSay(0, "now listening on channel 5");
            llSetText("listening on ch 5", <1.0,0.0,0.0>, 1.0);
        }
        else
        {
            llSay(0, "not listening any more");
            llSetText("not listening", <0.0,0.0,0.0>, 1.0);
        }     
    }
    
    listen(integer channel, string name, key id, string message)
    {
        llSay(0, name + " just said " + message);
    }
}

See Also

Events

•  listen

Functions

•  llListen
•  llListenRemove

Deep Notes

Search JIRA for related Issues

Signature

function void llListenControl( integer handle, integer active );