SA:MP Lua Advance SMS Messenger - улучшенный мессенджер для Advance RP

Back1ng

Известный
Автор темы
1
4
Версия SA-MP
  1. 0.3.7 (R1)
SMS Messenger - современный мессенджер для SAMP (ARP) с интерфейсом в стиле Facebook Messenger. Скрипт перехватывает SMS-сообщения из чата игры, сохраняет историю переписки и предоставляет удобный интерфейс для управления контактами.

Основные возможности
Управление сообщениями
:
- Автоматическое сохранение всех входящих и исходящих SMS
- История переписки сохраняется между сессиями (JSON)
- Группировка по контактам с сортировкой по времени
- Индикаторы непрочитанных сообщений с анимацией пульсации
- Статус прочтения (двойная галочка для исходящих)
Управление контактами:
- Создание контактов с именами (не только по номеру телефона)
- Редактирование имени и номера телефона
- Удаление контактов с подтверждением
- Онлайн-статус контактов (проверка по игрокам на сервере)
Интерфейс:
- Две цветовые темы: светлая и темная (сохраняются в настройках)
- Адаптивный интерфейс (мобильный вид при узком окне)
- Плавные анимации открытия и сообщений
- Масштабирование шрифта (0.8x - 1.5x)
Уведомления:
- Звуковые оповещения о новых сообщениях (выбор из .wav файлов)
- Возможность скрыть SMS из игрового чата

Обязательные библиотеки:
- mimgui — интерфейс ImGui (https://www.blast.hk/threads/66959/)
- dkjson — работа с JSON
- lfs (LuaFileSystem) — работа с файловой системой
- samp.events — перехват сообщений чата
- encoding — конвертация кодировок (CP1251 ↔ UTF-8)
Тестировалось на: MoonLoader v.027.0-preview3, mimgui v.025+, dkjson 2.5

Установка
1. Скопируйте smsmenu.lua в папку moonloader/
2. Создайте папку moonloader/config/smsmenu/alerts/
3. (Опционально) Добавьте .wav файлы для звуковых уведомлений в папку alerts/
4. Убедитесь, что все необходимые библиотеки установлены
5. Запустите игру

Управление
- F3 — открыть/закрыть мессенджер
- /smsm — альтернативная команда для открытия

Техническая информация:
- Язык: Lua (MoonLoader)
- Хранилище: JSON-файлы в папке config/smsmenu/

Особенности работы:
- Каждый сервер хранит отдельную базу контактов (по IP:PORT)
- Сообщения сохраняются автоматически
- Максимум 100 сообщений на контакт (старые удаляются)
- Контакты идентифицируются по имени персонажа (не только по номеру телефона)
- Автоматическое обновление номера телефона при изменении у существующего контакта

Снимок экрана 2026-02-13 010727.pngСнимок экрана 2026-02-13 010700.png
 

Вложения

  • Снимок экрана 2026-02-13 010714.png
    Снимок экрана 2026-02-13 010714.png
    63.8 KB · Просмотры: 45
  • Снимок экрана 2026-02-13 010739.png
    Снимок экрана 2026-02-13 010739.png
    50.9 KB · Просмотры: 44
  • smsmenu.lua
    100.1 KB · Просмотры: 3
Последнее редактирование:

MrCreepTon

Неизвестный
Всефорумный модератор
2,369
5,386
Советы по UI:
  • Согласуй скругления. У тебя какие-то компоненты круглые, какие-то квадратные.
  • Выравнивания: у сообщений собеседника время отправки вроде как ниже, чем текст самого сообщения. Причем у твоих сообщений вроде как ок. Ну и ещё у поля отправки сообщения отступ на согласован с сообщениями собеседника, выглядит странно.
  • Прикрути FontAwesome. Тогда не будет нужды писать Del или типа того, что щас выглядит не очень.
  • Поисковому полю контактов очень плохо. Я понимаю, что это вероятно костыль Imgui, но это сто процентов фиксится. Как вариант не рисовать овал и внутри инпут, а на сам инпут накладывать свойства скругления и тд
В остальном вроде прикольно, успехов)
Удаление контактов с подтверждением
Это лайк, хороший паттерн UX) Не знаю, реализовано ли у тебя такое, но можно сделать отправку сообщений по Enter, а не только по кнопке. А если уже это есть то ваще молодец)
 
  • Нравится
Реакции: minxty