# llShout

*LSL function*

```lsl
void llShout(integer channel, string msg);
```

- `integer channel`: Chat channel (any 32-bit signed integer value) to shout the message on.
- `string msg`: Text message string to broadcast.

- Energy: 10

Broadcasts the message msg to all scripts or agents listening on channel within llGetEnv("shout_range"), which is 100m on most regions. Agents listen on PUBLIC_CHANNEL (0) and DEBUG_CHANNEL (2147483647). All other channels are for script-to-script communication.

Shouts the text supplied in string **msg** on channel supplied in integer **channel**.

```lsl title="How to use" frame="terminal"
llShout(0, "");
```

## Caveats

- 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 [listen](/events/listen/)s 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. Use [llMessageLinked](/functions/llMessageLinked/) instead for intra-prim messaging.

## Examples

<details open>
<summary>If you prefer, you can make use of certain mnemonic constants such as [PUBLIC_CHANNEL](/constants/PUBLIC_CHANNEL/) instead of channel 0 and [DEBUG_CHANNEL](/constants/DEBUG_CHANNEL/) instead of channel +2,147,483,647.</summary>

```lsl
default
{
    state_entry()
    {
        llShout(0, "I scream icecream!");
    }
}
```

</details>

For communicating with a user or owner it is preferable to use [llOwnerSay](/functions/llOwnerSay/) or [llInstantMessage](/functions/llInstantMessage/) or [llRegionSayTo](/functions/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.

## See also

### Functions

- [llListen](/functions/llListen/)
- [llOwnerSay](/functions/llOwnerSay/)
- [llRegionSay](/functions/llRegionSay/) — Sends chat region wide
- [llRegionSayTo](/functions/llRegionSayTo/) — Sends chat region wide to a specific avatar, or their attachments, or to a rezzed object of known UUID
- [llWhisper](/functions/llWhisper/) — Sends chat limited to 10 meters
- [llSay](/functions/llSay/) — Sends chat limited to 20 meters
- [llInstantMessage](/functions/llInstantMessage/)

### Events

- [listen](/events/listen/)

---

*Source: [LlShout](https://wiki.secondlife.com/wiki/LlShout) on the Second Life Wiki. Content from the Second Life Wiki articles LlShout (revision 1218156, 2025-04-07) and Template:LSL Function/chat (revision 1192932, 2014-08-23), CC BY-SA 3.0.*

---

From lsl.dev: https://lsl.dev/functions/llShout/
