# Installation

Diese Anleitung verwendet das Distributionspaket mit bereits kompilierter Oberfläche. Du brauchst weder Node.js noch einen erneuten UI-Build für die Installation.

## Voraussetzungen

| Komponente | Wann erforderlich |
| --- | --- |
| `oxmysql` und eine funktionierende Datenbankverbindung | Erforderlich, um Ressourcendaten zu speichern. |
| Qbox, QBCore oder ESX | Wenn du deren Wirtschaft und Berechtigungen verwendest. Eine andere Wirtschaft kannst du über Standalone-Callbacks anbinden. |
| Tattoo-Packs | Optional. Du kannst keines, einige oder alle installieren. |
| `ox_lib` | Optional für die TextUI-Hinweismeldung; es gibt eine native Alternative. |
| Erscheinungssystem | Wenn dein Server eines verwendet, prüfe die [Erscheinungs-Bridge](https://docs.cxgstudios.com/docs/de/01-cxg-tattoos/05-integraciones.md#erscheinung-und-charakterladen). |

Blueprints werden über Codes geteilt. Für die enthaltene Konfiguration musst du kein Inventarobjekt hinzufügen.

## Ressource ablegen

1. Entpacke das Paket in einen Ressourcenordner deines Servers.
2. In diesen Anleitungen verwenden wir `cxg-tattoos` als Ordnernamen. Wenn dein Ordner anders heißt, verwende den tatsächlichen Namen in den Befehlen `ensure` und `restart`.
3. Behalte die bereitgestellte Struktur bei. Prüfe, ob `config.lua`, `shared/tattoos.json`, `bridge/` und `ui/dist/index.html` zusammen mit den Paketdateien vorhanden sind.
4. Konfiguriere deine Datenbankverbindung und stelle sicher, dass `oxmysql` korrekt startet.

## Startreihenfolge

Beispiel mit Qbox und ohne externe Packs:

```cfg
ensure oxmysql
ensure qbx_core
ensure cxg-tattoos
```

Ersetze bei QBCore oder ESX `qbx_core` durch `qb-core` beziehungsweise `es_extended`. Starte dein Erscheinungssystem vor der Ressource, falls du eines verwendest. Für Standalone konfiguriere zuerst die [Zahlungs- und Berechtigungs-Callbacks](https://docs.cxgstudios.com/docs/de/01-cxg-tattoos/05-integraciones.md).

Wenn du Packs hast, starte nur die installierten Packs vor der Ressource. Zum Beispiel:

```cfg
ensure oxmysql
ensure qbx_core
ensure xgc_TattooClasic
ensure xgc_TattooGangs
ensure cxg-tattoos
```

Füge keine `ensure`-Zeilen für Packs hinzu, die du nicht besitzt. Die Standardquellen können in `Config.TattooCatalog.sources` verbleiben: Nicht gestartete Packs werden übersprungen.

## Erster Start

Die Ressource richtet ihren Speicher automatisch ein. Bei einer Neuinstallation musst du kein Schema manuell importieren.

Prüfe vor dem Test in `config.lua`:

- `Config.Locale`: globale Sprache.
- `Config.Purchases`: Wirtschaft und Abbuchungskonten.
- `Config.Permissions`: administrativer Zugriff.
- `Config.Identity`: Identitätssystem des Servers und Kennung, mit der Spielerdaten gespeichert und abgerufen werden. Siehe [Identitätssystem](https://docs.cxgstudios.com/docs/de/01-cxg-tattoos/03-configuracion.md#identitätssystem).
- `Config.Shops`: anfängliche Standorte der Studios.

Geh zu einem konfigurierten Studio und nutze dessen Interaktion. Prüfe den Katalog, eine Vorschau und einen Kauf mit einem Testcharakter. Lade den Charakter erneut, um sicherzustellen, dass das Tattoo erhalten bleibt.

Der enthaltene Administrationsbefehl wird in `Config.AdminCommand` konfiguriert; sein anfänglicher Name lautet `/tattooadmin`. Lies [Berechtigungen und Zahlungen](https://docs.cxgstudios.com/docs/de/01-cxg-tattoos/05-integraciones.md), bevor du ihn verwendest.

## Änderungen anwenden

Speichere nach Änderungen an `config.lua` oder einer Bridge die Datei und starte die Ressource neu:

```cfg
restart cxg-tattoos
```

Katalogquellen werden beim Start erneut eingelesen und können über das Administrationspanel synchronisiert werden. Über dieses Panel gespeicherte Einstellungen bleiben erhalten. Lies [Konfiguration](https://docs.cxgstudios.com/docs/de/01-cxg-tattoos/03-configuracion.md) und [Katalog](https://docs.cxgstudios.com/docs/de/01-cxg-tattoos/04-catalogo.md), bevor du erwartest, dass ein Dateiwert sie ersetzt.

## Häufige Probleme

| Symptom | Was prüfen |
| --- | --- |
| Die Ressource startet nicht | Ob `oxmysql` gestartet ist, die Verbindung funktioniert und das Paket vollständig ist. |
| Ein Pack fehlt im Studio | Ob die Ressource gestartet ist, `enabled` nicht `false` ist und der JSON-Pfad mit dem Pack übereinstimmt. |
| Die Oberfläche ist leer | Ob `ui/dist/index.html` und die referenzierten Dateien in `ui/dist/assets/` gemeinsam kopiert wurden. |
| Das Panel verweigert den Zugriff | `Config.AdminCommand.permission`, Berechtigungsbindungen sowie konfigurierte Rollen oder ACE-Einträge. |
| Die Zahlung wird abgelehnt | Gewähltes Framework, Ressourcennamen, Kontostand und gegebenenfalls Standalone-Callbacks. |
| Zwei Tattoo-Interaktionen am selben Ort | Ob eine andere Erscheinungs- oder Studioressource diesen Standort ebenfalls aktiviert hat. Lass nur einen Zugang zum gewünschten Studio aktiv. |
| Eine Änderung an Studio oder Level wird nicht übernommen | Ob bereits eine Einstellung über das Panel gespeichert wurde. Ändere dort den wirksamen Wert. |

Du kannst `Config.Debug` und `Config.Permissions.debug` vorübergehend zur Diagnose aktivieren. Deaktiviere sie anschließend wieder.

[Weiter zur Konfiguration](https://docs.cxgstudios.com/docs/de/01-cxg-tattoos/03-configuracion.md).
