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

Lineage II
Дискуссии на тему создания, настройки и обслуживания серверов Lineage 2. При поддержке: Премиум услуги по рекламе

Ответ
Опции темы
Непрочитано 26.11.2015, 05:51   #221
Пользователь

По умолчанию Re: Работа над Goddess of Destruction (part 7)

i have problem with new enchant system in IO

i use that patch from packet but in game no work
Цитата:
Сообщение от Bonux Посмотреть сообщение
Код:
package l2s.gameserver.network.l2.s2c;

import java.util.ArrayList;
import java.util.List;

import l2s.gameserver.data.xml.holder.SkillHolder;
import l2s.gameserver.model.Skill;
import l2s.gameserver.utils.SkillUtils;

public class ExEnchantSkillInfoPacket extends L2GameServerPacket
{
	private List<Integer> _routes;

	private int _id, _level, _canAdd, canDecrease;

	public ExEnchantSkillInfoPacket(int id, int level)
	{
		_routes = new ArrayList<Integer>();
		_id = id;
		_level = level;

		// skill already enchanted?
		if(SkillUtils.isEnchantedSkill(_level))
		{
			// get detail for next level
			int skillLevel = SkillUtils.getSkillLevelFromMask(_level);
			int subSkillLevel = SkillUtils.getSubSkillLevelFromMask(_level) + 1;
			int skillLevelMask = SkillUtils.getSkillLevelMask(skillLevel, subSkillLevel);
			Skill skill = SkillHolder.getInstance().getSkill(_id, skillLevelMask);
			// if it exists add it
			if(skill != null)
			{
				addEnchantSkillDetail(skill.getLevel());
				_canAdd = 1;
			}

			for(Skill temp : SkillUtils.getSkillsForChangeEnchant(_id, _level))
				addEnchantSkillDetail(temp.getLevel());
		}
		else
		{
			// not already enchanted
			for(Skill temp : SkillUtils.getSkillsForFirstEnchant(_id, _level))
			{
				addEnchantSkillDetail(temp.getLevel());
				_canAdd = 1;
			}
		}
	}

	public void addEnchantSkillDetail(int level)
	{
		_routes.add(level);
	}

	@Override
	protected void writeImpl()
	{
		writeD(_id);
		writeD(_level);
		writeD(_canAdd); // can add enchant
		writeD(canDecrease); // can decrease enchant

		writeD(_routes.size());
		for(Integer route : _routes)
			writeD(route);
	}
}
all have black icon and no see icons from routes

my code

ExEnchantSkillInfoDetail
Цитата:
Код:
package zgts.gameserver.network.l2.s2c;

import zgts.gameserver.data.xml.holder.SkillHolder;
import zgts.gameserver.model.Skill.EnchantType;

public class ExEnchantSkillInfoDetailPacket extends L2GameServerPacket
{
	private final int _unk = 0;
	private final EnchantType _type;
	private final int _skillId;
	private final int _skillLvl;
	private final int _maxlvl;
	private final int _sp;
	private final int _chance;
	private final int _bookId;
	private final int _bookCount;
	private final int _adenaCount;
	
	public ExEnchantSkillInfoDetailPacket(final EnchantType type, final int skillId, final int skillLvl, final int sp, final int chance, final int bookId, final int bookCount, final int adenaCount)
	{
		_type = type;
		_skillId = skillId;
		_skillLvl = skillLvl;
		_maxlvl = SkillHolder.getInstance().getMaxLevel(skillId);
		_sp = sp;
		_chance = chance;
		_bookId = bookId;
		_bookCount = bookCount;
		_adenaCount = adenaCount;
	}
	
	@Override
	protected void writeImpl()
	{
		writeD(_type.ordinal());
		writeD(_skillId);
		// writeH(_maxlvl);
		writeD(_skillLvl); // TODO TEST
		writeQ(_sp);
		writeD(_chance);
		writeD(0x02);
		writeD(57);
		writeD(_adenaCount);
		writeD(_bookId);
		writeD(_bookCount);
	}
}
ExEnchantSkillInfo
Цитата:
Код:
package zgts.gameserver.network.l2.s2c;

import java.util.ArrayList;
import java.util.List;

import zgts.gameserver.data.xml.holder.SkillHolder;
import zgts.gameserver.model.Skill;
import zgts.gameserver.utils.SkillUtils;

public class ExEnchantSkillInfoPacket extends L2GameServerPacket
{
	private final List<Integer> _routes = new ArrayList<>();
	private final int _id;
	private final int _level;
	private final int _maxlvl;
	private int _canAdd;
	private int canDecrease;
	
	public ExEnchantSkillInfoPacket(final int id, final int level)
	{
		_id = id;
		_level = level;
		_maxlvl = SkillHolder.getInstance().getMaxLevel(_id);
		
		if (SkillUtils.isEnchantedSkill(_level))
		{
			// canDecrease = 1;
			// Get detail for next level
			int skillLevel = SkillUtils.getSkillLevelFromMask(_level);
			int subSkillLevel = SkillUtils.getSubSkillLevelFromMask(_level) + 1;
			int skillLevelMask = SkillUtils.getSkillLevelMask(skillLevel, subSkillLevel);
			final Skill skill = SkillHolder.getInstance().getSkill(_id, skillLevelMask);
			if (skill != null)
			{
				addEnchantSkillDetail(skill.getLevel());
				_canAdd = 1;
			}
			for (final Skill temp : SkillUtils.getSkillsForChangeEnchant(_id, _level))
			{
				addEnchantSkillDetail(temp.getLevel());
			}
		}
		else
		{
			for (final Skill temp2 : SkillUtils.getSkillsForFirstEnchant(_id))
			{
				addEnchantSkillDetail(temp2.getLevel());
				_canAdd = 1;
			}
		}
	}
	
	public void addEnchantSkillDetail(final int level)
	{
		_routes.add(level);
	}
	
	@Override
	protected void writeImpl()
	{
		writeD(_id);
		writeD(_level);
		writeD(_canAdd);
		writeD(canDecrease);
		writeD(_routes.size());
		for (Integer route : _routes)
		{
			writeH(route);
		}
	}
}
that Vars in SkillUtils
int skillLevel = SkillUtils.getSkillLevelFromMask(_level);
int subSkillLevel = SkillUtils.getSubSkillLevelFromMask(_level) + 1;
int skillLevelMask = SkillUtils.getSkillLevelMask(skillLevel, subSkillLevel);

Цитата:
Код:
	public static int getSkillLevelFromMask(final int level)
	{
		return level;
		
	}
	
	public static int getSkillLevelMask(int level, final int level2)
	{
		if (level < 100)
		{
			return level;
		}
		else
		{
			level = level2 >> 16;
			return level;
		}
	}
	
	public static int getSubSkillLevelFromMask(final int level)
	{
		return level;
		
	}
please help me T.T

sorry for my Bad Enghlis
nache вне форума Ответить с цитированием
Непрочитано 28.11.2015, 21:10   #222
Аватар для elastic
Ooh, who's that handsome devil?

По умолчанию Re: Работа над Goddess of Destruction (part 7)

12345

Последний раз редактировалось elastic; 29.11.2015 в 19:14.
elastic вне форума Отправить сообщение для elastic с помощью ICQ Ответить с цитированием
Непрочитано 30.11.2015, 17:01   #223
Аватар для Gaikotsu
Герой

По умолчанию Re: Работа над Goddess of Destruction (part 7)

Цитата:
Сообщение от smeli Посмотреть сообщение
непомогло, расса ертхеа, класс 185 последоиватель сайхи - кнопки нету

класс 189 - громовержец сайхи тоже непомог
ExAlchemySkillList отправить не пробовал?
и чтобы в скиллах изученных и отправленных этим пакетом был скилл 17943
 
package l2p.gameserver.network.serverpackets.alchemy;
 
import java.util.ArrayList;
import java.util.List;
 
import l2p.gameserver.data.holder.SkillAcquireHolder;
import l2p.gameserver.enums.AcquireType;
import l2p.gameserver.model.Player;
import l2p.gameserver.model.skills.SkillLearn;
import l2p.gameserver.network.serverpackets.L2GameServerPacket;
import l2p.gameserver.network.serverpackets.components.Opcode;
 
public class ExAlchemySkillList extends L2GameServerPacket
{
	private final List<SkillLearn> _skills = new ArrayList<>();
 
	public ExAlchemySkillList(Player player)
	{
		for (SkillLearn skill : SkillAcquireHolder.getInstance().getAllSkillLearns(AcquireType.ALCHEMY, 0))
			if (player.getSkillLevel(skill.getId()) == skill.getLevel())
				_skills.add(skill);
	}
 
	@Override
	protected void writeImpl()
	{
		writeEx(Opcode.ExAlchemySkillList);
		writeD(_skills.size());
 
		for (SkillLearn skill : _skills)
		{
			writeD(skill.getId());
			writeD(skill.getLevel());
			writeQ(0x00); // ?
			writeC(skill.getId() != 17943 ? 1 : 0);
		}
	}
}
Code: Java
Gaikotsu вне форума Ответить с цитированием
Сказали спасибо:
Непрочитано 30.11.2015, 21:09   #224
Олдфаг

По умолчанию Re: Работа над Goddess of Destruction (part 7)

спасибо, попробую
--

непомогло, отправил такой пакет после отправки скиллист
fe 74 01 17 46 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00
smeli вне форума Ответить с цитированием
Непрочитано 30.11.2015, 22:03   #225
Изгнанные

По умолчанию Re: Работа над Goddess of Destruction (part 7)

Цитата:
Сообщение от smeli Посмотреть сообщение
спасибо, попробую
--

непомогло, отправил такой пакет после отправки скиллист
fe 74 01 17 46 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00
Отсылай при открытии инвентаря
GenCloud вне форума Отправить сообщение для GenCloud с помощью Skype™ Ответить с цитированием
Непрочитано 01.12.2015, 00:35   #226
Аватар для Gaikotsu
Герой

По умолчанию Re: Работа над Goddess of Destruction (part 7)

да, и на основном классе ли проверяешь?
ибо кнопку показывает только на основе и все
Gaikotsu вне форума Ответить с цитированием
Непрочитано 01.12.2015, 12:30   #227
Олдфаг

По умолчанию Re: Работа над Goddess of Destruction (part 7)

в ц1 только основы и есть, сабы ето ц3+
smeli вне форума Ответить с цитированием
Непрочитано 01.12.2015, 15:16   #228
Изгнанные

По умолчанию Re: Работа над Goddess of Destruction (part 7)

Ув. пользователи, подскажите, какой ивент триггер(огонь в пещере) отсылается при входе в инсту Антараса(Рыцари Балтуса)?
GenCloud вне форума Отправить сообщение для GenCloud с помощью Skype™ Ответить с цитированием
Непрочитано 02.12.2015, 20:30   #229
Изгнанные

По умолчанию Re: Работа над Goddess of Destruction (part 7)

Есть ли у кого-нибудь оригинальный патчик 558 протокола(ласт апдейт Lindvior)?
GenCloud вне форума Отправить сообщение для GenCloud с помощью Skype™ Ответить с цитированием
Непрочитано 03.12.2015, 00:12   #230
Аватар для Ashtone Grey
ex-linedia keyboard manager

По умолчанию Re: Работа над Goddess of Destruction (part 7)

Цитата:
Сообщение от GenCloud Посмотреть сообщение
Есть ли у кого-нибудь оригинальный патчик 558 протокола(ласт апдейт Lindvior)?
А чем плох тот, что в хранилище лежит?
Ashtone Grey вне форума Отправить сообщение для Ashtone Grey с помощью Skype™ Ответить с цитированием
Ответ

Метки
development, goddess of destruction, l2j, l2p, lineage 2 tauti owned!, tauti, vistall убил 2 часа, атата, гео tauti за картоху, геодата бункера, иди копай, карательный отряд, картоха vs ява, ололо - жесть, технология батарей 0о, у корейцев недержание, шаурмэ фейл


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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа над Goddess of Destruction (part 6) Ashe Lineage II 1304 11.07.2015 20:00
Работа над Goddess of Destruction (part 5) Ozzy Lineage II 980 09.10.2013 09:13
Работа над Goddess of Destruction Вопрос Мараторий Lineage II 29 11.06.2013 18:01
Работа над Goddess of Destruction (part 2) Ozzy Lineage II 411 22.06.2011 15:58
Адаптируем SQL BimBom Работа со скриптами 9 14.10.2009 15:14


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

Вверх