ID: PACKET_HC_WAITING_LOGIN
Struct:
Code: Select all
struct PACKET_HC_WAITING_LOGIN {
/* this+0x0 */ short PacketType
/* this+0x2 */ unsigned long AID
/* this+0x6 */ int CurWaitingNum
}
ID: PACKET_CH_WAITING_LOGIN
Struct:
Code: Select all
struct PACKET_CH_WAITING_LOGIN {
/* this+0x0 */ short PacketType
/* this+0x2 */ unsigned long AID
/* this+0x6 */ int AuthCode
/* this+0xa */ unsigned long userLevel
/* this+0xe */ unsigned short clientType
/* this+0x10 */ unsigned char Sex
}
ID: PACKET_AC_REALNAME_AUTH
Struct:
Code: Select all
// TODO. No Inner Struct
struct PACKET_AC_REALNAME_AUTH {
/* this+0x0 */ short PacketType
/* this+0x2 */ short PacketLength
/* this+0x4 */ unsigned short AccountArea
}
ID: PACKET_HC_SECOND_PASSWD_REQ
Struct: [Can't find struct]
Packet: 08B8
ID: PACKET_CH_SECOND_PASSWD_ACK
Struct:
Code: Select all
struct PACKET_CH_SECOND_PASSWD_ACK {
/* this+0x0 */ short PacketType
/* this+0x2 */ unsigned long AID
/* this+0x6 */ char[0x4] SecondPWIdx
}
ID: PACKET_HC_SECOND_PASSWD_LOGIN
Struct:
Code: Select all
struct PACKET_HC_SECOND_PASSWD_LOGIN {
/* this+0x0 */ short PacketType
/* this+0x2 */ unsigned long Seed
/* this+0x6 */ unsigned long AID
/* this+0xa */ unsigned short Result
}
ID: PACKET_CH_MAKE_SECOND_PASSWD
Struct:
Code: Select all
struct PACKET_CH_MAKE_SECOND_PASSWD {
/* this+0x0 */ short PacketType
/* this+0x2 */ unsigned long AID
/* this+0x6 */ char[0x4] SecondPWIdx
}
ID: PACKET_HC_MAKE_SECOND_PASSWD
Struct:
Code: Select all
struct PACKET_HC_MAKE_SECOND_PASSWD {
/* this+0x0 */ short PacketType
/* this+0x2 */ unsigned short Result
/* this+0x4 */ unsigned long Seed
}
ID: PACKET_CH_DELETE_SECOND_PASSWD
Struct:
Code: Select all
struct PACKET_CH_DELETE_SECOND_PASSWD {
/* this+0x0 */ short PacketType
/* this+0x2 */ unsigned long AID
/* this+0x6 */ char[0x4] SecondPWIdx
}
ID: PACKET_HC_DELETE_SECOND_PASSWD
Struct:
Code: Select all
struct PACKET_HC_DELETE_SECOND_PASSWD {
/* this+0x0 */ short PacketType
/* this+0x2 */ unsigned short Result
/* this+0x4 */ unsigned long Seed
}
ID: PACKET_CH_EDIT_SECOND_PASSWD
Struct:
Code: Select all
struct PACKET_CH_EDIT_SECOND_PASSWD {
/* this+0x0 */ short PacketType
/* this+0x2 */ unsigned long AID
/* this+0x6 */ char[0x4] oldSecondPWIdx
/* this+0xa */ char[0x4] newSecondPWIdx
}
ID: PACKET_HC_EDIT_SECOND_PASSWD
Struct:
Code: Select all
struct PACKET_HC_EDIT_SECOND_PASSWD {
/* this+0x0 */ short PacketType
/* this+0x2 */ unsigned short Result
/* this+0x4 */ unsigned long Seed
}
ID: PACKET_CH_NOT_AVAILABLE_SECOND_PASSWD
Struct:
Code: Select all
struct PACKET_CH_NOT_AVAILABLE_SECOND_PASSWD {
/* this+0x0 */ short PacketType
/* this+0x2 */ unsigned long AID
/* this+0x6 */ char[0x4] SecondPWIdx
}
ID: PACKET_HC_NOT_AVAILABLE_SECOND_PASSWD
Struct:
Code: Select all
struct PACKET_HC_NOT_AVAILABLE_SECOND_PASSWD {
/* this+0x0 */ short PacketType
/* this+0x2 */ unsigned short Result
/* this+0x4 */ unsigned long Seed
}
ID: PACKET_CH_AVAILABLE_SECOND_PASSWD
Struct:
Code: Select all
struct PACKET_CH_AVAILABLE_SECOND_PASSWD {
/* this+0x0 */ short PacketType
/* this+0x2 */ unsigned long AID
}
ID: PACKET_HC_AVAILABLE_SECOND_PASSWD
Struct:
Code: Select all
struct PACKET_HC_AVAILABLE_SECOND_PASSWD {
/* this+0x0 */ short PacketType
/* this+0x2 */ unsigned short Result
}
ID: PACKET_CA_LOGIN5
Struct:
Code: Select all
struct PACKET_CA_LOGIN5 {
/* this+0x0 */ short PacketType
/* this+0x2 */ unsigned long Version
/* this+0x6 */ unsigned char[0x33] ID
/* this+0x39 */ unsigned char[0x33] Passwd
/* this+0x6c */ unsigned char clienttype
}
ID: PACKET_CH_REQ_CHANGE_CHARACTER_SLOT
Struct:
Code: Select all
struct PACKET_CH_REQ_CHANGE_CHARACTER_SLOT {
/* this+0x0 */ short PacketType
/* this+0x2 */ short beforeCharNum
/* this+0x4 */ short AfterCharNum
/* this+0x6 */ short CurChrSlotCnt
}
ID: PACKET_HC_ACK_CHANGE_CHARACTER_SLOT
Struct:
Code: Select all
// TODO. No Inner Struct
struct PACKET_HC_ACK_CHANGE_CHARACTER_SLOT {
/* this+0x0 */ short PacketType
/* this+0x2 */ short PacketLength
/* this+0x4 */ short Reason
/* this+0x6 */ short AfterChrSlotCnt
}
ID: PACKET_HC_UPDATE_CHARINFO
Struct:
Code: Select all
struct PACKET_HC_UPDATE_CHARINFO {
/* this+0x0 */ short PacketType
/* this+0x2 */ struct CHARACTER_INFO charinfo
}
ID: PACKET_AC_SHUTDOWN_INFO
Struct:
Code: Select all
struct PACKET_AC_SHUTDOWN_INFO {
/* this+0x0 */ short PacketType
/* this+0x2 */ long Time
}
ID: PACKET_CH_REQ_CHANGE_CHARACTERNAME
Struct:
Code: Select all
struct PACKET_CH_REQ_CHANGE_CHARACTERNAME {
/* this+0x0 */ short PacketType
/* this+0x2 */ unsigned long dwGID
/* this+0x6 */ char[0x18] szCharName
}
ID: PACKET_CH_ACK_CHANGE_CHARACTERNAME
Struct: [Can't find struct]
Packet: 0970
ID: PACKET_CH_MAKE_CHAR_NOT_STATS
Struct:
Code: Select all
struct PACKET_CH_MAKE_CHAR_NOT_STATS {
/* this+0x0 */ short PacketType
/* this+0x2 */ unsigned char[0x18] name
/* this+0x1a */ unsigned char CharNum
/* this+0x1b */ short headPal
/* this+0x1d */ short head
}
ID: PACKET_CA_LOGIN6
Struct:
Code: Select all
struct PACKET_CA_LOGIN6 {
short PacketType
unsigned long Version
unsigned char[0x18] ID
unsigned char[0x20] PasswdMD5
unsigned char clienttype
}
ID: PACKET_CA_LOGIN_CHN
Struct:
Code: Select all
// TODO. Capture packet, find inner struct.
struct PACKET_CA_LOGIN_CHN {
short PacketType
short PacketLength
unsigned long Version
unsigned char[0x20] PasswdMD5
unsigned char clienttype
}
ID: PACKET_AC_REQ_NEW_USER
Struct:
Code: Select all
struct PACKET_AC_REQ_NEW_USER {
/* this+0x0 */ short PacketType
}
ID: PACKET_CA_ACK_NEW_USER
Struct:
Code: Select all
struct PACKET_CA_ACK_NEW_USER {
/* this+0x0 */ short PacketType
/* this+0x2 */ short Sex
}
ID: PACKET_CH_DELETE_CHAR3_EXT
Struct:
Code: Select all
// TODO. No Inner Struct
struct PACKET_CH_DELETE_CHAR3_EXT {
/* this+0x0 */ short PacketType
/* this+0x2 */ short PacketLength
/* this+0x4 */ unsigned long GID
}
ID: PACKET_CH_REQ_CHARINFO_PER_PAGE
Struct:
Code: Select all
struct PACKET_CH_REQ_CHARINFO_PER_PAGE {
/* this+0x0 */ short PacketType
/* this+0x2 */ unsigned long SeqNum
}
ID: PACKET_HC_ACK_CHARINFO_PER_PAGE
Struct:
Code: Select all
struct PACKET_HC_ACK_CHARINFO_PER_PAGE {
/* this+0x0 */ short PacketType
/* this+0x2 */ short PacketLength
/* this+0x4 */ struct CHARACTER_INFO charinfo[...]
}
ID: PACKET_HC_CHARLIST_NOTIFY
Struct:
Code: Select all
struct PACKET_HC_CHARLIST_NOTIFY {
/* this+0x0 */ short PacketType
/* this+0x2 */ int TotalCnt
}
ID: PACKET_CH_CHARLIST_REQ
Struct:
Code: Select all
struct PACKET_CH_CHARLIST_REQ {
/* this+0x0 */ short PacketType
}
Packet: Unknown
ID: PACKET_HC_QUEUE_ORDER
Struct:
Code: Select all
struct PACKET_HC_QUEUE_ORDER {
short PacketType
unsigned short PacketLength
unsigned long m_AID
unsigned long m_QueueOrder
}
Additional structs:
Code: Select all
struct CHARACTER_INFO {
/* this+0x0 */ unsigned long GID
/* this+0x4 */ int exp
/* this+0x8 */ int money
/* this+0xc */ int jobexp
/* this+0x10 */ int joblevel
/* this+0x14 */ int bodystate
/* this+0x18 */ int healthstate
/* this+0x1c */ int effectstate
/* this+0x20 */ int virtue
/* this+0x24 */ int honor
/* this+0x28 */ short jobpoint
/* this+0x2a */ int hp
/* this+0x2e */ int maxhp
/* this+0x32 */ short sp
/* this+0x34 */ short maxsp
/* this+0x36 */ short speed
/* this+0x38 */ short job
/* this+0x3a */ short head
/* this+0x3c */ short weapon
/* this+0x3e */ short level
/* this+0x40 */ short sppoint
/* this+0x42 */ short accessory
/* this+0x44 */ short shield
/* this+0x46 */ short accessory2
/* this+0x48 */ short accessory3
/* this+0x4a */ short headpalette
/* this+0x4c */ short bodypalette
/* this+0x4e */ unsigned char[0x18] name
/* this+0x66 */ unsigned char Str
/* this+0x67 */ unsigned char Agi
/* this+0x68 */ unsigned char Vit
/* this+0x69 */ unsigned char Int
/* this+0x6a */ unsigned char Dex
/* this+0x6b */ unsigned char Luk
/* this+0x6c */ unsigned char CharNum
/* this+0x6d */ unsigned char haircolor
/* this+0x6e */ short bIsChangedCharName
/* this+0x70 */ int nRobe
}
struct CHARACTER_INFO_NEO {
/* this+0x0 */ unsigned long GID
/* this+0x4 */ int exp
/* this+0x8 */ int money
/* this+0xc */ int jobexp
/* this+0x10 */ int joblevel
/* this+0x14 */ int bodystate
/* this+0x18 */ int healthstate
/* this+0x1c */ int effectstate
/* this+0x20 */ int virtue
/* this+0x24 */ int honor
/* this+0x28 */ short jobpoint
/* this+0x2a */ int hp
/* this+0x2e */ int maxhp
/* this+0x32 */ short sp
/* this+0x34 */ short maxsp
/* this+0x36 */ short speed
/* this+0x38 */ short job
/* this+0x3a */ short head
/* this+0x3c */ short weapon
/* this+0x3e */ short level
/* this+0x40 */ short sppoint
/* this+0x42 */ short accessory
/* this+0x44 */ short shield
/* this+0x46 */ short accessory2
/* this+0x48 */ short accessory3
/* this+0x4a */ short headpalette
/* this+0x4c */ short bodypalette
/* this+0x4e */ unsigned char[0x18] name
/* this+0x66 */ unsigned char Str
/* this+0x67 */ unsigned char Agi
/* this+0x68 */ unsigned char Vit
/* this+0x69 */ unsigned char Int
/* this+0x6a */ unsigned char Dex
/* this+0x6b */ unsigned char Luk
/* this+0x6c */ unsigned char CharNum
/* this+0x6d */ unsigned char haircolor
/* this+0x6e */ int nRobe
}
struct CHARACTER_INFO_NEO_UNION {
CHARACTER_INFO_NEO, offset = 0x0
/* this+0x72 */ short bIsChangedCharName
}
struct CHARACTER_INFO_UNION {
CHARACTER_INFO, offset = 0x0
/* this+0x74 */ short bIsChangedCharName
}