REL LUA Ultimate Chat Helper (2.0) - большая автоматизация и чат, который исправляет сам себя

  • Привет! Если твой основной форумник заблокирован - ты можешь оставить заявку в этом разделе: Нажми на меня!, НЕ создавая новый форумный аккаунт.
  • Менеджмент проекта ждет ваши вопросы/предложения/критику работы проекта в специальном треде

Reverse

Легенда
Автор темы
2,846
9,442

Ultimate Chat Helper


Автор: Reverse (restarv)
Версия: 2.0
Требования: MoonLoader 026.3, SAMP 0.3.7 R1, SAMPFUNCS, mimgui



Описание

Ultimate Chat Helper - универсальный помощник для чата, благодаря ему:

Команды, набранные в русской раскладке, автоматически превращаются в латиницу.

Дефисы заменяются на правильные тире по типографским правилам.

Сообщения получают заглавную букву и точку в конце.

Лишние пробелы удаляются, а после знаков препинания ставятся нужные.

Опечатки "жы", "шы", "чя", "щя", "чю", "щю" исправляются.

Частые ошибки ("вообщем", "наверно" и др.) заменяются на правильные варианты.

Большие числа форматируются с разделителем тысяч.

Кавычки-ёлочки расставляются автоматически.

Примечание: многие команды (/s, /w, /do, /b, /me и др.) обрабатываются как обычные сообщения, потому правки с ними действуют при нужде.

Полностью настраивается через удобное меню, работает сразу после установки и не требует специальных действий.

1788199923569.png



Возможности

Input Helper (информация при вводе и транслитерация команд)

При активации чата (клавиша T) над полем ввода отображается строка с полезной информацией:

Текущий язык ввода (раскладка клавиатуры)

Ник и ID вашего персонажа (с цветом)

Состояние Caps Lock (Вкл/Выкл)

Текущее время


Если вы вводите команду в русской раскладке, например:
.дщсл или /дщсл
Скрипт автоматически преобразует её в /lock прямо в поле ввода.

Работает для всех команд, начинающихся с / или точки.

Отдельно: команда /id транслитерирует не только название команды, но и все её аргументы. Например, .шв Шмфт превратится в /id Ivan.

Таблица транслитерации включает все буквы русского алфавита (строчные и заглавные) и специальные символы ([ ] { } ; ' , . < >).



Автозамена дефиса

Символ - (обычный дефис) заменяется по следующим правилам:

Если рядом нет ни букв, ни цифр (пробелы, знаки препинания) → заменяется на длинное тире.
Пример: Привет — как дела?
Если рядом есть буква (кириллица или латиница) → остаётся обычный дефис.
Пример: кое-как, из-за, R2-D2
Если рядом есть цифра, но нет букв → заменяется на короткое тире.
Пример: 7–7, 100–200


Замена работает везде: в обычных сообщениях, в отыгровках (/me, /do), в личных сообщениях (/pm), в SMS (/sms) и так далее.



Грамматика и пунктуация

Первая буква отправляемого сообщения автоматически становится заглавной (для русского и английского алфавита).
Если в конце сообщения нет знака препинания (.!?), автоматически добавляется точка.
Учитываются конечные пробелы - лишняя точка не появится.
После знаков ! и ? следующее слово начинается с заглавной буквы (если это обычное сообщение).
Удаляются лишние пробелы в начале и конце, а также двойные пробелы.
Перед знаками препинания (, . ! ? ; :) пробел убирается, после - ставится, если его не было.


Важно: правила грамматики применяются только к обычным сообщениям и к командам из специального списка (о нём ниже). Команды вне списка не искажаются.



Автозамена жи/ши, ча/ща, чу/щу

Добавил по приколу, для совсем уж маленьких. Опечатки с неправильными сочетаниями автоматически исправляются:

жы → жи (жызнь → жизнь)

шы → ши (шына → шина)

чя → ча (чяй → чай)

щя → ща (щявель → щавель)

чю → чу (чюдо → чудо)

щю → щу (щюка → щука)

Работает с учётом заглавных букв.



Исправление частых ошибок


Встроен словарь распространённых ошибок, которые заменяются на правильные написания:

вообщем → в общем

какбудто → как будто

ихний → их

евоный → его

еёный → её

наверно → наверное

впринципе → в принципе

втечение → в течение

и другие... (в будущем)

Замена выполняется только для целых слов, чтобы не затронуть части других слов.



Форматирование чисел

Большие целые числа (от 4 цифр) автоматически получают разделитель тысяч в виде точки:

1500 → 1.500

1000000 → 1.000.000

2500000$ (ошибка) → $2.500.000


Дробные числа (например, 3.14159) и числа внутри ссылок не изменяются. Форматирование применяется только к обычным сообщениям и командам из вайтлиста.



Умные кавычки

Прямые двойные кавычки " автоматически заменяются на ёлочки.

Первая кавычка → «
Вторая кавычка → »
Далее чередование.

Пример: Он сказал "Привет"Он сказал «Привет».



Защита ссылок и почт

Любые ссылки (https://..., www.) и адреса электронной почты (name@mail.com) исключаются из всех обработок. Они не получают лишних пробелов, заглавных букв, форматирования чисел и замены дефисов/кавычек. Это гарантирует, что ссылки останутся кликабельными и корректными.



Обработка команд

Следующие команды обрабатываются так же, как обычные сообщения (с исправлением ошибок, пробелами, точкой в конце, заглавной буквой):

/s | /w | /wto | /do | /b | /ab | /pm | /f | /r | /ri | /rr | /rl | /rrl

Команды /me и /ame обрабатывается полностью, кроме добавления заглавной буквы в начале.

Все остальные команды не получают форматирования чисел, заглавной буквы и точки, но базовые исправления (жи/ши, словарь, дефисы, кавычки, пробелы) применяются.



Меню настроек

Для управления функциями предусмотрено графическое меню. Открывается командой /uch в чате.

В меню можно включать/выключать:

Умные пробелы после знаков

Удаление лишних пробелов

Автозамена жи/ши, ча/ща, чу/щу

Расширенное исправление ошибок

Форматирование чисел

Автозамена дефисов

Умные кавычки

Заглавная буква в начале

Точка в конце

Input Helper (информация над полем ввода и транслитерация команд) всегда включён и не отключается.

Все настройки сохраняются в файл UltimateChatHelper.ini и загружаются при следующем запуске игры.


Установка

Убедитесь, что установлены MoonLoader 026.3 и SAMPFUNCS.

Скачайте файл UltimateChatHelper.lua.

Поместите его в папку moonloader в директории GTA San Andreas.

Запустите игру и подключитесь к серверу. Скрипт активируется автоматически.


Использование

Просто играйте как обычно. Для настройки откройте меню командой /uch.


Примеры:

Ввод (до обработки)
Вывод (после обработки)
привет мир​
Привет мир.​
7-7​
7–7​
а - б​
а — б​
.дщсл (русская раскладка)​
/lock (в поле ввода)​
жызнь​
жизнь​
Он сказал "Привет"​
Он сказал «Привет»​
У меня 1500 рублей​
У меня 1.500 рублей.​
test@gmail.com (без изменений)​
/do На столе 25000$​
/do На столе $25.000.​
/me достал - телефон​
/me достал — телефон.​



Дополнительно

Не зависит от кодировки файла - все русские символы заданы байтами CP1251.

Не имеет конфликтов, за исключением ChatHelp.lua и InputHelper.lua.

Оптимизирован - минимальная нагрузка на процессор.

Универсален - подходит для любых серверов.


Возможные проблемы и решения

Вопрос: Скрипт не работает вовсе. Что делать?
Ответ: Пришлите файл moonloader.log - я помогу найти решение.

Вопрос: Как открыть меню настроек?
Ответ: Введите команду /uch в чат.

Вопрос: Некоторые функции не работают. Почему?
Ответ: Убедитесь, что в сборке отсутствуют скрипты ChatHelp.lua и InputHelper.lua, так как они могут дублировать его функционал и мешать обработке чата.​




Благодарности

Всем, кто принял, а также принимает участие в тестировке и обсуждении.

ROAshnisa51 - за грамматическую коррекцию.

DonHomka - за основу Input Helper.



Если у вас есть предложения по улучшению, пишите ниже.

 

Вложения

  • UltimateChatHelper.lua
    27.5 KB · Просмотры: 0
Последнее редактирование:
  • Нравится
  • Нравится
Реакции: CaliBanging и social trap

mаce

Легенда
6,904
74,743
1. сделай чтобы точку ставило и в конце отыгровок
2. сделай функцию, чтобы можно было убирать длинные тире, средние и так далее, это выглядит неестественно и нейрослопно
3. вырежи .дщсл - /lock, эта функция уже есть внутри сервера, можешь проверить

и тогда збс тема будет в целом, скачаю даже
 
  • Cолидарен
Реакции: Reverse

Reverse

Легенда
Автор темы
2,846
9,442
1. сделай чтобы точку ставило и в конце отыгровок
2. сделай функцию, чтобы можно было убирать длинные тире, средние и так далее, это выглядит неестественно и нейрослопно
3. вырежи .дщсл - /lock, эта функция уже есть внутри сервера, можешь проверить

и тогда збс тема будет в целом, скачаю даже
третье, думаю, вырезать не имеет смысла. люди могут на разных серверах играть, где функция подобная внутри сервера может быть не реализована: тот же тренинг. в универсальности лишь терять.

второе это базовая типографика, но если кому-то глаз и режет - создам для таких отдельную функцию выключения.

а первое добавлю в ближайшее время

ещё в планах добавить транслитерацию аргументов при вводе определённых команд. например, /id. если ещё подобные есть - подскажите

и по мелочи дополнить заменой прямых двойных кавычек на кавычки-ёлочки
 
Последнее редактирование:

mаce

Легенда
6,904
74,743
ещё в планах добавить транслитерацию аргументов при вводе определённых команд. например, /id. если ещё подобные есть - подскажите
объясни, я не понял
и по мелочи дополнить заменой прямых двойных кавычек на кавычки-ёлочки
тоже не понял
 

Reverse

Легенда
Автор темы
2,846
9,442
объясни, я не понял
сейчас работает так: .шв Шмфт_Лфдштшт /id Шмфт_Лфдштшт

если исправить, выйдет так: .шв Шмфт_Лфдштшт /id Ivan_Kalinin

при этом прочие команды, где нет надобности вписывать аргументы на латинице останутся незатронутыми

1788018520960.png
 

Reverse

Легенда
Автор темы
2,846
9,442


Ultimate Chat Helper - список изменений v2.0​

Что нового​

  • Меню настроек - открывается командой /uch. Каждую функцию можно включать/выключать отдельно.
  • Сохранение настроек - выбранные опции записываются в UltimateChatHelper.ini и подгружаются при входе.
  • Умные пробелы - после знаков препинания автоматически ставится пробел, если его не было.
  • Удаление лишних пробелов - убираются двойные пробелы и пробелы перед запятыми, точками и т.п.
  • Автозамена жи/ши, ча/ща, чу/щу - исправляются опечатки типа "жы", "шы", "чя", "щя", "чю" и "щю" с учётом заглавных букв.
  • Расширенный словарь исправлений - автоматически правятся частые ошибки: "вообщем" → "в общем", "ихний" → "их", "евоный" → "его" и так далее, список небольшой - первое, что приходило в голову.
  • Форматирование чисел - числа от 4 цифр получают разделитель тысяч: 15001.500. Дроби и ссылки не затрагиваются.
  • Умные кавычки - прямые `"` заменяются на ёлочки `«»` с чередованием открывающих и закрывающих.
  • Автозамена дефисов - обычный дефис превращается в длинное `—` или короткое `–` в зависимости от контекста.
  • Защита ссылок и почт - адреса вида https://…, www.…, name@mail.com исключаются из обработки и не ломаются.
  • Обработка команд - команды `/s`, `/w`, `/do`, `/b`, `/me` и другие обрабатываются как обычные сообщения (правки, пробелы, точка в конце и так далее), однако `/me` и `/ame` не получает заглавную букву в начале.
  • Транслитерация команды `/id` - аргументы после `/id` автоматически переводятся на английскую раскладку. Пример: .шв Шмфт/id Ivan.
  • Сообщение о загрузке - при старте игры сразу выводится уведомление, что скрипт загружен.

Прочие изменения​

  • Производительность улучшена, код оптимизирован.
  • Все русские тексты в интерфейсе и сообщениях переведены на байтовое представление.
  • Версия скрипта поднята до 2.0.
 
Последнее редактирование:

Reverse

Легенда
Автор темы
2,846
9,442


Небольшой фикс: версия 2.1​

Исправлены две проблемы:​

  • Капитализация в начале больше не срабатывает, если сообщение начинается с символов продолжения: ... или ... Теперь первая буква останется строчной, как и задумано.
Пример:​
... привет!... привет! (без изменений)​
/do ... стоял невыносимый смрад./do ... стоял невыносимый смрад.

  • Лишний пробел перед закрывающей кавычкой больше не добавляется. Раньше после знака препинания (например, ! или ?) вставлялся пробел, даже если дальше шла кавычка. Теперь пробел ставится только перед открывающей кавычкой, а перед закрывающей - нет.
Пример:​
/ame жестикулирует, мол, "круто!"./ame жестикулирует, мол, «круто!». (без пробела перед »)​

Остальные функции работают как прежде.