Personalizacja
Dwa pliki przechowują wszystko, co konfigurujesz, a podział między nimi sprowadza się do jednego pytania: czy stałoby się coś złego, gdyby odczytał to gracz? Plik shared/config.lua jest wysyłany do każdego klienta. Plik shared/keys.lua jest ładowany wyłącznie jako skrypt serwerowy i nigdy nie opuszcza serwera.
Który plik odpowiada za co
Dział zatytułowany „Który plik odpowiada za co”Wszystkie ścieżki znajdują się wewnątrz mic_cloth_designer, chyba że zaznaczono inaczej.
| Gdzie | Za co odpowiada | Otwarty do edycji |
|---|---|---|
shared/config.lua | Komenda, skrót klawiszowy, uprawnienie, język, biblioteka wspólna lub na gracza, rozdzielczość, przedmiot, debug | Tak |
shared/keys.lua | Twoje klucze i tokeny, ustawienia AI, hosting zdjęć, lista obsługiwanych komponentów ubrań — tylko serwer | Tak |
locales/*.lua | Wszystkie teksty w studiu i jego powiadomieniach; locales/locale.lua odpowiada za ich wczytywanie | Tak |
items/ox.lua, items/qb.lua | Definicja przedmiotu cloth_design dla ox_inventory oraz QBCore | Tak |
html/ | Interfejs studia; html/patterns/ przechowuje wzory, a html/previews/ zapisane w pamięci podręcznej miniatury ubrań | Nieobjęty escrow, ale skrypty są zaciemnione (obfuscated) |
base/addon_templates/ | Szablony używane przez studio do budowania nowych ubrań. Nie modyfikuj ich | Tak |
client/, server/, bridge/ | Logika działania, zapisywanie plików, pliki bridge | Objęte escrow |
mic_cloth_addons/import/ | Miejsce, do którego wrzucasz własne ubrania .ydd | Tak |
mic_cloth_addons/stream/, metas/, fxmanifest.lua | Wygenerowane ubrania. Nadpisywane przez studio — nie edytuj ręcznie | Generowane automatycznie |
Otwarte pliki to te wymienione w sekcji escrow_ignore w pliku fxmanifest.lua.
shared/config.lua
Dział zatytułowany „shared/config.lua”| Opcja | Co robi | Domyślnie |
|---|---|---|
Config.Framework | 'esx' lub 'qb'. Ustaw zgodnie ze swoim serwerem; bridge przedmiotów wykrywa też framework samodzielnie. Użyj 'qb' na QBCore, na QBox (poprzez kompatybilność z QBCore) oraz na serwerze standalone | 'qb' |
Config.Locale | Język studia i jego powiadomień | 'en' |
Config.Command | Komenda otwierająca studio | clothdesigner |
Config.Keybind | Klawisz otwierający studio, np. 'F7'. false oznacza brak klawisza. Gracze mogą go zmienić w ustawieniach klawiszy FiveM | false |
Config.OpenPermission | Uprawnienie ACE wymagane, aby gracz mógł otworzyć studio. false wpuszcza każdego | mic_clothdesigner |
Config.GlobalContent | true: wszyscy uprawnieni współdzielą jedną bibliotekę projektów, przedmiotów i strojów. false: każdy projektant widzi tylko swoje | true |
Config.TextureResolution | Domyślny rozmiar tekstury: 256, 512 lub 1024. Lista rozwijana w edytorze pozwala zmienić go dla konkretnego projektu, a AI dostosowuje się do tego wyboru | 512 |
Config.MaxDesignsPerPlayer | Limit zapisanych projektów. Obecny w pliku, ale nieegzekwowany w bieżącej wersji | 50 |
Config.Items.Enabled | Włącza lub wyłącza przedmioty do noszenia, stroje i przedmioty sklepowe | true |
Config.Items.Name | Uniwersalny przedmiot przechowujący projekt | cloth_design |
Config.Items.Label | Zachowane pomocniczo. Każdy przedmiot wyświetla nazwę przypisanego do niego projektu | Clothing Design |
Config.Debug | Wypisuje w konsoli informacje o tym, co robi studio. Domyślnie włączone — wyłącz na działającym, publicznym serwerze | true |
shared/keys.lua
Dział zatytułowany „shared/keys.lua”Twoje klucze
Dział zatytułowany „Twoje klucze”| Klucz | Co robi |
|---|---|
GeminiAPIKey | Włącza generator AI. Puste = brak AI |
FivemanageToken | Przesyła zdjęcia projektów i przedmiotów na Fivemanage, zapisując w bazie tylko link. Puste = zdjęcia są trzymane w bazie danych, która szybciej rośnie |
DiscordWebhook | Wysyła informację o każdym generowaniu AI wraz z promptem i szacowanym kosztem. Puste = wyłączone |
ClothNetworkKey | Zostaw puste. Udostępnianie w Cloth Network działa od razu po instalacji |
Generator AI — Config.AI
Dział zatytułowany „Generator AI — Config.AI”Wstępnie dostrojony. Opcją, o której warto wiedzieć, jest Model, pozwalający wybrać kompromis między kosztem a jakością.
| Opcja | Co robi | Domyślnie |
|---|---|---|
Enabled | Włącza lub wyłącza AI, niezależnie od podanego klucza | true |
Provider | 'gemini' lub 'openai' dla DALL·E (wówczas klucz wpisany w GeminiAPIKey jest używany dla OpenAI) | 'gemini' |
Model | gemini-3.1-flash-lite-image jest najtańszy, gemini-3.1-flash-image zbalansowany, a gemini-3-pro-image najdroższy | gemini-3.1-flash-image |
GeminiImageSize | Zapasowy rozmiar wyjściowy. Zazwyczaj nieużywany: decyduje rozdzielczość wybrana w edytorze | 512px |
ImageSize | Rozmiar wyjściowy tylko dla OpenAI | 1024x1024 |
AspectRatio | Tekstury są kwadratowe | 1:1 |
Pricing | Stawka w USD za milion tokenów wejściowych i wyjściowych, używana wyłącznie do szacowania kosztu w logach na Discordzie | 0.50 / 60.00 |
Na jednego gracza może działać jedno generowanie naraz, z krótkim czasem odnowienia (cooldownem) pomiędzy kolejnymi próbami.
Hosting zdjęć — Config.Fivemanage
Dział zatytułowany „Hosting zdjęć — Config.Fivemanage”Opcja Enabled oraz token opisany wyżej. Zdjęcia to rendery 3D każdego projektu, używane w bibliotece, na przedmiotach (ox_inventory wyświetla je jako obrazek przedmiotu) oraz na kartach w sieci.
Obsługiwane komponenty — Config.Components
Dział zatytułowany „Obsługiwane komponenty — Config.Components”Dwanaście slotów ubrań GTA, dla których studio może tworzyć projekty — głowa, maska, włosy, ramiona, nogi, rękawiczki, buty, akcesoria, torby, kamizelka, kalkomanie (decals) oraz góry (topy) — każdy z prefiksem pliku używanym przez odpowiednie ubrania. Znajduje się po stronie serwera, aby klient nie mógł go zmodyfikować. Zostaw bez zmian.
Uprawnienia
Dział zatytułowany „Uprawnienia”| Uprawnienie | Gdzie | Na co pozwala |
|---|---|---|
Uprawnienie ACE z Config.OpenPermission (mic_clothdesigner) | server.cfg — dla grupy lub identyfikatora | Otwieranie studia i wykonywanie każdej akcji wewnątrz. Sprawdzane na serwerze za każdym razem |
command.refresh, command.ensure, command.start, command.stop dla resource.mic_cloth_designer | Góra pliku server.cfg | Pozwala studiu przeładować mic_cloth_addons po wyeksportowaniu projektu |
Zapis w systemie plików z mic_cloth_designer do mic_cloth_addons | Góra pliku server.cfg | Umożliwia w ogóle zapisywanie ubrań |
importaddons | Konsola serwera | Komenda zastrzeżona: dostępna z konsoli lub dla admina posiadającego do niej ACE |
Komendy
Dział zatytułowany „Komendy”| Komenda | Kto | Co robi |
|---|---|---|
/clothdesigner | Gracze z uprawnieniem ACE | Otwiera studio. Nazwę określa Config.Command |
importaddons | Konsola serwera | Zamienia pliki .ydd czekające w mic_cloth_addons/import/ w ubrania gotowe do projektowania. Zobacz 👕 Ubrania |
W folderze locales/ znajduje się jedenaście języków: en, es, fr, de, it, pt, pl, ru, tr, nl, cs. Ustaw Config.Locale i zrestartuj zasób. Jeśli w danym języku brakuje jakiegoś tekstu, zostanie on wyświetlony po angielsku.
Aby dodać własny język:
- Skopiuj
locales/en.luajakolocales/<code>.luai zmieńLocales['en']na swój kod języka. - Przetłumacz wartości, nigdy nie zmieniaj kluczy i zachowaj wszystkie znaczniki
%s. - Dodaj plik do
shared_scriptswfxmanifest.luaprzedlocales/locale.lua— skrypt rozwiązujący tłumaczenia musi załadować się po wszystkich plikach językowych. Następnie wpiszrefresh. - Ustaw
Config.Localena nowy kod języka.
Interfejs jest tłumaczony poprzez podmianę angielskich tekstów na Twoje, dlatego angielskie wartości w en.lua muszą pozostać dokładnie takie, jakie są.
Oba pliki bridge są objęte escrow; poniżej opisano ich działanie, abyś wiedział, czego się spodziewać.
| Plik | Do czego służy |
|---|---|
bridge/server_bridge.lua | Wykrywa qb-core lub es_extended, rejestruje przedmioty do użycia (ESX RegisterUsableItem / QBCore CreateUseableItem, które ox_inventory respektuje) oraz wydaje przedmioty z przypisanym projektem — poprzez ox_inventory, gdy jest uruchomiony, a w przeciwnym razie przez framework |
client/bridge.lua | Powiadomienia. Wewnątrz studia używane są własne powiadomienia (toasts); poza nim powiadomienia z ox_lib (gdy działa), w drugiej kolejności ESX lub QBCore, a ostatecznie domyślny feed GTA |
Gracze są identyfikowani po swoim identyfikatorze license:, niezależnie od używanego frameworka.