Configuration
All settings live in config/config.lua. The file is outside Asset Escrow — fully editable.
Config = {}
Config.Locale = 'en' -- 14 languages available
Config.Debug = false -- F8 console logs
Config.OpenKey = 'F7' -- Default keybind (rebindable in pause menu)
Config.OpenCommand = 'audiomixer' -- Chat command
Config.KVPPrefix = 'hz_amix_' -- Storage prefix (don't change after release)
Config.DefaultVolume = 100 -- 0-100, 100 = full volume (1% precision)
Config.Categories = {
weapons = true,
vehicles = true,
ambience = true,
weather = true,
speech = true,
peds = true,
scripted = true,
music = true,
radio = true,
}
Settings Reference
Config.Locale
UI language. Valid values :
en fr de es it pt nl pl ru tr ja ko zh ar
Drop a new file in locales/.lua to add custom translations. Use any existing locale as a template.
Config.OpenKey
Default keybind for opening the mixer. Players can rebind it in the FiveM pause menu (Settings → Keybinds). Valid values follow FiveM RegisterKeyMapping format — common: F1–F12, letters, numpad, etc.
Config.OpenCommand
Chat command alias. With default audiomixer, players can type /audiomixer to open the mixer.
Config.DefaultVolume
Volume applied to all categories on first connection (when no saved value exists). Range 0–100 (1% precision).
100= full volume — recommended0= muted on first launch (not recommended unless you want a silent default)
Config.Categories
Set any entry to false to hide that category from the mixer UI. The slider won't appear, and the audio scene patch for it won't be applied.
Example — hide the radio slider :
Config.Categories = {
weapons = true,
vehicles = true,
ambience = true,
weather = true,
speech = true,
peds = true,
scripted = true,
music = true,
radio = false, -- hidden
}
Config.Debug
Enables debug prints in F8 client console :
[HZ-AudioMixer] Scene active — mixer operational
Useful for troubleshooting. Leave false in production.
Customizing the UI
The HTML/CSS is in html/index.html, outside Asset Escrow. You can fully restyle it.
Color theme
Edit the CSS variables at the top of :
:root {
--cyan: #00d4ff; / primary accent /
--cyan-dark: #00a8cc;
--red: #ff2d55; / danger / mute /
--green: #00ff88; / status dot /
--bg-2: rgba(10, 14, 22, 0.96); / panel background /
--text: #e8eef5;
}
Layout & sections
Categories are grouped into 4 logical sections (Action, Environment, People, Audio). Edit the GROUPS array in the inline JS :
var GROUPS = [
{ key: 'sectionAction', ids: ['weapons', 'vehicles'] },
{ key: 'sectionEnv', ids: ['ambience', 'weather'] },
{ key: 'sectionPeople', ids: ['speech', 'peds'] },
{ key: 'sectionAudio', ids: ['scripted', 'music', 'radio'] }
]
Add/remove/reorder freely — section labels come from the locale file under the ui_section_* keys.
Adding a Custom Language
- Copy
locales/en.lua→locales/.lua - Translate the values (keys must stay the same)
- Set
Config.Locale = '' - Restart resource
-- locales/myloc.lua
return {
['ui_title'] = 'Mon Mixeur',
['ui_section_action'] = 'Action',
-- ... (see en.lua for full list)
['cat_weapons'] = 'Armes',
['cat_weapons_desc'] = 'Armes à feu, explosions',
-- ...
}
Next Step
- Exports & Events — integrate the mixer into your own pause menu / NUI
- FAQ
