Logo ACStudioACSTUDIOFIVEM DEVELOPMENT
cdt_admin / DOCUMENTATION

Configurer vos notifications

Modifiez config/notifications.lua pour raccorder votre système de notifications sans modifier le code de l'admin. Redémarrez cdt_admin après modification. Le fichier est partagé avec les clients. Tous les fichiers restent accessibles et modifiables dans cette distribution (escrow_ignore { '**/*' }).

1. Choisir le mode

providerComportement
inheritConserve le choix CDT/ox_lib de config/client.lua et du menu de configuration
internalForce les notifications intégrées CDT
ox_libForce les notifications ox_lib
customUtilise l'export ou l'événement client de votre script

Le mode par défaut est inherit : les installations existantes et changements enregistrés dans le menu continuent de fonctionner. Un autre mode dans le fichier est prioritaire sur le choix du menu. Il n'existe pas de détection automatique de tous les produits commerciaux : pour un autre script, choisissez custom et renseignez son API exacte.

duration et sound peuvent être ajoutés dans le fichier pour remplacer les réglages par défaut du menu. Une durée fournie pour une notification précise reste prioritaire. sound=false coupe le bip GTA de CDT ; sound=false sur une notification précise le coupe également. Les sons éventuellement joués par le fournisseur externe restent gérés par ce fournisseur.

2. Exemple d'export personnalisé

Les noms mon_notify et ShowNotification sont des exemples : remplacez-les et adaptez l'ordre des paramètres à la documentation de votre script.

return {
    provider='custom',
    duration=4000,
    sound=false,
    fallback='internal',
    custom={
        resource='mon_notify',
        notify={
            type='export',
            name='ShowNotification',
            args={'$message','$type','$duration'},
        },
        types={
            info='info',success='success',warning='warning',
            error='error',deactivated='info',
        },
    },
}

Les exports sont exécutés sur le client recevant la notification. La ressource doit être réellement démarrée. Aucun appel serveur de notification n'est configuré depuis ce fichier.

3. Événement ou objet de paramètres

Pour un événement client local :

notify={type='event',name='mon_notify:show',args={'$title','$message','$type','$duration'}},

Pour un export attendant un objet :

notify={type='export',name='ShowNotification',args={'$data'}},

Ou un objet au format particulier :

notify={type='export',name='ShowNotification',args={{
    heading='$title',text='$message',severity='$type',timeout='$duration',
}}},
ParamètreValeur fournie par CDT
$titleTitre localisé et nettoyé, éventuellement absent
$messageTexte localisé et nettoyé
$typeType traduit selon custom.types
$durationDurée d'affichage en millisecondes
$dataObjet contenant title, description, message, type, duration

Les substitutions fonctionnent dans les tableaux imbriqués et les chemins comme $data.message. Les arguments nil conservent leur position. Les noms et paramètres proviennent de la configuration installée ; les données d'une notification ne peuvent pas choisir un autre export ou événement.

custom.types adapte les catégories CDT (info, success, warning, error, deactivated) à celles acceptées par votre script. Un type absent du mapping conserve son nom. inform reçu par CDT est d'abord normalisé en info.

4. Échecs et confirmation

fallback='internal' affiche la notification CDT si la ressource est absente/arrêtée, si la configuration est invalide, si l'export manque/échoue ou s'il renvoie false. fallback=false désactive ce retour et laisse l'appel en échec.

Un export retournant true ou ne retournant rien confirme son appel. Pour {success=true}, ajoutez resultPath='success'. Les autres retours demandent une adaptation du champ lu. Un événement confirme uniquement son déclenchement : son nom doit correspondre à un gestionnaire de votre script, et cette confirmation ne garantit pas que l'interface a effectivement affiché le message.

Les bandeaux de compte à rebours et les appels explicitement forcés CDT conservent l'affichage intégré pour leurs fonctionnalités propres. Le réglage externe s'applique aux notifications ordinaires.

Vérifier

  1. Démarrez le script de notifications avant cdt_admin, puis redémarrez CDT après avoir sauvegardé le fichier.
  2. Utilisez /cdt_notifdebug types pour vérifier les cinq catégories.
  3. Vérifiez les titres, textes, durées et sons, puis /cdt_notifdebug queue pour une rafale.
  4. Testez le comportement de secours avec le fournisseur arrêté.

Les tests automatisés couvrent le routage et les paramètres ; vérifiez le rendu avec votre script réel en jeu.

← Tous les guides