iEA 24 Опубликовано 19 мая, 2017 (изменено) Витаскивал с сборки pw за 2014г. Поставил на pw за 2017г. Ошибка: сам скрипт: package 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.ItemHandler; import scripts.items.IItemHandler; public class DonateScrolls implements IItemHandler <--- 14 строка, в которой ошибку дает. { private final static FastMap<Integer, Integer[]> SCROLLS = new FastMap<Integer, Integer[]>().shared("DonateScrolls.SCROLLS"); private static int[] ITEM_IDS = null; public DonateScrolls() { /**шаблон **SCROLLS.put(итем_ид, new Integer[] { ид_баффа, уровень_баффа, ид_скилла_анимации, продолжительность_анимации(мс.)), кушать_скролл(1 да, 0 нет)) }); **/ SCROLLS.put(10010, new Integer[] { 10010, 1, 1077, 1000, 1 }); SCROLLS.put(10011, new Integer[] { 10011, 1, 1077, 1000, 1 }); SCROLLS.put(10012, new Integer[] { 10012, 1, 1077, 1000, 1 }); SCROLLS.put(10013, new Integer[] { 10013, 1, 1077, 1000, 1 }); SCROLLS.put(10014, new Integer[] { 10014, 1, 1077, 1000, 1 }); SCROLLS.put(10015, new Integer[] { 10015, 1, 1077, 1000, 1 }); SCROLLS.put(10016, new Integer[] { 10016, 1, 1077, 1000, 0 }); SCROLLS.put(10017, new Integer[] { 10017, 1, 1077, 1000, 0 }); SCROLLS.put(10018, new Integer[] { 10018, 1, 1077, 1000, 0 }); SCROLLS.put(10019, new Integer[] { 10019, 1, 1077, 1000, 0 }); SCROLLS.put(10020, new Integer[] { 10020, 1, 1077, 1000, 0 }); SCROLLS.put(10021, new Integer[] { 10021, 1, 1077, 1000, 0 }); // 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 DonateScrolls(); } public void useItem(L2PlayableInstance playable, L2ItemInstance item) { 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; } } Изменено 19 мая, 2017 пользователем DoHParDon Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
L2JEnterprise 113 Опубликовано 19 мая, 2017 У тебя с английским проблемы или с программированием? Если с английским, то надо реализовать все методы интерфейса или убрать его в объявлении класса. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
zGosu 396 Опубликовано 19 мая, 2017 Витаскивал с сборки pw за 2014г. Поставил на pw за 2017г. Ошибка: сам скрипт: У Вас сейчас стоит так: public void useItem(L2PlayableInstance playable, L2ItemInstance item) А должно быть так: public void useItem(L2PlayableInstance playable, L2ItemInstance item, boolean value) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Demoncool 1110 Опубликовано 19 мая, 2017 (изменено) (L2PlayableInstance playable, L2ItemInstance item) ваше метод а ожидает 3 значения* Изменено 19 мая, 2017 пользователем Demoncool 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты