Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

del

Статус
Закрыто для дальнейших ответов.

Jayman

Активный участник
Пользователь
Баллы
76
Как получить время игры игрока, а потом, когда наберется определенное кол-во времени выполнять какое-то действие и обнулять счётчик?
 
Я сомневаюсь, что есть какие-то готовые методы, поэтому предлагаю так:
1) Создаешь HashMap<Player, Int32>
2) Запускаешь шелудер, в котором ко всем значениям из HashMap прибавляешь единицу. Тут же производишь остальные необходимые проверки и действия
3) При заходе игрока записываешь в HasMap со значением 0, при выходе, соответственно, удаляешь элемент
P.S. Хотя, может, я и мазахист
 
Как получить время игры игрока, а потом, когда наберется определенное кол-во времени выполнять какое-то действие и обнулять счётчик?
У типа игрока есть 2 метода - время первого входа и последнего. Так и можно посчитать время игры, если я правильно понял(общее время игры на сервере).
 
У типа игрока есть 2 метода - время первого входа и последнего. Так и можно посчитать время игры, если я правильно понял(общее время игры на сервере).
Не знал про эти методы. Ну тогда задача упрощается - не нужно никуда сохранять информацию о времени игры
 
То о чем написал Den_Abr, это два метода от OfflinePlayer, они вам подойдут если вам не надо разделять онлайн и оффлайн время, в чем я сильно сомневаюсь. Если вам надо только время игрока онлайн, как писал TheMrDanchik, создаете структуру, запускаете задачу с повтором каждую минуту, и для всех игроков, которые онлайн(Bukkit.getOnlinePlayers()), увеличиваем счетчик и делаете что хотели - "определенное кол-во времени выполнять какое-то действие и обнулять счётчик".
P.S. TheMrDanchik, пожалуйста, не храните в плагинах игроков как объекты Player, не надо.
 
String? Name? UUID? Памяти меньше, но вероятность сбоев/багов, как мне кажется, больше
Наоборот, так вероятность сбоев меньше, потому что в процессе игры объект плэер может изменится и тогда вместо нужных данных ты получишь нулл из мапы.
 
Наоборот, так вероятность сбоев меньше, потому что в процессе игры объект плэер может изменится и тогда вместо нужных данных ты получишь нулл из мапы.
Всегда использовал Player. Что ж, буду знать.
Спасибо
 
Статус
Закрыто для дальнейших ответов.

Поделиться этой страницей

Назад
Верх