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

Помогите Как сделать задержку на сообщения и все команды

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

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

    Womsan Участник Пользователь

    Баллы:
    36
    Здравствуйте!

    Хочу написать плагин, антиспам. Я знаю что уже есть такие плагины, но они фиговые, поэтому и решил свой написать. Так вот, проблема в том что я не знаю как сделать так, чтобы была задержка когда игрок отправлял сообщение или команду в чат. Да и вообще я не знаю как сделать так, чтобы когда была задержка у игрока, то сообщение или команда не отправлялась и игроку писалось сообщение типо: "не спамь!". А ещё я бы хотел сделать так, чтобы потом когда плагин уже будет работать, я бы мог менять строчки которые плагин пишет в чат из конфига или файла с языком.
    Я вообще плохо в джаве разбираюсь поэтому пожалуйста если можете то описываете подробно всё, чтобы я понял.
     
  2. Dymeth

    Dymeth Активный участник Пользователь

    Баллы:
    98
    Имя в Minecraft:
    Dymeth
    Если ты без знаний джавы, то тебе будет проще изменить код другого плагина, нежели делать свой с нуля. Заодно можешь исправить то, что тебя в нём не устраивает.

    Если ты по-прежнему хочешь получить от нас помощь, то задай конкретные вопросы.

    Просто так научить написанию плагинов мы тебя не сможем. Обучение - длительный процесс. Конкретно по основам написания плагинов сейчас полно видосов на ютубе, можешь глянуть их
     
  3. Автор темы
    Womsan

    Womsan Участник Пользователь

    Баллы:
    36
    Я уже гуглил и джаву немного, но знаю. Мне нужен ивент когда игрок отправляет сообщение в чат. А также мне надо как-то дать таймер игроку на 3 секунды после того как он отправит сообщение в чат. И чтобы если таймер ещё не истёк и игрок попытается отправить сообщение, то сообщение не отправиться и ему напишет что надо подождать ещё и там сколько ещё таймер будет идти.
     
  4. Dymeth

    Dymeth Активный участник Пользователь

    Баллы:
    98
    Имя в Minecraft:
    Dymeth
    AsyncChatEvent

    Используй Map<Player, Long>, где в качестве значения время отправки последнего сообщения или время истечения кулдауна (в миллисекундах). Не забудь очищать значения из мапы в PlayerQuitEvent
     
  5. Автор темы
    Womsan

    Womsan Участник Пользователь

    Баллы:
    36
    Первое понял, второе нет. Про ивенты знаю, но вот про мапы нет.
     
  6. BetterLex

    BetterLex Активный участник Пользователь

    Баллы:
    76
    Храни в мапе игроков с задержкой, либо их uuid, тут уж на твой выбор.
     
  7. Автор темы
    Womsan

    Womsan Участник Пользователь

    Баллы:
    36
    Я же говорю, я не знаю как эти мапы делать
     
  8. BetterLex

    BetterLex Активный участник Пользователь

    Баллы:
    76
    Выше дали пример. Можешь почитать это, чтобы лучше понимать, что это и как с ним работать.
     
  9. Dymeth

    Dymeth Активный участник Пользователь

    Баллы:
    98
    Имя в Minecraft:
    Dymeth
    Ну так изучи, в интернете масса информации. Мы ж не будем вместо тебя код писать
     
  10. Автор темы
    Womsan

    Womsan Участник Пользователь

    Баллы:
    36
    Ну тут тоже верно, ладно спасибо что сказали, пойду мапы изучать.
     
Статус темы:
Закрыта.

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