Difference between revisions of "LlRegionSay"
Line 12: | Line 12: | ||
|spec | |spec | ||
|constants | |constants | ||
|caveats=*This function cannot transmit on the {{#var:PUBLIC_CHANNEL}}(channel 0), this is a design feature and not a bug. | |caveats=*This function cannot transmit on the {{#var:PUBLIC_CHANNEL}} (channel 0), this is a design feature and not a bug. | ||
*If {{LSLP|msg}} is longer than 1024 characters it is truncated to 1024 characters. (Note that in Mono, each character occupies 2 memory bytes). | *If {{LSLP|msg}} is longer than 1024 characters it is truncated to 1024 characters. (Note that in Mono, each character occupies 2 memory bytes). | ||
*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. |
Revision as of 17:14, 8 January 2014
LSL Portal | Functions | Events | Types | Operators | Constants | Flow Control | Script Library | Categorized Library | Tutorials |
Summary
Function: llRegionSay( 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 by a script listening on channel.
• 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 (channel 0), this is a design feature and not a bug.
- If msg is longer than 1024 characters it is truncated to 1024 characters. (Note that in Mono, each character occupies 2 memory bytes).
- A prim can not hear itself, this to prevent problems with recursion. It can however hear other prims within the same object.
Examples
<lsl>default {
state_entry() { llRegionSay(25,"This is an incredibly useless program." ); }
}</lsl>
To avoid making your object spam its neighborhood, use llOwnerSay or llInstantMessage.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 standard SL 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.
If you wish two objects owned by the same person to communicate within a SIM, one idea is to make both scripts compute the channel based on the owner UUID. e.g. :- <lsl>
gChannel = 0x80000000
See Also
Events
• | listen |
Functions
• | llListen | |||
• | llRegionSayTo | – | Sends chat directly to specified target within region | |
• | 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 | |
• | llInstantMessage | |||
• | llDialog | |||
• | llTextBox |