# Konfiguration

## Konfiguration

### Übersicht der Config-Datei

FLIPREACTION Auto-Detect ist über die Datei `config.lua` umfassend anpassbar. Diese Seite erklärt alle Konfigurationsoptionen und wie sie verwendet werden.

### Haupterkennungseinstellungen

```lua
FlipAngleThreshold = 75.0        -- Der Winkel in Grad, ab dem ein Fahrzeugüberschlag gezählt wird
MinSpeedForTrigger = 20.0        -- Mindestgeschwindigkeit (km/h), die für eine Überschlagserkennung erforderlich ist
DetectionCooldown = 3000         -- Abklingzeit in ms zwischen Überschlagserkennungen
```

Diese Einstellungen steuern die Kernfunktionalität der Überschlagserkennung:

* **FlipAngleThreshold**: Wie weit das Fahrzeug gekippt sein muss (in Grad), um als überschlagen zu gelten. Niedrigere Werte machen die Erkennung empfindlicher.
* **MinSpeedForTrigger**: Das Fahrzeug muss mindestens so schnell fahren (km/h), damit die Überschlagserkennung aktiviert wird. Dies verhindert, dass stehende oder langsame Fahrzeugüberschläge das System auslösen.
* **DetectionCooldown**: Mindestzeit (Millisekunden) zwischen Überschlagserkennungen. Verhindert mehrfache Auslösungen während eines einzelnen Überschlagsereignisses.

### Allgemeine Benachrichtigungseinstellungen

```lua
EnableNotification = true         -- Aktiviert Benachrichtigungen bei Fahrzeugüberschlägen
CustomNotificationEvent = ""      -- Benutzerdefinierter Event-Name für Benachrichtigungen (leer lassen für Standard)
NotificationTitle = "Warnung"     -- Allgemeiner Titel für Benachrichtigungen
NotificationMessage = "Dein Fahrzeug hat sich überschlagen!" -- Allgemeiner Nachrichtentext
```

Dies sind die grundlegenden Benachrichtigungseinstellungen, die unabhängig davon gelten, welches Framework erkannt wird:

* **EnableNotification**: Auf `true` setzen, um Benachrichtigungen bei Fahrzeugüberschlägen anzuzeigen, `false` um sie zu deaktivieren
* **CustomNotificationEvent**: Wenn dein Server ein benutzerdefiniertes Benachrichtigungssystem verwendet, gib hier seinen Event-Namen ein
* **NotificationTitle**: Der Titel, der in Benachrichtigungen angezeigt wird (von beiden Frameworks verwendet)
* **NotificationMessage**: Der Nachrichtentext, der in Benachrichtigungen angezeigt wird (von beiden Frameworks verwendet)

### Framework-spezifische Benachrichtigungseinstellungen

#### ESX-Benachrichtigungseinstellungen

```lua
-- ESX-spezifische Benachrichtigungseinstellungen
ESX = {
    NotificationTitle = "Warnung",    -- Titel für ESX-Benachrichtigungen
    NotificationSubtitle = "Fahrzeugüberschlag", -- Untertitel für ESX-Benachrichtigungen
    NotificationMessage = "Dein Fahrzeug hat sich überschlagen!", -- Nachrichtentext für ESX
    NotificationIcon = "CHAR_CARSITE", -- Symbol für ESX-Benachrichtigungen
    NotificationIconType = 1          -- Symboltyp für ESX-Benachrichtigungen
}
```

Diese Einstellungen gelten nur, wenn ESX erkannt wird:

* **NotificationTitle**: Überschreibt den allgemeinen Titel für ESX-Benachrichtigungen
* **NotificationSubtitle**: Der Untertitel, der in ESX-Benachrichtigungen angezeigt wird
* **NotificationMessage**: Überschreibt die allgemeine Nachricht für ESX-Benachrichtigungen
* **NotificationIcon**: Der Name des GTA V Texturdictionary für das Benachrichtigungssymbol
* **NotificationIconType**: Der zu verwendende Typ des Benachrichtigungssymbols

#### QBCore-Benachrichtigungseinstellungen

```lua
-- QBCore-spezifische Benachrichtigungseinstellungen
QBCore = {
    NotificationType = "error",       -- QBCore-Benachrichtigungstyp: "success", "error", "info", "primary"
    NotificationMessage = "Dein Fahrzeug hat sich überschlagen!", -- Nachrichtentext für QBCore
    NotificationDuration = 5000       -- Wie lange die QBCore-Benachrichtigung angezeigt wird (ms)
}
```

Diese Einstellungen gelten nur, wenn QBCore erkannt wird:

* **NotificationType**: Der Typ/Stil der anzuzeigenden QBCore-Benachrichtigung
* **NotificationMessage**: Überschreibt die allgemeine Nachricht für QBCore-Benachrichtigungen
* **NotificationDuration**: Wie lange (in Millisekunden) die Benachrichtigung auf dem Bildschirm bleibt

### Spielereffekte

```lua
EjectPlayerOnFlip = false         -- Spieler bei Überschlag automatisch aus Fahrzeug werfen
DamageOnFlip = true               -- Spieler bekommt Schaden beim Überschlag
DamageAmount = 25                 -- Schadensmenge (Gesundheitspunkte)
```

Diese Einstellungen steuern, was mit dem Spieler passiert, wenn sein Fahrzeug überschlägt:

* **EjectPlayerOnFlip**: Wenn `true`, wird der Spieler beim Überschlag aus dem Fahrzeug geworfen
* **DamageOnFlip**: Wenn `true`, erleidet der Spieler Schaden, wenn sein Fahrzeug überschlägt
* **DamageAmount**: Wie viel Gesundheit dem Spieler beim Fahrzeugüberschlag abgezogen wird

### Performance-Einstellungen

```lua
CheckFrequencyNormal = 500        -- Wie oft auf Überschläge prüfen bei normaler Fahrt (ms)
CheckFrequencyFast = 100          -- Wie oft auf Überschläge prüfen bei hoher Geschwindigkeit (ms)
IdleCheckFrequency = 1000         -- Wie oft prüfen, wenn nicht in einem Fahrzeug (ms)
```

Diese Einstellungen steuern, wie oft das Skript auf Fahrzeugüberschläge prüft, was sich auf die Leistung auswirkt:

* **CheckFrequencyNormal**: Beim Fahren unter der Mindestauslösegeschwindigkeit, wie oft auf Überschläge prüfen (in Millisekunden)
* **CheckFrequencyFast**: Beim Fahren über der Mindestauslösegeschwindigkeit, wie oft auf Überschläge prüfen (in Millisekunden)
* **IdleCheckFrequency**: Wenn nicht in einem Fahrzeug, wie oft prüfen (in Millisekunden)

Höhere Werte bedeuten weniger häufige Prüfungen, was die Serverleistung verbessert, aber die Überschlagserkennung weniger reaktionsschnell machen kann.

### Verwendung benutzerdefinierter Benachrichtigungssysteme

Wenn dein Server ein benutzerdefiniertes Benachrichtigungssystem verwendet, kannst du es leicht integrieren:

1. Setze `EnableNotification = true`, um Benachrichtigungen zu aktivieren
2. Setze `CustomNotificationEvent` auf den Event-Namen deines Benachrichtigungssystems
3. Wenn ein Überschlag erkannt wird, löst das Skript deinen benutzerdefinierten Event mit den Titel- und Nachrichtenparametern aus:

```lua
TriggerEvent(Config.CustomNotificationEvent, Config.NotificationTitle, Config.NotificationMessage)
```

Viele beliebte Benachrichtigungsressourcen werden auf diese Weise unterstützt, wie zum Beispiel:

* okokNotify
* mythic\_notify
* pNotify
* t-notify

### Framework-spezifische Konfigurationen

#### Mischen und Anpassen von Einstellungen

Die Auto-Detect-Version ermöglicht es dir, unterschiedliche Verhaltensweisen je nach erkanntem Framework zu konfigurieren:

```lua
-- Für beide Frameworks
Config.DamageOnFlip = true
Config.DamageAmount = 25

-- Du kannst bestimmte Einstellungen pro Framework überschreiben
Config.ESX.NotificationIcon = "CHAR_INSURANCE"  -- Betrifft nur ESX
Config.QBCore.NotificationType = "success"      -- Betrifft nur QBCore
```

Dies ermöglicht es dir, das Verhalten speziell auf die Fähigkeiten jedes Frameworks zuzuschneiden.

### Konfigurationsbeispiele

#### Realistische Konfiguration

```lua
FlipAngleThreshold = 80.0        -- Etwas höherer Schwellenwert für realistischere Erkennung
MinSpeedForTrigger = 30.0        -- Höhere Mindestgeschwindigkeit
DetectionCooldown = 5000         -- Längere Abklingzeit
EjectPlayerOnFlip = true         -- Spieler auswerfen für mehr Realismus
DamageOnFlip = true
DamageAmount = 40                -- Mehr Schaden

-- Verschiedene Benachrichtigungsstile pro Framework
ESX = {
    NotificationIcon = "CHAR_CALL911",
    NotificationMessage = "Dein Fahrzeug hat sich überschlagen. Rettungsdienste wurden benachrichtigt."
}
QBCore = {
    NotificationType = "error",
    NotificationDuration = 8000  -- Längere Dauer für wichtigere Benachrichtigung
}
```

#### Performance-orientierte Konfiguration

```lua
CheckFrequencyNormal = 800        -- Weniger häufige Prüfungen
CheckFrequencyFast = 200          -- Weniger häufige Prüfungen bei Geschwindigkeit
IdleCheckFrequency = 2000         -- Wesentlich weniger häufige Leerlaufprüfungen
```

#### Arcade-Stil Konfiguration

```lua
FlipAngleThreshold = 60.0        -- Niedrigerer Schwellenwert für häufigere Erkennung
MinSpeedForTrigger = 10.0        -- Niedrigere Mindestgeschwindigkeit
DetectionCooldown = 1500         -- Kürzere Abklingzeit
EjectPlayerOnFlip = false        -- Kein Auswerfen
DamageOnFlip = false             -- Kein Schaden

-- Spaßige Benachrichtigungsstile
ESX = {
    NotificationMessage = "Wow! Dein Fahrzeug hat gerade einen Flip gemacht!"
}
QBCore = {
    NotificationType = "primary", -- Lila Benachrichtigungen
    NotificationMessage = "Wow! Dein Fahrzeug hat gerade einen Flip gemacht!"
}
```

### Fazit

Die FLIPREACTION Auto-Detect-Version bietet die flexibelsten Konfigurationsoptionen und ermöglicht es dir, eine nahtlose Erfahrung zu schaffen, unabhängig davon, welches Framework auf deinem Server läuft. Durch die Verwendung der Framework-spezifischen Abschnitte kannst du sicherstellen, dass Benachrichtigungen und andere Funktionen für ESX oder QBCore optimiert sind, ohne den Skriptcode ändern zu müssen.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://fjx.gitbook.io/fjx-docs/flipreaction/konfiguration.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
