there is a few packets that OpenKore does not support yet, and thus found on Official Servers.
Also, Please compare kRO::Sakexe_0 and ServerType0, so all know packet are implemented in ServerType0 too.
Code: Select all
// packet 0xcb
// Not present in ServerType 0
struct PACKET_ZC_PC_SELL_RESULT {
/* this+0x0 */ short PacketType
/* this+0x2 */ unsigned char result
}
// packet 0x182
// Not present in ServerType 0
struct PACKET_ZC_MEMBER_ADD {
/* this+0x0 */ short PacketType
/* this+0x2 */ struct GUILD_MEMBER_INFO Info {
/* this+0x0 */ int AID
/* this+0x4 */ int GID
/* this+0x8 */ short head
/* this+0xa */ short headPalette
/* this+0xc */ short sex
/* this+0xe */ short job
/* this+0x10 */ short level
/* this+0x12 */ int contributionExp
/* this+0x16 */ int currentState
/* this+0x1a */ int positionID
/* this+0x1e */ char intro[50]
/* this+0x50 */ char charname[24]
}
}
// packet 0x1ec
// Not present in ServerType 0
struct PACKET_ZC_GUILD_MEMBER_MAP_CHANGE {
/* this+0x0 */ short PacketType
/* this+0x2 */ unsigned long GDID
/* this+0x6 */ unsigned long AID
/* this+0xa */ char mapName[16]
}
// packet 0x27b
// Not present in ServerType 0
struct PACKET_ZC_PCBANG_EFFECT {
/* this+0x0 */ short PacketType
/* this+0x2 */ int ExpFactor
/* this+0x6 */ int ExpFactor2
/* this+0xa */ int DropFactor
}
// packet 0x2db
struct PACKET_CZ_BATTLEFIELD_CHAT {
/* this+0x0 */ short PacketType
/* this+0x2 */ unsigned short PacketLength
/* this+0x4 */ char msg[...]
}
// packet 0x2dc
struct PACKET_ZC_BATTLEFIELD_CHAT {
/* this+0x0 */ short PacketType
/* this+0x2 */ unsigned short PacketLength
/* this+0x4 */ unsigned long accountID
/* this+0x8 */ char name[24]
/* this+0x20 */ char msg[...]
}
// packet 0x2dd
struct PACKET_ZC_BATTLEFIELD_NOTIFY_CAMPINFO {
/* this+0x0 */ short PacketType
/* this+0x2 */ unsigned long accountID
/* this+0x6 */ char name[24]
/* this+0x1e */ short camp
}
// packet 0x2de
struct PACKET_ZC_BATTLEFIELD_NOTIFY_POINT {
/* this+0x0 */ short PacketType
/* this+0x2 */ short pointCampA
/* this+0x4 */ short pointCampB
}
// packet 0x2df
struct PACKET_ZC_BATTLEFIELD_NOTIFY_POSITION {
/* this+0x0 */ short PacketType
/* this+0x2 */ unsigned long accountID
/* this+0x6 */ char name[24]
/* this+0x1e */ unsigned short job
/* this+0x20 */ short x
/* this+0x22 */ short y
}
// packet 0x2e0
struct PACKET_ZC_BATTLEFIELD_NOTIFY_HP {
/* this+0x0 */ short PacketType
/* this+0x2 */ unsigned long accountID
/* this+0x6 */ char name[24]
/* this+0x1e */ short hp
/* this+0x20 */ short maxHp
}
// packet 0x2e7
// NOTE:
// mapInfoTable one will be written to: g_session.m_mapInfoTable[packet->type][i]
// and resset to 0 on PACKET_ZC_NOTIFY_MAPPROPERTY and PACKET_ZC_NOTIFY_MAPPROPERTY2 as thus only implement "type" param
// This packet Implement Additional Zone Characteristics.
// This packet is resend to client on entering Piece/Battle zones on map.
struct PACKET_ZC_MAPPROPERTY {
/* this+0x0 */ short PacketType
/* this+0x2 */ unsigned short PacketLength
/* this+0x4 */ short type
/* this+0x6 */ int mapInfoTable[...]
}
// param "type":
enum {
MAPPROPERTY_NOTHING = 0x0,
MAPPROPERTY_FREEPVPZONE = 0x1,
MAPPROPERTY_EVENTPVPZONE = 0x2,
MAPPROPERTY_AGITZONE = 0x3,
MAPPROPERTY_PKSERVERZONE = 0x4,
MAPPROPERTY_PVPSERVERZONE = 0x5,
MAPPROPERTY_DENYSKILLZONE = 0x6
}
// param "mapInfoTable":
enum {
MAPPROPERTY_PK = 0x0,
MAPPROPERTY_TELEPORT = 0x1,
MAPPROPERTY_NOTREMEMBER = 0x2,
MAPPROPERTY_ITEMDROP = 0x3,
MAPPROPERTY_EXP = 0x4,
MAPPROPERTY_DISCONNECT_NOTREMEMBER = 0x5,
MAPPROPERTY_CALLMONSTER = 0x6,
MAPPROPERTY_PARTY = 0x7,
MAPPROPERTY_GUILD = 0x8,
MAPPROPERTY_SIEGE = 0x9,
MAPPROPERTY_PKSERVER = 0xa,
MAPPROPERTY_PVPSERVER = 0xb,
MAPPROPERTY_DENYSKILL = 0xc,
MAPPROPERTY_TURBOTRACK = 0xd,
MAPPROPERTY_DENY_BUTTERFLY = 0xe,
MAPPROPERTY_USE_SIMPLE_EFFECT = 0xf,
MAPPROPERTY_DISABLE_LOCKON = 0x10,
MAPPROPERTY_COUNT_PK = 0x11,
MAPPROPERTY_NO_PARTY_FORMATION = 0x12,
MAPPROPERTY_BATTLEFIELD = 0x13,
MAPPROPERTY_LAST = 0x14,
MAPPROPERTY_HIDING_DAMAGE = 0x15,
MAPPROPERTY_DISABLE_KNOCKBACK = 0x16,
MAPPROPERTY_LONG_INSUPERABLE_TIME = 0x17,
MAPPROPERTY_NAMED_BOOTY = 0x18,
MAPPROPERTY_SIEGETIME_VERSION = 0x19,
MAPPROPERTY_GOTOTOWN = 0x1a,
MAPPROPERTY_NORMAL_DAMAGE = 0x1b,
MAPPROPERTY_RANGE_DAMAGE = 0x1c,
MAPPROPERTY_BLOCK_EQUIPITEM = 0x1d,
MAPPROPERTY_BLOCK_BUFF = 0x1e,
MAPPROPERTY_NO_CHATTING = 0x1f
}
// packet 0x2f0
struct PACKET_ZC_PROGRESS {
/* this+0x0 */ short PacketType
/* this+0x2 */ unsigned long color
/* this+0x6 */ unsigned long time
}
// packet 0x2f1
struct PACKET_CZ_PROGRESS {
/* this+0x0 */ short PacketType
}
// packet 0x2f2
struct PACKET_ZC_PROGRESS_CANCEL {
/* this+0x0 */ short PacketType
}
// packet 0x7d9
struct PACKET_ZC_SHORTCUT_KEY_LIST_V2 {
/* this+0x0 */ short PacketType
/* this+0x2 */ struct ShortCutKey ShortCutKey[38] {
/* this+0x0 */ char isSkill
/* this+0x1 */ unsigned long ID
/* this+0x5 */ short count
}
}
// packet: 0x7f6
// NOTE:
// Looks like packet 00B1 PACKET_ZC_LONGPAR_CHANGE, but with additional "AID" (Must be yours or 0)
// and "expType" that switches type of Experience gained.
struct PACKET_ZC_NOTIFY_EXP {
/* this+0x0 */ short PacketType
/* this+0x2 */ unsigned long AID
/* this+0x6 */ int amount
/* this+0xa */ unsigned short varID
/* this+0xc */ short expType {
EXP_FROM_BATTLE = 0x0,
EXP_FROM_QUEST = 0x1,
}
}
// packet: 0x7fa
struct PACKET_ZC_DELETE_ITEM_FROM_BODY {
/* this+0x0 */ short PacketType
/* this+0x2 */ short DeleteType {
DELETE_TYPE_NORMAL = 0x0,
DELETE_TYPE_USE_SKILL = 0x1,
DELETE_TYPE_FAIL_REFINING = 0x2,
DELETE_TYPE_CHANGE_MATERIAL = 0x3,
DELETE_TYPE_MOVETO_STORE = 0x4,
DELETE_TYPE_MOVETO_CART = 0x5,
DELETE_TYPE_SELL_ITEM = 0x6,
}
/* this+0x4 */ unsigned short Index
/* this+0x6 */ short Count
}
// packet 0x7ff
// NOTE:
// I did not seen this packet in wild, with "PacketLength" more then 8.
struct PACKET_ZC_DEFINE_CHECK {
/* this+0x0 */ short PacketType
/* this+0x2 */ short PacketLength
/* this+0x4 */ int Result {
DEFINE__BROADCASTING_SPECIAL_ITEM_OBTAIN = 0x1,
DEFINE__RENEWAL_ADD_2 = 0x2,
DEFINE__CHANNELING_SERVICE = 0x4,
}
}
// packet: 0x80f
struct PACKET_ZC_ADD_EXCHANGE_ITEM2 {
/* this+0x0 */ short PacketType
/* this+0x2 */ unsigned short ITID
/* this+0x4 */ unsigned char type
/* this+0x5 */ int count
/* this+0x9 */ bool IsIdentified
/* this+0xa */ bool IsDamaged
/* this+0xb */ unsigned char refiningLevel
/* this+0xc */ struct EQUIPSLOTINFO slot {
/* this+0x0 */ unsigned short info[4]
}
}