REL LUA Ultimate Chat Helper - транслитерация, автозамена дефиса, грамматическая коррекция, информация

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

Reverse

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


Ultimate Chat Helper


Автор: Reverse (restarv)

Версия: 1.0

Требования: MoonLoader 026.3, SAMP 0.3.7 R1, SAMPFUNCS​




Описание

Ultimate Chat Helper содержит в себе несколько полезных функций для чата:

Транслитерация команд - автоматическое преобразование команд, введённых в русской раскладке, в латиницу. Больше не нужно переключать раскладку.
Автозамена дефиса - умная замена символа - на короткое или длинное тире в зависимости от контекста (аналог типографских правил).
Грамматическая коррекция - первая буква сообщения автоматически становится заглавной, а в конце добавляется точка, если её нет.
Инпут Хелпер - отображение полезной информации (имя, ID, Caps Lock, раскладка) прямо под полем ввода.

Скрипт полностью автономен, не требует настройки и работает сразу.​




Возможности

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

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

Текущий язык ввода (раскладка клавиатуры)
Ник и ID вашего персонажа (с цветом)
Состояние Caps Lock (Вкл/Выкл)
Текущее время


Если вы случайно (или специально) вводите команду в русской раскладке, например:

.дщсл

... или же ...

/дщсл

... скрипт автоматически преобразует её в /lock прямо в поле ввода. Работает для всех команд, начинающихся с / или ..

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




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

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

Если рядом нет ни букв, ни цифр (пробелы, знаки препинания) > заменяется на длинное тире .
Пример: Привет — как дела?

Если рядом есть буква (кириллица или латиница) > остаётся обычный дефис -.
Пример: кое-как, из-за, A-B

Если рядом есть цифра, но нет букв > заменяется на короткое тире .
Пример: 7–7, 100–200


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




Грамматика сообщений

Первая буква отправляемого вами сообщения автоматически становится заглавной (работает для русского и английского алфавита).

Если в конце сообщения нет знака препинания (.!?), автоматически добавляется точка.

Учитываются конечные пробелы - лишняя точка не появится.

Важно: эти правила не применяются к командам (они не искажают /me и прочие). Работает только в репликах.​




Горячая клавиша

Клавиша T открывает чат.​




Установка

  1. Убедитесь, что у вас установлен MoonLoader 026.3 и SAMPFUNCS.
  2. Скачайте файл скрипта UltimateChatHelper.lua во вложениях (в самом низу данного сообщения)
  3. Поместите его в папку moonloader внутри директории игры GTA San Andreas.
  4. Запустите игру и подключитесь к серверу. Скрипт активируется автоматически.




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


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

Примеры
Ввод (до обработки)
Вывод (после обработки)
привет мир
Привет мир.
7-7
7–7
а - б
а — б
.дщсл (русская раскладка)​
/lock (в поле ввода)​
/me достал - телефон
/me достал — телефон
hello-world
Hello-world.




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


Не зависит от кодировки файла - все русские символы заданы байтами CP1251, поэтому скрипт работает одинаково при любой кодировке. (наверное)
Оптимизирован - используется минимальное количество ресурсов.
Совместим - не имеет конфликтов с другими скриптами.
Универсален - подходит для любых серверов.





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


Вопрос: Можно ли отключить какую-то функцию?
Ответ: В текущей версии нет настроек.

... будет дополняться.




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

Всем, кто тестировал и будет тестировать, а также всем, кто помогал и будет помогать улучшать сей скрипт.
ROAshnisa51 - за грамматическую коррекцию.
DonHomka - за основу Input Helper.





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

Вложения

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

mаce

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

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

Reverse

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

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

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

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

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

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

mаce

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

Reverse

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

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

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

1788018520960.png