Yasik 6 Опубликовано 17 февраля, 2018 Здравствуйте, прошу помощи в решении проблемы! Суть проблемы: сменил ядро в сборке PW с допами, с 2014 года на 2016 и все загружается кроме одного ява скрипта, выдает вот такое сообщение в ГС: 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 items.DonateScrolls must implement the inherited abstract method scripts.items.IItemHandler.useItem(net.sf.l2j.gameserver.model.actor.instance.L2PlayableInstance, net.sf.l2j.gameserver.model.L2ItemInstance, boolean) Что изменить в скрипте что бы он заработал? Сам скрипт прикреплен к теме. DonateScrolls.java Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
zGosu 396 Опубликовано 17 февраля, 2018 17 минут назад, Yasik сказал: Здравствуйте, прошу помощи в решении проблемы! Суть проблемы: сменил ядро в сборке PW с допами, с 2014 года на 2016 и все загружается кроме одного ява скрипта, выдает вот такое сообщение в ГС: 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 items.DonateScrolls must implement the inherited abstract method scripts.items.IItemHandler.useItem(net.sf.l2j.gameserver.model.actor.instance.L2PlayableInstance, net.sf.l2j.gameserver.model.L2ItemInstance, boolean) Что изменить в скрипте что бы он заработал? Сам скрипт прикреплен к теме. DonateScrolls.java Метод useItem(L2PlayableInstance, L2ItemInstance, boolean) в этом классе получает на вход не верные параметры. Смотри какие параметры получает useItem в классе IItemHandler и в твоем и сделай как в классе IItemHandler Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
genius911147 29 Опубликовано 17 февраля, 2018 47 минут назад, Yasik сказал: Здравствуйте, прошу помощи в решении проблемы! Суть проблемы: сменил ядро в сборке PW с допами, с 2014 года на 2016 и все загружается кроме одного ява скрипта, выдает вот такое сообщение в ГС: 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 items.DonateScrolls must implement the inherited abstract method scripts.items.IItemHandler.useItem(net.sf.l2j.gameserver.model.actor.instance.L2PlayableInstance, net.sf.l2j.gameserver.model.L2ItemInstance, boolean) Что изменить в скрипте что бы он заработал? Сам скрипт прикреплен к теме. DonateScrolls.java Этот скрипт написан под java7 а у тебя скорее всего java8, надо обновить скрипт под новую версию. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
zGosu 396 Опубликовано 17 февраля, 2018 3 минуты назад, genius911147 сказал: Этот скрипт написан под java7 а у тебя скорее всего java8, надо обновить скрипт под новую версию. Абсурд! Где тут написано, что тут проблема с версией платформы? The type DonateScrolls must implement the inherited abstract method IItemHandler.useItem(L2PlayableInstance, L2ItemInstance, boolean) У него метод в 1 классе состоит из 3 параметров, а в другом из 2 Ему нужно просто скопировать метод из абстрактного класса и заменить в классе скрипта. Вот и весь фикс. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Demoncool 1110 Опубликовано 17 февраля, 2018 10 минут назад, genius911147 сказал: Этот скрипт написан под java7 а у тебя скорее всего java8, надо обновить скрипт под новую версию. Причём тут версия Ява, я не знаю. Выше написали решение 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
JunkyFunky 127 Опубликовано 17 февраля, 2018 49 минут назад, genius911147 сказал: Этот скрипт написан под java7 а у тебя скорее всего java8, надо обновить скрипт под новую версию. Надо то добавить всего лишь один параметр в сигнатуру метода. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
genius911147 29 Опубликовано 17 февраля, 2018 55 минут назад, zGosu сказал: Абсурд! Где тут написано, что тут проблема с версией платформы? The type DonateScrolls must implement the inherited abstract method IItemHandler.useItem(L2PlayableInstance, L2ItemInstance, boolean) У него метод в 1 классе состоит из 3 параметров, а в другом из 2 Ему нужно просто скопировать метод из абстрактного класса и заменить в классе скрипта. Вот и весь фикс. фишка в том что я тоже сталкивался с такой проблемой, вот и написал решение. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
genius911147 29 Опубликовано 17 февраля, 2018 9 минут назад, JunkyFunky сказал: Надо то добавить всего лишь один параметр в сигнатуру метода. ты поправил уже? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
JunkyFunky 127 Опубликовано 17 февраля, 2018 1 минуту назад, genius911147 сказал: ты поправил уже? МЕГАФИКС public void useItem(L2PlayableInstance playable, L2ItemInstance item) меняем на public void useItem(L2PlayableInstance playable, L2ItemInstance item, boolean ctrl) Hide Просто прям устал править, думал пол дня. 1 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
genius911147 29 Опубликовано 17 февраля, 2018 1 минуту назад, JunkyFunky сказал: МЕГАФИКС public void useItem(L2PlayableInstance playable, L2ItemInstance item) меняем на public void useItem(L2PlayableInstance playable, L2ItemInstance item, boolean ctrl) Скрыть Просто прям устал править, думал пол дня. красава Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты