MrPoulpi Labs
PMMS

Available scripts

FR
Documentation centre

PMMS — MrPoulpi Labs edition

What the MrPoulpi Labs edition of pmms brings — a synchronised FiveM media player shipped with httpmanager — its editable files and its external dependencies.

PMMS lets players play music or video from game entities: radios, speakers, jukeboxes, TVs, computers, cinema screens or vehicles. Playback is synchronised between players, range and attenuation depend on the room each player is in, and videos show on the game’s screens.

This edition is based on kibook’s pmms and httpmanager resources. The pmms manifest declares no version number: this documentation describes the archive supplied to MrPoulpi Labs, with no version history.

What the resource does

  • Media players: 122 game models recognised by default, including 102 screens that show video through DUI; any nearby vehicle can also be used.
  • Synchronisation: the server holds each player’s state (media, playback position, pause, volume) and broadcasts it to everyone.
  • Spatial sound: different attenuation in the same room and in another room, adjustable range, optional “radio” filter, audio visualisations.
  • Video: on the model’s screen (renderTarget), on a free-standing scaleform screen, or in a frame shown above the entity.
  • Queue, loop, mute, lock, copy of a player onto another entity.
  • Media presets and default media players placed by configuration, which can start with the resource.
  • Server and client exports to drive media players from your scripts.

What the MrPoulpi Labs edition adds

  • Configurable key binding (Q by default) that opens the panel, with an option to limit it to vehicles.
  • One media per player (Config.oneMediaPerPlayer): a player cannot start a new media while theirs is playing.
  • Replaceable notifications: a single function, PMMSBridge.notify, in integrations/client.lua.
  • Server-side Discord logs, with a webhook read from a server convar, never shared with clients.
  • Texts gathered in locales.lua.
  • DUI page hosted at https://pmms-dui.mrpoulpiii.fr, 1920 × 1080 DUI resolution, maximum range lowered to 140 m.
  • Media automatically stopped when the vehicle playing it disappears, and a disconnecting player’s reservations cleared.

Files you edit

File Role
pmms/config.lua Shared settings: distances, sound, models, presets, default players, DUI, commands, URLs, key binding.
pmms/config.server.lua Discord logs: enabling, name, colour, identifiers.
pmms/locales.lua Texts shown to players and message fragments.
pmms/integrations/client.lua Notifications and key binding.
pmms/integrations/server.lua Formatting and sending of Discord logs.
pmms/staticEmitters.lua Map sound emitters muted during playback.
pmms/permissions.cfg ACE permissions and webhook convar.
pmms/models.json, pmms/defaultMediaPlayers.json Settings saved in game; keep them when updating.
pmms/ui/ NUI interface: HTML, JavaScript and styles.
httpmanager/ HTTP library, fully accessible.

client.lua, server.lua, dui.lua and common.lua are meant for Asset Escrow protection. Their observable behaviour is described in this documentation; this site does not publish their code.

External dependencies

Every client contacts services outside your server:

  • the DUI page https://pmms-dui.mrpoulpiii.fr for any https:// video shown on a screen;
  • the address of each media played, from the player’s own connection;
  • with the filter on RedM, a noise file hosted on redm.khzae.net.

Details, and how to host the DUI page yourself, are in Integrations.

Search

Type a term: setting, export, error…