This is a mobile optimized page that loads fast, if you want to load the real page, click this text.

Вопрос Задержка на использование команд

Pershing

Новый участник
25 Янв 2021
30
4
65
Чёт сижу ломаю голову и не пойму, как сделать задержку на использование команд чтобы люди не могли спамить командами, ведь по сути ивент playerCommand на сервере срабатывает только если введена несуществующая команда. Как можно отследить введенную команду? Не уж то придется в каждую команду пихать проверку
 

Aiden

Гуру
BackEnd developer
7 Сен 2021
281
148
122
Что первое приход на ум - сделать setVariable с таймером и проверять
 

XDeveluxe

⚡️BackEnd Developer
Команда форума
Moderator
High developer
BackEnd developer
30 Авг 2021
2,770
1,585
211
28
Исходи из логической мысли:
Человек пишет команду. Пишет он её куда? В чат. Значит регистрация первоначально отрабатывает с браузера клиентской части.
Если у тебя будет кастомный чат, то внутри его скрипта тебе нужно будет самому писать логику регистрации команды по отслеживанию символа '/'.

Что-то примерно вот такое будет в твоём скрипте чата.
JavaScript:
var message = $("input").val();
if (message.length <= 0) return;
if (message[0] === '/')
{
    message = message.trim().substr(1);
    mp.invoke("command", message); 
    return;
}
mp.invoke("chatMessage", message);
Как ты видишь, здесь есть обработчик, который запускает сообщение по API в серверный [Command.
Можешь с этой стороны добавить анти-флуд систему и твой вопрос решён.
 
Последнее редактирование: