Чет мне кажется это не корейцы сделали, а вполне себе легаси от лыжи, которое никто никогда не пытался сделать нормально)))
Ну в 336 пакет RequestItemList, запрашивающий ItemList, шлется клиентом всего один раз, в отличие от более старых хроник где этот пакет прилетает от клиента при каждом открытии инвентаря.
Ну и при следующих открытиях инвентаря в 336 уже летит другой пакет - RequestItemUsableList, в котором уже можно слать чисто InventoryUpdate с измененными предметами.
Просто я хз, зачем постоянно слать полный инвентарь. У меня на ХФ эти пакеты(S_ITEMLIST + S_EX_QUEST_ITEMLIST) отправляется всего в трех ситуациях.
1) Вход в игру.
2) Блокировка итемов в инвентаре(трансформы например)
3) Разблокировка итемов в инвентаре(выход из трансформы например)
ВСЕ остальные взаимодействия с инвентарем через другие пакеты S_INVENTORY_UPDATE, S_EX_BR_AGATHION_ENERGY_INFO.
Видел много где, что отправляется S_ITEMLIST + S_EX_QUEST_ITEMLIST в ответ на каждый полученный C_ITEMLIST, но это неправильно.
так эта логика вроде почти во всех вменяемых сборках сделана, что на изменения конкретных предметов именно что IU шлется а не весь итемлист на каждый чих шлется - ведь это самый логичный способ.
а полный итемлист только когда именно что клиентский пакет на него приходит.
но кстати надо будет у себя в 286 тоже попробовать по минимуму его слать даже при открытии инвентаря. просто помнится какие-то проблемы были когда я пытался его слать не всегда при приходе RequestItemList и тогда я временно забил на то чтобы разбираться со всем этим, т.к. были дела поважнее
сейчас у меня он тоже шлется всего в нескольких ситуациях:
- вход в игру
- блокировка/разблокировка предметов
- в ответ на пакет RequestItemList
З.Ы. кстати смотрел во многих сборках, типа мобиуса и т.д., для хроник где были переделаны все пакеты где шлются списки предметов на отправку частями и то как это в этих сборках сделали - это тихий ужас
Если кто не в курсе, то корейцы, не помню с какого конкретно протокола, переделали все пакеты инвентаря, почты и т.д. так, что можно слать списки предметов в них частями - сначала шлется так сказать заголовочный пакет с нужными данными, а затем уже сами части со списками предметов.
Ну и косяк во многих сборках состоит в том, что для каждой отправки таких пакетов идет генерация списков отправляемого, т.к. по сути на отправку каждой части таких пакетов генерится заново один и тот же список, что достаточно бредово и тупо.