| 
		
	
	
	
		
	Сообщений: 1,065 
	Тем: 20 
	Зарегистрирован: Mar 2010
	
 Репутация: 
3,855 
	
	
		Смотрел тут ролики по убийству линдвиора и заметил что на этапе зарядки генераторов некоторым игрокам около них на экране показывает кнопку, при нажатии на которую как я понял кастуется скилл на генератор.
 кто знает, что за пакет и какой структуры используется для показа этой кнопки?
 
	
	
	
		
	Сообщений: 199 
	Тем: 0 
	Зарегистрирован: Jul 2013
	
 Репутация: 
348 
	
	
		Gaikotsu Написал:Смотрел тут ролики по убийству линдвиора и заметил что на этапе зарядки генераторов некоторым игрокам около них на экране показывает кнопку, при нажатии на которую как я понял кастуется скилл на генератор.
 кто знает, что за пакет и какой структуры используется для показа этой кнопки?
 ExAbnormalStatusUpdateFromTarget, от номера эффекта зависит, так же как и с комбо скиллами..
	 
	
	
	
		
	Сообщений: 1,065 
	Тем: 20 
	Зарегистрирован: Mar 2010
	
 Репутация: 
3,855 
	
	
		Melcor Написал:ExAbnormalStatusUpdateFromTarget, от номера эффекта зависит, так же как и с комбо скиллами.. ошибся ты, этот пакет не при чем - методом тыка выяснил что показывается эта кнопка при помощи пакета ExAlterSkillRequest
 Код: package l2p.gameserver.network.serverpackets;
 import l2p.gameserver.network.serverpackets.components.Opcode;
 
 public class ExAlterSkillRequest extends L2GameServerPacket
 {
 private int _id1, _id2, _time;
 
 public ExAlterSkillRequest(int id1, int id2, int time)
 {
 _id1 = id1;
 _id2 = id2;
 _time = time;
 }
 
 @Override
 protected final void writeImpl()
 {
 writeEx(Opcode.ExAlterSkillRequest);
 writeD(_id1); // id скилла, запрос на каст которого будет отправлен при нажатии на кнопку
 writeD(_id2); // id скилла, который вызвал показ кнопки
 writeD(_time); // время показа кнопки, в секундах
 }
 }
непосредственно в случае с зарядкой генератора это будет так
 Код: player.sendPacket(new ExAlterSkillRequest(15606, 15605, 3));
при нажатии на кнопку от клиента прилетает пакет RequestMagicSkillUse, с запросом скастовать скилл 15606.
	 
	
	
	
		
	Сообщений: 199 
	Тем: 0 
	Зарегистрирован: Jul 2013
	
 Репутация: 
348 
	
	
		Gaikotsu Написал:ошибся ты, этот пакет не при чем - методом тыка выяснил что показывается эта кнопка при помощи пакета ExAlterSkillRequest
 непосредственно в случае с зарядкой генератора это будет такКод: package l2p.gameserver.network.serverpackets;
 import l2p.gameserver.network.serverpackets.components.Opcode;
 
 public class ExAlterSkillRequest extends L2GameServerPacket
 {
 private int _id1, _id2, _time;
 
 public ExAlterSkillRequest(int id1, int id2, int time)
 {
 _id1 = id1;
 _id2 = id2;
 _time = time;
 }
 
 @Override
 protected final void writeImpl()
 {
 writeEx(Opcode.ExAlterSkillRequest);
 writeD(_id1); // id скилла, запрос на каст которого будет отправлен при нажатии на кнопку
 writeD(_id2); // id скилла, который вызвал показ кнопки
 writeD(_time); // время показа кнопки, в секундах
 }
 }
 при нажатии на кнопку от клиента прилетает пакет RequestMagicSkillUse, с запросом скастовать скилл 15606.Код: player.sendPacket(new ExAlterSkillRequest(15606, 15605, 3));
 
Ну, незнаю, если отослать ExAbnormalStatusUpdateFromTarget
 Код:     @Overrideprotected final void writeImpl()
 {
 writeEx(0xE6);
 writeD(_objId);
 writeH(_effectArray.length);
 
 for(final Effect temp : _effectArray)
 {
 final Skill sk = temp.getSkill();
 
 writeD(sk.getDisplayId());
 writeH(sk.getDisplayLevel());
 writeD(getDisplayTypeOfEffect(sk));
 writeD(sk.isToggle() || sk.isFakeToggle());
 writeD((temp.getEffector() != null)?temp.getEffector().getObjectId() : 0);
 }
	}
 
и указав в getDisplayTypeOfEffect(sk) номер альтер скилла (в данном случае 499) - получится тоже самое.
 
з.ы. не видел вообще чтобы этот пакет (ExAlterSkillRequest) отсылался.
	 
	
	
	
		
	Сообщений: 441 
	Тем: 15 
	Зарегистрирован: Oct 2012
	
 Репутация: 
3,319 
	
	
		Уважаемые, кто-нибудь сталкивался с проблемой зависания клиента при вызове окна друзьяшек? Мне кажется, изменился какой-то пакет, но я не знаю какой и как. Подскажите, пожалуйста. Протокол 531.
	 
	
	
	
		
	Сообщений: 102 
	Тем: 0 
	Зарегистрирован: Dec 2012
	
 Репутация: 
139 
	
	
		elastic Написал:Уважаемые, кто-нибудь сталкивался с проблемой зависания клиента при вызове окна друзьяшек? Мне кажется, изменился какой-то пакет, но я не знаю какой и как. Подскажите, пожалуйста. Протокол 531. 
я данный пакет не изменял, и у меня работает без зависаний....
	 
	
	
	
		
	Сообщений: 1,065 
	Тем: 20 
	Зарегистрирован: Mar 2010
	
 Репутация: 
3,855 
	
	
		помнится что у меня вроде тоже зависания были после перехода на линдвиор, но вот ща хоть убей не помню что конкретно и в каком пакете я поправил тогда...и в истории свн посмотреть не могу - это было еще при старом свн, истории от которого не осталось...
 
	
	
	
		
	Сообщений: 122 
	Тем: 6 
	Зарегистрирован: Sep 2013
	
 Репутация: 
112 
	
	
		может это поможет 
мы сделали так и всё работать стало:
 
			ExMentorList PHP код: <?php protected final void writeImpl() {
 writeEx(0x121);
 writeD(0x00); //хз что это. //TODO соснифать и разобрать
 writeD(_mentor == 0 ? 0x01 : 0x02);
 writeD(_list.size());
 for (MenteeInfo entry : _list) {
 writeD(entry.objectId);
 writeS(entry.name);
 writeD(entry.classId);
 writeD(entry.level);
 writeD(entry.online);
 }
 }
 
 
	
	
	
		
	Сообщений: 1,065 
	Тем: 20 
	Зарегистрирован: Mar 2010
	
 Репутация: 
3,855 
	
	
		Небольшое уточнение по пакету ExAlterSkillRequest, о котором писал выше.Насчет второго параметра я ошибся - там не ид скилла передается, а действие, которое надо сделать с кнопкой: 0 - показать, 1 - скрыть.
 
	
	
	
		
	Сообщений: 102 
	Тем: 0 
	Зарегистрирован: Dec 2012
	
 Репутация: 
139 
	
		
		
		05-17-2014, 05:31 PM 
(Сообщение последний раз редактировалось: 05-17-2014, 10:24 PM   silvermain.)
		
	 
		вот если бы кто нибудь хлапой научил пользоваться....=))))
 Добавлено через 1 минуту
 подскажите с проблемой сервер листа на 575 протоколе, кнопка Enter не реагирует..... приходится отключатся и подключатся заново=((
 |