Перейти к содержанию

DevGoD

Заблокирован
  • Публикаций

    386
  • Зарегистрирован

  • Посещение

  • Победитель дней

    7
  • Отзывы

    0%

Весь контент DevGoD

  1. Научитесь читать и спрашивать 100 раз одно и то же
  2. А олли само по себе ведется у тебя в данный момент?
  3. Я делаю сборку по возможности - если возможности нет, то и сборки нет.
  4. Главное чтобы вы Денис были здоровы. Ждите или не ждите, дело ваше, времени сейчас нет.
  5. К тому же мб юзаеш 268 вместо 273 протокола
  6. Дело возможно даже не в папке а файлике энжин.длл. Абнормалы вроде там зашиты
  7. То, что меняется строка логично, поток при выполнении разный. А ошибка скрывается вот здесь: at l2s.game.model.actor.L2Player.updateEffectIcons(L2Player.java:1098)в Классе игрока на 1098 строке. Смотри, ищи изучай. На вскидку скажу, что иконка еффекта, которая должна обновлятся, не распределяется в общем массиве. Но без кода, точно сказать не могу причину.
  8. Декомпил надо привести сначала в рабочее состояние а потом уже компилить. Как минимум не хватает нужного метода, неправильный тип переменной возвращается и путь к классу из логгера неправильно выведен.
  9. Короче. Если эффект не дается, смотри итем с ID 20923, и проверяй прикреплен ли к нему скилл с ID 22159. Если не прикреплен, прикрепляем и смотрим дальше, реализован ли скилл. К скилу должен быть прикреплен абнормал, для смены внешнего вида. Абнормал: E_VESPER_1("vesper1", 44, false, true), E_VESPER_2("vesper2", 45, false, true), E_VESPER_3("vesper3", 46, false, true), А вот какой точно, не помню, вроде 46. Для примера, как то так: <etcitem id="20923" name="Vesper Slasher"> <set name="class" value="OTHER"/> <set name="ex_type" value="OTHER_ITEMS"/> <set name="crystal_type" value="NONE"/> <set name="icon" value="BranchSys2.icon.br_royal_crown_of_vesper_i00"/> <set name="type" value="HERB"/> <skills> <skill id="22159" level="1"/> </skills> <cond msgId="1508"> <not> <player olympiad="true"/> </not> </cond> </etcitem> Скилл: <skill id="22159" levels="1" name="Vesper Super Power"> <!-- Increases P. Atk. by 15%, M. Atk. by 20% and Speed by 10 for 10 minutes. --> <set name="magicType" val="SPECIAL" /> <set name="icon" val="BranchSys2.icon.br_royal_crown_of_vesper_i00" /> <set name="reuseDelay" val="2000" /> <set name="magicLevel" val="1" /> <set name="hitTime" val="100" /> <set name="hitCancelTime" val="500" /> <set name="target" val="TARGET_SELF" /> <set name="skillType" val="BUFF" /> <set name="operateType" val="OP_ACTIVE" /> <set name="isHandler" val="true" /> <set name="altUse" val="true" /> <set name="isHideUseMessage" val="true" /> <cond msgId="1509"> <not> <player olympiad="true" /> </not> </cond> <for> <effect applyOnCaster="true" abnormal="vesper1" count="1" name="Buff" stackOrder="1" stackType="VesperHerb" time="600" val="0"> <mul order="0x30" stat="pAtk" val="1.15" /> <mul order="0x30" stat="mAtk" val="1.15" /> <add order="0x40" stat="runSpd" val="10" /> </effect> </for> </skill>
  10. Если не работает, цепляй к итему скилл 22159, а к скилу абнормал с 46 id.
  11. Если брать аналогию с ГоДовским шейпшифтингом, то приблизительно так: Смотрим пакеты UserInfo,CharInfo и CharSelectionInfo. Ищем поля отвечающие за отображение одетых вещей. Добавляем в таблицу итемов персонажа дополнительное поле, допустим VisuaLID И шлем в этих полях инфу о VisualID, если оно не равно ItemID обрабатываемой вещи. Собственно выгрузку значения в таблицу описывать не буду, это довольно просто.
  12. DevGoD

    Деньги

    В грации финал даже Лимит максимально переносимого количества адены увеличен с примерно 2100 миллионов до 9.99 миллиардов.
  13. DevGoD

    Деньги

    Не соглашусь, больше 2147483648, начали использовать еще с Эпилога.
  14. Вот сидел собирал @Override protected void onDelete() { Player owner = getPlayer(); Party party = owner.getParty(); if(party != null) { party.broadcastToPartyMembers(owner, new ExPartyPetWindowDelete(this)); } owner.removePet(this); for(Summon summons : owner.getPets()) { owner.sendPacket(new PetDelete(summons.getObjectId(), getSummonType())); owner.sendPacket(new PetInfo(summons)); owner.sendPacket(new PetStatusUpdate(summons)); } /**if (isSummon()) { Summon summons = owner.getPets(); if (summons > 0) { for (int i = summons.length - 1; i >= 0; i--) { owner.sendPacket(new PetInfo(summons[i])); } } }*/ stopDecay(); sendStatusUpdate(); super.onDelete(); } И до кучи, плеерские методы суммонерства: @Override public Collection<Summon> getPets() { if(_summons != null) { return _summons.values(); } return new ArrayList<Summon>(0); } public Summon getPet(Summon s) { return _summons.get(s); } public boolean hasPet(int objectId) { for(Summon s : _summons.values()) { if(s.getObjectId() == objectId) { return true; } } return false; } public boolean isHaveDeadPets() { for(Summon summon : getPets()) { if(summon.isDead()) { return true; } } return false; } @Override public int getPetCount() { return _summons.size(); } @Override public boolean isHaveSummonedPets() { for(Summon summon : getPets()) { if(summon.isPet()) { return true; } } return false; } @Override public Summon getFirstPet() { for(Summon summon : getPets()) { if(summon != null) { return summon; } } return null; } public boolean isHavePet(int npcId) { for(Summon currentSummon : getPets()) { if(currentSummon.getNpcId() == npcId) { return true; } } return false; } public void addPet(Summon summon) { if(summon != null) { _summons.put(summon.getObjectId(), summon); } else { for(Summon currentSummon : getPets()) { if(currentSummon.isPet()) { if(isLogoutStarted() && getPetControlItem() != null) { setVar("pet", String.valueOf(getPetControlItem().getObjectId()), -1L); setPetControlItem(null); } getEffectList().stopEffect(4140); } } } } public void removePet(Summon summon) { for (Summon s : getPets()) { s.unSummon(); _summons.remove(s.getObjectId()); _summons.clear(); s.sendPetInfo(); } }
  15. Ну не знаю, посмотрю в сторону очков. 4й час сижу ковыряю, начиная от очистки HashMap с кол-вом суммонов, заканчивая Перебором методов удаления
  16. 1) Ладно с этим позже. 2) Вообще думал, что у тебя сурс First-team годовский. А косяк с сумоном вот: Собственно 3й суммон, "оставшийся", хотя по факту его не существует.
  17. Я не очень понимаю, почему неудобно, т.к. операций над ними как таковых, особо не проводится, отсюда не заморачивался с местом хранения. Меня больше волнует окно суммонов, когда удаленные петомцы, вновь появляются в окне, до того момента, пока не призовеш заного.
  18. Под саб, под дуал и под ревелейшн отдельные древа сделаны.
  19. Какой именно камень не работает?
  20. Подробнее: 1)Что не работает 2)Как должно работать 3)Что за процесс. А не так, бросил фразу, типо баг
×
×
  • Создать...