Difference between revisions of "Game Opcodes:Party Map Marker Update"
From FFXIV Classic Wiki
m (→Visual Layout: Making the padding more explicit, added ellipses to denote the packet can still continue if there's more data) |
(→Data) |
||
(6 intermediate revisions by the same user not shown) | |||
Line 2: | Line 2: | ||
:; Opcode - 0x18D | :; Opcode - 0x18D | ||
+ | :; Source - Server | ||
:; Data Size - 664 bytes | :; Data Size - 664 bytes | ||
:; Requirements - None | :; Requirements - None | ||
Line 18: | Line 19: | ||
| 0x08 || uint32 || 4 Bytes || groupType || The type of group. Retail always showing PlayerPartyGroup (10001) | | 0x08 || uint32 || 4 Bytes || groupType || The type of group. Retail always showing PlayerPartyGroup (10001) | ||
|- | |- | ||
− | | 0x10 || | + | | 0x10 || markerData[15] || 640 Bytes || markerData || Contains the information of each player noted in the array |
+ | |- | ||
+ | | 0x290 || uint32 || 4 Bytes || numEntries || Amount of entries in the array | ||
|} | |} | ||
{| class="wikitable sortable" width="100%" | {| class="wikitable sortable" width="100%" | ||
− | ! colspan=5 | | + | ! colspan=5 | markerData - Index length 40 bytes, 16 indices max |
|- | |- | ||
! width="50px" style="text-align: center; font-size: 14px;" | Offset | ! width="50px" style="text-align: center; font-size: 14px;" | Offset | ||
Line 31: | Line 34: | ||
! style="text-align: center; font-size: 14px;" | Description | ! style="text-align: center; font-size: 14px;" | Description | ||
|- | |- | ||
− | | 0x00 || uint32 || 4 Bytes || playerID || The ID of | + | | 0x00 || uint32 || 4 Bytes || playerID || The ID of a player in the group |
|- | |- | ||
| 0x08 || uint32 || 4 Bytes || unknown || Each player has a different value assigned here. Unknown use case | | 0x08 || uint32 || 4 Bytes || unknown || Each player has a different value assigned here. Unknown use case | ||
Line 42: | Line 45: | ||
|- | |- | ||
| 0x20 || uint32 || 4 Bytes || playerO || Orientation of the player. Floating point value. | | 0x20 || uint32 || 4 Bytes || playerO || Orientation of the player. Floating point value. | ||
− | |||
− | |||
|} | |} | ||
Line 55: | Line 56: | ||
{| class="wikitable" style="border:1px solid black; text-align:center;" | {| class="wikitable" style="border:1px solid black; text-align:center;" | ||
− | | | + | | colspan=17 | Packet Data layout |
+ | |- | ||
+ | | | ||
! 0x0 !! 0x1 !! 0x2 !! 0x3 !! 0x4 !! 0x5 !! 0x6 !! 0x7 !! 0x8 !! 0x9 !! 0xA !! 0xB !! 0xC !! 0xD !! 0xE !! 0xF | ! 0x0 !! 0x1 !! 0x2 !! 0x3 !! 0x4 !! 0x5 !! 0x6 !! 0x7 !! 0x8 !! 0x9 !! 0xA !! 0xB !! 0xC !! 0xD !! 0xE !! 0xF | ||
|- | |- | ||
Line 64: | Line 67: | ||
|- | |- | ||
! 0x10 | ! 0x10 | ||
− | | colspan=" | + | | colspan="16" rowspan="39" style="background:#f1cbff" | '''markerData''' |
− | |||
− | |||
− | |||
|- | |- | ||
! 0x20 | ! 0x20 | ||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
! 0x30 | ! 0x30 | ||
− | |||
− | |||
− | |||
|- | |- | ||
! 0x40 | ! 0x40 | ||
− | |||
|- | |- | ||
! 0x50 | ! 0x50 | ||
− | |||
|- | |- | ||
! 0x60 | ! 0x60 | ||
− | |||
|- | |- | ||
! 0x70 | ! 0x70 | ||
− | |||
|- | |- | ||
! 0x80 | ! 0x80 | ||
− | |||
|- | |- | ||
! 0x90 | ! 0x90 | ||
− | |||
|- | |- | ||
! 0xA0 | ! 0xA0 | ||
− | | | + | |- |
+ | ! 0xB0 | ||
+ | |- | ||
+ | ! 0xC0 | ||
+ | |- | ||
+ | ! 0xD0 | ||
+ | |- | ||
+ | ! 0xE0 | ||
+ | |- | ||
+ | ! 0xF0 | ||
+ | |- | ||
+ | ! 0x100 | ||
+ | |- | ||
+ | ! 0x120 | ||
+ | |- | ||
+ | ! 0x130 | ||
+ | |- | ||
+ | ! 0x140 | ||
+ | |- | ||
+ | ! 0x150 | ||
+ | |- | ||
+ | ! 0x160 | ||
+ | |- | ||
+ | ! 0x170 | ||
+ | |- | ||
+ | ! 0x180 | ||
+ | |- | ||
+ | ! 0x190 | ||
+ | |- | ||
+ | ! 0x1A0 | ||
+ | |- | ||
+ | ! 0x1B0 | ||
+ | |- | ||
+ | ! 0x1C0 | ||
+ | |- | ||
+ | ! 0x1D0 | ||
+ | |- | ||
+ | ! 0x1E0 | ||
+ | |- | ||
+ | ! 0x1F0 | ||
+ | |- | ||
+ | ! 0x200 | ||
+ | |- | ||
+ | ! 0x210 | ||
+ | |- | ||
+ | ! 0x220 | ||
+ | |- | ||
+ | ! 0x230 | ||
+ | |- | ||
+ | ! 0x240 | ||
+ | |- | ||
+ | ! 0x250 | ||
+ | |- | ||
+ | ! 0x260 | ||
+ | |- | ||
+ | ! 0x270 | ||
+ | |- | ||
+ | ! 0x280 | ||
+ | |- | ||
+ | ! 0x290 | ||
+ | | colspan="4" style="background:#f0f8ff" | '''numEntries''' | ||
+ | | 00 || 00 || 00 || 00 || || || || || || || || | ||
+ | |} | ||
+ | |||
+ | |||
+ | {| class="wikitable" style="border:1px solid black; text-align:center;" | ||
+ | | colspan=17 | markerData layout | ||
+ | |- | ||
+ | | | ||
+ | ! 0x0 !! 0x1 !! 0x2 !! 0x3 !! 0x4 !! 0x5 !! 0x6 !! 0x7 !! 0x8 !! 0x9 !! 0xA !! 0xB !! 0xC !! 0xD !! 0xE !! 0xF | ||
+ | |- | ||
+ | ! 0x00 | ||
+ | | colspan="4" style="background:#C0E8A7" | '''playerID[0]''' | ||
+ | | 00 || 00 || 00 || 00 | ||
+ | | colspan="4" style="background:#f1cbff" | '''unknown[0]''' | ||
+ | | 00 || 00 || 00 || 00 | ||
+ | |- | ||
+ | ! 0x10 | ||
+ | | 00 || 00 || 00 || 00 | ||
+ | | colspan="4" style="background:#ffb3ba" | '''playerX[0]''' | ||
+ | | colspan="4" style="background:#eedfcc" | '''playerY[0]''' | ||
+ | | colspan="4" style="background:#fdf5e6" | '''playerZ[0]''' | ||
+ | |- | ||
+ | ! 0x20 | ||
+ | | colspan="4" style="background:#f0f8ff" | '''playerO[0]''' | ||
+ | | 00 || 00 || 00 || 00 || || || || || || || || | ||
|} | |} | ||
+ | |||
+ | |||
[[Category:Unfinished]] | [[Category:Unfinished]] |
Latest revision as of 14:02, 26 March 2018
Shows party members on the map when the client receives the packet while the map is open.
- Opcode - 0x18D
- Source - Server
- Data Size - 664 bytes
- Requirements - None
Data
Offset | Data Type | Length | Variable | Description |
---|---|---|---|---|
0x00 | uint64 | 8 Bytes | playerGroupID | The party group to be assigned to the player. |
0x08 | uint32 | 4 Bytes | groupType | The type of group. Retail always showing PlayerPartyGroup (10001) |
0x10 | markerData[15] | 640 Bytes | markerData | Contains the information of each player noted in the array |
0x290 | uint32 | 4 Bytes | numEntries | Amount of entries in the array |
markerData - Index length 40 bytes, 16 indices max | ||||
---|---|---|---|---|
Offset | Data Type | Length | Variable | Description |
0x00 | uint32 | 4 Bytes | playerID | The ID of a player in the group |
0x08 | uint32 | 4 Bytes | unknown | Each player has a different value assigned here. Unknown use case |
0x14 | uint32 | 4 Bytes | playerX | X position of the player. Floating point value. |
0x18 | uint32 | 4 Bytes | playerY | Y position of the player. Floating point value. |
0x1C | uint32 | 4 Bytes | playerZ | Z position of the player. Floating point value. |
0x20 | uint32 | 4 Bytes | playerO | Orientation of the player. Floating point value. |
Notes
- Sent from the server at a regular interval, likely due to client not being programmed to send a request for such data when the player opens the map.
Visual Layout
Packet Data layout | ||||||||||||||||
0x0 | 0x1 | 0x2 | 0x3 | 0x4 | 0x5 | 0x6 | 0x7 | 0x8 | 0x9 | 0xA | 0xB | 0xC | 0xD | 0xE | 0xF | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x00 | playerGroupID | groupType | 00 | 00 | 00 | 00 | ||||||||||
0x10 | markerData | |||||||||||||||
0x20 | ||||||||||||||||
0x30 | ||||||||||||||||
0x40 | ||||||||||||||||
0x50 | ||||||||||||||||
0x60 | ||||||||||||||||
0x70 | ||||||||||||||||
0x80 | ||||||||||||||||
0x90 | ||||||||||||||||
0xA0 | ||||||||||||||||
0xB0 | ||||||||||||||||
0xC0 | ||||||||||||||||
0xD0 | ||||||||||||||||
0xE0 | ||||||||||||||||
0xF0 | ||||||||||||||||
0x100 | ||||||||||||||||
0x120 | ||||||||||||||||
0x130 | ||||||||||||||||
0x140 | ||||||||||||||||
0x150 | ||||||||||||||||
0x160 | ||||||||||||||||
0x170 | ||||||||||||||||
0x180 | ||||||||||||||||
0x190 | ||||||||||||||||
0x1A0 | ||||||||||||||||
0x1B0 | ||||||||||||||||
0x1C0 | ||||||||||||||||
0x1D0 | ||||||||||||||||
0x1E0 | ||||||||||||||||
0x1F0 | ||||||||||||||||
0x200 | ||||||||||||||||
0x210 | ||||||||||||||||
0x220 | ||||||||||||||||
0x230 | ||||||||||||||||
0x240 | ||||||||||||||||
0x250 | ||||||||||||||||
0x260 | ||||||||||||||||
0x270 | ||||||||||||||||
0x280 | ||||||||||||||||
0x290 | numEntries | 00 | 00 | 00 | 00 |
markerData layout | ||||||||||||||||
0x0 | 0x1 | 0x2 | 0x3 | 0x4 | 0x5 | 0x6 | 0x7 | 0x8 | 0x9 | 0xA | 0xB | 0xC | 0xD | 0xE | 0xF | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x00 | playerID[0] | 00 | 00 | 00 | 00 | unknown[0] | 00 | 00 | 00 | 00 | ||||||
0x10 | 00 | 00 | 00 | 00 | playerX[0] | playerY[0] | playerZ[0] | |||||||||
0x20 | playerO[0] | 00 | 00 | 00 | 00 |