Difference between revisions of "LlRegionSayTo"

From Second Life Wiki
Jump to navigation Jump to search
m (added caveats)
m
Line 16: Line 16:
*If '''msg''' is longer than 1023 bytes it is truncated to 1023 bytes.
*If '''msg''' is longer than 1023 bytes it is truncated to 1023 bytes.
*A prim can '''not''' hear itself, to prevent problems with recursion.
*A prim can '''not''' hear itself, to prevent problems with recursion.
*If sent to an agent '''not''' on channel 0, all of the agents attachment's will hear the message.
*If sent to an agent '''not''' on channel 0, all of the agents attachments will hear the message.
*If sent to an agent '''on''' channel 0, it will appear to the agent as a normal talking prim.
*If sent to an agent '''on''' channel 0, it will appear to the agent as a normal talking prim.
|examples=<lsl>default
|examples=<lsl>default

Revision as of 11:28, 19 April 2011

Emblem-important-red.png Pre-release Documentation Warning!

This function is not available yet. This documentation was written prior to its final release so it may not match the final implementation.

Summary

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

Says the string msg on channel number channel, that can be heard anywhere in the region only by scripts in target listening on channel.

• key target group, avatar or prim UUID that is in the same region
• integer channel output chat channel, any integer value except zero
• string msg message to be transmitted

Regardless of where the prim is, the message will not travel over region borders.

Channel Constant Description
DEBUG_CHANNEL 0x7FFFFFFF Chat channel reserved for script debugging and error messages, broadcasts to all nearby users.

Caveats

  • Messages sent on DEBUG_CHANNEL are throttled to a rate of <200/10sec, per region, per owner/user.
    • Once the rate is exceeded, all following messages on DEBUG_CHANNEL 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.
  • This function cannot transmit on the PUBLIC_CHANNEL, this is a design feature and not a bug.
  • If msg is longer than 1023 bytes it is truncated to 1023 bytes.
  • A prim can not hear itself, to prevent problems with recursion.
  • If sent to an agent not on channel 0, all of the agents attachments will hear the message.
  • If sent to an agent on channel 0, it will appear to the agent as a normal talking prim.

Examples

<lsl>default {

   collision_start(integer i)
   {
       llRegionSayTo(llDetectedKey(0), DEBUG_CHANNEL, "Ouch! That hurts!" );
   }
}</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> llRegionSay(-5243212,"turn on");</lsl> Negative channels are popular for script communications because the 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 was limited to 24 bytes.

If DEBUG_CHANNEL is used as channel, the script will say msg to the Script Warning/Error window.

  • As of 1.18.3, using llRegionSay on the DEBUG_CHANNEL will wrap around and display on channel 0, with a range of 100m.

See Also

Events

•  listen

Functions

•  llListen
•  llOwnerSay Sends chat to the owner only
•  llWhisper Sends chat limited to 10 meters
•  llSay Sends chat limited to 20 meters
•  llShout Sends chat limited to 100 meters
•  llRegionSay Sends chat that can be heard anywhere in the region
•  llInstantMessage
•  llDialog
•  llTextBox

Deep Notes

History

  • Introduced with SL 1.16.0

Signature

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