From 82b18787fca15135d02dd9ae14a0f52ddc830636 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Sat, 24 Feb 2018 18:32:09 +0300 Subject: Update shuffle packets and keys for clients up to 20180309. --- src/map/packets.h | 23 ++++++++- src/map/packets_keys_main.h | 23 +++++++-- src/map/packets_keys_zero.h | 17 +++++++ src/map/packets_shuffle_main.h | 107 +++++++++++++++++++++++++++++++++++++++-- src/map/packets_shuffle_zero.h | 101 ++++++++++++++++++++++++++++++++++++++ 5 files changed, 264 insertions(+), 7 deletions(-) diff --git a/src/map/packets.h b/src/map/packets.h index 4c41a7e8f..462efd31b 100644 --- a/src/map/packets.h +++ b/src/map/packets.h @@ -3995,11 +3995,15 @@ packet(0x96e,-1,clif->ackmergeitems); packet(0x0af3,-1,clif->pDull/*,XXX*/); packet(0x0af4,11,clif->pDull/*,XXX*/); // changed packet sizes - packet(0x0821,102); // AC_OTP_USER packet(0x0ae6,10,clif->pDull/*,XXX*/); #endif #endif // PACKETVER_ZERO +#if PACKETVER >= 20180131 +// changed packet sizes + packet(0x0821,102); // AC_OTP_USER +#endif + #ifdef PACKETVER_ZERO // 2018-02-07bRagexe_zero #if PACKETVER >= 20180207 @@ -4022,5 +4026,22 @@ packet(0x96e,-1,clif->ackmergeitems); #endif #endif // PACKETVER_ZERO +#ifdef PACKETVER_RE +// 2018-02-21aRagexeRE +#if PACKETVER >= 20180221 +// new packets +// changed packet sizes + packet(0x0206,35); // ZC_FRIENDS_STATE +#endif +#endif // PACKETVER_RE + +#ifndef PACKETVER_ZERO +// 2018-03-07bRagexe +#if PACKETVER >= 20180307 +// new packets +// changed packet sizes + packet(0x0206,35); // ZC_FRIENDS_STATE +#endif +#endif // PACKETVER_ZERO #endif /* MAP_PACKETS_H */ diff --git a/src/map/packets_keys_main.h b/src/map/packets_keys_main.h index 9aa39fad5..066e7d2c3 100644 --- a/src/map/packets_keys_main.h +++ b/src/map/packets_keys_main.h @@ -1949,15 +1949,32 @@ packetKeys(0x21F477F4,0x37F437F4,0x37F437F4); #endif -// 2018-01-24bRagexe, 2018-01-24bRagexeRE -#if PACKETVER == 20180124 +// 2018-01-24bRagexe, 2018-01-24bRagexeRE, 2018-01-31Ragexe +#if PACKETVER == 20180124 || \ + PACKETVER == 20180131 packetKeys(0x7EAA1CE0,0x415D1CFD,0x4C8F19FA); #endif -// 2018-02-07bRagexe, 2018-02-07bRagexeRE +// 2018-02-07bRagexe, 2018-02-07bRagexeRE, 2018-02-07cRagexe #if PACKETVER == 20180207 packetKeys(0x45AA1B44,0x20E716B7,0x5388105C); #endif +// 2018-02-13aRagexe, 2018-02-13aRagexeRE, 2018-02-13bRagexe +#if PACKETVER == 20180213 + packetKeys(0x189D69B2,0x43B85EAD,0x2B7A687E); +#endif + +// 2018-02-21aRagexeRE, 2018-02-21bRagexe, 2018-02-21bRagexeRE +#if PACKETVER == 20180221 + packetKeys(0x6E2F6233,0x193B0A66,0x0D1D2CA5); +#endif + +// 2018-03-07bRagexe, 2018-03-07bRagexeRE, 2018-03-09aRagexe +#if PACKETVER == 20180307 || \ + PACKETVER == 20180309 + packetKeys(0x47DA10EB,0x4B922CCF,0x765C5055); +#endif + #endif /* MAP_PACKETS_MAIN_KEYS_H */ diff --git a/src/map/packets_keys_zero.h b/src/map/packets_keys_zero.h index 101d0b973..75196e6b4 100644 --- a/src/map/packets_keys_zero.h +++ b/src/map/packets_keys_zero.h @@ -124,5 +124,22 @@ packetKeys(0x07CB29CB,0x69CB69CB,0x69CB69CB); #endif +// 2018-02-13aRagexe_zero +#if PACKETVER == 20180213 + packetKeys(0x0513075E,0x347075AF,0x67C56C6F); +#endif + +// 2018-02-21aRagexe_zero +#if PACKETVER == 20180221 + packetKeys(0x28ED7635,0x76591F21,0x59383498); +#endif + +// 2018-02-28bRagexe_zero, 2018-03-07aRagexe_zero, 2018-03-09aRagexe_zero +#if PACKETVER == 20180228 || \ + PACKETVER == 20180307 || \ + PACKETVER == 20180309 + packetKeys(0x56C82ABE,0x61AE2B2E,0x472E272E); +#endif + #endif /* MAP_PACKETS_ZERO_KEYS_H */ diff --git a/src/map/packets_shuffle_main.h b/src/map/packets_shuffle_main.h index 13861dd46..aabf9c3f3 100644 --- a/src/map/packets_shuffle_main.h +++ b/src/map/packets_shuffle_main.h @@ -9500,8 +9500,9 @@ packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME #endif -// 2018-01-24bRagexe, 2018-01-24bRagexeRE -#if PACKETVER == 20180124 +// 2018-01-24bRagexe, 2018-01-24bRagexeRE, 2018-01-31Ragexe +#if PACKETVER == 20180124 || \ + PACKETVER == 20180131 packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX @@ -9533,7 +9534,7 @@ packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME #endif -// 2018-02-07bRagexe, 2018-02-07bRagexeRE +// 2018-02-07bRagexe, 2018-02-07bRagexeRE, 2018-02-07cRagexe #if PACKETVER == 20180207 packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES packet(0x035f,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE @@ -9566,5 +9567,105 @@ packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME #endif +// 2018-02-13aRagexe, 2018-02-13aRagexeRE, 2018-02-13bRagexe +#if PACKETVER == 20180213 + packet(0x0369,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD + packet(0x0802,6,clif->pDropItem,2,4); // CZ_ITEM_THROW + packet(0x0817,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX + packet(0x085a,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK + packet(0x086f,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ + packet(0x0874,6,clif->pTickSend,2); // CZ_REQUEST_TIME + packet(0x0875,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY + packet(0x0878,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION + packet(0x087b,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE + packet(0x0882,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL + packet(0x088c,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO + packet(0x0892,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP + packet(0x0898,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE + packet(0x089c,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK + packet(0x08a3,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER + packet(0x08a5,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE + packet(0x08a9,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE + packet(0x08ad,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID + packet(0x0917,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS + packet(0x0922,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE + packet(0x0924,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND + packet(0x0926,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD + packet(0x0933,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT + packet(0x0936,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE + packet(0x093c,6,clif->pGetCharNameRequest,2); // CZ_REQNAME + packet(0x0943,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER + packet(0x0955,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE + packet(0x095a,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES + packet(0x0962,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER +#endif + +// 2018-02-21aRagexeRE, 2018-02-21bRagexe, 2018-02-21bRagexeRE +#if PACKETVER == 20180221 + packet(0x0202,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX + packet(0x0366,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD + packet(0x0436,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS + packet(0x0838,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION + packet(0x0867,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO + packet(0x086c,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE + packet(0x086f,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE + packet(0x0871,6,clif->pDropItem,2,4); // CZ_ITEM_THROW + packet(0x0876,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER + packet(0x0879,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE + packet(0x087d,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE + packet(0x0880,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES + packet(0x0881,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER + packet(0x0883,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE + packet(0x088f,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID + packet(0x0891,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK + packet(0x0897,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER + packet(0x0899,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE + packet(0x089d,6,clif->pTickSend,2); // CZ_REQUEST_TIME + packet(0x0917,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD + packet(0x091e,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY + packet(0x0929,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE + packet(0x093d,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ + packet(0x094b,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL + packet(0x094d,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND + packet(0x094e,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP + packet(0x0957,6,clif->pGetCharNameRequest,2); // CZ_REQNAME + packet(0x0964,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK + packet(0x096a,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT +#endif + +// 2018-03-07bRagexe, 2018-03-07bRagexeRE, 2018-03-09aRagexe +#if PACKETVER == 20180307 || \ + PACKETVER == 20180309 + packet(0x0281,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK + packet(0x035f,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE + packet(0x0437,6,clif->pDropItem,2,4); // CZ_ITEM_THROW + packet(0x07e4,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER + packet(0x0861,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX + packet(0x0862,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE + packet(0x0864,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO + packet(0x086c,6,clif->pTickSend,2); // CZ_REQUEST_TIME + packet(0x0870,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES + packet(0x0872,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER + packet(0x0877,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE + packet(0x088d,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY + packet(0x0893,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL + packet(0x089b,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK + packet(0x08a6,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE + packet(0x08aa,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS + packet(0x08ab,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION + packet(0x0917,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND + packet(0x0920,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE + packet(0x0937,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE + packet(0x0939,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD + packet(0x093d,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE + packet(0x0941,6,clif->pGetCharNameRequest,2); // CZ_REQNAME + packet(0x0944,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER + packet(0x0948,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ + packet(0x0951,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD + packet(0x0954,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP + packet(0x0957,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID + packet(0x0969,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT +#endif + #endif /* MAP_PACKETS_SHUFFLE_MAIN_H */ diff --git a/src/map/packets_shuffle_zero.h b/src/map/packets_shuffle_zero.h index 38c34b18e..463ab1679 100644 --- a/src/map/packets_shuffle_zero.h +++ b/src/map/packets_shuffle_zero.h @@ -551,5 +551,106 @@ packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME #endif +// 2018-02-13aRagexe_zero +#if PACKETVER == 20180213 + packet(0x022d,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION + packet(0x02c4,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE + packet(0x035f,6,clif->pDropItem,2,4); // CZ_ITEM_THROW + packet(0x0361,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX + packet(0x0802,6,clif->pTickSend,2); // CZ_REQUEST_TIME + packet(0x0815,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL + packet(0x0838,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE + packet(0x085a,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO + packet(0x085d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER + packet(0x0868,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER + packet(0x087b,6,clif->pGetCharNameRequest,2); // CZ_REQNAME + packet(0x0882,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK + packet(0x0887,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES + packet(0x0888,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID + packet(0x088a,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK + packet(0x088e,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE + packet(0x0899,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS + packet(0x0917,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT + packet(0x091d,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE + packet(0x0922,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE + packet(0x0930,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD + packet(0x0941,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER + packet(0x0942,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY + packet(0x0947,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP + packet(0x094d,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND + packet(0x0958,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ + packet(0x095b,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE + packet(0x095c,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE + packet(0x0967,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD +#endif + +// 2018-02-21aRagexe_zero +#if PACKETVER == 20180221 + packet(0x02c4,6,clif->pTickSend,2); // CZ_REQUEST_TIME + packet(0x0362,6,clif->pGetCharNameRequest,2); // CZ_REQNAME + packet(0x0364,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION + packet(0x0438,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES + packet(0x0817,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO + packet(0x085b,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND + packet(0x086a,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD + packet(0x0878,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE + packet(0x0880,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER + packet(0x0884,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE + packet(0x088d,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID + packet(0x0892,6,clif->pDropItem,2,4); // CZ_ITEM_THROW + packet(0x0895,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE + packet(0x08a1,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE + packet(0x08a3,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL + packet(0x091b,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX + packet(0x0921,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE + packet(0x0923,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER + packet(0x092d,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS + packet(0x0932,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE + packet(0x093b,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK + packet(0x093d,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ + packet(0x093e,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY + packet(0x0942,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD + packet(0x0951,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER + packet(0x0952,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK + packet(0x0958,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT + packet(0x0959,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE + packet(0x095d,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP +#endif + +// 2018-02-28bRagexe_zero, 2018-03-07aRagexe_zero, 2018-03-09aRagexe_zero +#if PACKETVER == 20180228 || \ + PACKETVER == 20180307 || \ + PACKETVER == 20180309 + packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION + packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER + packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS + packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES + packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME + packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE + packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER + packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW + packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD + packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY + packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER + packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX + packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID + packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT + packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK + packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE + packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND + packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP + packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE + packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ + packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE + packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE + packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE + packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO + packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE + packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK + packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL + packet(0x0930,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD + packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME +#endif + #endif /* MAP_PACKETS_SHUFFLE_ZERO_H */ -- cgit v1.2.3-70-g09d2 From c676bdd25be81095abec067aa61f18eb1cdbdd87 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Sat, 24 Feb 2018 19:16:44 +0300 Subject: Fix friend status update packet for clients 20180221 and newer. --- src/map/clif.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/map/clif.c b/src/map/clif.c index f8f50c7ee..1aee4fc1d 100644 --- a/src/map/clif.c +++ b/src/map/clif.c @@ -14182,6 +14182,7 @@ void clif_parse_NoviceExplosionSpirits(int fd, struct map_session_data *sd) /// Toggles a single friend online/offline [Skotlex] (ZC_FRIENDS_STATE). /// 0206 .L .L .B +/// 0206 .L .L .B .24B /// state: /// 0 = online /// 1 = offline @@ -14201,7 +14202,13 @@ void clif_friendslist_toggle(struct map_session_data *sd,int account_id, int cha WFIFOW(fd, 0) = 0x206; WFIFOL(fd, 2) = sd->status.friends[i].account_id; WFIFOL(fd, 6) = sd->status.friends[i].char_id; - WFIFOB(fd,10) = !online; //Yeah, a 1 here means "logged off", go figure... + WFIFOB(fd, 10) = !online; //Yeah, a 1 here means "logged off", go figure... +#ifndef PACKETVER_ZERO +#if PACKETVER >= 20180307 || (defined(PACKETVER_RE) && PACKETVER >= 20180221) + memcpy(WFIFOP(fd, 11), sd->status.friends[i].name, NAME_LENGTH); +#endif +#endif // PACKETVER_ZERO + WFIFOSET(fd, packet_len(0x206)); } -- cgit v1.2.3-70-g09d2 From 7b72dee98c9cac94fe94c24d5ca791fac9f9f4ad Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Sat, 24 Feb 2018 21:17:04 +0300 Subject: Fix friend list packet for clients 20180221 and newer. --- src/map/clif.c | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/src/map/clif.c b/src/map/clif.c index 1aee4fc1d..e3e659234 100644 --- a/src/map/clif.c +++ b/src/map/clif.c @@ -14225,22 +14225,30 @@ int clif_friendslist_toggle_sub(struct map_session_data *sd,va_list ap) /// Sends the whole friends list (ZC_FRIENDS_LIST). /// 0201 .W { .L .L .24B }* +/// 0201 .W { .L .L }* void clif_friendslist_send(struct map_session_data *sd) { int i = 0, n, fd = sd->fd; +#if !defined(PACKETVER_ZERO) && (PACKETVER >= 20180307 || (defined(PACKETVER_RE) && PACKETVER >= 20180221)) + const int offset = 8; +#else + const int offset = 32; +#endif nullpo_retv(sd); // Send friends list - WFIFOHEAD(fd, MAX_FRIENDS * 32 + 4); + WFIFOHEAD(fd, MAX_FRIENDS * offset + 4); WFIFOW(fd, 0) = 0x201; for(i = 0; i < MAX_FRIENDS && sd->status.friends[i].char_id; i++) { - WFIFOL(fd, 4 + 32 * i + 0) = sd->status.friends[i].account_id; - WFIFOL(fd, 4 + 32 * i + 4) = sd->status.friends[i].char_id; - memcpy(WFIFOP(fd, 4 + 32 * i + 8), &sd->status.friends[i].name, NAME_LENGTH); + WFIFOL(fd, 4 + offset * i + 0) = sd->status.friends[i].account_id; + WFIFOL(fd, 4 + offset * i + 4) = sd->status.friends[i].char_id; +#if !(!defined(PACKETVER_ZERO) && (PACKETVER >= 20180307 || (defined(PACKETVER_RE) && PACKETVER >= 20180221))) + memcpy(WFIFOP(fd, 4 + offset * i + 8), &sd->status.friends[i].name, NAME_LENGTH); +#endif } if (i) { - WFIFOW(fd,2) = 4 + 32 * i; + WFIFOW(fd,2) = 4 + offset * i; WFIFOSET(fd, WFIFOW(fd,2)); } -- cgit v1.2.3-70-g09d2 From 4f9223991eb2029c1069d57eab219c303db42217 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Sat, 24 Feb 2018 23:48:21 +0300 Subject: Fix packet character name request reply for 20180221 clients. --- src/char/char.c | 5 +++++ src/map/clif.c | 25 ++++++++++++++++++++----- 2 files changed, 25 insertions(+), 5 deletions(-) diff --git a/src/char/char.c b/src/char/char.c index aef35f216..0069e7f1d 100644 --- a/src/char/char.c +++ b/src/char/char.c @@ -3328,7 +3328,12 @@ void char_char_name_ack(int fd, int char_id) WFIFOHEAD(fd,30); WFIFOW(fd,0) = 0x2b09; WFIFOL(fd,2) = char_id; +#if !defined(PACKETVER_ZERO) && (PACKETVER >= 20180307 || (defined(PACKETVER_RE) && PACKETVER >= 20180221)) + if (chr->loadName(char_id, WFIFOP(fd,6)) == 0) + WFIFOL(fd, 6) = 0; +#else chr->loadName(char_id, WFIFOP(fd,6)); +#endif WFIFOSET(fd,30); } diff --git a/src/map/clif.c b/src/map/clif.c index e3e659234..d2dc12377 100644 --- a/src/map/clif.c +++ b/src/map/clif.c @@ -6088,14 +6088,29 @@ void clif_wis_end(int fd, int flag) { /// Returns character name requested by char_id (ZC_ACK_REQNAME_BYGID). /// 0194 .L .24B +/// 0af7 .W .L .24B void clif_solved_charname(int fd, int charid, const char* name) { nullpo_retv(name); - WFIFOHEAD(fd,packet_len(0x194)); - WFIFOW(fd,0)=0x194; - WFIFOL(fd,2)=charid; - safestrncpy(WFIFOP(fd,6), name, NAME_LENGTH); - WFIFOSET(fd,packet_len(0x194)); +#if !defined(PACKETVER_ZERO) && (PACKETVER >= 20180307 || (defined(PACKETVER_RE) && PACKETVER >= 20180221)) + WFIFOHEAD(fd, packet_len(0x0af7)); + WFIFOW(fd, 0) = 0xaf7; + if (*name == 0) { + WFIFOW(fd, 2) = 2; + memset(WFIFOP(fd, 8), 0, NAME_LENGTH); + } else { + WFIFOW(fd, 2) = 3; + safestrncpy(WFIFOP(fd, 8), name, NAME_LENGTH); + } + WFIFOL(fd, 4) = charid; + WFIFOSET(fd, packet_len(0x0af7)); +#else + WFIFOHEAD(fd, packet_len(0x194)); + WFIFOW(fd, 0) = 0x194; + WFIFOL(fd, 2) = charid; + safestrncpy(WFIFOP(fd, 6), name, NAME_LENGTH); + WFIFOSET(fd, packet_len(0x194)); +#endif } /// Presents a list of items that can be carded/composed (ZC_ITEMCOMPOSITION_LIST). -- cgit v1.2.3-70-g09d2