Difference between revisions of "LlRegionSayTo"

From Second Life Wiki
Jump to navigation Jump to search
m
(There is nothing 'PUBLIC' about text that goes only to the specific recipient's chat window. The script originator used 0. Not sensible to change that.)
Line 1: Line 1:
{{LSL_Function
{{LSL_Function
|inject-2={{Issues/SCR-66}}
|inject-2={{Issues/SCR-66}}
{{LSL_Function/chat|channel|msg|nd=*|direct=*}}
{{LSL_Function/uuid|target|sim=*}}
{{LSL_Function/uuid|target|sim=*}}
|func_id=363
|func_id=363
Line 19: Line 18:
*Text can be a maximum of 1024 bytes. This can convey 1024 ASCII-7 characters, or 512 UTF-8 characters such as á
*Text can be a maximum of 1024 bytes. This can convey 1024 ASCII-7 characters, or 512 UTF-8 characters such as á
*A prim cannot hear itself, to prevent problems with recursion.
*A prim cannot hear itself, to prevent problems with recursion.
*Sending text on {{#var:DEBUG_CHANNEL}} is not supported
*Sending text on {{LSLP|DEBUG_CHANNEL}} is not supported
*Text sent to an avatar's ID on channel zero will be sent to the receiver's viewer.
*Text sent to an avatar's ID on channel zero will be sent to the receiver's 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
Line 32: Line 31:


         // send a message to the chat window of the avatar touching
         // send a message to the chat window of the avatar touching
         llRegionSayTo(id, PUBLIC_CHANNEL, "You touched this!");
         llRegionSayTo(id, 0, "You touched this!");


         // send a message to the attachments of the avatar touching
         // send a message to the attachments of the avatar touching
Line 58: Line 57:
|also_articles={{LSL DefineRow||[[Hello Avatar]]}}
|also_articles={{LSL DefineRow||[[Hello Avatar]]}}
|notes=
|notes=
* Channel {{HoverText|0|Zero}} is the {{#var: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.'',
* 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>
<lsl>

Revision as of 10:51, 12 January 2014

Summary

Function: llRegionSayTo( key target, integer channel, string msg );

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
• string msg

Caveats

  • 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 for and receive these text messages, with an exception for attachments as described below.
  • Text can be a maximum of 1024 bytes. This can convey 1024 ASCII-7 characters, or 512 UTF-8 characters such as á
  • 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 receiver's viewer.
  • Text sent to an avatar's ID on non-zero channels can be heard by any attachment on the avatar
  • A quick series of messages sent by llRegionSayTo cannot be relied on to arrive at their destination in the same order as sent.
All Issues ~ Search JIRA for related Bugs

Examples

<lsl> default {

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

}

</lsl>

Notes

  • 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).

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

History

Date of Release 26/04/2011

All Issues

~ Search JIRA for related Issues
   llRegionSayTo() Fails to send messages to attachments on sitting avatars

Signature

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