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

Странное поведение скрипта при изменении дропа

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

  Скрипт (Показать контент)

Привет, при попытке замены дропа, сервер просто отказывается компилировать скрипт, просто

мар. 09, 2021 8:46:46 PM org.l2jmobius.gameserver.GameServer <init>
WARNING: GameServer: Failed to execute script list!
java.lang.NullPointerException
    at org.l2jmobius.gameserver.scripting.java.JavaExecutionContext.executeScripts(JavaExecutionContext.java:166)
    at org.l2jmobius.gameserver.scripting.ScriptEngineManager.executeScriptList(ScriptEngineManager.java:180)
    at org.l2jmobius.gameserver.GameServer.<init>(GameServer.java:355)
    at org.l2jmobius.gameserver.GameServer.main(GameServer.java:486)

Меняю 

private static final ItemHolder KASTIAS_LV5_PACK = new ItemHolder(81466, 1);

на 

private static final ItemHolder[] KASTIAS_LV5_PACK =
	{
		new ItemHolder(80817, 16),
		new ItemHolder(48848, 24),
		new ItemHolder(48857, 24),
		new ItemHolder(48867, 24),
	};

 

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


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

А так работает...

private static final ItemHolder COKCTEILS_KASTIA_LVL_5 = new ItemHolder(80817, 16);
private static final ItemHolder ROSES_KASTIA_LVL_5 = new ItemHolder(48848, 24);	
private static final ItemHolder BEER_KASTIA_LVL_5 = new ItemHolder(81011, 24);
private static final ItemHolder DRAGON_KASTIA_LVL_5 = new ItemHolder(48867, 24);
giveItems(player, COKCTEILS_KASTIA_LVL_5);
giveItems(player, DRAGON_KASTIA_LVL_5);
giveItems(player, BEER_KASTIA_LVL_5);
giveItems(player, ROSES_KASTIA_LVL_5);

 

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


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

ну как бы логично - метод giveItems  не может принимать в качестве второго параметра массив, а только одиночный объект типа ItemHolder

хочешь чтобы понимало - дорабатывай оный метод, к примеру перепиши это

protected void giveItems(PlayerInstance player, ItemHolder holder)
{
	giveItems(player, holder.getId(), holder.getCount());
} 

на это

protected void giveItems(PlayerInstance player, ItemHolder... holder)
{
  	for (ItemHolder h : holder)
		giveItems(player, h.getId(), h.getCount());
} 

 

Изменено пользователем Gaikotsu
  • Like 3
  • Upvote 1

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


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

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

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

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