Difference between revisions of "ChatFromSimulator"
Jump to navigation
Jump to search
(4 intermediate revisions by 3 users not shown) | |||
Line 24: | Line 24: | ||
If Audible is 0, the message may be blank (because you're too far away). | If Audible is 0, the message may be blank (because you're too far away). | ||
Length of <code>Message</code> is stored as little-endian. | |||
===SourceType values=== | ===SourceType values=== | ||
{| class="sortable" {{Prettytable}} | |||
|- {{Hl2}} | |||
! SourceType | |||
! Value | |||
! class="unsortable" | Notes | |||
|- | |||
| System | |||
| 0 | |||
| Chat from the grid or simulator | |||
|- | |||
| Agent | |||
| 1 | |||
| Chat from another avatar | |||
|- | |||
| Object | |||
| 2 | |||
| Chat from an object | |||
|} | |||
===Audible values=== | |||
{| class="sortable" {{Prettytable}} | |||
|- {{Hl2}} | |||
! Audible | |||
! Value | |||
! class="unsortable" | Notes | |||
|- | |||
| Not | |||
| -1 | |||
| Is not audible at all. | |||
|- | |||
| Barely | |||
| 0 | |||
| Is close to being out of range. | |||
|- | |||
| Fully | |||
| 1 | |||
| Is in range. | |||
|} | |||
===ChatType values=== | ===ChatType values=== | ||
Line 50: | Line 75: | ||
! ChatType | ! ChatType | ||
! Value | ! Value | ||
! Notes | ! class="unsortable" | Notes | ||
|- | |- | ||
| Whisper | | Whisper | ||
Line 78: | Line 103: | ||
| Debug | | Debug | ||
| 6 | | 6 | ||
| | | Chat from debug channel | ||
|- | |- | ||
| OwnerSay | | OwnerSay | ||
Line 84: | Line 109: | ||
| Private chat message from an object owned by you; this chat is only sent to you | | Private chat message from an object owned by you; this chat is only sent to you | ||
|} | |} | ||
==Official Viewer Behavior== | |||
Check to determine if self owned is based on SourceID. | |||
"Swirly things" are only created if an object chats on a non debug channel. (always white) | |||
Position is never read from message block. | |||
ChatType 3 is undefined. | |||
Logging and display truth table: | |||
<pre width=120> | |||
// LINDEN BUSY MUTED OWNED_BY_YOU TASK DISPLAY STORE IN HISTORY | |||
// F F F F * Yes Yes | |||
// F F F T * Yes Yes | |||
// F F T F * No No | |||
// F F T T * No No | |||
// F T F F * No Yes | |||
// F T F T * Yes Yes | |||
// F T T F * No No | |||
// F T T T * No No | |||
// T * * * F Yes Yes | |||
</pre> | |||
Todo: make a pretty table. |
Latest revision as of 11:49, 20 September 2024
Message Layout
{ ChatFromSimulator Low Trusted Unencoded { ChatData Single { FromName Variable 1 } { SourceID LLUUID } { OwnerID LLUUID } { SourceType U8 } { ChatType U8 } { Audible U8 } { Position LLVector3 } { Message Variable 2 } } }
Usage and Notes
With this message the simulator notifies clients of new chat messages.
If Audible is 0, the message may be blank (because you're too far away).
Length of Message
is stored as little-endian.
SourceType values
SourceType | Value | Notes |
---|---|---|
System | 0 | Chat from the grid or simulator |
Agent | 1 | Chat from another avatar |
Object | 2 | Chat from an object |
Audible values
Audible | Value | Notes |
---|---|---|
Not | -1 | Is not audible at all. |
Barely | 0 | Is close to being out of range. |
Fully | 1 | Is in range. |
ChatType values
ChatType | Value | Notes |
---|---|---|
Whisper | 0 | 5m radius - "Test User whispers: message" |
Normal | 1 | 10/20m radius - "Test User: message" |
Shout | 2 | 100m radius - "Test User shouts: message" |
Say | 3 | Not sure if this is used for anything - "Test User say, message" |
StartTyping | 4 | Lets others know you are typing |
StopTyping | 5 | Lets others know you've stopped typing |
Debug | 6 | Chat from debug channel |
OwnerSay | 8 | Private chat message from an object owned by you; this chat is only sent to you |
Official Viewer Behavior
Check to determine if self owned is based on SourceID.
"Swirly things" are only created if an object chats on a non debug channel. (always white)
Position is never read from message block.
ChatType 3 is undefined.
Logging and display truth table:
// LINDEN BUSY MUTED OWNED_BY_YOU TASK DISPLAY STORE IN HISTORY // F F F F * Yes Yes // F F F T * Yes Yes // F F T F * No No // F F T T * No No // F T F F * No Yes // F T F T * Yes Yes // F T T F * No No // F T T T * No No // T * * * F Yes Yes
Todo: make a pretty table.