artMazanaka 66 Опубликовано 15 октября, 2017 Доброго времени суток. Помогите пожалуйста решить проблему. Темы посвященные этому вопросу тык и тык не помогли С этой проблемой столкнулся и я... GameServer: Loading Server Scripts ---------- 1. ERROR in \DonateScrolls.java (at line 14) public class DonateScrolls implements IItemHandler ^^^^^^^^^^^^^ The type DonateScrolls must implement the inherited abstract method IItemHandler .useItem(L2PlayableInstance, L2ItemInstance, boolean) ---------- 1 problem (1 error) The type ai.DonateScrolls must implement the inherited abstract method scripts.i tems.IItemHandler.useItem(net.sf.l2j.gameserver.model.actor.instance.L2PlayableI nstance, net.sf.l2j.gameserver.model.L2ItemInstance, boolean) Failed executing script: C:\pwsoft\gameserver\data\scripts\items\DonateScrolls.j ava. See DonateScrolls.java.error.log for details. package ai; 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 { 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(11233, new Integer[] { 8076, 1, 2036, 1, 0 }); SCROLLS.put(11234, new Integer[] { 8077, 1, 2036, 1, 0 }); SCROLLS.put(11235, new Integer[] { 8078, 1, 2036, 1, 0 }); SCROLLS.put(11236, new Integer[] { 8079, 1, 2036, 1, 0 }); SCROLLS.put(11237, new Integer[] { 8080, 1, 2036, 1, 0 }); SCROLLS.put(11238, new Integer[] { 8081, 1, 2036, 1, 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; } } Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Edgar 356 Опубликовано 15 октября, 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<Integer, Integer[]> SCROLLS = new FastMap<Integer, Integer[]>().shared("BuffItem.SCROLLS");private static int[] ITEM_IDS = null;public BuffItem(){/**шаблон**SCROLLS.put(итем_ид, new Integer[] { ид_баффа, уровень_баффа, ид_скилла_анимации, продолжительность_анимации(мс.)), кушать_скролл(1 да, 0 нет)) });**/SCROLLS.put(10736, new Integer[] { 803, 1, 4, 1, 1 });SCROLLS.put(10737, new Integer[] { 804, 1, 4, 1, 1 });SCROLLS.put(10738, new Integer[] { 805, 1, 4, 1, 1 });SCROLLS.put(10739, new Integer[] { 1394, 10, 1394, 1, 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 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;}if (player.isInEvent()) {player.sendMessage("Нельзя использовать на ивенте!!!");player.sendActionFailed();}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;} } Изменено 15 октября, 2017 пользователем Solution 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
artMazanaka 66 Опубликовано 15 октября, 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<Integer, Integer[]> SCROLLS = new FastMap<Integer, Integer[]>().shared("BuffItem.SCROLLS"); private static int[] ITEM_IDS = null; public BuffItem() { /**шаблон **SCROLLS.put(итем_ид, new Integer[] { ид_баффа, уровень_баффа, ид_скилла_анимации, продолжительность_анимации(мс.)), кушать_скролл(1 да, 0 нет)) }); **/ SCROLLS.put(10736, new Integer[] { 803, 1, 4, 1, 1 }); SCROLLS.put(10737, new Integer[] { 804, 1, 4, 1, 1 }); SCROLLS.put(10738, new Integer[] { 805, 1, 4, 1, 1 }); SCROLLS.put(10739, new Integer[] { 1394, 10, 1394, 1, 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 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; } if (player.isInEvent()) { player.sendMessage("Нельзя использовать на ивенте!!!"); player.sendActionFailed(); } 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; } } GameServer: Loading Server Scripts ---------- 1. ERROR in \DonateScrolls.java (at line 14) public class BuffItem implements IItemHandler ^^^^^^^^ The public type BuffItem must be defined in its own file ---------- Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Edgar 356 Опубликовано 16 октября, 2017 GameServer: Loading Server Scripts ---------- 1. ERROR in \DonateScrolls.java (at line 14) public class BuffItem implements IItemHandler ^^^^^^^^ The public type BuffItem must be defined in its own file ---------- Назовите файлик BuffItem 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
artMazanaka 66 Опубликовано 16 октября, 2017 Назовите файлик BuffItem Теперь вот такая ошибка java.lang.ClassNotFoundException: items.BuffItem at java.net.URLClassLoader.findClass(Unknown Source) at com.l2jserver.script.java.MemoryClassLoader.findClass(MemoryClassLoad er.java:79) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at com.l2jserver.script.java.MemoryClassLoader.load(MemoryClassLoader.ja va:56) at com.l2jserver.script.java.JavaScriptEngine.parseMain(JavaScriptEngine .java:186) at com.l2jserver.script.java.JavaScriptEngine.parse(JavaScriptEngine.jav a:176) at com.l2jserver.script.java.JavaScriptEngine.eval(JavaScriptEngine.java :115) at com.l2jserver.script.java.JavaScriptEngine.eval(JavaScriptEngine.java :122) at scripts.scripting.L2ScriptEngineManager.executeScript(L2ScriptEngineM anager.java:432) at scripts.scripting.L2ScriptEngineManager.executeScript(L2ScriptEngineM anager.java:388) at scripts.scripting.L2ScriptEngineManager.executeScriptList(L2ScriptEng ineManager.java:235) at net.sf.l2j.gameserver.GameServer.<init>(GameServer.java:330) at net.sf.l2j.gameserver.GameServer.main(GameServer.java:575) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Edgar 356 Опубликовано 16 октября, 2017 Теперь вот такая ошибка java.lang.ClassNotFoundException: items.BuffItem at java.net.URLClassLoader.findClass(Unknown Source) at com.l2jserver.script.java.MemoryClassLoader.findClass(MemoryClassLoad er.java:79) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at com.l2jserver.script.java.MemoryClassLoader.load(MemoryClassLoader.ja va:56) at com.l2jserver.script.java.JavaScriptEngine.parseMain(JavaScriptEngine .java:186) at com.l2jserver.script.java.JavaScriptEngine.parse(JavaScriptEngine.jav a:176) at com.l2jserver.script.java.JavaScriptEngine.eval(JavaScriptEngine.java :115) at com.l2jserver.script.java.JavaScriptEngine.eval(JavaScriptEngine.java :122) at scripts.scripting.L2ScriptEngineManager.executeScript(L2ScriptEngineM anager.java:432) at scripts.scripting.L2ScriptEngineManager.executeScript(L2ScriptEngineM anager.java:388) at scripts.scripting.L2ScriptEngineManager.executeScriptList(L2ScriptEng ineManager.java:235) at net.sf.l2j.gameserver.GameServer.<init>(GameServer.java:330) at net.sf.l2j.gameserver.GameServer.main(GameServer.java:575) в профиле есть вк, пиши туда готовь тимвивер и нотпад 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
artMazanaka 66 Опубликовано 17 октября, 2017 Спасибо за помощь, тему можно закрывать Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты