Difference between revisions of "LlRegionSay"

From Second Life Wiki
Jump to navigation Jump to search
m (Spelling correction)
m
Line 1: Line 1:
{{LSL_Function
{{LSL_Function/chat|channel|msg|np=*}}{{LSL_Function
|func_id=331
|func_id=331
|func_sleep=0.0
|func_sleep=0.0
|func_energy=10.0
|func_energy=10.0
|func=llRegionSay
|func=llRegionSay
|p1_type=integer|p1_name=channel|p1_desc=Any integer value other than zero.
|p1_type=integer|p1_name=channel|p1_desc
|p2_type=string|p2_name=msg|p2_desc=Message to be transmitted.
|p2_type=string|p2_name=msg|p2_desc
|func_desc=Says the string '''msg''' on channel number '''channel''' that can be heard anywhere in the [[region]] by a script [[listen|listening]] on '''channel'''.
|func_desc=Says the string '''msg''' on channel number '''channel''' that can be heard anywhere in the [[region]] by a script [[listen|listening]] on '''channel'''.
|func_footnote=Regardless of where the prim is, the message will not travel over region borders.
|func_footnote=Regardless of where the prim is, the message will not travel over region borders.
|return_text
|return_text
|spec
|spec
|constants={{LSL Constants/Chat|mode=no_public}}
|constants
|caveats=*This function cannot transmit on the {{LSL Const|PUBLIC_CHANNEL|integer|0|public channel}}, this is a design feature and not a bug.
|caveats=*This function cannot transmit on the {{#var:PUBLIC_CHANNEL}}, this is a design feature and not a bug.
*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.
Line 32: Line 32:
{{LSL DefineRow||[[llShout]]|Sends chat limited to 100 meters}}
{{LSL DefineRow||[[llShout]]|Sends chat limited to 100 meters}}
{{LSL DefineRow||[[llInstantMessage]]|}}
{{LSL DefineRow||[[llInstantMessage]]|}}
{{LSL DefineRow||[[llDialog]]|}}
{{LSL DefineRow||[[llTextBox]]|}}
|also_tests
|also_tests
|also_articles
|also_articles
Line 37: Line 39:
turns on a lamp), it is a good idea to use a very negative channel, e.g.,
turns on a lamp), it is a good idea to use a very negative channel, e.g.,
<lsl>    llRegionSay(-5243212,"turn on");</lsl>
<lsl>    llRegionSay(-5243212,"turn on");</lsl>
It is impossible for an avatar to chat on a negative channel, and extremely unlikely that some
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.
other object would accidentally say something on such a channel. (Of course, the intended target
of the message must be set to 'listen' on this channel.)


If {{LSL Const|DEBUG_CHANNEL|integer|hex=0x7FFFFFFF}} is used as '''channel''', the script will say '''msg''' to the Script Warning/Error window.
If {{#var: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 {{LSL Const|DEBUG_CHANNEL|integer|hex=0x7FFFFFFF}} will wrap around and display on channel 0, with a range of 100m.


* As of 1.18.3, using llRegionSay on the {{#var:DEBUG_CHANNEL}} will wrap around and display on channel 0, with a range of 100m.
|history=Introduced with SL 1.16.0
|history=Introduced with SL 1.16.0
|cat1=Communications
|cat1=Communications

Revision as of 09:16, 24 May 2008

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, 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.

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 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
•  llInstantMessage
•  llDialog
•  llTextBox

Deep Notes

History

Introduced with SL 1.16.0

Signature

function void llRegionSay( integer channel, string msg );