- summary: A system notification, sent as a message id plus arguments, optionally forcing a blocking display.
- area: Game.Chat
A system notification, sent as a message id plus arguments, optionally forcing a blocking display.
Kind event · Area Game.Chat
Like TextInformationEvent, this carries an id and arguments rather than
text - but it is the SYSTEM notification path, and one flag on it matters a
great deal.
hang_up TRUE IS THE DISCONNECT WARNING. The client takes a different branch
for it: before rendering anything it invokes an action on its connection
service, and only then displays the message through the blocking path. In
practice this is the "you are being disconnected" class of notice. A script that
ignores it keeps playing into a session that is about to end.
message_id is resolved against the same information-message table as
TextInformationEvent.message_id but with a SYSTEM-MESSAGE NAMESPACE OFFSET
ADDED FIRST. The raw ids from the two messages are not interchangeable.
parameters are the positional substitution arguments, same rules as the
information line.
IGNORE THE EXTRA FIELD. Most builds pad this message with one more member whose type changes from build to build: an int32 on 3.4, a string list on 3.6.10, a two-value enum on 3.6.12 and a five-value enum on 3.7. The unobfuscated beta and 3.2 declare only the three members above, and no handler reads the extra one on any build. It is obfuscator padding with no meaning: do not branch on it.
When you may send it
- Requires
character_loadedobserved
Related messages
- Unsolicited - nothing you send causes this inferred — the server raises system notices on its own
Fields
| # | Field | Type | Meaning | You set it |
|---|---|---|---|---|
| 2 | hang_up | bool | Whether this notice is on the disconnecting path. True makes the client call its connection service before displaying, and display through the blocking path. | never |
| 3 | parameters | repeated string | Ordered substitution arguments for the localised text. Positional; their meaning depends on the message id. | never |
| 4 | message_id | int32 | Which system message this is. (info message id) Resolved after adding the system-message namespace offset - not the same id space as TextInformationEvent.message_id raw. | never |