Difference between revisions of "LlListenControl"

From Second Life Wiki
Jump to navigation Jump to search
m
m
(7 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{LSL_Function
{{LSL_Function
|inject-2={{LSL Function/handle|handle|listen|control=*}}
{{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_desc=boolean
|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 18: 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);
     }
     }
}
}

Revision as of 13:07, 30 December 2013

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() <LSL> 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);
   }

}

</LSL>

See Also

Events

•  listen

Functions

•  llListen
•  llListenRemove

Deep Notes

Search JIRA for related Issues

Signature

function void llListenControl( integer handle, integer active );