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

Corrygan

Известный
Автор темы
52
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
 

Вложения

  • notifications.lua
    6.4 KB · Просмотры: 14
  • notifications 1.2.lua
    79.2 KB · Просмотры: 41
Последнее редактирование:

Corrygan

Известный
Автор темы
52
17
все еще ждем всем селом
уведомления в виде модальных окон?
попробую бахнуть, но как будто смотрится это не очень
 
Последнее редактирование:

[01] Rafael Kingstrom

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

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

    sampRegisterChatCommand('error', function()
        notification(u8"Ошибка", u8"Что-то пошло не так!", "error", 5.0)
    end)

    sampRegisterChatCommand('info', function()
        notification(u8"Информация", u8"Это тестовое сообщение", "info", 5.0)
    end)

    sampRegisterChatCommand('succes', function()
        notification(u8"Успех", u8"Операция выполнена!", "success", 5.0)
    end)

    while true do
        wait(0)
        
    end
end

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

Результат:

error.png

info.png

succes.png

Для самой библиотеки потребуются mimgui и fAwesome6
Выглядит эффектно, на аризоне мобайл работать будет?
 

Corrygan

Известный
Автор темы
52
17
Выглядит эффектно, на аризоне мобайл работать будет?
если честно - не тестил, но должно работать

upd:
- Добавил модальные уведомления
- Вместо иконок fAwesome6 используются картинки из памяти
- Добавлен 4 стиль уведомления - Warning
 
Последнее редактирование:
  • Нравится
Реакции: 2elnwndrer.

[01] Rafael Kingstrom

Участник
86
17
если честно - не тестил, но должно работать

upd:
- Добавил модальные уведомления
- Вместо иконок fAwesome6 используются картинки из памяти
- Добавлен 4 стиль уведомления - Warning
Сейчас проверю, с монетлоадера играю, как бы альтернатива для мунлоадера, надеюсь продолжишь обновлять скрипт

если честно - не тестил, но должно работать

upd:
- Добавил модальные уведомления
- Вместо иконок fAwesome6 используются картинки из памяти
- Добавлен 4 стиль уведомления - Warning
Сейчас проверю, с монетлоадера играю, как бы альтернатива для мунлоадера, надеюсь продолжить
если честно - не тестил, но должно работать

upd:
- Добавил модальные уведомления
- Вместо иконок fAwesome6 используются картинки из памяти
- Добавлен 4 стиль уведомления - Warning
Оба файла скачать надо?
 
Последнее редактирование:

Corrygan

Известный
Автор темы
52
17
Сейчас проверю, с монетлоадера играю, как бы альтернатива для мунлоадера, надеюсь продолжишь обновлять скрипт


Сейчас проверю, с монетлоадера играю, как бы альтернатива для мунлоадера, надеюсь продолжить

Оба файла скачать надо?
новую версию только
1.2
 

Corrygan

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