Цитата:
Сообщение от ChipWarl
+ дописал параметр в player
...
|
не только туда, но еще в 3 метода в PcInventory (в sendAddItem, sendModifyItem и sendRemoveItem), но отправлять только при условии что обрабатываемым итемом является адена - чтобы лишний раз не слать этот пакет при каждом изменении любой вещи в инвентаре.
Добавлено через 2 минуты
Цитата:
Сообщение от ChipWarl
+ ещё проблемка с письмами. не отображается кол-во писем..
|
отсылай в EnterWorld, а затем везде где идет прием новых писем, в дополнение к имеющимся отправкаи пакетов с уведомлением что пришло письмо и все такое.
для EnterWorld что-то типа такого:
private void checkNewMail(Player player)
{
int count = 0;
for (Mail mail : MailDAO.getInstance().getReceivedMailByOwnerId(player.getObjectId()))
if (mail.isUnread())
count++;
if (count > 0)
sendPacket(ExNoticePostArrived.STATIC_FALSE);
sendPacket(new ExUnReadMailCount(count));
player.setUnreadMailCount(count);
}
Code: Java
а для всех остальных случаев используй переменную для персонажа (начальное значение для нее и выставляется тут в последней строке метода) и ее и дергай (и меняй тоже, при установке пометки что письмо прочитано и т.д.) для показа в пакете - так экономичней чем каждый раз лезть в бд для получения списка писем и проверки - сколько из них непрочитанных.