Deads 1 Опубликовано 9 апреля, 2017 Вытянул артефакты из Lastory сборки,сами артефакты есть,но при клике ничего не происходит.Подскажите плиз как сделать? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
LifeGame32 312 Опубликовано 9 апреля, 2017 Вытянул артефакты из Lastory сборки,сами артефакты есть,но при клике ничего не происходит.Подскажите плиз как сделать? ЧТО ЗА АРТЕФАКТЫ ? КАКИЕ КЛИКИ ВЫ О ЧЁМ? И ЧТО ДОЛЖНО ПРОИЗОЙТИ? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Deads 1 Опубликовано 9 апреля, 2017 ЧТО ЗА АРТЕФАКТЫ ? КАКИЕ КЛИКИ ВЫ О ЧЁМ? И ЧТО ДОЛЖНО ПРОИЗОЙТИ? Итемы,при клике дают баф. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
CalypsoToolz 451 Опубликовано 9 апреля, 2017 Вытянул артефакты из Lastory сборки,сами артефакты есть,но при клике ничего не происходит.Подскажите плиз как сделать? Раз "вытянул" итемы, то вытягивай и скиллы к ним/хендлеры Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Deads 1 Опубликовано 9 апреля, 2017 Раз "вытянул" итемы, то вытягивай и скиллы к ним/хендлеры А где их вытянуть? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Deads 1 Опубликовано 9 апреля, 2017 Раз "вытянул" итемы, то вытягивай и скиллы к ним/хендлеры в том то и дело,что я не знаю где вытянуть) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Edgar 356 Опубликовано 10 апреля, 2017 Что у тебя за сборка? 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Deads 1 Опубликовано 10 апреля, 2017 Что у тебя за сборка? ПВ Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
ImmortalPony 126 Опубликовано 10 апреля, 2017 Если вы "вытянули"(громкое слово) Артефакты (а это банальные Свитки Баффа) то....Берем за пример любой свиток баффа и делаем так же для этих "Артефактов" Или же: в файле "СкилНейм" находим умения что отвечают за артефакты, копипастим себе, делаем реализацию в сборке (в ДП) п.с. если прочитали и у вас все вышло - с вас еще будет толк.... Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Edgar 356 Опубликовано 10 апреля, 2017 (изменено) ПВ package mods.items; import javolution.util.FastMap; import net.sf.l2j.gameserver.datatables.SkillTable; import net.sf.l2j.gameserver.cache.Static; import net.sf.l2j.gameserver.model.L2ItemInstance; import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance; import net.sf.l2j.gameserver.model.actor.instance.L2PlayableInstance; import net.sf.l2j.gameserver.network.serverpackets.MagicSkillUser; import scripts.items.IItemHandler; import scripts.items.ItemHandler; public class BuffItem implements IItemHandler { private final static FastMap SCROLLS = new FastMap().shared("BuffItem.SCROLLS"); private static int[] ITEM_IDS = null; public BuffItem() { /**шаблон **SCROLLS.put(итем_ид, new Integer[] { ид_баффа, уровень_баффа, ид_скилла_анимации, продолжительность_анимации(мс.)), кушать_скролл(1 да, 0 нет)) }); **/ SCROLLS.put(9436, new Integer[] { 836, 1, 4, 1, 1 }); // Integer[] tmp_ids = (Integer[]) SCROLLS.keySet().toArray(new Integer[sCROLLS.size()]); ITEM_IDS = toIntArray(tmp_ids); tmp_ids = null; ItemHandler.getInstance().registerItemHandler(this); } public static void main (String... arguments ) { new BuffItem(); } public void useItem(L2PlayableInstance playable, L2ItemInstance item, boolean arg2) { if (!playable.isPlayer()) return; L2PcInstance player = (L2PcInstance) playable; if (player.isAllSkillsDisabled()) { player.sendActionFailed(); return; } if (player.isInOlympiadMode()) { player.sendPacket(Static.THIS_ITEM_IS_NOT_AVAILABLE_FOR_THE_OLYMPIAD_EVENT); player.sendActionFailed(); return; } Integer[] data = SCROLLS.get(item.getItemId()); if(data != null) { player.stopSkillEffects(data[0]); SkillTable.getInstance().getInfo(data[0], data[1]).getEffects(player, player); player.broadcastPacket(new MagicSkillUser(player, player, data[2], 1, data[3], 0)); if (data[4] == 1) player.destroyItem("Consume", item.getObjectId(), 1, null, false); } } private int[] toIntArray(Integer[] arr) { int[] ret = new int[arr.length]; int i = 0; for (Integer e : arr) ret[i++] = e.intValue(); return ret; } public int[] getItemIds() { return ITEM_IDS; } } Изменено 10 апреля, 2017 пользователем Edik1996 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Deads 1 Опубликовано 10 апреля, 2017 Вот ошибка при клике на итем Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
ImmortalPony 126 Опубликовано 10 апреля, 2017 Ясно же написано в ошибке (как выдрал - так и прикрути), в 99% в ошибке всегда описана проблема и даже путь... Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты