Lua IRC Messenger - чат независимо от сервера

meowprd

Тот самый Котовский
Автор темы
Проверенный
1,280
712
Версия SA-MP
  1. 0.3.7 (R1)

IRC Messenger - чат независимо от сервера.

Слишком знакомое название, неправда ли?
Да, это очередной IRC клиент на LUA.
Но сейчас это допилено (насколько хватило моей фантазии) и выходит на всеобщее пользование.
Я не знаю буду ли я поддерживать этот проект в будущем.
(интересно кто-то еще помнит клиент mIRC? Когда-то в играя в кс 1.6 искал там миксы, приятные воспоминания)

1626179595785.png

1626179615449.png

1626181834248.png

• Зависимости:
- luairc
Для установки библиотеки переходим на GitHub разработчика и скачиваем весь репозиторий.
Переходим в папку с игрой --> moonloader --> lib и закидываем туда следующие файлы:
1. asyncoperations.lua
2. handlers.lua
3. util.lua
4. init.lua
Закинули? Отлично. Берем файл init.lua и переименовываем в
luairc.lua

- socket
Переходим в тему https://www.blast.hk/threads/16031/#post-140673 и скачиваем архив lua51-libs.rar
Из этого архива нас интересует папка luasocket. Открываем ее и все содержимое переносим в папку с игрой --> moonloader --> lib


- пак luairc + socket
- mimgui
- fa-icons4 (by fyp) (Прямая ссылка на скачивание)

Все необходимые библиотеки прикреплены в архиве luairc.rar.
Все содержимое архива нужно распаковать в папку с игрой --> moonloader --> lib


• Возможности и преимущества от старых версий:
1. В первую очередь это сам обмен сообщений, как в групповых каналах, так и в личных сообщениях. (личные сообщения можно отправлять только тем, с кем вы есть в одном канале)
2. Неограниченное количество каналов (хотя я проверял на 5 всего, но думаю что лимита нет, если его не задает IRC сервер)
3. От старых версий тут мало чего осталось, я лишь посмотрел основной принцип и сделал полный рефакторинг кода с добавлением удобного функционала
(вот и все получается, скудный список однако)

• Минусы данного скрипта:
За все время тестов и написания я заметил всего два минуса
1. Долгое подключение к серверу (всегда по разному в среднем ~5 секунд), а во время подключения к серверу игра зависает. К сожалению, это проблема библиотеки.
2. Сервер вас автоматически отключает при АФК ~3 минуты. В скрипте есть способ решения этого, но это может привести к проблемам на некоторых серверах. Единственный способ, который я нашел - это включение работы в свернутом режиме, чтобы скрипт мог отвечать на PING запросы от IRC сервера и отправлять ему PONG. Функция включается и отключается в настройках игры. Работа в свернутом режиме начинает свою работу только тогда, когда вы подключены к серверу, стоит галочка и окно игры не активно.
(из минусов может быть еще дизайн, я старался сделать красиво для глаза, насколько хорошо получилось - судить вам.)

Я не знаю, что еще тут можно сказать, скрипт не особо функциональный, поэтому держите мое кривое видео:



Update 1.1:
- Теперь не обязательно включать функцию "работа в свернутом режиме". При длительном АФК вас просто отключит от сервера. Но нужно руками обновить библиотеки.
Переходим по этому гайду: GUIDE
И изменяем библиотеки вручную.
Согласно правилам форума, я к сожалению, не могу залить сюда измененные библиотеки.
Могу поделиться ими в личные сообщения на форуме - просите в теме.
 

Вложения

  • IRCMessenger.lua
    38.1 KB · Просмотры: 122
  • IRCMessenger_1.1.lua
    38.7 KB · Просмотры: 373
Последнее редактирование:

meowprd

Тот самый Котовский
Автор темы
Проверенный
1,280
712
update: исправил опечатку + залил пак luairc + socket из статьи по работе с библиотекой luairc
 
  • Нравится
Реакции: Joko

#Kai-

Известный
705
292
Если нет проблем с крашем скрипта как было в предыдущих чатах, я поставлю свечку за здравие тебе в церкви, если не сгорю нахуй переступая порог. xD
 
  • Нравится
Реакции: YarmaK

meowprd

Тот самый Котовский
Автор темы
Проверенный
1,280
712
Если нет проблем с крашем скрипта как было в предыдущих чатах, я поставлю свечку за здравие тебе в церкви, если не сгорю нахуй переступая порог. xD
В настройках надо включить "Работа в свернутом режиме" и тогда скрипт будет отвечать на запросы PING от сервера и соответственно не будет краша из-за таймаута.
Если функцию не включить - краша скорее всего не избежать.
 

#Kai-

Известный
705
292
В настройках надо включить "Работа в свернутом режиме" и тогда скрипт будет отвечать на запросы PING от сервера и соответственно не будет краша из-за таймаута.
Если функцию не включить - краша скорее всего не избежать.
тогда не будет свечки... Не за что, ничем по сути от старых чатов не отличается. Я не дочитал тему, думал что это обновленная библиотека без таких косяков.
 

meowprd

Тот самый Котовский
Автор темы
Проверенный
1,280
712
тогда не будет свечки... Не за что, ничем по сути от старых чатов не отличается. Я не дочитал тему, думал что это обновленная библиотека без таких косяков.
Работа в свернутом режиме работает не всегда, а только когда ты подключен и свернул игру, ты спокойно можешь включать ESC и сворачивать игру, разницы не будет.
Реализовать это без костылей невозможно, так как lua скрипты не работают на свернутой гта без режима "работа в свернутом режиме".
свечку за меня ставить и не надо.
 

#Kai-

Известный
705
292
Работа в свернутом режиме работает не всегда, а только когда ты подключен и свернул игру, ты спокойно можешь включать ESC и сворачивать игру, разницы не будет.
Реализовать это без костылей невозможно, так как lua скрипты не работают на свернутой гта без режима "работа в свернутом режиме".
свечку за меня ставить и не надо.
Почему же без костылей, просто при сворачивании игры завершать подключение к чату, а при разворачивании возвращаться. Но я так понимаю все сообщения в этом промежутке будут утерерны.
 

meowprd

Тот самый Котовский
Автор темы
Проверенный
1,280
712
Почему же без костылей, просто при сворачивании игры завершать подключение к чату, а при разворачивании возвращаться. Но я так понимаю все сообщения в этом промежутке будут утерерны.
Что лучше:
1. Поставить галочку "Работа в свернутом режиме"
2. При разворачивании ждать 5+ секунд, пока скрипт снова подключится к серверу?

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

#Kai-

Известный
705
292
Что лучше:
1. Поставить галочку "Работа в свернутом режиме"
2. При разворачивании ждать 5+ секунд, пока скрипт снова подключится к серверу?

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

meowprd

Тот самый Котовский
Автор темы
Проверенный
1,280
712
2. лучше, если брать в учет что огромное кол-во людей не играют с этой функцией.
3. лучше внимательно читать пост и узнать, что эта функция встроена в скрипт и автоматически включается при сворачивании и выключается при разворачивании, если клиент подключен.
 

#Kai-

Известный
705
292
3. лучше внимательно читать пост и узнать, что эта функция встроена в скрипт и автоматически включается при сворачивании и выключается при разворачивании, если клиент подключен.

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

meowprd

Тот самый Котовский
Автор темы
Проверенный
1,280
712
Так я и говорю, что люди не все играют с этой функцией и не готовы юзать её вообще.
Я всегда топил за возможность выбора, а когда тебя лишают его - хуево.
У тебя есть возможность выбора:
1. Юзаешь работу в свернутом режиме, включая esc и никогда не будет проблем
2. Юзаешь работу в свернутом режиме, не включая esc и возможно у тебя будут проблемы (касатально администрации, если ты играешь на детской аризоне)
3. Не юзаешь работу в свернутом режиме и перезагружаешь скрипт, если стоишь афк ~3 минуты.

Изначально я собирался пофиксить эту проблему, но у меня было мало времени.

update: исправил ошибку с окном imgui
(в спешке вырезал кусок кода, удалил лишнего)


Update 1.1:
- Теперь не обязательно включать функцию "работа в свернутом режиме". При длительном АФК вас просто отключит от сервера.

новую версию можно скачать из первого сообщения в теме.

нужно провести следующие изменения:
заходим в папку lib > открываем файл luairc.lua
переходим к строкам 163 и 164 и комментируем их.
Строку 162 оставляем.

Затем вновь заходим в папку lib > открываем файл handlers.lua
Переходим к строкам 172 и 173 и комментируем их.
 
Последнее редактирование:
  • Нравится
Реакции: #Kai-

meowprd

Тот самый Котовский
Автор темы
Проверенный
1,280
712
  • Нравится
Реакции: TryyAgain