Zum Inhalt springen
CXGdocs.ANLEITUNGEN
cxg-tattoosKonfiguration
CXG DOCUMENTATION

Konfiguration

Die Einstellungen auf dieser Seite befinden sich in config.lua. Ändere die Felder der vorhandenen Tabellen und starte die Ressource neu, um die Änderungen anzuwenden.

Anfangswerte und gespeicherte Einstellungen

Die Studios und Fortschrittsregeln in der Datei dienen als Anfangskonfiguration. Sobald sie über das Administrationspanel gespeichert wurden, bleiben ihre wirksamen Werte über Neustarts hinweg erhalten. Änderungen in der Datei ersetzen gespeicherte Werte nicht automatisch: Verwende das Panel, um Studios, Regeln und Optionen des bereits initialisierten Systems zu aktualisieren.

Sprache, Provider, Bridges, Kamera und Vorschaukleidung werden in der Datei konfiguriert. Quellen und Tattoos werden unter Katalog und Packs beschrieben.

Globale Sprache

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

Locale legt die Sprache der Oberfläche und Nachrichten für alle Spieler fest. Starte die Ressource nach der Änderung neu; Spieler können die Sprache nicht in der NUI ändern. LocaleFallback ist die Ausweichsprache.

Enthaltene Sprachen: en, es, pt-BR, fr, de, it, pl, ru, tr, th und ar. Die arabische Oberfläche verwendet eine Schreibrichtung von rechts nach links.

Identitätssystem

Config.Identity konfiguriert die Anbindung an das Identitätssystem des Servers. Hier wird festgelegt, wie die Kennung des Charakters oder Kontos ermittelt wird, die die Ressource zum Speichern und Abrufen von Tattoos, XP und Blueprints verwendet.

Code
Config.Identity.mode = 'auto'
Config.Identity.qbxResource = 'qbx_core'
ModusVerwendung
autoVerwendet in Qbox die Kennung des aktiven Charakters (citizenid). Auf anderen Servern wird die stabile FiveM-Kennung verwendet.
qbx_characterVerwendet ausdrücklich die Kennung des Qbox-Charakters (citizenid).
licenseVerwendet die FiveM-Lizenz als Kontokennung. Charaktere desselben Kontos teilen Tattoos, XP und Blueprints.

Lege den Modus fest, bevor du die Ressource für Spieler öffnest. Eine spätere Änderung verändert die Identität, mit der Daten abgefragt werden; Daten werden nicht automatisch zwischen Modi übertragen. Wähle license nicht, wenn Tattoos pro Charakter eines Kontos getrennt bleiben sollen.

Interaktionshinweis

Code
Config.HelpText.enabled = true
Config.HelpText.provider = 'auto'
Config.HelpText.position = 'left-center'
FeldWerte oder Wirkung
enabledZeigt den Interaktionshinweis an markierten Studios an oder blendet ihn aus.
providerauto, ox_lib oder native. auto verwendet TextUI, wenn verfügbar, andernfalls den nativen Hinweis.
positionFür TextUI: left-center, right-center, top-center oder bottom-center.
styleFarben, Rahmen, Schatten, Schrift und Innenabstand der TextUI.

Beispiel für einen Stil:

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

Anfängliche Studios

Config.Shops enthält sechs Standorte. Behalte beim Ändern eines anfänglichen Eintrags dessen Struktur bei:

Code
{
    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 },
    },
},
FeldVerwendung
labelName des Studios.
coords, headingPosition und Ausrichtung.
drawDistanceSichtweite des Markers.
interactDistanceInteraktionsabstand.
shopRadiusRadius, innerhalb dessen der Studiovorgang erlaubt ist.
marker.type, scale, colorAussehen des Markers.

Halte interactDistance innerhalb von shopRadius. Verwende für bereits erstellte Studios den Studio-Bereich des Administrationspanels; erwarte nicht, dass eine Dateiänderung diese Studios neu erstellt oder ersetzt.

Level und XP

Einstellung in Config.LevelsAnfangswertVerwendung
enabledtrueAktiviert Fortschritt, Anforderungen und Rabatte.
maxLevel10Levelobergrenze.
defaultXpPerTattoo10XP für ein Tattoo ohne Angabe von Xp.
thresholdsLevel 1 bis 10Kumulierte XP, die für jedes Level benötigt werden.
formula.base, formula.exponent100, 1.5Parameter der alternativen Schwellenwertformel.
zoneRequirements1 für jede ZoneZonenanforderung, sofern keine individuelle Anforderung vorhanden ist.
discountsAktiviert, 3 pro Level und höchstens 25Rabatt in Prozent.
blueprintSlotsBasis 5, Zuwachs 3Blueprint-Plätze je nach Level.

Die Schwellenwerte müssen bei Level 1 mit 0 XP beginnen, ohne Lücken fortlaufen und den erforderlichen XP-Wert erhöhen:

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

Der Rabatt wird als Level × perLevel berechnet und durch maxDiscount begrenzt. Mit den Anfangswerten erhält Level 5 einen Rabatt von 15 %, höchstens jedoch 25 %.

Die Anzahl der Plätze wird als base + (level - 1) × perLevel berechnet. Mit der Anfangskonfiguration hat Level 1 fünf und Level 5 siebzehn Plätze.

Ein individueller RequiredLevel-Wert im Katalog hat Vorrang vor der Zonenanforderung. Siehe Katalogfelder.

Wenn Level deaktiviert sind, gelten keine Level-Sperren, XP oder Rabatte; die Blueprint-Obergrenze verwendet Config.Blueprints.maxPerPlayer. Das Deaktivieren des Systems erhält gespeicherte XP. Aktualisiere bei bereits initialisierten Installationen auch den wirksamen Status im Panel.

Blueprints

Blueprints speichern Tattoo-Gruppen und lassen sich über Codes teilen. Ihre Anfangsgrenzen stehen in Config.Blueprints:

FeldAnfangswertVerwendung
enabledtrueAktiviert das System.
codePrefixINKPräfix der Codes, zum Beispiel INK-A3X9.
codeLength4Anzahl der Zeichen nach dem Präfix.
maxPerPlayer20Anzahl der Plätze bei inaktivem Fortschrittssystem.
maxTattoosPerBlueprint50Höchstzahl der Tattoos pro Gruppe.
nameMaxLength60Maximale Länge des Namens.

Das Einlösen eines Codes fügt die Tattoos dem Kaufablauf hinzu; es gewährt keinen kostenlosen Kauf. Die Wirtschaft wird unter Integrationen konfiguriert.

Kamera

TabelleSteuerung
CameraOffsetsZielknochen, Abstand, Offsets und Sichtfeld je Zone.
CameraFramingAllgemeine Bildkomposition und Verschiebung des Fokuspunktes.
CameraFramingBySideZusätzliche Einstellungen für Vorder- und Rückansicht.
CameraManualControlsManuelle Steuerung, Bewegungsschritte, Drehung, Zoom und Grenzen.

Konfigurierte Zonen: ZONE_HEAD, ZONE_TORSO, ZONE_LEFT_ARM, ZONE_RIGHT_ARM, ZONE_LEFT_LEG und ZONE_RIGHT_LEG.

Beispiele für gezielte Änderungen:

Code
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

Ein positiver screenOffset verschiebt den Charakter nach links, damit rechts Platz für das Menü bleibt. lookAtOffsetX/Y/Z verändert den Fokuspunkt; camOffsetX/Y/Z der Einstellungen pro Seite verändert die Kameraposition.

Bei der manuellen Steuerung passen horizontalDegrees und rotationStepDegrees die Drehung an. ranges.y/z, radialClamp und maxDistance begrenzen Verschiebungen. zoomCompositionMinBias passt die Zentrierung beim Heranzoomen an. Ändere jeweils nur einen Wert und teste alle sechs Zonen mit männlichen und weiblichen Charakteren.

Vorschaukleidung

Mit Config.PreviewOutfit lassen sich tätowierte Bereiche freilegen, während die Oberfläche geöffnet ist:

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

Die enthaltenen Presets unterscheiden mp_m_freemode_01 und mp_f_freemode_01. Jede Komponente gibt drawable und texture an; clearProps entfernt Accessoires während der Vorschau. Passe die Indizes an die auf deinem Server installierte Kleidung an. Lass useDefaultVariation = false, wenn nur die Komponenten des Presets angewendet werden sollen, ohne das Aussehen global zurückzusetzen.

Berechtigungen, Wirtschaft und Qbox

Config.Permissions, Config.AdminCommand, Config.Purchases und Config.QbxMulticharacterPreview werden unter Integrationen erklärt. Passe die Ressourcennamen an, wenn sie von den Standardnamen abweichen.

Diagnose

Config.Debug aktiviert die allgemeine Diagnose. Mit Config.Permissions.debug lassen sich Zugriffsentscheidungen prüfen. Lass beide nach Abschluss deaktiviert.

Config.DebugCommands.clientTattooCommand ist anfangs deaktiviert. Aktiviere diesen visuellen Befehl nur zu Testzwecken: Er speichert keine Tattoos und ersetzt keinen Kauf.

Weiter zum Katalog.

CXG · DokumentationEine gute Grundlage. Unendliche Möglichkeiten.
Konfiguration · cxg-tattoos · CXG Docs