Костюмы

katowice

Знаменитый
Участник
Сообщения
103
Розыгрыши
0
Решения
1
Репутация
14
Реакции
29
Баллы
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 КБ · Просмотры: 38
А если костюм надеть, он отображается?
 
Оверпостинг запрещен!
Назад
Сверху Снизу