Difference between revisions of "IS MSO"
Bokujishin (talk | contribs) m |
Bokujishin (talk | contribs) |
||
| (4 intermediate revisions by 2 users not shown) | |||
| Line 1: | Line 1: | ||
| − | == | + | {{Infobox InSim packet |
| + | | description = Text messages sent by the game | ||
| + | | sizetext = 12, 16, 20... 136 depending on {{code|Msg}} | ||
| + | | type_key = ISP_MSO | ||
| + | | type_value = 11 | ||
| + | | direction = in | ||
| + | | category = Text messages and key presses | ||
| + | | prev = [[IS_ISM]] | ||
| + | | next = [[IS_III]] | ||
| + | }} | ||
| − | The '''MS'''g '''O'''ut packet is a variable-size packet containing text messages sent by LFS. Messages that appear in-game are sent to external programs. Hidden messages typed with | + | The '''MS'''g '''O'''ut packet is a variable-size packet containing text messages sent by LFS. Messages that appear in-game are sent to external programs. Hidden messages typed with {{kbd|/o message}} are also reported. |
| + | |||
| + | == Packet details == | ||
{| class="wikitable" | {| class="wikitable" | ||
| − | |+ | + | |+ IS_MSO packet properties |
|- | |- | ||
! Type !! Name !! Description | ! Type !! Name !! Description | ||
| Line 10: | Line 21: | ||
| byte | | byte | ||
| Size | | Size | ||
| − | | 12, 16, 20... 136 depending on Msg | + | | 12, 16, 20... 136 depending on {{code|Msg}} |
|- | |- | ||
| byte | | byte | ||
| Line 21: | Line 32: | ||
|- | |- | ||
| byte | | byte | ||
| − | | | + | | MSOData |
| − | | | + | | bits 0-3 (MSOData & 0x0f) - code page of the message ([[InSim enumerations#LID|LID_x]]) |
|- | |- | ||
| byte | | byte | ||
| Line 44: | Line 55: | ||
| 4, 8, 12... 128 characters - last byte is zero | | 4, 8, 12... 128 characters - last byte is zero | ||
|} | |} | ||
| − | |||
| − | |||
=== Size === | === Size === | ||
| Line 58: | Line 67: | ||
ReqI is always equal to zero. | ReqI is always equal to zero. | ||
| + | |||
| + | === MSOData === | ||
| + | |||
| + | The lower four bits contain the original code page identifier ([[InSim enumerations#LID|LID_x]]) for this packet. | ||
=== UCID === | === UCID === | ||
| Line 85: | Line 98: | ||
The message can be 4, 8, ..., up to 128 bytes, padded with zeros. The last byte is always zero. | The message can be 4, 8, ..., up to 128 bytes, padded with zeros. The last byte is always zero. | ||
| + | |||
| + | {{InSim packets}} | ||
[[Category:InSim packets]] | [[Category:InSim packets]] | ||
Latest revision as of 12:44, 25 September 2026
| IS_MSO | |
|---|---|
| Text messages sent by the game | |
| Overview | |
| Size |
12, 16, 20... 136 depending on Msg |
| Type | ISP_MSO (11) |
| Usage | info |
| Previous packet IS_ISM |
Next packet IS_III |
The MSg Out packet is a variable-size packet containing text messages sent by LFS. Messages that appear in-game are sent to external programs. Hidden messages typed with /o message are also reported.
Packet details
| Type | Name | Description |
|---|---|---|
| byte | Size | 12, 16, 20... 136 depending on Msg
|
| byte | Type | ISP_MSO |
| byte | ReqI | 0 |
| byte | MSOData | bits 0-3 (MSOData & 0x0f) - code page of the message (LID_x) |
| byte | UCID | connection's unique id (0 = host) |
| byte | PLID | player's unique id (if zero, use UCID) |
| byte | UserType | set if typed by a user (see User Values below) |
| byte | TextStart | first character of the actual text (after player name) |
| char | Msg[128] | 4, 8, 12... 128 characters - last byte is zero |
Size
The size of the packet varies from 12 to 136 bytes depending on the message contents.
Type
The packet type from the ISP_ enumeration, always ISP_MSO.
ReqI
ReqI is always equal to zero.
MSOData
The lower four bits contain the original code page identifier (LID_x) for this packet.
UCID
The unique ID of the connection that sent the message. A value of 0 represents the host (in multiplayer) or the local client (in single player). Only used if PLID is 0.
PLID
The player ID of the player who sent the message. If 0, UCID is used instead.
UserType
One of the MSO_ enumeration values:
- MSO_SYSTEM (0): System message
- MSO_USER (1): Normal visible user message
- MSO_PREFIX (2): Hidden message starting with the InSim prefix (see IS_ISI)
- MSO_O (3): Hidden message typed on local PC with
/ocommand
TextStart
The position of the first character of the actual message (skips the sender's name if UserType is MSO_USER).
Msg
The bytes representing the message (for MSO_USER, this includes the sender's name, you can use TextStart to skip it).
The message can be 4, 8, ..., up to 128 bytes, padded with zeros. The last byte is always zero.
| Initialisation | IS_ISI | ||
|---|---|---|---|
| Version Information | IS_VER | ||
| General Purpose | IS_TINY · IS_SMALL · IS_TTC | ||
| State Reporting and Requests | IS_STA · IS_SFP · IS_ISM | ||
| Text Messages and Key Presses | IS_SCH · IS_MSO · IS_III · IS_MST · IS_MTC · IS_MSX · IS_MSL | ||
| Voting | IS_VTN | ||
| Race Tracking | IS_RST · IS_REO | ||
| Autocross | IS_AXI · IS_AXO · IS_UCO · IS_OCO · IS_AXM | ||
| Connection Tracking | IS_NCN · IS_CNL · IS_CPR · IS_ACR · IS_NCI · IS_SLC · IS_CIM | ||
| Car Tracking | IS_NPL · IS_PLP · IS_PLL · IS_LAP · IS_SPX · IS_PIT · IS_PSF · IS_PLA · IS_PEN · IS_TOC · IS_FLG · IS_PFL · IS_FIN · IS_RES · IS_NLP · IS_MCI · IS_CRS · IS_CON · IS_OBH · IS_HLV · IS_CSC | ||
| Camera Control | IS_SCC · IS_CPP | ||
| Replay Control | IS_RIP | ||
| Screenshots | IS_SSH | ||
| InSim Buttons | IS_BFN · IS_BTN · IS_BTC · IS_BTT | ||
| AI Control | IS_AIC · IS_AII | ||
| Other packets | IS_MOD · IS_CCH · IS_PLC · IS_HCP · IS_JRR · IS_MAL · IS_PLH · IS_IPB | ||