1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

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

Тема в разделе "Разработка плагинов для новичков", создана пользователем Jampire, 18 мар 2013.

Статус темы:
Закрыта.
  1. Автор темы
    Jampire

    Jampire Старожил Пользователь

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

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

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

    Ission Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    lokivava
    Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(Plugin плагин, Runnable r, long отсрочка_в_тиках)
    Ruunable - класс расширяющий Runnable, с методом run(), в котором реализуется нужное действие.
    В одной секунде 20 тиков, но всё может и подтормаживать.
     
    Сникерсни нравится это.
  3. Автор темы
    Jampire

    Jampire Старожил Пользователь

    Баллы:
    173
    Skype:
    jampire-h
    Имя в Minecraft:
    Jampire
    я пытался таким способом запускать. Что-бы иметь возможность остановить таймер - нужно записать его ID в переменную. Из runnable не получалось получить его ID.
    А если такой таймер вызовут несколько раз (несколько раз напишут команду 2 разных человека, к примеру) - 2й таймер перекроет переменную.

    Нужно что-бы 2 и более таймеров не конфликтовали и завершались нормально.
    Да и я больше смотрю в сторону асинхронных таймеров.
     
  4. Автор темы
    Jampire

    Jampire Старожил Пользователь

    Баллы:
    173
    Skype:
    jampire-h
    Имя в Minecraft:
    Jampire
    Раскопал MyHome. Тема себя исчерпала, понял принцип:)
     
Статус темы:
Закрыта.

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