Настройка
Всё, что вы настраиваете, лежит в двух файлах, а разделение между ними сводится к одному вопросу: будет ли плохо, если игрок это прочитает? shared/config.lua отправляется каждому клиенту. shared/keys.lua загружается только как серверный скрипт и никогда не покидает сервер.
Какой файл за что отвечает
Заголовок раздела «Какой файл за что отвечает»Все пути указаны внутри mic_cloth_designer, если не сказано иное.
| Где | За что отвечает | Можно править |
|---|---|---|
shared/config.lua | Команда, клавиша, разрешение, язык, общая или персональная библиотека, разрешение текстур, предмет, отладка | Да |
shared/keys.lua | Ваши ключи и токены, настройки ИИ, хостинг фотографий, список компонентов, доступных для дизайна — только сервер | Да |
locales/*.lua | Каждая строка студии и её уведомления; locales/locale.lua — загрузчик | Да |
items/ox.lua, items/qb.lua | Определение предмета cloth_design для ox_inventory и QBCore | Да |
html/ | Интерфейс студии; в html/patterns/ лежат принты, в html/previews/ — кешированные миниатюры одежды | Не под escrow, но скрипты поставляются обфусцированными |
base/addon_templates/ | Шаблоны, по которым студия собирает новую одежду. Не трогайте | Да |
client/, server/, bridge/ | Логика, запись файлов, бриджи | Под escrow |
mic_cloth_addons/import/ | Куда вы кладёте собственные .ydd-файлы одежды | Да |
mic_cloth_addons/stream/, metas/, fxmanifest.lua | Сгенерированная одежда. Перезаписывается студией — не редактируйте вручную | Генерируется |
Открытые файлы — те, что указаны в escrow_ignore в fxmanifest.lua.
shared/config.lua
Заголовок раздела «shared/config.lua»| Параметр | Что делает | По умолчанию |
|---|---|---|
Config.Framework | 'esx' или 'qb'. Задайте в соответствии с вашим сервером; бридж предметов также сам определяет фреймворк. Используйте 'qb' на QBCore, на QBox (через слой совместимости с QBCore) и на standalone-сервере | 'qb' |
Config.Locale | Язык студии и её уведомлений | 'en' |
Config.Command | Команда, открывающая студию | clothdesigner |
Config.Keybind | Клавиша, которая её открывает, например 'F7'. false — без клавиши. Игроки могут переназначить её в настройках клавиш FiveM | false |
Config.OpenPermission | ACE, необходимый игроку, чтобы открыть студию. false пускает всех | mic_clothdesigner |
Config.GlobalContent | true: все допущенные пользуются одной библиотекой дизайнов, предметов и комплектов. false: каждый дизайнер видит только своё | true |
Config.TextureResolution | Размер текстуры по умолчанию: 256, 512 или 1024. Выпадающий список в редакторе меняет его для каждого дизайна, и ИИ следует ему | 512 |
Config.MaxDesignsPerPlayer | Ограничение на число сохранённых дизайнов. Есть в файле, но текущей версией не применяется | 50 |
Config.Items.Enabled | Носимые предметы, комплекты и предметы для магазинов — вкл/выкл | true |
Config.Items.Name | Универсальный предмет, несущий дизайн | cloth_design |
Config.Items.Label | Оставлено для справки. Каждый предмет отображается с названием собственного дизайна | Clothing Design |
Config.Debug | Выводит в консоль то, что делает студия. По умолчанию включено — выключите на рабочем сервере | true |
shared/keys.lua
Заголовок раздела «shared/keys.lua»Ваши ключи
Заголовок раздела «Ваши ключи»| Ключ | Что делает |
|---|---|
GeminiAPIKey | Включает генератор ИИ. Пусто = без ИИ |
FivemanageToken | Загружает фотографии дизайнов и предметов на Fivemanage и сохраняет только ссылку. Пусто = фотографии хранятся в базе данных, и она растёт быстрее |
DiscordWebhook | Публикует каждую генерацию ИИ с запросом и оценкой стоимости. Пусто = выключено |
ClothNetworkKey | Оставьте пустым. Публикация в Cloth Network работает сразу |
Генератор ИИ — Config.AI
Заголовок раздела «Генератор ИИ — Config.AI»Уже настроен. Стоит знать про Model: он определяет баланс между стоимостью и качеством.
| Параметр | Что делает | По умолчанию |
|---|---|---|
Enabled | ИИ вкл/выкл независимо от ключа | true |
Provider | 'gemini' или 'openai' для DALL·E (тогда ключ из GeminiAPIKey используется для OpenAI) | 'gemini' |
Model | gemini-3.1-flash-lite-image — самая дешёвая, gemini-3.1-flash-image — сбалансированная, gemini-3-pro-image — самая дорогая | gemini-3.1-flash-image |
GeminiImageSize | Резервный размер вывода. Обычно не используется: им управляет разрешение редактора | 512px |
ImageSize | Размер вывода только для OpenAI | 1024x1024 |
AspectRatio | Текстуры квадратные | 1:1 |
Pricing | Доллары США за миллион входных и выходных токенов; используется только для оценки стоимости в логе Discord | 0.50 / 60.00 |
За один раз у каждого игрока выполняется одна генерация, между ними короткая пауза.
Хостинг фотографий — Config.Fivemanage
Заголовок раздела «Хостинг фотографий — Config.Fivemanage»Enabled и токен, указанный выше. Фотографии — это 3D-рендер каждого дизайна, они используются в библиотеке, на предметах (ox_inventory показывает его как изображение предмета) и на карточках сети.
Компоненты, доступные для дизайна — Config.Components
Заголовок раздела «Компоненты, доступные для дизайна — Config.Components»Двенадцать слотов одежды GTA, для которых студия может создавать дизайн, — голова, маска, волосы, руки, ноги, перчатки, обувь, аксессуар, сумки, жилет, наклейки и верх — у каждого свой префикс файла, который используют его предметы одежды. Список находится на стороне сервера, поэтому клиент не может его изменить. Оставьте его как в поставке.
| Право | Где | Что разрешает |
|---|---|---|
ACE из Config.OpenPermission (mic_clothdesigner) | server.cfg — группе или одному идентификатору | Открытие студии и каждое действие внутри неё. Проверяется на сервере каждый раз |
command.refresh, command.ensure, command.start, command.stop для resource.mic_cloth_designer | Начало server.cfg | Позволяет студии перезагрузить mic_cloth_addons после экспорта |
Запись в файловую систему из mic_cloth_designer в mic_cloth_addons | Начало server.cfg | Позволяет вообще сохранять одежду |
importaddons | Консоль сервера | Ограниченная команда: консоль или администратор с соответствующим ACE |
Команды
Заголовок раздела «Команды»| Команда | Кто | Что делает |
|---|---|---|
/clothdesigner | Игроки с ACE | Открывает студию. Название задаётся в Config.Command |
importaddons | Консоль сервера | Превращает .ydd-файлы, ожидающие в mic_cloth_addons/import/, в одежду, доступную для дизайна. См. 👕 Одежда |
В locales/ поставляются одиннадцать: en, es, fr, de, it, pt, pl, ru, tr, nl, cs. Задайте Config.Locale и перезапустите. Строка, отсутствующая в языке, отображается на английском.
Чтобы добавить новый:
- Скопируйте
locales/en.luaвlocales/<code>.luaи заменитеLocales['en']на ваш код. - Переводите значения, а не ключи, и сохраняйте каждый
%s. - Добавьте файл в
shared_scriptsвfxmanifest.luaпередlocales/locale.lua— загрузчик должен загружаться после каждого языка. Затем выполнитеrefresh. - Установите
Config.Localeв новый код.
Интерфейс переводится заменой английского текста на ваш, поэтому английские значения в en.lua должны оставаться в точности как есть.
Оба файла бриджа зашифрованы через escrow; вот что они делают, чтобы вы знали, чего ожидать.
| Файл | Для чего |
|---|---|
bridge/server_bridge.lua | Определяет qb-core или es_extended, регистрирует используемые предметы (ESX RegisterUsableItem / QBCore CreateUseableItem, которые поддерживает ox_inventory) и выдаёт предметы с прикреплённым дизайном — через ox_inventory, если он запущен, иначе через фреймворк |
client/bridge.lua | Уведомления. Внутри студии это её собственные всплывающие сообщения; вне её — уведомления ox_lib, если он запущен, затем ESX или QBCore, затем лента GTA |
Игроки идентифицируются по идентификатору license: независимо от фреймворка.