Костюмы

katowice

Знаменитый
Участник
Сообщения
103
Розыгрыши
0
Решения
1
Репутация
14
Реакции
28
Баллы
1 298
Хроники
  1. Interlude
Исходники
Присутствуют
Сборка
aCis
Здравствуйте, подскажите как исправить чтоб при одевании любой шмотки, бижутерии не снимался костюм
сборка aCis
 
А как он реализован там? Одевается в слот тату или крепится к броне?
 
Здравствуйте, подскажите как исправить чтоб при одевании любой шмотки, бижутерии не снимался костюм
сборка aCis
Тут есть на форуме система для костюмов через визуализацию, мне кажется юзать ее.
 
CharInfo.java и UserInfo.java прикрепите.
Код:
 UserInfo.java
        final DressMe dress = _player.getDress();
        writeD(_player.getInventory().getItemObjectIdFrom(Paperdoll.HAIRALL));
        writeD(_player.getInventory().getItemObjectIdFrom(Paperdoll.REAR));
        writeD(_player.getInventory().getItemObjectIdFrom(Paperdoll.LEAR));
        writeD(_player.getInventory().getItemObjectIdFrom(Paperdoll.NECK));
        writeD(_player.getInventory().getItemObjectIdFrom(Paperdoll.RFINGER));
        writeD(_player.getInventory().getItemObjectIdFrom(Paperdoll.LFINGER));
        writeD(_player.getInventory().getItemObjectIdFrom(Paperdoll.HEAD));
        writeD(_player.getInventory().getItemObjectIdFrom(Paperdoll.RHAND));
        writeD(_player.getInventory().getItemObjectIdFrom(Paperdoll.LHAND));
        writeD(dress != null ? dress.getGloves() : _player.getInventory().getItemObjectIdFrom(Paperdoll.GLOVES));
        writeD(dress != null ? dress.getChest() : _player.getInventory().getItemObjectIdFrom(Paperdoll.CHEST));
        writeD(dress != null ? dress.getLegs() : _player.getInventory().getItemObjectIdFrom(Paperdoll.LEGS));
        writeD(dress != null ? dress.getFeet() : _player.getInventory().getItemObjectIdFrom(Paperdoll.FEET));
        writeD(_player.getInventory().getItemObjectIdFrom(Paperdoll.CLOAK));
        writeD(_player.getInventory().getItemObjectIdFrom(Paperdoll.RHAND));
        writeD(dress != null ? dress.getHair() : _player.getInventory().getItemObjectIdFrom(Paperdoll.HAIR));
        writeD(_player.getInventory().getItemObjectIdFrom(Paperdoll.FACE));
       
        writeD(_player.getInventory().getItemIdFrom(Paperdoll.HAIRALL));
        writeD(_player.getInventory().getItemIdFrom(Paperdoll.REAR));
        writeD(_player.getInventory().getItemIdFrom(Paperdoll.LEAR));
        writeD(_player.getInventory().getItemIdFrom(Paperdoll.NECK));
        writeD(_player.getInventory().getItemIdFrom(Paperdoll.RFINGER));
        writeD(_player.getInventory().getItemIdFrom(Paperdoll.LFINGER));
        writeD(_player.getInventory().getItemIdFrom(Paperdoll.HEAD));
        writeD(_player.getInventory().getItemIdFrom(Paperdoll.RHAND));
        writeD(_player.getInventory().getItemIdFrom(Paperdoll.LHAND));
        writeD(dress != null ? dress.getGloves() : _player.getInventory().getItemIdFrom(Paperdoll.GLOVES));
        writeD(dress != null ? dress.getChest() : _player.getInventory().getItemIdFrom(Paperdoll.CHEST));
        writeD(dress != null ? dress.getLegs() : _player.getInventory().getItemIdFrom(Paperdoll.LEGS));
        writeD(dress != null ? dress.getFeet() : _player.getInventory().getItemIdFrom(Paperdoll.FEET));
        writeD(_player.getInventory().getItemIdFrom(Paperdoll.CLOAK));
        writeD(_player.getInventory().getItemIdFrom(Paperdoll.RHAND));
        writeD(dress != null ? dress.getHair() : _player.getInventory().getItemIdFrom(Paperdoll.HAIR));
        writeD(_player.getInventory().getItemIdFrom(Paperdoll.FACE));

Код:
 CharInfo.java
        final DressMe dress = _player.getDress();
        writeD(_player.getInventory().getItemIdFrom(Paperdoll.HAIRALL));
        writeD(_player.getInventory().getItemIdFrom(Paperdoll.HEAD));
        writeD(_player.getInventory().getItemIdFrom(Paperdoll.RHAND));
        writeD(_player.getInventory().getItemIdFrom(Paperdoll.LHAND));
        writeD(dress != null ? dress.getGloves() : _player.getInventory().getItemIdFrom(Paperdoll.GLOVES));
        writeD(dress != null ? dress.getChest() : _player.getInventory().getItemIdFrom(Paperdoll.CHEST));
        writeD(dress != null ? dress.getLegs() : _player.getInventory().getItemIdFrom(Paperdoll.LEGS));
        writeD(dress != null ? dress.getFeet() : _player.getInventory().getItemIdFrom(Paperdoll.FEET));
        writeD(_player.getInventory().getItemIdFrom(Paperdoll.CLOAK));
        writeD(_player.getInventory().getItemIdFrom(Paperdoll.RHAND));
        writeD(dress != null ? dress.getHair() : _player.getInventory().getItemIdFrom(Paperdoll.HAIR));
        writeD(_player.getInventory().getItemIdFrom(Paperdoll.FACE));

в Player.java менял useEquippableItem
Код:
Player.java
    public void useEquippableItem(ItemInstance item, boolean abortAttack)
    {
        ItemInstance[] items = null;
        final boolean isEquipped = item.isEquipped();
        final int oldInvLimit = getStatus().getInventoryLimit();
        final DressMe dress = DressMeData.getInstance().getItemId(item.getItemId());
        
        if (item.getItem() instanceof Weapon)
            item.unChargeAllShots();
        
        if (isEquipped)
        {
            if (item.getEnchantLevel() > 0)
                sendPacket(SystemMessage.getSystemMessage(SystemMessageId.EQUIPMENT_S1_S2_REMOVED).addNumber(item.getEnchantLevel()).addItemName(item));
            else
                sendPacket(SystemMessage.getSystemMessage(SystemMessageId.S1_DISARMED).addItemName(item));
            
            items = getInventory().unequipItemInBodySlotAndRecord(item);
        }
        else
        {
            items = getInventory().equipItemAndRecord(item);
            
            if (item.isEquipped())
            {
                if (item.getEnchantLevel() > 0)
                    sendPacket(SystemMessage.getSystemMessage(SystemMessageId.S1_S2_EQUIPPED).addNumber(item.getEnchantLevel()).addItemName(item));
                else
                    sendPacket(SystemMessage.getSystemMessage(SystemMessageId.S1_EQUIPPED).addItemName(item));
                
                if ((item.getItem().getBodyPart() & Item.SLOT_ALLWEAPON) != 0)
                    rechargeShots(true, true);
                
                setDress(dress);
            }
            else
                sendPacket(SystemMessageId.CANNOT_EQUIP_ITEM_DUE_TO_BAD_CONDITION);
        }
        refreshExpertisePenalty();
        broadcastUserInfo();
        
        final InventoryUpdate iu = new InventoryUpdate();
        iu.addItems(Arrays.asList(items));
        sendPacket(iu);
        
        if (abortAttack)
            getAttack().stop();
        
        if (getStatus().getInventoryLimit() != oldInvLimit)
            sendPacket(new ExStorageMaxCount(this));
    }

CharInfo.java и UserInfo.java прикрепите.
 

Вложения

  • serverpackets.zip
    3,3 КБ · Просмотры: 6
Попробуйте.
 

Вложения

  • packets.rar
    3,1 КБ · Просмотры: 6
оверпостинг запрещен

Вложения

  • Inventory.rar
    4,8 КБ · Просмотры: 2
В "Player.java" выпилите DressMe полностью, он более вам не нужен.
а именно:
Java:
final DressMe dress = DressMeData.getInstance().getItemId(item.getItemId());
и
Java:
setDress(dress);
 

Вложения

  • Packets.rar
    3,1 КБ · Просмотры: 3
В "Player.java" выпилите DressMe полностью, он более вам не нужен.
а именно:
Java:
final DressMe dress = DressMeData.getInstance().getItemId(item.getItemId());
и
Java:
setDress(dress);
Спасибо огромное. :)

В "Player.java" выпилите DressMe полностью, он более вам не нужен.
а именно:
Java:
final DressMe dress = DressMeData.getInstance().getItemId(item.getItemId());
и
Java:
setDress(dress);
Перестало отображаться тело
 

Вложения

  • изображение_2023-11-01_211102894.png
    изображение_2023-11-01_211102894.png
    607,1 КБ · Просмотры: 29
А если костюм надеть, он отображается?
 
Оверпостинг запрещен!
Назад
Сверху Снизу