Исходник [mimgui] Notifications | Система уведомлений

[01] Rafael Kingstrom

Участник
68
17
подожди, ты что просто закинул его в monetloader и хочешь чтоб уведомления выглядели так?
это библиотека, ее подключаешь в свои скрипты и создаешь эти уведомления сам
Аааа, так вот оно что, а как их создать
Upd: прочитал выше

Еще один вопрос, похоже я уже надоел тебе 😄
Этот файл notifications.lua в монетлоадер кидать или в lib
 
Последнее редактирование:
  • Нравится
Реакции: Corrygan
D

deleted-user-551800

Гость
Аааа, так вот оно что, а как их создать
Upd: прочитал выше

Еще один вопрос, похоже я уже надоел тебе 😄
Этот файл notifications.lua в монетлоадер кидать или в lib
ну, если это библиотека, то в lib, в MonetLoader ты кидаешь только скрипты
 
  • Нравится
Реакции: Corrygan

UBP

Технический специалист
Проверенный
374
262
Чтобы закругления не выглядели так гранисто используй circle. А ещё какие то странные позиционирования в обычном уведомлении сбоку, не отцентрованы от чего либо
 

Haru Urara

Участник
33
17
Всем привет, долго искал красивую систему уведомлений на mimgui, но так и не нашел(не считая ARZ CEF уведомлений), поэтому решил сделать свою, довольно приятную на вид. Написана на коленке, если будут какие-то баги обязательно пишите - пофиксим.

1) Закидываем файл notifications.lua из вложений в папку lib.
2) Подключаем в своем скрипте:
Lua:
local notification = require("notifications")
Функции имеют следующий вид:
Lua:
notification.Notification(title, text, style, duration)
--title string, заголовок уведомления
--text string, текст уведомления
--style string, один из четырех форматов уведомлений: error, info, success, warn
--duration float, длительность показа уведомления в секундах(можно дробные числа)

notification.ModalNotification(title, text, button, style, duration)
--title string, заголовок модального уведомления
--text string, текст модального уведомления
--button string, текст кнопки
--style string, один из четырех форматов уведомлений: error, info, success, warn
--duration float, длительность показа уведомления в секундах(также можно дробные числа)
3) Используем по примеру ниже
Lua:
local notification = require("notifications")
function main()
    while not isSampAvailable() do wait(100) end
    sampRegisterChatCommand('error', function()
        notification.Notification(u8"Заголовок ошибки", u8"Текст уведомления ошибки", "error", 5.0)
    end)
    sampRegisterChatCommand('info', function()
        notification.Notification(u8"Заголовок инфы", u8"Текст уведомления инфы", "info", 5.0)
    end)
    sampRegisterChatCommand('success', function()
        notification.Notification(u8"Заголовок успеха", u8"Текст уведомления успеха", "success", 5.0)
    end)
    sampRegisterChatCommand('warn', function()
        notification.Notification(u8"Заголовок предупреждения", u8"Текст уведомления предупреждения", "warn", 5.0)
    end)
    sampRegisterChatCommand('merror', function()
        notification.ModalNotification(u8"Заголовок ошибки", u8"Текст модального окна ошибки", u8"Закрыть", "error", 5.0) 
    end)
    sampRegisterChatCommand('minfo', function()
        notification.ModalNotification(u8"Заголовок инфы", u8"Текст модального окна инфы", u8"Закрыть", "info", 5.0) 
    end)
    sampRegisterChatCommand('msuccess', function()
        notification.ModalNotification(u8"Заголовок успеха", u8"Текст модального окна успеха", u8"Закрыть", "success", 5.0)
    end)
    sampRegisterChatCommand('mwarn', function()
        notification.ModalNotification(u8"Заголовок предупреждения", u8"Текст модального окна предупреждения", u8"Закрыть", "warn", 5.0)
    end)
    while true do
        wait(0)
    end
end

Если требуется использовать кириллицу в title или text, то воспользуйтесь библиотекой encoding
Если не указать button, style, duration, то они по стандарту будут равны u8"Закрыть", "info" и 5 соответственно.

Результат:

notifs.png
error.png
minfo.png
msuccess.png
warn.png
Модальные уведомления закроются по истечении времени или по нажатии кнопки

UPD 23.08:
- Добавил модальные уведомления
- Вместо иконок fAwesome6 используются картинки из памяти
- Добавлен 4 стиль уведомления - Warning

Для самой библиотеки потребуется mimgui
Отличная работа, уведомление выглядит прекрасно. Как я могу изменить цвет уведомления, не меняя его иконку? Например, уведомление об успехе синего цвета.