Jump to content

Protocol:Packet 0x62: Difference between revisions

From Sylverant Wiki
Dreamcast: Actually note the language code in the Guildcard Send packet.
Subcommand 0x06: Add PSOPC and Gamecube versions of the guildcard send packet.
Line 56: Line 56:
|-
|-
| 0x7D-0x7F || Padding (all zeroes)
| 0x7D-0x7F || Padding (all zeroes)
|}
====PC====
{| border="1"
! Bytes !! Meaning
|-
| 0x00-0x03 || Player Tag (0x00010000)
|-
| 0x04-0x07 || Guildcard Number
|-
| 0x08-0x37 || Player Name (UTF-16LE)
|-
| 0x38-0xE7 || Guildcard Text (UTF-16LE)
|-
| 0xE8-0xEB || Unused
|-
| 0xEC || Always 1
|-
| 0xED || [[Language Codes|Language Code]]
|-
| 0xEE || Section ID
|-
| 0xEF || Character Class
|}
====Gamecube====
{| border="1"
! Bytes !! Meaning
|-
| 0x00-0x03 || Player Tag (0x00010000)
|-
| 0x04-0x07 || Guildcard Number
|-
| 0x08-0x1F || Player Name
|-
| 0x20-0x87 || Guildcard Text
|-
| 0x88-0x8B || Unused
|-
| 0x8C || Always 1
|-
| 0x8D || [[Language Codes|Language Code]]
|-
| 0x8E || Section ID
|-
| 0x8F || Character Class
|}
|}



Revision as of 04:43, 13 November 2010

Clients send Packet 0x62 to the server to forward a "game command" to another client. This is used for various things in game, including requesting drops (clients "ask" the party leader what should be dropped).

PSO v3 (GameCube, Xbox, Blue Burst) sometimes uses packet 0x6D, which has exactly the same format and function as 0x62.

Main Packet Format

Dreamcast

Bytes Meaning
0x00 Packet Type (0x62 or 0x6D)
0x01 Flags (destination client ID)
0x02-0x03 Packet Size (Variable)
0x04 Subcommand Type
0x05 Subcommand Size (in 32-bit increments)
0x06-0x07 Unused?
0x08... Subcommand Data


Subcommands

Various subcommands are sent with this packet, and this is not necessarily meant to be an exhaustive list of them (although, I'd love it if it were eventually).

Subcommand 0x06

Subcommand 0x06 is used to send a client's Guildcard to another client.

Dreamcast

Bytes Meaning
0x00-0x03 Player Tag (0x00010000)
0x04-0x07 Guildcard Number
0x08-0x1F Player Name
0x20-0x77 Guildcard Text
0x78 Unused
0x79 Always 1
0x7A Language Code
0x7B Section ID
0x7C Character Class
0x7D-0x7F Padding (all zeroes)

PC

Bytes Meaning
0x00-0x03 Player Tag (0x00010000)
0x04-0x07 Guildcard Number
0x08-0x37 Player Name (UTF-16LE)
0x38-0xE7 Guildcard Text (UTF-16LE)
0xE8-0xEB Unused
0xEC Always 1
0xED Language Code
0xEE Section ID
0xEF Character Class

Gamecube

Bytes Meaning
0x00-0x03 Player Tag (0x00010000)
0x04-0x07 Guildcard Number
0x08-0x1F Player Name
0x20-0x87 Guildcard Text
0x88-0x8B Unused
0x8C Always 1
0x8D Language Code
0x8E Section ID
0x8F Character Class

Subcommand 0x60

Subcommand 0x60 is used to request a item drop from the party leader. It is used when a box is opened (I haven't looked at what is sent when an enemy is killed yet, sorry).

Dreamcast

Bytes Meaning
0x00 Map Area
0x01 ??? (seems to always be 0x02 for boxes)
0x02-0x03 Request ID (might only be one byte, not sure)
0x04-0x07 Map X Position
0x08-0x0B Map Y Position
0x0C-0x13 ???