HZ Scripts

FAQ

General

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

Non. HZ-AudioMixer ne diffuse, ne joue et ne modifie aucun fichier son. Il controle les categories audio natives de GTA V que le jeu utilise lui-meme. Zero impact sur la taille des fichiers, zero conflit avec d'autres ressources audio (xSound, interact-sound, etc.).

Est-ce que ca interfere avec mon chat vocal (pma-voice / saltychat / mumble) ?

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

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

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

Ai-je besoin d'une base de donnees ?

Non. Les reglages des joueurs sont sauvegardes cote client via FiveM KVP (Key-Value Persistence). Les preferences de chaque joueur restent sur leur propre machine et persistent a travers les redemarrages du serveur et les reconnexions.

Est-ce compatible avec QBCore / QBox / ESX ?

Oui. Tous les frameworks sont supportes — mais le script n'utilise en realite aucune fonctionnalite de framework. Ca 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 entierement le restyler. Seule la logique du moteur audio (client.lua) est chiffree.

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

Oui. HZ-AudioMixer expose une API complete (getCategoriesData, setVolume, evenement volumeChanged) pour que vous puissiez construire vos propres curseurs dans n'importe quel NUI personnalise. Voir Exports & Evenements pour des exemples d'integration complets.

Puis-je desactiver des categories specifiques ?

Oui. Mettez Config.Categories. = false et le curseur disparait de l'interface, et le patch de scene audio correspondant est ignore. Voir Configuration.

Puis-je ajouter mes propres traductions ?

Oui. Deposez un fichier locales/.lua dans la ressource. Utilisez n'importe quelle locale existante comme modele. 14 langues sont incluses par defaut.

Puis-je changer la touche de raccourci ?

Oui — par vous (defaut serveur) et par chaque joueur individuellement. Le defaut serveur est dans Config.OpenKey (par defaut F7). Chaque joueur peut le modifier dans le menu pause FiveM (Parametres → Raccourcis → FiveM → "Mixer Audio HZ").

Technique

Quelles categories audio controle-t-il ?

9 categories du moteur RAGE : weapons, vehicles, ambience, weather, speech, peds, scripted, music, radio. Ce sont des categories parentes — ajuster vehicles affecte les moteurs, klaxons, sirenes, helicopteres, etc. tous ensemble.

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

Oui. Tant que les sons personnalises passent par les categories audio RAGE standard (ce qui est toujours le cas pour les sons de gameplay), ils repondront au mixeur.

Est-ce que ca affecte la musique radio dans les vehicules ?

Oui — le curseur radio controle la radio embarquee independamment du curseur music (qui est la musique ambiante/bande-son du jeu).

Les reglages de mes joueurs se reinitialiseront-ils quand je redemarre le serveur ?

Non. Les reglages sont stockes dans le KVP FiveM sur la machine du client. Ils survivent aux redemarrages de ressources, aux redemarrages du serveur et aux deconnexions.

Que se passe-t-il a la premiere connexion ?

Chaque categorie est par defaut a Config.DefaultVolume (100 = volume max). Les joueurs voient le mixeur avec tous les curseurs a 100% au premier lancement.

Que faire si un joueur n'a pas de son apres le spawn ?

Tres rare, mais si ca arrive : la scene audio prend quelques secondes pour s'enregistrer a la premiere connexion. Le script a une boucle de recuperation agressive de 15 secondes qui reapplique les valeurs a chaque frame. Si le son ne revient toujours pas, demandez au joueur d'appuyer sur F7 et de verifier que les curseurs ne sont pas a 0%.


Performance

Est-ce lourd en FPS ?

Non. UI fermee = 0.00ms. UI ouverte = <0.05ms. Moteur audio en arriere-plan = <0.02ms. Teste sur des serveurs 32 joueurs avec 200+ ressources, zero impact sur les FPS.

Est-ce que ca tourne sur le serveur ?

Aucune logique cote serveur. Tout s'execute cote client. Les reglages de chaque joueur lui sont propres.

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

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

Securite & Licence

Le script est-il protege contre le vol ?

Oui. La logique du moteur audio (client.lua) est chiffree via FiveM Asset Escrow. Les fichiers audioconfig/*.rel contiennent des noms de categories 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 signalees.

Est-ce que ca marchera sur un serveur partage Tebex ?

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


Depannage

WARN: Scene non active dans F8

Les fichiers dat15.rel / dat151.rel ne se sont pas charges a temps. Verifiez :

  1. Le dossier audioconfig/ existe dans la ressource
  2. data_file 'AUDIO_DYNAMIXDATA' et data_file 'AUDIO_GAMEDATA' sont dans le fxmanifest.lua
  3. Redemarrez le serveur entier (pas juste restart hz-audiomixer) — les fichiers de donnees audio necessitent un demarrage propre pour s'enregistrer

F7 entre en conflit avec une autre ressource

Ouvrez Menu Pause → Parametres → Raccourcis → FiveM → Cherchez "Mixer Audio HZ" → Reassignez a une touche libre.

Le mixeur s'ouvre mais deplacer les curseurs ne change rien

Verifiez que mixerReady est true — ouvrez F8 avec Config.Debug = true et cherchez [HZ-AudioMixer] Scene active. Si vous voyez WARN: Scene non active, la scene audio ne s'est pas enregistree (voir ci-dessus).

Apres 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 sauvegardees frame par frame pour s'assurer qu'elles prennent effet. Si le silence persiste au-dela de 15 secondes, verifiez que vos valeurs KVP sauvegardees ne sont pas toutes a 0 (ouvrez le mixeur avec F7 et verifiez).


Etape suivante