Notifications
Notifications simples, annonces et médias de MrPoulpi UI : exports client et serveur, champs, durée, images et position au-dessus de la minimap.
Trois formats de notification, appelables depuis le client ou le serveur. Toutes ont une barre de progression qui indique le temps restant.
Notification simple
exports.mrpoulpi_ui:Notify('Véhicule rangé dans le garage', 'success')
exports.mrpoulpi_ui:Notify('Vous n’avez pas assez d’argent', 'error', 4000)
exports.mrpoulpi_ui:Notify(source, 'Paiement reçu', 'success')
exports.mrpoulpi_ui:Notify(-1, 'Redémarrage du serveur dans 5 minutes', 'warning', 10000)
| Argument | Description |
|---|---|
message |
Texte, ou clé de shared/locales.lua. |
type |
success, info, warning ou error. Sinon Config.Notify.defaultType. |
duration |
En millisecondes. Sinon Config.Notify.duration. Toujours ramenée entre minDuration et maxDuration. |
Côté client, Notify accepte aussi une table : { message = '…', type = 'info', duration = 3000, id = 'garage' }.
Annonce
Une carte avec un logo, un nom, un badge et un message. C’est le format des annonces d’entreprise.
exports.mrpoulpi_ui:Announce({
title = 'Real Estate Agent',
badge = 'Annonce',
message = 'Nouvelles propriétés disponibles à Vinewood !',
logo = 'https://cdn.example.com/agency.png',
type = 'success'
})
| Champ | Description |
|---|---|
title |
Nom affiché en gras. |
badge |
Petit libellé à côté du nom. |
message |
Texte de l’annonce. |
logo |
Image facultative (voir Images). |
logoText |
Texte du carré logo sans image. Par défaut LOGO. |
type |
Couleur : success, info, warning ou error. |
duration, id |
Comme pour Notify. |
Côté serveur : exports.mrpoulpi_ui:Announce(source, data), avec -1 pour tous les joueurs.
Média
Un bandeau, un visuel carré et une légende : affiche de soirée, flash info, publicité.
exports.mrpoulpi_ui:Media({
banner = 'News',
title = 'Soirée ce soir à 23 h',
image = 'https://cdn.example.com/poster.jpg',
duration = 10000
})
| Champ | Description |
|---|---|
banner |
Texte du bandeau. Par défaut News (clé ui_news). |
title |
Légende sous le visuel. |
image |
Visuel carré (voir Images). |
type, duration, id |
Comme pour Notify. |
Côté serveur : exports.mrpoulpi_ui:Media(source, data).
Remplacer ou retirer une notification
Chaque appel renvoie un identifiant (côté client). Réutiliser un identifiant remplace la notification affichée au lieu d’en ajouter une : pratique pour une progression.
for i = 1, 5 do
exports.mrpoulpi_ui:Notify({ id = 'craft', message = ('Fabrication %d/5'):format(i), type = 'info' })
Wait(1000)
end
exports.mrpoulpi_ui:RemoveNotification('craft')
ClearNotifications() retire tout.
Images
logo et image acceptent :
- une adresse
https://…; - une adresse
nui://…vers une autre ressource ; - un chemin
assets/…vers un fichier placé danshtml/assets/de la ressource.
Toute autre valeur est ignorée et l’image n’est pas affichée.
Position et nombre
Par défaut, les notifications s’empilent juste au-dessus de la minimap, alignées sur son bord gauche et sur sa largeur. La position est recalculée quand le joueur ouvre la grande carte, masque la minimap ou change de résolution ou de zone de sécurité. Les réglages sont dans Config.Layout et Config.Minimap (configuration).
Au plus Config.Notify.max notifications sont affichées. Une nouvelle notification au-delà retire la plus ancienne.
Depuis un autre langage ou par event
Les mêmes notifications se déclenchent par events, utile depuis un script JavaScript ou C# :
TriggerClientEvent('mrpoulpi_ui:notify', source, 'Paiement reçu', 'success', 5000)
TriggerClientEvent('mrpoulpi_ui:announce', -1, { title = 'LSPD', badge = 'Alerte', message = 'Braquage en cours', type = 'error' })
La liste complète est dans API et hooks.