From Second Life Wiki
Function: llShout( integer channel, string msg );
Shouts the text supplied in string msg on channel supplied in integer channel.
|| output channel, any integer value
|| message to be transmitted
| Channel Constant
||Chat channel reserved for script debugging and error messages.
||Chat channel that broadcasts to all nearby users.
- Messages sent on PUBLIC_CHANNEL 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 PUBLIC_CHANNEL or DEBUG_CHANNEL will be dropped until the send rate is again below 200/2sec for the previous 2 sec. Dropped messages, despite being dropped still count against the limit.
- Text can be a maximum of 1024 bytes. This can convey 1024 ASCII characters, or 512 UTF-8 characters such as á
- Shouts can be heard within 100 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.
~ Search JIRA for related Bugs
For better readability of your code, you can make use of certain mnemonic constants such as PUBLIC_CHANNEL instead of channel 0 and DEBUG_CHANNEL instead of channel +2,147,483,647.
// PUBLIC_CHANNEL has the integer value 0
llShout(PUBLIC_CHANNEL,"I scream icecream!");
For communicating with a user or owner it is preferable to use llOwnerSay or llInstantMessage or llRegionSayTo as they won't spam other users.
The latter is also an excellent choice for communicating to an attachment of a known avatar, or to an object of known UUID.