La2Bash 87 Опубликовано 3 мая, 2013 В общем столкнулся с ещё одним чудом l2jfrozen. На CTF евенте, когда берёшь флаг снимается пуха, щит и ОЖЕРЕЛЬЕ. Боже, при чём здесь ожерелье???? вот код который судя по всему отвечает за это: public static void addFlagToPlayer(L2PcInstance _player) { // Remove items from the player hands (right, left, both) // This is NOT a BUG, I don't want them to see the icon they have 8D L2ItemInstance wpn = _player.getInventory().getPaperdollItem(Inventory.PAPERDOLL_RHAND); if(wpn == null) { wpn = _player.getInventory().getPaperdollItem(Inventory.PAPERDOLL_LRHAND); if(wpn!=null) _player.getInventory().unEquipItemInBodySlotAndRecord(Inventory.PAPERDOLL_LRHAND); } else { _player.getInventory().unEquipItemInBodySlotAndRecord(Inventory.PAPERDOLL_RHAND); wpn = _player.getInventory().getPaperdollItem(Inventory.PAPERDOLL_LHAND); if(wpn!=null) _player.getInventory().unEquipItemInBodySlotAndRecord(Inventory.PAPERDOLL_LHAND); } // Add the flag in his hands _player.getInventory().equipItem(ItemTable.getInstance().createItem("",CTF._FLAG_IN_HAND_ITEM_ID,1,_player,null)); _player.broadcastPacket(new SocialAction(_player.getObjectId(), 16)); // Amazing glow _player._haveFlagCTF = true; _player.broadcastUserInfo(); CreatureSay cs = new CreatureSay(_player.getObjectId(), 15, ":", "You got it! Run back! ::"); // 8D _player.sendPacket(cs); } но я не вижу даже тут нечего что снимает ожерелье, но оно снимается... И до сих пор не понимаю, зачем столько тупых проверок? Разве непонятно что на CTF игрок полюбому будет с оружием в руках? Нельзя чтоли тупо сразу дать команду чтобы снимать RHAND и LHAND и всё? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
BrainEater 217 Опубликовано 3 мая, 2013 Меня обьявление переменной wpn больше убивает. Проще свич сделать, вместо условий. А так да, про ожерелье ничего не сказано, если только оно не попадает под: 1)PAPERDOLL_RHAND 2)PAPERDOLL_LHAND 3)PAPERDOLL_LRHAND Что как минимум было бы странно. Но проверить стоит. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
BrainEater 217 Опубликовано 3 мая, 2013 Еще как вариант, если юзается таск на сейв инвентаря чара и ожерелье было надето в пределах времени таска, то мб броадкаст юзеринфо сбивает инфу о одетом ожерелье. Warning! мб бред Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
TpaMjkee 128 Опубликовано 3 мая, 2013 Возможно так сделали во избежания какого-то бага. // Remove items from the player hands (right, left, both) // This is NOT a BUG, I don't want them to see the icon they have 8D Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
BrainEater 217 Опубликовано 3 мая, 2013 // Remove items from the player hands (right, left, both) Сюда стоит вчитаться. Возможно даже перевести. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
La2Bash 87 Опубликовано 4 мая, 2013 (изменено) switch это case true:, case false: как я понял? Но это не решит проблему, а лишь оптимизирует код и упростит выполнение бага Изменено 4 мая, 2013 пользователем Mister Coder Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
La2Bash 87 Опубликовано 4 мая, 2013 (изменено) Ааа походу догнал, switch на PAPERDOLL_RHAND PAPERDOLL_LHAND да? Изменено 4 мая, 2013 пользователем Mister Coder Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
TpaMjkee 128 Опубликовано 4 мая, 2013 Ааа походу догнал, switch на PAPERDOLL_RHAND PAPERDOLL_LHAND да? Да. Пробуйте. Только вчера копался в этом коде. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
La2Bash 87 Опубликовано 6 мая, 2013 (изменено) Снимает только когда одето что то в обеих руках(например арка и щит), когда в одной руке арка одета и другой слот пустой не снимает... хз блин бред какой то Изменено 6 мая, 2013 пользователем Mister Coder Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты