Difference between revisions of "LlRegionSayTo"

From Second Life Wiki
Jump to navigation Jump to search
m
Line 22: Line 22:
*Text sent to an avatar's ID on channel zero will be sent to the viewer.
*Text sent to an avatar's ID on channel zero will be sent to the viewer.
*Text sent to an avatar's ID on non-zero channels can be heard by any attachment on the avatar
*Text sent to an avatar's ID on non-zero channels can be heard by any attachment on the avatar
|examples=<lsl>default
|examples=
<lsl>
default
{
{
     touch_start(integer i)
     touch_start(integer num_detected)
     {
     {
         llRegionSayTo(llDetectedKey(0), 0, "You touched this!");
         key id = llDetectedKey(0);
 
        // send a message to the chat window of the touching avatar
        // PUBLIC_CHANNEL has the integer value 0
        llRegionSayTo(id, PUBLIC_CHANNEL, "You touched this!");
 
        // send a message to the attachments of the avatar touching
        // example channel: -12345
        llRegionSayTo(id, -12345, "Hello there attachments!");
     }
     }
}</lsl>
}
</lsl>


|helpers
|helpers

Revision as of 07:41, 23 September 2012

Summary

Function: llRegionSayTo( key target, integer channel, string msg );
0.0 Forced Delay
10.0 Energy

Says the text supplied in string msg on channel supplied in integer channel to the object or avatar specified by target

• key target group, avatar or prim UUID that is in the same region
• integer channel output chat channel, any integer value except DEBUG_CHANNEL
• string msg message to be transmitted
Channel Constant Description
PUBLIC_CHANNEL 0x0 Chat channel used to broadcast to a specific user or prim. This channel is sometimes referred to as: open chat, local chat and public chat.

Caveats

  • Messages sent on channel zero[1] are throttled to a rate of <200/10sec, per region, per owner/user.
    • Once the rate is exceeded, all following messages on channel zero will be dropped until the send rate is again below 200/10sec for the previous 10 sec. Dropped messages, despite being dropped still count against the limit.
  • Text is spoken directly to the object or avatar within the same region as the script.
  • Scripts in tasks other than target can not listen and receive these text messages, with an exception for attachments described below.
  • Text can be a maximum of 1023 bytes.
  • A prim cannot hear itself, to prevent problems with recursion.
  • Sending text on DEBUG_CHANNEL is not supported
  • Text sent to an avatar's ID on channel zero will be sent to the viewer.
  • Text sent to an avatar's ID on non-zero channels can be heard by any attachment on the avatar

Examples

<lsl> default {

   touch_start(integer num_detected)
   {
       key id = llDetectedKey(0);
       // send a message to the chat window of the touching avatar
       // PUBLIC_CHANNEL has the integer value 0
       llRegionSayTo(id, PUBLIC_CHANNEL, "You touched this!");
       // send a message to the attachments of the avatar touching
       // example channel: -12345
       llRegionSayTo(id, -12345, "Hello there attachments!");
   }

}

</lsl>

Notes

  • Channel 0 is the PUBLIC_CHANNEL. This should only be used for chat intended to be sent to the viewer.
  • If one object 'says' something to another object (e.g., a button that, when touched, turns on a lamp), it is a good idea to use a very negative channel, e.g.,

<lsl>

   llRegionSayTo("55499a64-45c3-4b81-8880-8ffb5a7c251b",-5243212,"turn on");

</lsl> Negative channels are popular for script communications because the standard Second Life client is unable to chat directly on those channels ("/-xxxx message" won't chat "message" on channel "-xxxx", it will chat "/-xxxx message" on channel zero). The only way to do so prior to llTextBox was to use llDialog, which is limited to 24 characters, or certain third-party viewers.

See Also

Events

•  listen Receives chat

Functions

•  llListen Ask for listen events
•  llInstantMessage Sends chat to a specific avatar, inside our outside the current region.
•  llOwnerSay Sends chat to the owner only to avoid spamming the PUBLIC_CHANNEL
•  llRegionSay Sends chat region wide
•  llSay Sends chat limited to 20 meters
•  llShout Sends chat limited to 100 meters
•  llWhisper Sends chat limited to 10 meters

Articles

•  Hello Avatar

Deep Notes

Footnotes

  1. ^ Channel zero is also known as: PUBLIC_CHANNEL, open chat, local chat and public chat

Signature

function void llRegionSayTo( key target, integer channel, string msg );