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

Помогите Адекватный таймер

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

Jampire

Старожил
Пользователь
Баллы
173
Имя в Minecraft
Jampire
Стоит задача сделать что-то вроде "подготовки". Суть такая. Игрок пишет команду - начинается отчет в 5 секунд к примеру. После чего выполняется код.

С подобными вещами никогда не работал, даже не умею таймеры запускать нормально.
Помогите знаниями, люди ;)

Мне главное понять принцип запуска подобного таймера - всё остальное реализовать смогу сам.
Важный момент - что-бы несколько таймеров на сервере не конфликтовали (2 игрока одновременно написали команду). Таймер должен быть привязан к игроку.
 
Стоит задача сделать что-то вроде "подготовки". Суть такая. Игрок пишет команду - начинается отчет в 5 секунд к примеру. После чего выполняется код.

С подобными вещами никогда не работал, даже не умею таймеры запускать нормально.
Помогите знаниями, люди ;)

Мне главное понять принцип запуска подобного таймера - всё остальное реализовать смогу сам.
Важный момент - что-бы несколько таймеров на сервере не конфликтовали (2 игрока одновременно написали команду). Таймер должен быть привязан к игроку.
Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(Plugin плагин, Runnable r, long отсрочка_в_тиках)
Ruunable - класс расширяющий Runnable, с методом run(), в котором реализуется нужное действие.
В одной секунде 20 тиков, но всё может и подтормаживать.
 
Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(Plugin плагин, Runnable r, long отсрочка_в_тиках)
Ruunable - класс расширяющий Runnable, с методом run(), в котором реализуется нужное действие.
В одной секунде 20 тиков, но всё может и подтормаживать.
я пытался таким способом запускать. Что-бы иметь возможность остановить таймер - нужно записать его ID в переменную. Из runnable не получалось получить его ID.
А если такой таймер вызовут несколько раз (несколько раз напишут команду 2 разных человека, к примеру) - 2й таймер перекроет переменную.

Нужно что-бы 2 и более таймеров не конфликтовали и завершались нормально.
Да и я больше смотрю в сторону асинхронных таймеров.
 
Раскопал MyHome. Тема себя исчерпала, понял принцип:)
 
Статус
Закрыто для дальнейших ответов.

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

Назад
Верх