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

113 lines
5.0 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Mantle
🎈 Универсальная библиотека GLua для Garry's Mod: создание интерфейсов и удобные утилиты.
Весь код снабжён комментариями — изучайте и находите примеры прямо в исходниках.
## Возможности
- Кастомные VGUI-элементы
- Быстрый рендеринг через RNDX
- Загрузка материалов по ссылке
- Гибкая система цветовых тем
- Уведомления для игроков на сервера
- Модульная архитектура
- Поддержка кириллицы и UTF-8
- Единое меню с документацией и настройками
## Меню библиотеки
Имеется меню с документацией и настройками. Для открытия используйте консольную команду: `mantle_menu`.
## Примеры компонентов
### Документация и элементы VGUI
<img width="983" height="720" alt="image" src="https://github.com/user-attachments/assets/892290e4-eb7f-4f65-b306-4ed5cc0c0e5b" />
### Лёгкий режим окна
<img width="406" height="314" alt="image" src="https://github.com/user-attachments/assets/31669a2a-f2d3-4e2d-9e82-63a2188fe96e" />
### ComboBox
<img width="1002" height="728" alt="image" src="https://github.com/user-attachments/assets/8abb781b-b055-4178-9ee1-20046fbcc409" />
### SlideBox
<img width="1021" height="750" alt="image" src="https://github.com/user-attachments/assets/1afae892-4d6c-492b-8ded-38915282c8ee" />
### Таблицы
<img width="994" height="729" alt="image" src="https://github.com/user-attachments/assets/bd87ca15-5c25-41a4-9786-034faf71adc9" />
### Поле ввода
<img width="994" height="722" alt="image" src="https://github.com/user-attachments/assets/864f6206-f5b8-4072-bd8f-808d4f6f69df" />
### Всплывающие элементы
<img width="989" height="720" alt="image" src="https://github.com/user-attachments/assets/a050be2a-727d-450c-84f3-2a04b15a0ceb" />
### Круговое меню
<img width="1920" height="1080" alt="image" src="https://github.com/user-attachments/assets/268fee97-d54a-4143-8c43-3b9a4e8e272f" />
### Опциональное меню
<img width="352" height="323" alt="image" src="https://github.com/user-attachments/assets/2bd0f764-8fcd-4f9e-ba7e-1165c6afb10e" />
### Цветовые темы
<img width="996" height="775" alt="image" src="https://github.com/user-attachments/assets/a0b7c168-b773-48f1-b516-f070b76d34f6" />
<img width="1920" height="1080" alt="image" src="https://github.com/user-attachments/assets/14eaa457-7475-4fe3-9d4e-177035a75fcc" />
<img width="1920" height="1080" alt="image" src="https://github.com/user-attachments/assets/b0049430-1c08-4534-8075-3bf03201fd85" />
<img width="1920" height="1080" alt="image" src="https://github.com/user-attachments/assets/5c1ff333-ea6c-408c-aec6-f5f75921cb5d" />
<img width="1920" height="1080" alt="image" src="https://github.com/user-attachments/assets/e464c564-b7d1-42f6-bdde-6d5130a31acf" />
<img width="1920" height="1080" alt="image" src="https://github.com/user-attachments/assets/658fb731-aebc-4ce9-8d4d-2e9575961030" />
### И главное - плавность и магия анимаций
https://github.com/user-attachments/assets/6a813fd1-6da2-4c59-a84b-f78abfc20900
## Сторонние примеры
### Отправка серверных уведомлений
```lua
hook.Add('PlayerSpawn', 'Test', function(pl)
Mantle.notify(pl, Color(75, 0, 0), 'Заголовок', 'Привет, ' .. pl:Name() .. '!')
-- первым аргументом true, в случае отправки всем игрокам
end)
```
### Картинка через ссылку
```lua
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)
```
### Преобразование символов кириллицы
```lua
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)
```
<img width="247" height="75" alt="Сравнение default и mantle функции" src="https://github.com/user-attachments/assets/77e0b791-e970-45da-90b3-1b4960b945fd" />
## Steam Workshop
Для автообновления [подпишитесь и добавьте аддон в серверную коллекцию](https://steamcommunity.com/sharedfiles/filedetails/?id=3126986993). Таким образом сможете всегда получать актуальную версию библиотеки ✅