пакетка Lindvior - Форум администраторов игровых серверов
Форум администраторов игровых серверов StormWall - Защита от DDos атак
Регистрация Мнения Справка Сообщество Календарь
Вернуться   Форум администраторов игровых серверов > MMO > Lineage II > Работа со скриптами

Работа со скриптами Помощь в редактировании и написании квестов к Java серверам, а так же эвентов.

Ответ
Опции темы
Непрочитано 28.06.2013, 13:52   #1
Аватар для ChipWarl
Пользователь

Автор темы (Топик Стартер) пакетка Lindvior

ребят нужна помощь)
в каких пакетах находится отображение в нижней панельке?

http://i.imgur.com/ZCUuxdR.png
ChipWarl вне форума Отправить сообщение для ChipWarl с помощью ICQ Отправить сообщение для ChipWarl с помощью Skype™ Ответить с цитированием
Непрочитано 28.06.2013, 14:03   #2
Аватар для darkevil

По умолчанию Re: пакетка Lindvior

Много разных, не в одном.
__________________
darkevil вне форума Отправить сообщение для darkevil с помощью ICQ Отправить сообщение для darkevil с помощью Skype™ Ответить с цитированием
Непрочитано 28.06.2013, 14:13   #3
Аватар для ChipWarl
Пользователь

Автор темы (Топик Стартер) Re: пакетка Lindvior

название можно пакетов?)
ChipWarl вне форума Отправить сообщение для ChipWarl с помощью ICQ Отправить сообщение для ChipWarl с помощью Skype™ Ответить с цитированием
Непрочитано 28.06.2013, 14:20   #4
Олдфаг

По умолчанию Re: пакетка Lindvior

public static final int ExUnReadMailCount = 0x146;
public static final int ExPledgeCount = 0x147;
public static final int ExAdenaInvenCount = 0x148;
smeli вне форума Ответить с цитированием
Сказали спасибо:
Непрочитано 28.06.2013, 15:33   #5
Аватар для ChipWarl
Пользователь

Автор темы (Топик Стартер) Re: пакетка Lindvior

адена не отображается) в чем проблема?

Код:
package lind.gameserver.network.serverpackets;

import lind.gameserver.model.Player;

public class ExAdenaInvenCount extends L2GameServerPacket {
    public int invsize;
    public long count;

    public ExAdenaInvenCount(Player pl) {
        count = pl.getInventory().getAdena();
        invsize = pl.getInventory().getSize();
    }

    @Override
    protected void writeImpl() {
        writeEx(0x148);
        writeQ(count);
        writeD(invsize);
    }
}
Добавлено через 5 минут
+ дописал параметр в player

Код:
        sendPacket(new ExAdenaInvenCount(this));
    }

Последний раз редактировалось ChipWarl; 28.06.2013 в 15:39. Причина: Добавлено сообщение
ChipWarl вне форума Отправить сообщение для ChipWarl с помощью ICQ Отправить сообщение для ChipWarl с помощью Skype™ Ответить с цитированием
Непрочитано 28.06.2013, 16:10   #6
Олдфаг

По умолчанию Re: пакетка Lindvior

в клиенте есть галочька неотображать там адену

---

ещё возможно посылаете не ввовремя
smeli вне форума Ответить с цитированием
Сказали спасибо:
Непрочитано 28.06.2013, 16:27   #7
Аватар для ChipWarl
Пользователь

Автор темы (Топик Стартер) Re: пакетка Lindvior

пакетки разобрал всё норм
осталось с кланом)
кто подкинет пакет?)
ChipWarl вне форума Отправить сообщение для ChipWarl с помощью ICQ Отправить сообщение для ChipWarl с помощью Skype™ Ответить с цитированием
Непрочитано 28.06.2013, 17:33   #8
Аватар для Gaikotsu
Герой

По умолчанию Re: пакетка Lindvior

чего там подкидывать то - он почти такой же как и остальные

package l2p.gameserver.network.serverpackets;
 
import l2p.gameserver.network.serverpackets.components.ServerPacket;
 
public class ExPledgeCount extends L2GameServerPacket
{
	public static final ExPledgeCount STATIC = new ExPledgeCount(0);
 
	private int _count;
 
	public ExPledgeCount(int count)
	{
		_count = count + 1;
	}
 
	@Override
	protected void writeImpl()
	{
		writeEx(ServerPacket.ExPledgeCount);
		writeD(_count);
	}
}
Code: Java
и отсылай его везде где меняется количество членов клана в онлайне (вход/выход мемберов в игре, вступление/исключение и т.д.)

P.S. не удивляйся странной прибавке +1 к количеству, в клиенте отображает на единицу меньшее значение, чем то что посылаешь, т.е. без прибавки получается не будет учитывать самого игрока в количестве онлайн-мемберов.
Gaikotsu вне форума Ответить с цитированием
Сказали спасибо:
Непрочитано 28.06.2013, 17:36   #9
Аватар для ChipWarl
Пользователь

Автор темы (Топик Стартер) Re: пакетка Lindvior

а если например взять кусок кода из кода клана?
где показывает кол-во мемберов

Добавлено через 2 минуты
+ ещё проблемка с письмами. не отображается кол-во писем..
Код:
package lind.gameserver.network.serverpackets;

import lind.gameserver.model.mail.Mail;

public class ExUnReadMailCount extends L2GameServerPacket {
    public int count;

    public ExUnReadMailCount(Mail mail) {
        count = mail.getMessageId();
    }

    @Override
    protected void writeImpl() {
        writeEx(0x146);
        writeD(count);
    }
}

Последний раз редактировалось ChipWarl; 28.06.2013 в 17:39. Причина: Добавлено сообщение
ChipWarl вне форума Отправить сообщение для ChipWarl с помощью ICQ Отправить сообщение для ChipWarl с помощью Skype™ Ответить с цитированием
Непрочитано 28.06.2013, 17:39   #10
Аватар для Gaikotsu
Герой

По умолчанию Re: пакетка Lindvior

Цитата:
Сообщение от 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
а для всех остальных случаев используй переменную для персонажа (начальное значение для нее и выставляется тут в последней строке метода) и ее и дергай (и меняй тоже, при установке пометки что письмо прочитано и т.д.) для показа в пакете - так экономичней чем каждый раз лезть в бд для получения списка писем и проверки - сколько из них непрочитанных.

Последний раз редактировалось Gaikotsu; 28.06.2013 в 17:49. Причина: Добавлено сообщение
Gaikotsu вне форума Ответить с цитированием
Сказали спасибо:
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Совместимость Rguard И Lindvior Krasavella Lineage II 32 27.10.2014 15:29
Помогите! Нужен патч Lindvior 520 протокол Mr.Luck Lineage II 8 27.08.2013 18:03
Некоторые ddf для Lindvior (l2.ru PTS) Hint Игровой клиент 12 30.05.2013 17:09
Lindvior FileEdit MyImmortal Игровой клиент 1 18.03.2013 06:36
Я один незнал про Lindvior? Genokk22 Курилка / Yak floor 11 03.11.2012 06:00


© 2007–2024 «Форум администраторов игровых серверов»
Защита сайта от DDoS атак — StormWall
Работает на Булке неизвестной версии с переводом от zCarot
Текущее время: 19:16. Часовой пояс GMT +3.

Вверх