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
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.
Config.Identity.mode = 'auto'
Config.Identity.qbxResource = 'qbx_core'
| Modus | Verwendung |
|---|---|
auto | Verwendet in Qbox die Kennung des aktiven Charakters (citizenid). Auf anderen Servern wird die stabile FiveM-Kennung verwendet. |
qbx_character | Verwendet ausdrücklich die Kennung des Qbox-Charakters (citizenid). |
license | Verwendet 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
Config.HelpText.enabled = true
Config.HelpText.provider = 'auto'
Config.HelpText.position = 'left-center'
| Feld | Werte oder Wirkung |
|---|---|
enabled | Zeigt den Interaktionshinweis an markierten Studios an oder blendet ihn aus. |
provider | auto, ox_lib oder native. auto verwendet TextUI, wenn verfügbar, andernfalls den nativen Hinweis. |
position | Für TextUI: left-center, right-center, top-center oder bottom-center. |
style | Farben, Rahmen, Schatten, Schrift und Innenabstand der TextUI. |
Beispiel für einen Stil:
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:
{
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 },
},
},
| Feld | Verwendung |
|---|---|
label | Name des Studios. |
coords, heading | Position und Ausrichtung. |
drawDistance | Sichtweite des Markers. |
interactDistance | Interaktionsabstand. |
shopRadius | Radius, innerhalb dessen der Studiovorgang erlaubt ist. |
marker.type, scale, color | Aussehen 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.Levels | Anfangswert | Verwendung |
|---|---|---|
enabled | true | Aktiviert Fortschritt, Anforderungen und Rabatte. |
maxLevel | 10 | Levelobergrenze. |
defaultXpPerTattoo | 10 | XP für ein Tattoo ohne Angabe von Xp. |
thresholds | Level 1 bis 10 | Kumulierte XP, die für jedes Level benötigt werden. |
formula.base, formula.exponent | 100, 1.5 | Parameter der alternativen Schwellenwertformel. |
zoneRequirements | 1 für jede Zone | Zonenanforderung, sofern keine individuelle Anforderung vorhanden ist. |
discounts | Aktiviert, 3 pro Level und höchstens 25 | Rabatt in Prozent. |
blueprintSlots | Basis 5, Zuwachs 3 | Blueprint-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:
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:
| Feld | Anfangswert | Verwendung |
|---|---|---|
enabled | true | Aktiviert das System. |
codePrefix | INK | Präfix der Codes, zum Beispiel INK-A3X9. |
codeLength | 4 | Anzahl der Zeichen nach dem Präfix. |
maxPerPlayer | 20 | Anzahl der Plätze bei inaktivem Fortschrittssystem. |
maxTattoosPerBlueprint | 50 | Höchstzahl der Tattoos pro Gruppe. |
nameMaxLength | 60 | Maximale 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
| Tabelle | Steuerung |
|---|---|
CameraOffsets | Zielknochen, Abstand, Offsets und Sichtfeld je Zone. |
CameraFraming | Allgemeine Bildkomposition und Verschiebung des Fokuspunktes. |
CameraFramingBySide | Zusätzliche Einstellungen für Vorder- und Rückansicht. |
CameraManualControls | Manuelle 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:
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:
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.