GC -> Classic

Psycho

Жнец
Модератор
Орден Золотого Заката
Победитель в номинации 2023
Победитель в номинации 2022
Победитель в номинации 2021
Участник Новогоднего Фонда 2021
Неукротимое пламя
Старожил II степени
Победитель в номинации 2020
Победитель в номинации 2019
Знаток великого письма
Знаток письма
Веселый флудер
Мастер реакций
Любитель реакций
Знаток Lineage2
Старожил I степени
Победитель в номинации 2017
Победитель в номинации 2016
Медаль за активность на Форуме
За веру и верность форуму
Сообщения
4 714
Розыгрыши
1
Решения
3
Репутация
4 397
Реакции
3 128
Баллы
2 543
Зайти на классик то я зашел, но это прям удивило.))
Какие пакеты нужно править чтобы это починить, есть инфа?
Видно только один баф с вечными 0 сек.
Shot00000.jpg
В изучении вообще шик.
Shot00002.jpg

Сурсы: L2JUnity
 
По бафам смотри пакет AbnormalStatusUpdate.
По изучению, вроде, ExAcquireSkillList и такой же инфо.
 
  • Мне нравится
Реакции: Psycho

    Psycho

    Баллов: 40
    За ответ
Юнити не делают классик, а пакеты там вроде как другие.
 
В общем, как я понял, для нормальной работы, нужно вырезать всё то дерьмо(от года+крусайда), что не используется в классике.
 
В общем, как я понял, для нормальной работы, нужно вырезать всё то дерьмо(от года+крусайда), что не используется в классике.
В классике структура пакетов немного другая )
 
Мб кому-то пригодится. Проблема была лишь в этом. :)
Код:
/*
 * Copyright (C) 2004-2015 L2J Unity
 *
 * This file is part of L2J Unity.
 *
 * L2J Unity is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * L2J Unity is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 * General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program. If not, see <http://www.gnu.org/licenses/>.
 */
package org.l2junity.gameserver.network.client.send;

import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;

import org.l2junity.gameserver.model.SkillLearn;
import org.l2junity.gameserver.model.actor.instance.PlayerInstance;
import org.l2junity.gameserver.model.holders.ItemHolder;
import org.l2junity.gameserver.model.skills.Skill;
import org.l2junity.gameserver.network.client.OutgoingPackets;
import org.l2junity.network.PacketWriter;

/**
 * @author UnAfraid
 */
public class ExAcquireSkillInfo implements IClientOutgoingPacket
{
    private final int _id;
    private final int _level;
    //private final int _dualClassLevel;
    private final int _spCost;
    private final int _minLevel;
    private final List<ItemHolder> _itemReq;
    private final List<Skill> _skillRem;
   
    /**
     * Special constructor for Alternate Skill Learning system.<br>
     * Sets a custom amount of SP.
     * @param player
     * @param skillLearn the skill learn.
     */
    public ExAcquireSkillInfo(PlayerInstance player, SkillLearn skillLearn)
    {
        _id = skillLearn.getSkillId();
        _level = skillLearn.getSkillLevel();
        //_dualClassLevel = skillLearn.getDualClassLevel();
        _spCost = skillLearn.getLevelUpSp();
        _minLevel = skillLearn.getGetLevel();
        _itemReq = skillLearn.getRequiredItems();
        _skillRem = skillLearn.getRemoveSkills().stream().map(player::getKnownSkill).filter(Objects::nonNull).collect(Collectors.toList());
    }
   
    @Override
    public boolean write(PacketWriter packet)
    {
        OutgoingPackets.EX_ACQUIRE_SKILL_INFO.writeId(packet);
      
        packet.writeD(_id);
        packet.writeD(_level);
        packet.writeQ(_spCost);
        packet.writeH(_minLevel);
        //packet.writeH(_dualClassLevel);
        packet.writeD(_itemReq.size());
        for (ItemHolder holder : _itemReq)
        {
            packet.writeD(holder.getId());
            packet.writeQ(holder.getCount());
        }
      
        packet.writeD(_skillRem.size());
        for (Skill skill : _skillRem)
        {
            packet.writeD(skill.getId());
            packet.writeD(skill.getLevel());
        }
        return true;
    }
}
 
Кстати, ни кто не подскажет id'шники ? Искал в датниках классика, но чё-то не нашел (мб не там ищу).
 
Кстати, ни кто не подскажет id'шники ? Искал в датниках классика, но чё-то не нашел (мб не там ищу).
В клиенте есть, либо на централе наводишь на картинку и получаешь ид
 
  • Мне нравится
Реакции: Psycho

    Psycho

    Баллов: 10
    Затупил
Последнее редактирование:
От куда можно спавн дёрнуть? Мб от хф хотя бы часть подойдет? Мб какой-то прогой можно выудить в xml?(я просто подобной дичью еще не занимался)
В ручную как-то адово это всё прописывать, у меня хлора не хватит на это дело. :D
 
От куда можно спавн дёрнуть? Мб от хф хотя бы часть подойдет? Мб какой-то прогой можно выудить в xml?(я просто подобной дичью еще не занимался)
В ручную как-то адово это всё прописывать, у меня хлора не хватит на это дело. :D
какого формата xml нужен? точнее как он должен выглядеть?
 
ааа спавн тебе нужен. сорри. а я думал тебе нужно спарсить весь список итемов)
 
Назад
Сверху Снизу