Цитата:
Сообщение от apocalipce
Код:
package l2ft.gameserver.serverpackets;
import java.util.Collection;
import l2ft.gameserver.data.xml.holder.SkillAcquireHolder;
import l2ft.gameserver.model.Player;
import l2ft.gameserver.model.Skill;
import l2ft.gameserver.model.SkillLearn;
import l2ft.gameserver.tables.SkillTable;
public class ExAcquirableSkillListByClass extends L2GameServerPacket {
private final Collection<SkillLearn> allskills;
public ExAcquirableSkillListByClass(Player player) {
allskills = SkillAcquireHolder.getInstance().getAvailableAllSkills(player);
}
@Override
protected final void writeImpl() {
writeC(0xfe);
writeH(0xf9);
writeD(allskills.size());
for (SkillLearn sk : allskills) {
writeD(sk.getId());
writeD(sk.getLevel());
writeD(sk.getCost());
writeH(sk.getMinLevel());
writeH(0); // return in glory days ?
writeD(sk.getRequiredItems().size());
for(int itemId : sk.getRequiredItems().keySet()) {
writeD(itemId);
writeQ(sk.getRequiredItems().get(itemId));
}
Skill skkill = SkillTable.getInstance().getInfo(sk.getId(), sk.getLevel());
if (skkill != null && skkill.isRelationSkill())
{
int[] _ss = skkill.getRelationSkills();
writeD(_ss.length);// deletedSkillsSize
for (int skillId : _ss)
{
writeD(skillId);// skillId
writeD(SkillTable.getInstance().getBaseLevel(skillId));// skillLvl
}
} else
writeD(0x00);
}
}
}
|
writeH(0xFA);
=> in
ExAcquireSkillInfo opcode will writeH(0xFC);