Перейти к содержанию
Авторизация  
Yasik

проблема в ГС: сборка PW

Рекомендуемые сообщения

Здравствуйте, прошу помощи в решении проблемы! Суть проблемы: сменил ядро в сборке 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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
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 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
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, надо обновить скрипт под новую версию.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
3 минуты назад, genius911147 сказал:

Этот скрипт написан под java7 а у тебя скорее всего java8, надо обновить скрипт под новую версию.

Абсурд! 

Где тут написано, что тут проблема с версией платформы?

The type DonateScrolls must implement the inherited abstract method IItemHandler.useItem(L2PlayableInstance, L2ItemInstance, boolean)

У него метод в 1 классе состоит из 3 параметров, а в другом из 2
Ему нужно просто скопировать метод из абстрактного класса и заменить в классе скрипта.

Вот и весь фикс.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
10 минут назад, genius911147 сказал:

Этот скрипт написан под java7 а у тебя скорее всего java8, надо обновить скрипт под новую версию.

Причём тут версия Ява, я не знаю. Выше написали решение

 

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
49 минут назад, genius911147 сказал:

Этот скрипт написан под java7 а у тебя скорее всего java8, надо обновить скрипт под новую версию.

Надо то добавить всего лишь один параметр в сигнатуру метода.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
55 минут назад, zGosu сказал:

Абсурд! 

Где тут написано, что тут проблема с версией платформы?


The type DonateScrolls must implement the inherited abstract method IItemHandler.useItem(L2PlayableInstance, L2ItemInstance, boolean)

У него метод в 1 классе состоит из 3 параметров, а в другом из 2
Ему нужно просто скопировать метод из абстрактного класса и заменить в классе скрипта.

Вот и весь фикс.

фишка в том что я тоже сталкивался с такой проблемой, вот и написал решение.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
9 минут назад, JunkyFunky сказал:

Надо то добавить всего лишь один параметр в сигнатуру метода.

ты поправил уже?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
1 минуту назад, genius911147 сказал:

ты поправил уже?

МЕГАФИКС  

public void useItem(L2PlayableInstance playable, L2ItemInstance item)

меняем на 

public void useItem(L2PlayableInstance playable, L2ItemInstance item, boolean ctrl)

Hide  
Просто прям устал править, думал пол дня.
  • Like 1
  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
1 минуту назад, JunkyFunky сказал:
МЕГАФИКС

public void useItem(L2PlayableInstance playable, L2ItemInstance item)

меняем на 

public void useItem(L2PlayableInstance playable, L2ItemInstance item, boolean ctrl)

Скрыть
Просто прям устал править, думал пол дня.

красава

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...