TJ Utils est une interface cliente autonome de TJ Scripts. La version 1.0.0 fournit notifications, barre de progression et TextUI via exports et événements clients. L’installation ne remplace pas automatiquement les notifications du framework et n’ajoute pas d’interactions de jeu ; les autres scripts doivent appeler son API.
Installation de la ressource et API
Extrayez le dépôt dans tj_utils avec fxmanifest.lua, client et web à la racine. Conservez web/sounds/notification.mp3 avec l’interface. Placez ensure tj_utils avant les scripts appelants. Le manifeste ne déclare aucune dépendance ESX, QBCore ou ox_lib ; le HTML charge cependant des feuilles de style externes Font Awesome et Cascadia Code.
Les exports clients sont ShowNotification, ShowProgress, HideProgress, ShowTextUI et HideTextUI. ShowNotification reçoit une table avec type, title, description, duration et position ; les types documentés sont info, success, error et warning. Les scripts serveur envoient les événements clients correspondants, comme tj_utils:notify, au joueur choisi au lieu d’appeler un export serveur.
La fin de progression est un simple délai
ShowProgress accepte un texte ou une table de paramètres et un callback facultatif. Les valeurs Lua par défaut sont 5000 millisecondes et la position bottom. Après ce délai, le callback reçoit true. HideProgress masque seulement l’affichage : il n’annule pas le délai Lua et ne signale pas d’annulation. N’attribuez pas un objet ou un paiement sur ce seul callback.
L’interface partage un seul conteneur de progression. Une nouvelle barre remplace son minuteur visuel alors que les anciens callbacks Lua peuvent continuer. Coordonnez les scripts appelants et testez chevauchements, masquage anticipé et arrêt de ressource. Validez les durées avant transmission.
Textes, notifications et tests d’intégration
ShowTextUI accepte une chaîne ou une table et reste visible jusqu’à HideTextUI. Afficher une invite n’associe pas la touche annoncée à une action. Les notifications partagent un conteneur : changer la position peut déplacer les messages existants. Testez vos positions et empilements réels.
Le titre et la description des notifications passent par innerHTML sans échappement ; les libellés de progression et TextUI utilisent textContent. Réservez le balisage aux contenus fiables ou échappez le texte non fiable avant transmission. Les commandes de démonstration sont /info, /success, /error, /warning, /progress, /textui et /hidetextui ; vérifiez les conflits.
Aperçu existant du créateur
Source examinée le 10 septembre 2026 à la révision 23b4796896d01a73a61c570d44a6a564d88ad78a. Manifeste, Lua client complet et JavaScript navigateur ont été inspectés. Aucun test FiveM, benchmark ou test d’intégration de framework n’a été effectué.