FAQ

Général

Est-ce que HZ-AudioMixer diffuse des sons personnalises ?

Non. HZ-AudioMixer ne diffuse, ne joue et ne modifie aucun fichier son. Il contrôle les catégories audio natives de GTA V que le jeu utilise lui-même. Zéro impact sur la taille des fichiers, zéro conflit avec d'autres ressources audio (xSound, interact-sound, etc.).

Est-ce que ça interfère avec mon chat vocal (pma-voice / saltychat / mumble) ?

Non. L'audio du chat vocal passe par un système de submix séparé et n'est pas affecte par HZ-AudioMixer. Vous pouvez toujours parler et entendre les autres joueurs exactement comme avant.

Est-ce que ça fonctionne sur les serveurs standalone / vMenu / vanilla ?

Oui. Aucun framework requis. Le script n'a besoin de rien détecter car il n'a besoin de rien — pur standard FiveM.

Ai-je besoin d'une base de données ?

Non. Les réglages des joueurs sont sauvegardes côté client via FiveM KVP (Key-Value Persistence). Les préférences de chaque joueur restent sur leur propre machine et persistent à travers les redémarrages du serveur et les reconnexions.

Est-ce compatible avec QBCore / QBox / ESX ?

Oui. Tous les frameworks sont supportés — mais le script n'utilise en réalité aucune fonctionnalité de framework. Ça marche tout simplement.

Interface & Personnalisation

Puis-je modifier le design de l'interface ?

Oui. Le HTML/CSS dans html/index.html est intentionnellement en dehors d'Asset Escrow pour que vous puissiez entièrement le restyler. Seule la logique du moteur audio (client.lua) est chiffrée.

Puis-je ajouter mes propres curseurs dans mon menu pause ?

Oui. HZ-AudioMixer expose une API complète (getCategoriesData, setVolume, événement volumeChanged) pour que vous puissiez construire vos propres curseurs dans n'importe quel NUI personnalise. Voir Exports & Événements pour des exemples d'intégration complets.

Puis-je désactiver des catégories spécifiques ?

Oui. Mettez Config.Categories.<categorie> = false et le curseur disparaît de l'interface, et le patch de scène audio correspondant est ignoré. Voir Configuration.

Puis-je ajouter mes propres traductions ?

Oui. Déposez un fichier locales/<code>.lua dans la ressource. Utilisez n'importe quelle locale existante comme modèle. 14 langues sont incluses par défaut.

Puis-je changer la touche de raccourci ?

Oui — par vous (défaut serveur) et par chaque joueur individuellement. Le défaut serveur est dans Config.OpenKey (par défaut F7). Chaque joueur peut le modifier dans le menu pause FiveM (Paramètres → Raccourcis → FiveM → "Mixer Audio HZ").

Technique

Quelles catégories audio controle-t-il ?

9 catégories du moteur RAGE : weapons, vehicles, ambience, weather, speech, peds, scripted, music, radio. Ce sont des catégories parentes — ajuster vehicles affecte les moteurs, klaxons, sirènes, hélicoptères, etc. tous ensemble.

Est-ce compatible avec les mods audio personnalises (packs de sons véhicules, mods de sons d'armes) ?

Oui. Tant que les sons personnalises passent par les catégories audio RAGE standard (ce qui est toujours le cas pour les sons de gameplay), ils répondront au mixeur.

Est-ce que ça affecte la musique radio dans les véhicules ?

Oui — le curseur radio contrôle la radio embarquée indépendamment du curseur music (qui est la musique ambiante/bande-son du jeu).

Les réglages de mes joueurs se reinitialiseront-ils quand je redémarre le serveur ?

Non. Les réglages sont stockes dans le KVP FiveM sur la machine du client. Ils survivent aux redémarrages de ressources, aux redémarrages du serveur et aux déconnexions.

Que se passe-t-il à la première connexion ?

Chaque catégorie est par défaut à Config.DefaultVolume (100 = volume max). Les joueurs voient le mixeur avec tous les curseurs à 100% au premier lancement.

Que faire si un joueur n'a pas de son après le spawn ?

Très rare, mais si ça arrive : la scène audio prend quelques secondes pour s'enregistrer à la première connexion. Le script a une boucle de recuperation agressive de 15 secondes qui réapplique les valeurs à chaque frame. Si le son ne revient toujours pas, demandez au joueur d'appuyer sur F7 et de vérifier que les curseurs ne sont pas à 0%.


Performance

Est-ce lourd en FPS ?

Non. UI fermée = 0.00ms. UI ouverte = <0.05ms. Moteur audio en arrière-plan = <0.02ms. Teste sur des serveurs 32 joueurs avec 200+ ressources, zéro impact sur les FPS.

Est-ce que ça tourne sur le serveur ?

Aucune logique côté serveur. Tout s'exécute côté client. Les réglages de chaque joueur lui sont propres.

Est-ce en conflit avec d'autres scripts audio ?

Non. Le mixeur utilise le système de scène audio RAGE au niveau du moteur — il ne touche à aucune ressource sonore, appel natif ou submix audio. Il coexiste avec n'importe quel autre script audio.

Sécurité & Licence

Le script est-il protégé contre le vol ?

Oui. La logique du moteur audio (client.lua) est chiffrée via FiveM Asset Escrow. Les fichiers audioconfig/*.rel contiennent des noms de catégories obfusques (ex: _v_a3f au lieu de weapons) — sans le mapping Lua chiffre, les fichiers binaires sont inutiles.

Puis-je le partager avec le serveur d'un ami ?

Non. Licence mono-serveur. La revente, la redistribution ou le partage du code source est interdit. Les violations d'Asset Escrow sont tracees et signalées.

Est-ce que ça marchera sur un serveur partage Tebex ?

Le script est lié à votre compte CFX/Keymaster. Si votre serveur partage utilise votre compte, ça fonctionne. S'il utilise celui de quelqu'un d'autre, non.


Dépannage

WARN: Scene non active dans F8

Les fichiers dat15.rel / dat151.rel ne se sont pas chargés à temps. Vérifiez :

  1. Le dossier audioconfig/ existe dans la ressource
  2. data_file 'AUDIO_DYNAMIXDATA' et data_file 'AUDIO_GAMEDATA' sont dans le fxmanifest.lua
  3. Redémarrez le serveur entier (pas juste restart hz-audiomixer) — les fichiers de données audio nécessitent un démarrage propre pour s'enregistrer

F7 entre en conflit avec une autre ressource

Ouvrez Menu Pause → Paramètres → Raccourcis → FiveM → Cherchez "Mixer Audio HZ" → Réassignez à une touche libre.

Le mixeur s'ouvre mais déplacer les curseurs ne change rien

Vérifiez que mixerReady est true — ouvrez F8 avec Config.Debug = true et cherchez [hz_audiomixer] Scene active. Si vous voyez WARN: Scene non active, la scène audio ne s'est pas enregistrée (voir ci-dessus).

Après la connexion, tous les sons sont coupes pendant quelques secondes

C'est la phase de recuperation agressive de 15 secondes au spawn. Le mixeur applique vos valeurs sauvegardées frame par frame pour s'assurer qu'elles prennent effet. Si le silence persiste au-delà de 15 secondes, vérifiez que vos valeurs KVP sauvegardées ne sont pas toutes à 0 (ouvrez le mixeur avec F7 et vérifiez).


Étape suivante