MrPoulpi Labs
PMMS

Scripts disponibles

EN
Centre de documentation

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’ACE command.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.customUrl et 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.allowedUrls et le joueur n’a pas pmms.anyUrl.
  • « Vous avez déjà un média en cours… » : Config.oneMediaPerPlayer est 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… de permissions.cfg.

Rechercher

Tapez un terme : paramètre, export, erreur…