Konfiguration

Alle Einstellungen befinden sich in config/config.lua. Die Datei liegt außerhalb von Asset Escrow und ist vollständig bearbeitbar.

Config = {}

Config.Locale       = 'en'         -- 14 Sprachen verfügbar
Config.Debug        = false        -- Logs in der F8-Konsole

Config.OpenKey      = 'F7'         -- Standardtaste (im Pause-Menü änderbar)
Config.OpenCommand  = 'audiomixer' -- Chat-Befehl

Config.KVPPrefix    = 'hz_amix_v2_' -- Speicherpräfix (nach der Veröffentlichung nicht mehr ändern)
Config.DefaultVolume = 100         -- 0-100, 100 = volle Lautstärke (1% Genauigkeit)

Config.Categories = {
    weapons  = true,
    vehicles = true,
    ambience = true,
    weather  = true,
    speech   = true,
    peds     = true,
    scripted = true,
    music    = true,
    radio    = true,
}


Einstellungsreferenz

Config.Locale

Sprache der Oberfläche. Gültige Werte:

en fr de es it pt nl pl ru tr ja ko zh ar

Legen Sie eine neue Datei locales/<code>.lua an, um eigene Übersetzungen hinzuzufügen. Verwenden Sie eine beliebige vorhandene Locale als Vorlage.

Config.OpenKey

Standardtaste zum Öffnen des Mixers. Spieler können sie im FiveM-Pause-Menü ändern (Einstellungen → Tastenbelegung). Gültige Werte folgen dem RegisterKeyMapping-Format von FiveM, üblich sind F1–F12, Buchstaben, Ziffernblock usw.

Config.OpenCommand

Alias des Chat-Befehls. Mit dem Standardwert audiomixer können Spieler /audiomixer eingeben, um den Mixer zu öffnen.

Config.KVPPrefix

Präfix der Schlüssel, unter denen die Lautstärken jedes Spielers gespeichert werden (ein Client-KVP-Schlüssel pro Kanal: Präfix + Kanal-ID). Wenn Sie es ändern, beginnt jeder Spieler wieder bei Config.DefaultVolume. Lassen Sie es daher unverändert, sobald Spieler ihre Einstellungen gespeichert haben.

Config.DefaultVolume

Lautstärke, die bei der ersten Verbindung auf alle Kategorien angewendet wird (wenn noch kein gespeicherter Wert existiert). Bereich 0–100 (1% Genauigkeit). Auf diesen Wert setzen auch die Reset-Taste (R) und der Export resetAll zurück.

  • 100 = volle Lautstärke — empfohlen
  • 0 = beim ersten Start stumm (nicht empfohlen, außer Sie möchten standardmäßig Stille)

Config.Categories

Setzen Sie einen beliebigen Eintrag auf false, um diese Kategorie in der Mixer-Oberfläche auszublenden. Der Regler erscheint nicht, der zugehörige Audio-Szenen-Patch wird nicht angewendet, und die Exports überspringen die Kategorie (setVolume gibt false zurück).

Beispiel, den Radio-Regler ausblenden:

Config.Categories = {
    weapons  = true,
    vehicles = true,
    ambience = true,
    weather  = true,
    speech   = true,
    peds     = true,
    scripted = true,
    music    = true,
    radio    = false,    -- ausgeblendet
}

Config.Debug

Aktiviert Debug-Ausgaben in der F8-Konsole des Clients:

[HZ-AudioMixer] Scene active

Nützlich zur Fehlersuche. Lassen Sie im Produktivbetrieb false.


Oberfläche anpassen

Das Mixer-Panel basiert wie die anderen HZ-Oberflächen auf dem UI-Kit von hz_lib. Die Dateien in html/ liegen außerhalb von Asset Escrow: index.html (Struktur), style.css (Layout des Panels) und app.js (Zeilen, Gruppen, Tastatur).

Farben und Schriften

In dieser Ressource gibt es keine Farbe und keine Schrift einzustellen. Das Panel verwendet Ihr hz_lib-Theme: Ändern Sie Akzentfarbe, Flächen und Schriften in /hzpanel (Reiter Appearance), siehe hz_lib-Adminpanel. Alle HZ-Oberflächen übernehmen die Änderung.

Was wo ändern

WasWo
Texte: Titel, Gruppennamen, Namen und Beschreibungen der Kanäle, Tastenhinweise, Reset-Fragelocales/<code>.lua (Schlüssel ui_* und cat_*)
Einen Kanal ausblendenConfig.Categories
Gruppen und Reihenfolge der KanäleGROUPS in html/app.js
Schrittweite der Pfeiltasten (5%, mit Shift 1%)STEP in html/app.js
Icons der KanäleICONS in html/app.js (Inline-SVG)
Breite und Innenabstand des Panels, dunkle Abdunklung hinter dem Panel.amx-panel und .amx-shade in html/style.css
Die Klassen hz-* stammen aus dem hz_lib-Kit und werden von allen HZ-Oberflächen geteilt. Passen Sie lieber die Klassen amx-* in style.css an als die des Kits.

Layout & Abschnitte

Die Kategorien sind in 4 logische Abschnitte gruppiert (Aktion, Umgebung, Personen, Audio). Bearbeiten Sie das Array GROUPS am Anfang von html/app.js:

const GROUPS = [
  { key: 'sectionAction', fallback: 'Action', ids: ['weapons', 'vehicles'] },
  { key: 'sectionEnv', fallback: 'Environment', ids: ['ambience', 'weather'] },
  { key: 'sectionPeople', fallback: 'People', ids: ['speech', 'peds'] },
  { key: 'sectionAudio', fallback: 'Audio', ids: ['scripted', 'music', 'radio'] },
];

Sie können Einträge frei hinzufügen, entfernen und umsortieren. Ein Kanal, der in keiner Gruppe steht, wird nicht angezeigt. Die vier Abschnittsnamen stammen aus der Locale-Datei unter den Schlüsseln ui_section_*; eine von Ihnen hinzugefügte Gruppe zeigt ihren fallback-Text.


Eigene Sprache hinzufügen

  1. Kopieren Sie locales/en.lua → locales/<ihr_code>.lua
  2. Übersetzen Sie die Werte (die Schlüssel müssen gleich bleiben)
  3. Setzen Sie Config.Locale = '<ihr_code>'
  4. Starten Sie die Ressource neu
Fehlt ein Schlüssel in Ihrer Datei, wird der englische Text verwendet.

-- locales/myloc.lua
return {
    ['ui_title']        = 'Mon Mixeur',
    ['ui_section_action']        = 'Action',
    -- ... (vollständige Liste siehe en.lua)
    ['cat_weapons']         = 'Armes',
    ['cat_weapons_desc']    = 'Armes à feu, explosions',
    -- ...
}


Nächster Schritt