# Config

```lua
Config = {}

-- Allgemeine Einstellungen
Config.Debug = false -- Debug Modus aktivieren/deaktivieren
Config.Locale = 'de' -- Sprache (de/en)
Config.Framework = 'esx' -- Framework (esx/qb)

-- Job Einstellungen
Config.PoliceJob = 'police' -- Job Name für Polizisten
Config.MinimumGrade = 0 -- Mindestrang für Platzverweis

-- Platzverweis Einstellungen
Config.MaxDuration = 30 -- Maximale Dauer in Minuten
Config.DefaultDuration = 15 -- Standard Dauer in Minuten
Config.DefaultRadius = 100.0 -- Standard Radius in Metern
Config.MaxRadius = 500.0 -- Maximaler Radius in Metern

-- Benachrichtigungen
Config.NotifyType = 'ox_lib' -- Benachrichtigungstyp (ox_lib, esx, custom)
Config.WarningInterval = 30 -- Sekunden zwischen Warnungen

-- Vordefinierte Orte für öffentliche Plätze
Config.PublicPlaces = {
    {
        name = "pp",
        label = "Polizei",
        coordinates = {
            {x = 404.4890, y = -1035.0345, z = 30.0},
            {x = 407.2341, y = -963.5342, z = 30.0},
            {x = 491.9162, y = -962.1831, z = 30.0},
            {x = 490.7047, y = -1027.5764, z = 30.0}
        }
    },
    {
        name = "hp",
        label = "Hauptplatz",
        coordinates = {
            {x = 187.3363, y = -839.8501, z = 231.9165},
            {x = 266.1092, y = -868.3745, z = 161.2183},
            {x = 211.0880, y = -1025.4303, z = 29.3366},
            {x = 126.4336, y = -989.7312, z = 29.2685}
        }
    },
    {
        name = "bfrd",
        label = "BF & RD Wache",
        coordinates = {
            {x = 774.9133, y = -2461.1716, z = 20},
            {x = 766.6861, y = -2544.5310, z = 15},
            {x = 1048.4877, y = -2561.8394, z = 28},
            {x = 1050.7601, y = -2482.2202, z = 28},
            {x = 829.7079, y = -2459.3059, z = 26}
        }
    },
    {
        name = "kh",
        label = "Krankenhaus",
        coordinates = {
            {x = -482.9196, y = -862.4839, z = 30.2960},
            {x = -438.0322, y = -862.3919, z = 30.9408},
            {x = -441.0855, y = -1092.6313, z = 29.2331},
            {x = -524.1013, y = -1057.6108, z = 22.4680}
        }
    },
    {
        name = "Flughafen",
        label = "Flughafen",
        coordinates = {
            {x = -416.9987, y = -82.9277, z = 41.8092},
            {x = -360.0839, y = -183.6274, z = 37.4287},
            {x = -306.2529, y = -166.6826, z = 40.0646}
        }
    }
}

-- Nachrichten (mehrsprachig)
Config.Messages = {
    de = {
        -- Platzverweis Menü
        menu_title = "Platzverweis System",
        menu_subtitle = "Platzverweis ausstellen",
        place_type_label = "Art des Platzes",
        place_type_public = "Öffentlicher Platz",
        place_type_current = "Aktuelle Position",
        place_select_label = "Platz auswählen",
        duration_label = "Dauer (Minuten)",
        radius_label = "Radius (Meter)",
        confirm_label = "Platzverweis ausstellen",
        cancel_label = "Abbrechen",
        
        -- Benachrichtigungen
        ban_issued = "Du hast einen Platzverweis erhalten!",
        ban_details = "Du darfst den Bereich für %s Minuten nicht betreten.",
        warning_message = "KI-Überwachung: Du befindest dich in einem gesperrten Bereich!",
        ban_expired = "Dein Platzverweis ist abgelaufen.",
        
        -- Fehler
        no_permission = "Du hast keine Berechtigung für Platzverweise.",
        invalid_duration = "Ungültige Dauer. Maximal %s Minuten erlaubt.",
        invalid_radius = "Ungültiger Radius. Maximal %s Meter erlaubt.",
        player_not_found = "Spieler nicht gefunden.",
        already_banned = "Spieler hat bereits einen aktiven Platzverweis.",
        
        -- Erfolg
        ban_success = "Platzverweis erfolgreich ausgestellt.",
        ban_removed = "Platzverweis erfolgreich entfernt."
    },
    en = {
        -- Platzverweis Menü
        menu_title = "Ban System",
        menu_subtitle = "Issue Area Ban",
        place_type_label = "Place Type",
        place_type_public = "Public Place",
        place_type_current = "Current Position",
        place_select_label = "Select Place",
        duration_label = "Duration (Minutes)",
        radius_label = "Radius (Meters)",
        confirm_label = "Issue Ban",
        cancel_label = "Cancel",
        
        -- Benachrichtigungen
        ban_issued = "You have received an area ban!",
        ban_details = "You are not allowed to enter the marked area for %s minutes.",
        warning_message = "AI Surveillance: You are in a restricted area!",
        ban_expired = "Your area ban has expired.",
        
        -- Fehler
        no_permission = "You don't have permission to issue area bans.",
        invalid_duration = "Invalid duration. Maximum %s minutes allowed.",
        invalid_radius = "Invalid radius. Maximum %s meters allowed.",
        player_not_found = "Player not found.",
        already_banned = "Player already has an active area ban.",
        
        -- Erfolg
        ban_success = "Area ban successfully issued.",
        ban_removed = "Area ban successfully removed."
    }
}

-- Datenbank Einstellungen
Config.Database = {
    table_name = 'platzverweis_bans',
    auto_cleanup = true, -- Automatische Bereinigung abgelaufener Bans
    cleanup_interval = 60 -- Bereinigungsintervall in Sekunden (1 Minute)
}

-- Target Einstellungen
Config.Target = {
    distance = 3.0, -- Maximale Distanz für ox_target
    debug = false -- Debug Modus für ox_target
}

-- Emergency Dispatch Einstellungen
Config.EmergencyDispatch = {
    enabled = true, -- Emergency Dispatch Integration aktivieren
    trigger_name = 'emergencydispatch:emergencycall:new',
    job_name = 'police',
    message_template = "%s ist dem Platzverweis nicht nachgekommen"
}

-- Logging Einstellungen
Config.Logging = {
    enabled = true, -- Logging aktivieren
    webhook_url = "", -- Discord Webhook URL (optional)
    log_level = "info" -- Log Level (debug, info, warn, error)
}
```


---

# 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://docs.wavecore.dev/wavecore/platzverweis/config.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.
