Difference between revisions of "LlWhisper"

From Second Life Wiki
Jump to navigation Jump to search
m (added PUBLIC_CHANNEL constant to example script)
m (added comment about constant use)
Line 16: Line 16:
*A prim can '''not''' hear itself, this to prevent problems with recursion. It can however hear other prims within the same object.
*A prim can '''not''' hear itself, this to prevent problems with recursion. It can however hear other prims within the same object.
|examples=
|examples=
{{Warning|For sake of better readability of your code, please make use of constants. You can use [[PUBLIC_CHANNEL]] instead of channel 0 and [[DEBUG_CHANNEL]] instead of channel +2,147,483,647.}}
<lsl>
<lsl>
default
default

Revision as of 11:18, 5 October 2012

Summary

Function: llWhisper( integer channel, string msg );
0.0 Forced Delay
10.0 Energy

Whispers the text supplied in string msg on channel supplied in integer channel.

• integer channel output chat channel, any integer value
• string msg message to be transmitted
Channel Constant Description
DEBUG_CHANNEL 0x7FFFFFFF Chat channel reserved for script debugging and error messages, broadcasts to all nearby users.
PUBLIC_CHANNEL 0x0 Chat channel that broadcasts to all nearby users. This channel is sometimes referred to as: open chat, local chat and public chat.

Caveats

  • Messages sent on channel zero[1] and DEBUG_CHANNEL are throttled to a rate of <200/10sec, per region, per owner/user.
    • Once the rate is exceeded, all following messages on channel zero or 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.
  • Text can only be a maximum of 1023 bytes.
  • Whispers can only be heard within 10 meters of the speaking prim (rather than the root). This is contrary to how listens work, where a message can only be heard by any prim in the object if and only if the root prim is capable of hearing it.
  • A prim can not hear itself, this to prevent problems with recursion. It can however hear other prims within the same object.

Examples

Warning!

For sake of better readability of your code, please make use of constants. You can use PUBLIC_CHANNEL instead of channel 0 and DEBUG_CHANNEL instead of channel +2,147,483,647.

<lsl> default {

   state_entry()
   {
       // PUBLIC_CHANNEL has the integer value 0
       llWhisper(PUBLIC_CHANNEL, "This is an incredibly useless program.");
   }

} </lsl>

For communicating with the user or owner it is much better to use llDialog, llOwnerSay or llInstantMessage as they won't spam other users.

See Also

Events

•  listen

Functions

•  llListen
•  llOwnerSay
•  llRegionSay Sends chat region wide
•  llSay Sends chat limited to 20 meters
•  llShout Sends chat limited to 100 meters
•  llInstantMessage

Deep Notes

Footnotes

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

Signature

function void llWhisper( integer channel, string msg );