Files
2026-03-15 14:54:49 +03:00

5.0 KiB
Raw Permalink Blame History

Mantle

🎈 Универсальная библиотека GLua для Garry's Mod: создание интерфейсов и удобные утилиты.

Весь код снабжён комментариями — изучайте и находите примеры прямо в исходниках.

Возможности

  • Кастомные VGUI-элементы
  • Быстрый рендеринг через RNDX
  • Загрузка материалов по ссылке
  • Гибкая система цветовых тем
  • Уведомления для игроков на сервера
  • Модульная архитектура
  • Поддержка кириллицы и UTF-8
  • Единое меню с документацией и настройками

Меню библиотеки

Имеется меню с документацией и настройками. Для открытия используйте консольную команду: mantle_menu.

Примеры компонентов

Документация и элементы VGUI

image

Лёгкий режим окна

image

ComboBox

image

SlideBox

image

Таблицы

image

Поле ввода

image

Всплывающие элементы

image

Круговое меню

image

Опциональное меню

image

Цветовые темы

image image image image image image

И главное - плавность и магия анимаций

https://github.com/user-attachments/assets/6a813fd1-6da2-4c59-a84b-f78abfc20900

Сторонние примеры

Отправка серверных уведомлений

hook.Add('PlayerSpawn', 'Test', function(pl)
    Mantle.notify(pl, Color(75, 0, 0), 'Заголовок', 'Привет, ' .. pl:Name() .. '!')
    -- первым аргументом true, в случае отправки всем игрокам
end)

Картинка через ссылку

http.DownloadMaterial('https://i.imgur.com/eEnGbcp.jpeg', 'dog.png', function(your_mat)
    hook.Add('HUDPaint', 'Test', function()
        surface.SetDrawColor(255, 255, 255)
        surface.SetMaterial(your_mat)
        surface.DrawTexturedRect(5, 5, 250, 330)
    end)
end)

Преобразование символов кириллицы

hook.Add('HUDPaint', 'test', function()
    local txt = 'ПриВЕТ МИР Hello World'
    -- default
    draw.SimpleText(string.lower(txt), 'Fated.20', 15, 15, color_black)
    -- mantle
    draw.SimpleText(utf8.lower(txt), 'Fated.20', 15, 35, color_black)
end)
Сравнение default и mantle функции

Steam Workshop

Для автообновления подпишитесь и добавьте аддон в серверную коллекцию. Таким образом сможете всегда получать актуальную версию библиотеки