Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Атрибут в пояс
#1
Юзаю сборку l2jserver и пришла в голову мысль сделать возможным атрибут в пояс. Поясов в окне выбора вещей при атрибуте нету.
порыскал в коде

Код:
java\com\l2jserver\gameserver\network\serverpackets\ExChooseInventoryAttributeItem.java

    public ExChooseInventoryAttributeItem(L2ItemInstance item)
    {
        _itemId = item.getItemId();
        _atribute = Elementals.getItemElement(_itemId);
        if (_atribute == Elementals.NONE)
            throw new IllegalArgumentException("Undefined Atribute item: "+ item);
        _level = Elementals.getMaxElementLevel(_itemId);
    }
_itemId = item.getItemId(); - я так понял это и есть список инвентаря. Что означает это и где искать дальше я не знаю... Поэтому прошу помочь в реализации задумки. С Java не дружу.

Код:
java\com\l2jserver\gameserver\network\clientpackets\RequestExEnchantItemAttribute.java

item.getItem().getBodyPart() == L2Item.SLOT_BELT
данная строка убрана. через l2phx могу заатрибутить пояс. не знаю как сделать пояса видимыми в инвентаре.
заранее спасибо.
Ответ
#2
клиент неподдерживает его
Ответ
#3
Пакет RequestExEnchantItemAttribute, удаляем рестрикт на пояс (item.getItem().getBodyPart() == L2Item.SLOT_BELT) тут:

Код:
//can't enchant rods, shadow items, adventurers', Common Items, PvP items, hero items, cloaks, bracelets, underwear (e.g. shirt), belt, necklace, earring, ring
        if (item.getItem().getItemType() == L2WeaponType.FISHINGROD || item.isShadowItem() || item.isCommonItem() || (item.isPvp() && !Config.ELEMENTAL_ITEM_PVP) || item.isHeroItem() || item.isTimeLimitedItem() ||
                (item.getItemId() >= 7816 && item.getItemId() <= 7831) || (item.getItem().getItemType() == L2WeaponType.NONE) ||
                item.getItem().getItemGradeSPlus() != L2Item.CRYSTAL_S || item.getItem().getBodyPart() == L2Item.SLOT_BACK ||
                item.getItem().getBodyPart() == L2Item.SLOT_R_BRACELET || item.getItem().getBodyPart() == L2Item.SLOT_UNDERWEAR ||
                [B]item.getItem().getBodyPart() == L2Item.SLOT_BELT ||[/B] item.getItem().getBodyPart() == L2Item.SLOT_NECK ||
                (item.getItem().getBodyPart() & L2Item.SLOT_R_EAR) != 0 || (item.getItem().getBodyPart() & L2Item.SLOT_R_FINGER) != 0 ||
                item.getItem().getElementals() != null || item.getItemType() == L2ArmorType.SHIELD || item.getItemType() == L2ArmorType.SIGIL)
        {
            player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.ELEMENTAL_ENHANCE_REQUIREMENT_NOT_SUFFICIENT));
            player.setActiveEnchantAttrItem(null);
            return;
        }

А клиент очень даже умеет показывать атрибут у всех вещей - ему параллельно - S-броня это или варниш.

Такс, недочитал до конца Smile А что происходит, когда вы атрибутите пояс в клиенте?
Ответ
#4
ANZO Написал:Пакет RequestExEnchantItemAttribute, удаляем рестрикт на пояс (item.getItem().getBodyPart() == L2Item.SLOT_BELT) тут:

Код:
//can't enchant rods, shadow items, adventurers', Common Items, PvP items, hero items, cloaks, bracelets, underwear (e.g. shirt), belt, necklace, earring, ring
        if (item.getItem().getItemType() == L2WeaponType.FISHINGROD || item.isShadowItem() || item.isCommonItem() || (item.isPvp() && !Config.ELEMENTAL_ITEM_PVP) || item.isHeroItem() || item.isTimeLimitedItem() ||
                (item.getItemId() >= 7816 && item.getItemId() <= 7831) || (item.getItem().getItemType() == L2WeaponType.NONE) ||
                item.getItem().getItemGradeSPlus() != L2Item.CRYSTAL_S || item.getItem().getBodyPart() == L2Item.SLOT_BACK ||
                item.getItem().getBodyPart() == L2Item.SLOT_R_BRACELET || item.getItem().getBodyPart() == L2Item.SLOT_UNDERWEAR ||
                [B]item.getItem().getBodyPart() == L2Item.SLOT_BELT ||[/B] item.getItem().getBodyPart() == L2Item.SLOT_NECK ||
                (item.getItem().getBodyPart() & L2Item.SLOT_R_EAR) != 0 || (item.getItem().getBodyPart() & L2Item.SLOT_R_FINGER) != 0 ||
                item.getItem().getElementals() != null || item.getItemType() == L2ArmorType.SHIELD || item.getItemType() == L2ArmorType.SIGIL)
        {
            player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.ELEMENTAL_ENHANCE_REQUIREMENT_NOT_SUFFICIENT));
            player.setActiveEnchantAttrItem(null);
            return;
        }

А клиент очень даже умеет показывать атрибут у всех вещей - ему параллельно - S-броня это или варниш.

Такс, недочитал до конца Smile А что происходит, когда вы атрибутите пояс в клиенте?

Это я удалил. данный блок кода - это проверка на скрытый энчант через пакетхак. можно заатрибутить через пакет любой предмет если его нет в коде выше. А вот как сделать чтоб присылался пояса в список хз(
Ответ
#5
Еще раз повторяю вопрос, чтоы происходит когда вы пытаетесь заатрибутить пояс ИГРОВЫМ способом?
Ответ
#6
ANZO Написал:Еще раз повторяю вопрос, чтоы происходит когда вы пытаетесь заатрибутить пояс ИГРОВЫМ способом?

Игровым способом его нельзя заатрибутить.
вот есть фаир стоун. 2 клика по нему - открывается меню где надо выбрать шмотку для заточки атрибутом. пояса там нет.
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  Форты и атрибут стоны на l2jfree 1.2.6. Stema 0 1,912 12-13-2008, 11:39 PM
Последний пост: Stema

Перейти к форуму:


Пользователи, просматривающие эту тему: 4 Гость(ей)