Перейти к содержимому

Настройка

Всё, что вы настраиваете, лежит в двух файлах, а разделение между ними сводится к одному вопросу: будет ли плохо, если игрок это прочитает? 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.


ПараметрЧто делаетПо умолчанию
Config.Framework'esx' или 'qb'. Задайте в соответствии с вашим сервером; бридж предметов также сам определяет фреймворк. Используйте 'qb' на QBCore, на QBox (через слой совместимости с QBCore) и на standalone-сервере'qb'
Config.LocaleЯзык студии и её уведомлений'en'
Config.CommandКоманда, открывающая студиюclothdesigner
Config.KeybindКлавиша, которая её открывает, например 'F7'. false — без клавиши. Игроки могут переназначить её в настройках клавиш FiveMfalse
Config.OpenPermissionACE, необходимый игроку, чтобы открыть студию. false пускает всехmic_clothdesigner
Config.GlobalContenttrue: все допущенные пользуются одной библиотекой дизайнов, предметов и комплектов. 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

КлючЧто делает
GeminiAPIKeyВключает генератор ИИ. Пусто = без ИИ
FivemanageTokenЗагружает фотографии дизайнов и предметов на Fivemanage и сохраняет только ссылку. Пусто = фотографии хранятся в базе данных, и она растёт быстрее
DiscordWebhookПубликует каждую генерацию ИИ с запросом и оценкой стоимости. Пусто = выключено
ClothNetworkKeyОставьте пустым. Публикация в Cloth Network работает сразу

Уже настроен. Стоит знать про Model: он определяет баланс между стоимостью и качеством.

ПараметрЧто делаетПо умолчанию
EnabledИИ вкл/выкл независимо от ключаtrue
Provider'gemini' или 'openai' для DALL·E (тогда ключ из GeminiAPIKey используется для OpenAI)'gemini'
Modelgemini-3.1-flash-lite-image — самая дешёвая, gemini-3.1-flash-image — сбалансированная, gemini-3-pro-image — самая дорогаяgemini-3.1-flash-image
GeminiImageSizeРезервный размер вывода. Обычно не используется: им управляет разрешение редактора512px
ImageSizeРазмер вывода только для OpenAI1024x1024
AspectRatioТекстуры квадратные1:1
PricingДоллары США за миллион входных и выходных токенов; используется только для оценки стоимости в логе Discord0.50 / 60.00

За один раз у каждого игрока выполняется одна генерация, между ними короткая пауза.

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 и перезапустите. Строка, отсутствующая в языке, отображается на английском.

Чтобы добавить новый:

  1. Скопируйте locales/en.lua в locales/<code>.lua и замените Locales['en'] на ваш код.
  2. Переводите значения, а не ключи, и сохраняйте каждый %s.
  3. Добавьте файл в shared_scripts в fxmanifest.lua перед locales/locale.lua — загрузчик должен загружаться после каждого языка. Затем выполните refresh.
  4. Установите 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: независимо от фреймворка.