Difference between revisions of "ChatFromSimulator"

From Second Life Wiki
Jump to navigation Jump to search
m
 
(2 intermediate revisions by 2 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===
Line 44: Line 45:
| 2
| 2
| Chat from an object
| 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.
|}
|}


Line 81: Line 103:
| Debug
| Debug
| 6
| 6
| Unknown
| Chat from debug channel
|-
|-
| OwnerSay
| OwnerSay
Line 87: 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.