Показать сообщение отдельно
Непрочитано 18.02.2013, 10:07   #25
Пользователь

По умолчанию Re: Серверные пакеты

Цитата:
Сообщение от 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);
fear111 вне форума Ответить с цитированием