Commandes et interface
Ouvrir le panneau PMMS au clavier ou par commande, toutes les commandes pmms_* avec leurs permissions, les options de /pmms_play et les réglages mémorisés par joueur.
But : utiliser PMMS en jeu et savoir ce que chaque commande déclenche.
Fichiers liés : config.lua (préfixe, raccourci) et permissions.cfg (droits des commandes).
Ouvrir le panneau
- Raccourci : Q par défaut (
Config.keybind). Il exécute la commande/pmms, donc le joueur doit avoir l’ACEcommand.pmms. Chaque joueur peut changer la touche dans Paramètres › Raccourcis clavier › FiveM, sous le libellé « Ouvrir Radio/TV ». - Commande :
/pmms.
Le panneau liste les lecteurs à portée, triés par distance. Un administrateur (pmms.manage) voit aussi les lecteurs actifs plus éloignés. Depuis le panneau : lancer une URL ou un preset, pause, arrêt, avance et recul, boucle, volume, sourdine, verrouillage, vidéo et taille de l’écran, visualisation audio, atténuation, portée, file d’attente, copie vers une autre entité, réglages de scaleform et enregistrement des réglages (administrateurs).
Commandes
Les noms ci-dessous utilisent le préfixe pmms et le séparateur _ livrés. Toutes les commandes sont restreintes : elles exigent l’ACE command.<nom>, accordée par permissions.cfg.
| Commande | ACE accordée à | Effet |
|---|---|---|
/pmms | builtin.everyone | Ouvre le panneau de contrôle (aussi via le raccourci clavier). |
/pmms_play [url|preset|random] [options] | builtin.everyone | Lance un média sur le lecteur le plus proche. Sans argument : met en pause ou reprend ce lecteur. random choisit un preset au hasard. |
/pmms_pause | builtin.everyone | Met en pause ou reprend le lecteur le plus proche. |
/pmms_stop | builtin.everyone | Arrête le lecteur le plus proche. |
/pmms_status | builtin.everyone | Affiche ou masque l’état des lecteurs proches ; le choix est mémorisé. |
/pmms_presets | builtin.everyone | Liste les presets dans le chat. |
/pmms_vol [0-100] | builtin.everyone | Volume personnel appliqué à tous les lecteurs, mémorisé pour ce joueur. Sans valeur : affiche le volume actuel. |
/pmms_fix | builtin.everyone | Réinitialise les lecteurs côté client du joueur, utile après un affichage bloqué. |
/pmms_ctl list | lock | unlock | mute | unmute | next | pause | stop <handle> | loop <handle> on|off | group.admin | Contrôle avancé par handle. Le résultat de list et l’aide sont écrits dans la console serveur. |
/pmms_add <model> [label] [renderTarget] | group.admin | Ajoute ou modifie un modèle et l’enregistre dans models.json. |
/pmms_refresh_perms | group.admin | Demande à tous les clients de recharger leurs permissions. |
Options de /pmms_play
/pmms_play https://www.youtube.com/watch?v=XXXXXXXXXXX -video -volume 60 -range 40
/pmms_play accueil -loop
/pmms_play random -filter
L’identifiant YouTube et le preset accueil sont des exemples. Le premier argument qui ne commence pas par - est l’URL ou le preset.
| Option | Option produite | Effet |
|---|---|---|
-filter | filter = true | Active le filtre immersif. |
-nofilter | filter = false | Désactive le filtre immersif. |
-loop | loop = true | Lecture en boucle (média avec durée). |
-offset <s> | offset | Démarre à N secondes. |
-lock | locked = true | Lance le lecteur verrouillé. |
-video | video = true | Affiche la vidéo. |
-size <10-100> | videoSize | Taille de l’écran vidéo NUI. |
-mute | muted = true | Lance le lecteur en sourdine. |
-sra <0-10> | attenuation.sameRoom | Atténuation dans la même pièce. |
-dra <0-10> | attenuation.diffRoom | Atténuation dans une autre pièce. |
-drv <0-1> | diffRoomVolume | Écart de volume entre pièces. |
-range <m> | range | Portée, plafonnée à Config.maxRange. |
-veh | vehicle = true | Sans effet observé : l’option vehicle n’est lue nulle part, le moteur utilise isVehicle. Réglez « véhicule » dans le panneau. |
-notveh | vehicle = false | Sans effet observé, pour la même raison que -veh. |
-visualization <type> | visualization | Visualisation audio (clé de Config.audioVisualizations). |
-volume <0-100> | volume | Volume du lecteur. |
Résultat : le média démarre sur le lecteur le plus proche, à moins de Config.maxDiscoveryDistance. Sinon : « No media player nearby ».
Commandes d’administration
/pmms_ctl agit sur un lecteur par son handle (identifiant réseau, ou hash des coordonnées pour une entité locale). Son aide et le résultat de list sont écrits dans la console serveur, même lancés depuis le jeu.
pmms_ctl list
pmms_ctl lock 123
pmms_ctl loop 123 on
pmms_ctl stop 123
123 est un handle d’exemple : lisez le vrai dans pmms_ctl list.
Réglages mémorisés par joueur
Ces préférences sont stockées sur la machine du joueur (KVP de la ressource) :
| Clé | Contenu |
|---|---|
baseVolume |
Volume personnel (/pmms_vol), 0 à 100. |
showStatus |
Affichage de l’état des lecteurs (/pmms_status). |
tooltipsEnabled |
Bulles d’aide du panneau. |
/pmms_fix réinitialise l’affichage des lecteurs côté client sans effacer ces préférences.
Erreurs fréquentes
- « You must select from one of the pre-defined songs » : le joueur n’a pas
pmms.customUrlet l’argument n’est pas un preset. - « You do not have permission to play the specified URL » : l’URL ne correspond à aucun motif de
Config.allowedUrlset le joueur n’a paspmms.anyUrl. - « Vous avez déjà un média en cours… » :
Config.oneMediaPerPlayerest actif et le média lancé par ce joueur joue encore. - « This player is busy » : le lecteur passe à l’élément suivant de la file d’attente pour un autre joueur.
- Commande inconnue après changement de préfixe : mettez à jour les entrées
command.pmms…depermissions.cfg.