if anyone can capture the packets and document it why not add..
@char.c
#if PACKETVER >= 20110309
// PIN code system, disabled
WFIFOHEAD(i, 12);
WFIFOW(i, 0) = 0x08B9;
WFIFOW(i, 2) = 0; //new pin??
WFIFOW(i, 4) = 0; //confirm pin??
WFIFOL(i, 6) = sd->account_id;
WFIFOW(i, 10) = 0; // pin??
WFIFOSET(i, 12);
#endif
EDIT:
anyway already found it.thanks to openkore community[kLabMouse]
// packet: 0x8b7
// len: 10
struct PACKET_HC_SECOND_PASSWD_REQ {
/* this+0x0 */ short PacketType
/* this+0x2 */ unsigned long AID
/* this+0x6 */ unsigned long Seed
}
// packet: 0x8b8
// len: 12
struct PACKET_CH_SECOND_PASSWD_ACK {
/* this+0x0 */ short PacketType
/* this+0x2 */ unsigned long AID
/* this+0x6 */ char SecondPWIdx[6]
}
// packet: 0x8b9
// len: 4
struct PACKET_HC_SECOND_PASSWD_LOGIN {
/* this+0x0 */ short PacketType
/* this+0x2 */ unsigned short Result
}
// packet: 0x8ba
// len: 16
struct PACKET_CH_MAKE_SECOND_PASSWD {
/* this+0x0 */ short PacketType
/* this+0x2 */ unsigned long AID
/* this+0x6 */ unsigned long Seed
/* this+0xa */ char SecondPWIdx[6]
}
// packet: 0x8bb
// len: 4
struct PACKET_HC_MAKE_SECOND_PASSWD {
/* this+0x0 */ short PacketType
/* this+0x2 */ unsigned short Result
}
// packet: 0x8bc
// len: 16
struct PACKET_CH_DELETE_SECOND_PASSWD {
/* this+0x0 */ short PacketType
/* this+0x2 */ unsigned long AID
/* this+0x6 */ unsigned long Seed
/* this+0xa */ char SecondPWIdx[6]
}
// packet: 0x8bd
// len: 4
struct PACKET_HC_DELETE_SECOND_PASSWD {
/* this+0x0 */ short PacketType
/* this+0x2 */ unsigned short Result
}
// packet: 0x8be
// len: 16
struct PACKET_CH_EDIT_SECOND_PASSWD {
/* this+0x0 */ short PacketType
/* this+0x2 */ unsigned long AID
/* this+0x6 */ unsigned long Seed
/* this+0xa */ char SecondPWIdx[6]
}
// packet: 0x8bf
// len: 4
struct PACKET_HC_EDIT_SECOND_PASSWD {
/* this+0x0 */ short PacketType
/* this+0x2 */ unsigned short Result
}