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

Супер моб

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

Добрый день, хочу запилить скрипт, точнее переписать исходы ява скрипта на супер моба. Суть изначального скрипта убить моба и получить статус хиро:
1. До релога.
2. Навсегда.
Я же хочу сделать, что бы давалось геройство на определенное количество часов или минут. Сам я в яве не очень, но иной раз что то понимаю.

 

 

 

private void addHero(L2PcInstance player, int days)
	{
		long _heroExpire = 0L;
		
		player.setHero(true);
		player.broadcastUserInfo();
		
		if (days == 0)
		{
			_heroExpire = 3L;
			return;
		}
		_heroExpire = (days == -1 ? 1L : System.currentTimeMillis() + TimeUnit.DAYS.toMillis(days));
		
		try (Connection con = DatabaseFactory.getConnection();
			PreparedStatement stm = con.prepareStatement("UPDATE `characters` SET `hero`=? WHERE `obj_Id`=?"))
		{
			stm.setLong(1, _heroExpire);
			stm.setInt(2, player.getObjectId());
			stm.execute();
		}
		catch (SQLException e)
		{
			_log.warn("[SuperMonster] addHero(days) error: ", e);
		}
	} 

 

 

Пытаюсь заменить days на time , но не выходит....
Прошу помочь.

 

Хочу ещё спросить, что означает 0L, 1L, 3L. Про них нигде ничего не описано...

Изменено пользователем Connect

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


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

Можно ввести предмет, который дает хиро. Получать его будет игрок, который нанес последний удар например

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


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

Можно ввести предмет, который дает хиро. Получать его будет игрок, который нанес последний удар например

 

Да я думал над этим, но не хочу так). Хотелось бы, что бы именно при убийстве давало хиро.

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


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

player.setHero(5) = 5 дней

player.setHero(true) = до релога.

Спасибо, но после тогда, как я меняю true на 5, вылазит ошибка.

Я пробовал изменить дни на время но у меня вылазит ошибка на этой строчке System.currentTimeMillis() + TimeUnit.DAYS.toMillis(days));

я заменяю TimeUnit.DAYS.toMillis(days)); на TimeUnit.TIME.toMillis(days));

Изменено пользователем Connect

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


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

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

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

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

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

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

Войти

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

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

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

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

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