Собственно говоря руки дошли у себя до системы гомункулов и в целом реализация проблем не вызвала, за исключением одного косяка - при создании гомункула не отображает информацию о нем, хотя все пакеты нужные в необходимой последовательности шлются.
Собственно вопрос тем, кто интерфейс колупает - откуда вобще в это окно клиент пытается подтянуть инфу о том, какой именно гомункул создан.
ну и пакеты, которые я отправляю клиенту при создании
Java:
player.sendPacket(new ExShowHomunculusBirthInfo(player), new ExShowHomunculusList(player), new ExHomunculusSummonResult(1, SystemMsg.A_NEW_HOMUNCULUS_IS_CREATED));
Ах да, хроники если что Homunculus Ch.2, 286 протокол.
Через 30 минут на оф схожу и напишу какие там пакеты шлются с их внутреностями
UPD через 6 часов.
После входа в игру идет пакет - EX_HOMUNCULUS_SIDEBAR - но это 464 пакет.
Дальше при входе в игру идет - EX_HOMUNCULUS_POINT_INFO
Ну и при входе опять де - EX_HOMUNCULUS_READY
При создании
С -> S
EX_HOMUNCULUS_SUMMON
S -> C
EX_SHOW_HOMUNCULUS_BIRTH_INFO (кажись 2 и все нули)
S -> C
EX_SHOW_HOMUNCULUS_LIST
S -> C
EX_HOMUNCULUS_SUMMON_RESULT
Так в том то и дело что последовательность пакетов вроде как правильная - я у Bacek'а на эту тему интересовался и он сказал что по крайней мере в более новых хрониках именно эти и шлются.
Так что я или что-то упускаю или же в 286 протоколе как-то по другому это слалось...
З.Ы. Досадно что TotalChecker2015 в слитом птс хомки слишком старый и в нем еще нет ничего по гомункулам, а то бы просто там можно было поглядеть в нужных функциях, что и как шлется при создании гомункула...
Все - нашлась причина и оказалась она тупейшей...
Я то, что шлется в пакете ExShowHomunculusList в свое время глянул у мобиуса и сделал отправку там по аналогии. Ну а там оказывается есть косяк - у него и у меня в итоге всегда шлются данные для всех открытых слотов, просто для пустых шлются нули в данных.
А слать надо инфу только о занятых слотах - только тогда клиент при добавлении нового гомункула поймет, какой из полученного списка новый и что его надо показать в окне создания.
Все - нашлась причина и оказалась она тупейшей...
Я то, что шлется в пакете ExShowHomunculusList в свое время глянул у мобиуса и сделал отправку там по аналогии. Ну а там оказывается есть косяк - у него и у меня в итоге всегда шлются данные для всех открытых слотов, просто для пустых шлются нули в данных.
А слать надо инфу только о занятых слотах - только тогда клиент при добавлении нового гомункула поймет, какой из полученного списка новый и что его надо показать в окне создания.