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

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

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

Womsan

Участник
Пользователь
Баллы
36
Здравствуйте!

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

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

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

надо как-то дать таймер игроку на 3 секунды после того как он отправит сообщение в чат. И чтобы если таймер ещё не истёк и игрок попытается отправить сообщение, то сообщение не отправиться и ему напишет что надо подождать ещё и там сколько ещё таймер будет идти
Используй Map<Player, Long>, где в качестве значения время отправки последнего сообщения или время истечения кулдауна (в миллисекундах). Не забудь очищать значения из мапы в PlayerQuitEvent
 
Первое понял, второе нет. Про ивенты знаю, но вот про мапы нет.
 
Ну тут тоже верно, ладно спасибо что сказали, пойду мапы изучать.
 
Статус
Закрыто для дальнейших ответов.

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

Назад
Верх