EN Voir les scripts (lien externe)
Centre de documentation
Script MrPoulpi UI

Annonces d’entreprise

Annonces d’ouverture, de fermeture et messages libres des entreprises dans MrPoulpi UI : configuration, permissions, délai et personnalisation.

Mis à jour le 25/10/2026 3 min de lecture

Les employés d’une entreprise configurée peuvent envoyer une annonce à tous les joueurs, au format notification annonce :

Annonce Badge Couleur Message
Ouverture Ouverture vert openMessage de l’entreprise, sinon le texte par défaut.
Fermeture Fermeture rouge closeMessage de l’entreprise, sinon le texte par défaut.
Annonce Annonce type de l’entreprise Message tapé par l’employé.

Les employés y accèdent avec la commande /entreprise (réglable par Config.Companies.command) ou par la section Entreprise du menu de démonstration.

Configurer les entreprises

Config.Companies = {
    enabled = true,
    command = 'entreprise',
    cooldown = 60,
    duration = 10000,
    minLength = 3,
    maxLength = 120,
    staff = 'administration',
    list = {
        administration = { label = 'Administration', type = 'info' },
        realestateagent = {
            label = 'Real Estate Agent',
            type = 'success',
            minGrade = 0,
            logo = 'assets/logos/realestate.png',
            logoText = 'REA',
            openMessage = 'Nos bureaux sont ouverts !',
            closeMessage = 'Nos bureaux sont fermés.'
        },
        mechanic = { label = 'Benny’s', type = 'warning', minGrade = 2 }
    }
}
Champ Description
clé (realestateagent) Nom du métier dans votre framework (job.name).
label Nom affiché dans l’annonce et en titre du menu.
type Couleur des annonces libres : success, info, warning ou error. Par défaut info.
minGrade Grade minimum pour annoncer. Par défaut 0.
logo Image facultative : assets/… (fichier placé dans html/assets/) ou adresse https://.
logoText Texte du carré logo quand il n’y a pas d’image. Par défaut, les initiales du nom (trois au plus).
openMessage, closeMessage Messages personnalisés, en texte ou en clé de shared/locales.lua.

Les autres réglages sont décrits dans la configuration.

Qui peut annoncer

  1. Le joueur dont le métier figure dans list avec un grade au moins égal à minGrade annonce au nom de son entreprise.
  2. Sinon, si Config.Companies.staff désigne une entreprise de la liste et que le joueur a la permission du menu, il annonce au nom de celle-ci. C’est utile pour le staff et pour les essais. Mettez staff = nil pour l’empêcher.
  3. Sinon, le joueur reçoit « Vous n’appartenez à aucune entreprise autorisée ».

En standalone, il n’y a pas de métier : seule la règle du staff s’applique.

Contrôles du serveur

Tout est vérifié côté serveur, à chaque annonce :

  • le métier et le grade du joueur ;
  • le délai cooldown, compté par entreprise : deux employés ne peuvent pas annoncer coup sur coup ;
  • la longueur du message libre, entre minLength et maxLength, après suppression des espaces en trop ;
  • le hook Hooks.CanAnnounce, s’il renvoie false.

Chaque annonce envoyée est passée à Hooks.Log (event company_announce), donc au webhook Discord s’il est renseigné.

Placez vos logos dans html/assets/ (par exemple html/assets/logos/realestate.png) et indiquez le chemin à partir de assets/. Les adresses https:// et nui:// fonctionnent aussi.

Aller plus loin

Pour d’autres règles (plusieurs métiers, gangs, entreprises stockées en base, horaires), modifiez dans server/hooks.lua :

  • Hooks.GetCompany(source) : renvoie name, data de l’entreprise du joueur, ou nil ;
  • Hooks.CanAnnounce(source, company, kind, message) : renvoyez false pour refuser. kind vaut open, close ou custom.
function Hooks.CanAnnounce(source, company, kind, message)
    local hour = tonumber(os.date('%H'))
    if kind == 'open' and hour >= 3 and hour < 8 then
        Hooks.Notify(source, 'Ouverture impossible entre 3 h et 8 h', 'error')
        return false
    end
    return true
end

Rechercher

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