Przejdź do treści
CXGdocs.PORADNIKI
cxg-tattoosKonfiguracja
CXG DOCUMENTATION

Konfiguracja

Ustawienia opisane na tej stronie znajdują się w config.lua. Zmieniaj pola w istniejących tabelach i uruchom zasób ponownie, aby zastosować zmiany.

Wartości początkowe i zapisane ustawienia

Sklepy i reguły progresji w pliku służą jako konfiguracja początkowa. Po zapisaniu ich z panelu administracyjnego obowiązujące wartości są zachowywane między uruchomieniami. Zmiana w pliku nie zastępuje automatycznie zapisanych ustawień: użyj panelu, aby zaktualizować już zainicjowane sklepy, reguły i opcje systemu.

Język, providery, bridge'e, kamera i strój podglądu są konfigurowane w pliku. Źródła i tatuaże opisano w sekcji katalog i pakiety.

Język globalny

Kod
Config.Locale = 'es'
Config.LocaleFallback = 'en'

Locale ustawia język interfejsu i komunikatów dla wszystkich graczy. Po zmianie uruchom zasób ponownie; gracz nie zmieni tego ustawienia w NUI. LocaleFallback określa język zapasowy.

Dostępne języki: en, es, pt-BR, fr, de, it, pl, ru, tr, th i ar. Interfejs arabski używa kierunku pisma od prawej do lewej.

System tożsamości

Config.Identity konfiguruje integrację z systemem tożsamości serwera. Określa sposób pobierania identyfikatora postaci lub konta, którego zasób używa do zapisu i odczytu tatuaży, XP oraz blueprintów.

Kod
Config.Identity.mode = 'auto'
Config.Identity.qbxResource = 'qbx_core'
TrybZastosowanie
autoW Qbox używa identyfikatora aktywnej postaci (citizenid). Na innych serwerach używa stałego identyfikatora FiveM.
qbx_characterJawnie używa identyfikatora postaci Qbox (citizenid).
licenseUżywa licencji FiveM jako identyfikatora konta. Postacie na tym koncie współdzielą tatuaże, XP i blueprinty.

Wybierz tryb, zanim udostępnisz zasób graczom. Późniejsza zmiana zmieni tożsamość używaną do wyszukiwania danych; dane nie zostaną automatycznie przeniesione między trybami. Nie wybieraj license, jeśli tatuaże mają być oddzielne dla postaci na jednym koncie.

Powiadomienie o interakcji

Kod
Config.HelpText.enabled = true
Config.HelpText.provider = 'auto'
Config.HelpText.position = 'left-center'
PoleWartości lub działanie
enabledPokazuje lub ukrywa powiadomienie o interakcji ze sklepami wyposażonymi w marker.
providerauto, ox_lib lub native. auto używa TextUI, jeśli jest dostępne, a w przeciwnym razie powiadomienia natywnego.
positionleft-center, right-center, top-center lub bottom-center dla TextUI.
styleKolory, obramowanie, cień, krój pisma i odstępy TextUI.

Przykład stylu:

Kod
Config.HelpText.style.backgroundColor = '#172328'
Config.HelpText.style.color = '#eef3f3'
Config.HelpText.style.fontSize = '15px'

Sklepy początkowe

Config.Shops zawiera sześć lokalizacji. Aby zmienić początkowy wpis, zachowaj jego strukturę:

Kod
{
    label = 'Tattoo Studio',
    coords = vector3(322.62, 180.34, 103.59),
    heading = 156.2,
    drawDistance = 10.0,
    interactDistance = 1.5,
    shopRadius = 4.0,
    marker = {
        type = 1,
        scale = vector3(1.0, 1.0, 1.0),
        color = { r = 255, g = 100, b = 0, a = 100 },
    },
},
PoleZastosowanie
labelNazwa sklepu.
coords, headingPozycja i kierunek.
drawDistanceOdległość wyświetlania markera.
interactDistanceOdległość interakcji.
shopRadiusPromień, w którym dozwolone jest korzystanie ze sklepu.
marker.type, scale, colorWygląd markera.

Ustaw interactDistance w granicach shopRadius. W przypadku istniejących sklepów użyj sekcji sklepów w panelu administracyjnym; edycja pliku nie tworzy ponownie ani nie zastępuje tych sklepów.

Poziomy i XP

Ustawienie Config.LevelsWartość początkowaZastosowanie
enabledtrueWłącza progresję, wymagania i zniżki.
maxLevel10Limit poziomu.
defaultXpPerTattoo10XP za tatuaż bez pola Xp.
thresholdsPoziomy od 1 do 10Łączna ilość XP wymagana dla każdego poziomu.
formula.base, formula.exponent100, 1.5Parametry alternatywnego wzoru progów.
zoneRequirements1 dla każdej strefyWymagany poziom dla strefy, gdy nie ustawiono wymagania dla konkretnego tatuażu.
discountsWłączone, 3 na poziom, maks. 25Zniżka procentowa.
blueprintSlotsPodstawa 5, przyrost 3Liczba slotów blueprintów zależna od poziomu.

Progi muszą zaczynać się od poziomu 1 z 0 XP, następować bez przerw i zwiększać wymagane XP:

Kod
Config.Levels.thresholds = {
    { level = 1, xpRequired = 0 },
    { level = 2, xpRequired = 100 },
    { level = 3, xpRequired = 250 },
}
Config.Levels.maxLevel = 3

Zniżka jest obliczana jako poziom × perLevel, z ograniczeniem maxDiscount. Przy wartościach początkowych poziom 5 daje zniżkę 15%, a maksymalna zniżka wynosi 25%.

Liczbę slotów oblicza się jako base + (poziom - 1) × perLevel. Przy początkowej konfiguracji poziom 1 ma 5 slotów, a poziom 5 — 17.

Indywidualne RequiredLevel z katalogu ma pierwszeństwo przed wymaganiem strefy. Zobacz pola katalogu.

Po wyłączeniu poziomów nie obowiązują blokady poziomów, XP ani zniżki; limit blueprintów korzysta z Config.Blueprints.maxPerPlayer. Wyłączenie systemu zachowuje zapisane XP. W już zainicjowanych instalacjach zaktualizuj także stan obowiązujący w panelu.

Blueprinty

Blueprinty zapisują grupy tatuaży i pozwalają udostępniać je za pomocą kodów. Początkowe limity znajdują się w Config.Blueprints:

PoleWartość początkowaZastosowanie
enabledtrueWłącza system.
codePrefixINKPrefiks kodów, np. INK-A3X9.
codeLength4Liczba znaków po prefiksie.
maxPerPlayer20Liczba slotów używana, gdy progresja jest wyłączona.
maxTattoosPerBlueprint50Maksymalna liczba tatuaży w grupie.
nameMaxLength60Maksymalna długość nazwy.

Wykorzystanie kodu przygotowuje tatuaże do procesu zakupu; nie daje darmowego zakupu. Ekonomię opisano w integracjach.

Kamera

TabelaCo kontroluje
CameraOffsetsDocelową kość, odległość, przesunięcia i pole widzenia dla każdej strefy.
CameraFramingOgólną kompozycję i przesunięcie punktu ostrości.
CameraFramingBySideDodatkowe ustawienia widoku z przodu i z tyłu.
CameraManualControlsSterowanie ręczne, kroki ruchu, obrót, zoom i limity.

Skonfigurowane strefy to ZONE_HEAD, ZONE_TORSO, ZONE_LEFT_ARM, ZONE_RIGHT_ARM, ZONE_LEFT_LEG i ZONE_RIGHT_LEG.

Przykłady pojedynczych zmian:

Kod
Config.CameraOffsets['ZONE_TORSO'].fov = 50.0
Config.CameraFraming.screenOffset = 0.35
Config.CameraManualControls.enabled = true
Config.CameraManualControls.step = 0.035
Config.CameraManualControls.zoomStep = 0.08

Dodatnie screenOffset przesuwa postać w lewo, pozostawiając miejsce na menu po prawej. lookAtOffsetX/Y/Z zmienia punkt ostrości; camOffsetX/Y/Z w ustawieniach dla stron zmienia pozycję kamery.

W sterowaniu ręcznym horizontalDegrees i rotationStepDegrees ustawiają obrót. ranges.y/z, radialClamp i maxDistance ograniczają przesunięcia. zoomCompositionMinBias reguluje centrowanie przy zbliżaniu. Zmieniaj jedną wartość naraz i testuj wszystkie sześć stref na postaciach męskich i żeńskich.

Strój podglądu

Config.PreviewOutfit pozwala odsłonić tatuowane obszary, gdy interfejs jest otwarty:

Kod
Config.PreviewOutfit.enabled = true
Config.PreviewOutfit.useDefaultVariation = false
Config.PreviewOutfit.presets['mp_m_freemode_01'].components[11] = {
    drawable = 15,
    texture = 0,
}

Dołączone presety rozróżniają mp_m_freemode_01 i mp_f_freemode_01. Każdy komponent określa drawable i texture; clearProps usuwa akcesoria na czas podglądu. Dostosuj indeksy do ubrań zainstalowanych na serwerze. Pozostaw useDefaultVariation = false, jeśli chcesz zastosować tylko komponenty presetu, bez globalnego resetowania wyglądu.

Uprawnienia, ekonomia i Qbox

Opis Config.Permissions, Config.AdminCommand, Config.Purchases i Config.QbxMulticharacterPreview znajduje się w sekcji integracje. Jeśli nazwy zasobów różnią się od domyślnych, ustaw ich rzeczywiste nazwy.

Diagnostyka

Config.Debug włącza ogólną diagnostykę. Config.Permissions.debug umożliwia sprawdzanie decyzji o dostępie. Po zakończeniu pozostaw obie opcje wyłączone.

Config.DebugCommands.clientTattooCommand jest domyślnie wyłączone. Włącz tę komendę wizualną wyłącznie do testów: nie zapisuje tatuaży ani nie zastępuje zakupu.

Dalej: katalog.

CXG · DokumentacjaDobra podstawa. Nieskończone możliwości.
Konfiguracja · cxg-tattoos · CXG Docs