Иконка ресурса

Command Corrector 0.1

OXYGEN

Участник
Сообщения
4
Реакции
3
  • Автор ресурса
  • #1
Плагин для распознавания неправильно введенных комманд

Что умеет делать на данный момент:
  • Распознает команды, введенные в неверной языковой раскладке
Пример: Игрок написал в чат !фвьшт вместо !admin. В этом случае выполнит команду sm_admin от имени клиента
Замечание: Отслеживает только вызов консольных команд через чат

Чему я планирую его "научить":
  • Изменять текст сообщения на правильный
  • Реализовать возможность задавать ему список команд только для чата (rtv, voteban и т.д.)
  • Добавить возможность задавать ассоциации для команд (Например, для "rtv" -> "ртв")

Установка:
Скопировать "command_corrector.smx" в папку для плагинов на сервере.
Скомпилирован для русской раскладки. При желании, легко сделать для другого языка(смотрите исходники)

P.S. Если есть какие-то советы по функционалу или оптимизации кода, пишите :)
 
Последнее редактирование модератором:

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #2
sun9, может вместо перекомпиляции плагина под разные языки лучше было бы получить язык клиента и отталкиваться от него?
 

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755
Изменять текст сообщения на правильный
В моде "Таймер" есть простое дополнение-модуль - делает все большие буквы маленькими для команд. Таким образом, все команды "вне регистра" плагина становятся читаемыми и выдаются в чат правильно.
Можешь пока также сделать.
 

Just-Skill

Участник
Сообщения
85
Реакции
11
Плагин для распознавания неправильно введенных комманд

Что умеет делать на данный момент:
  • Распознает команды, введенные в неверной языковой раскладке
Пример: Игрок написал в чат !фвьшт вместо !admin. В этом случае выполнит команду sm_admin от имени клиента
Замечание: Отслеживает только вызов консольных команд через чат


Чему я планирую его "научить":

  • Изменять текст сообщения на правильный
  • Реализовать возможность задавать ему список команд только для чата (rtv, voteban и т.д.)
  • Добавить возможность задавать ассоциации для команд (Например, для "rtv" -> "ртв")

Установка:
Скопировать "command_corrector.smx" в папку для плагинов на сервере.
Скомпилирован для русской раскладки. При желании, легко сделать для другого языка(смотрите исходники)

P.S. Если есть какие-то советы по функционалу или оптимизации кода, пишите :)

Лойс, классная идея
 

OXYGEN

Участник
Сообщения
4
Реакции
3
  • Автор ресурса
  • #6
sun9, может вместо перекомпиляции плагина под разные языки лучше было бы получить язык клиента и отталкиваться от него?

Это будет, как только составлю схемы раскладок для основных мировых языков))
 

Modi

Участник
Сообщения
71
Реакции
16
У меня такая проблема с этим плагином: сообщения в чате от некоторых плагинов, выводимые простым PrintToChat, дублируются.
 

Modi

Участник
Сообщения
71
Реакции
16
Кажется разобрался, в чем было дело - версия из шапки обрабатывает каждую команду в чате, даже если она была изначально введена на английском. Таким образом мои команды, забинденные на кнопки посредством "bind <key> "say !command" обрабатывались плагином, и по итогу отправлялись дважды.

Мне удалось это исправить, добавив проверку является ли второй символ в команде киррилическим или нет:
C-подобный:
#include <regex>
...

if (text[0] == '!' || text[0] == '/') {
  /// Dont proccess if second symbol is not cyrillic
  Regex rgx = new Regex("[ЁёА-я]");
  if(rgx == INVALID_HANDLE) return Plugin_Continue;
  if(!rgx.Match(text[1])) return Plugin_Continue;
 

Вложения

  • command_corrector.sp
    4.1 КБ · Просмотры: 7
  • command_corrector.smx
    6.4 КБ · Просмотры: 5

hirowatch

Живет ХЛмод`ом
Сообщения
2,722
Реакции
1,634
@Modi, то есть плагин работает? Где Вы проверяли?
 

Modi

Участник
Сообщения
71
Реакции
16
@hirowatch, на своём сервере.
Да, работает - зашёл, пишу в чат !фвьшт (!admin), вызывается меню администратора.
Единственный минус, что неправильный вариант всё равно отправляется в чат - то есть другие игроки не поймут, что было написано 😄

Я кстати нашел еще альтернативу - !COMMAND eater, которая судя по описанию умеет также исправлять ошибки вроде !Admin. Но пока не проверял её.
 
Сверху Снизу