TJ Utils é uma interface cliente independente da TJ Scripts. A versão 1.0.0 oferece notificações, barra de progresso e TextUI por exports e eventos clientes. A instalação não substitui automaticamente as notificações do framework nem cria interações de jogo; outros scripts precisam chamar sua API.
Instalação do recurso e API
Extraia o repositório em tj_utils com fxmanifest.lua, client e web na raiz. Mantenha web/sounds/notification.mp3 com os arquivos da interface. Adicione ensure tj_utils antes dos scripts que usam seus exports. O manifesto não declara dependência de ESX, QBCore ou ox_lib; o HTML carrega folhas de estilo externas de Font Awesome e Cascadia Code.
Os exports clientes são ShowNotification, ShowProgress, HideProgress, ShowTextUI e HideTextUI. ShowNotification aceita uma tabela com type, title, description, duration e position; os tipos documentados são info, success, error e warning. Scripts do servidor enviam os eventos clientes correspondentes, como tj_utils:notify, ao jogador escolhido em vez de chamar um export servidor.
O fim do progresso é apenas um temporizador
ShowProgress aceita um texto ou uma tabela de opções e um callback opcional. Os padrões Lua são 5000 milissegundos e posição bottom. Após esse intervalo, o callback recebe true. HideProgress apenas oculta a exibição: não cancela o temporizador Lua nem informa cancelamento. Não conceda itens ou pagamentos apenas porque esse callback foi executado.
A interface tem um único contêiner de progresso. Uma nova barra substitui o temporizador visual enquanto callbacks Lua anteriores podem continuar. Coordene os scripts chamadores e teste sobreposição, ocultação antecipada e paradas do recurso. Valide as durações antes de passá-las à biblioteca.
Textos, notificações e testes de integração
ShowTextUI aceita uma string ou tabela e permanece visível até HideTextUI. Exibir uma instrução não vincula a tecla anunciada à ação. As notificações compartilham um contêiner, então mudar a posição pode mover mensagens existentes. Teste as posições e o empilhamento usados no servidor.
Título e descrição das notificações são inseridos por innerHTML sem escape; rótulos de progresso e TextUI usam textContent. Use marcação confiável ou escape textos não confiáveis antes de enviá-los. Os comandos de demonstração são /info, /success, /error, /warning, /progress, /textui e /hidetextui; confira conflitos de comandos.
Prévia existente do criador
Fonte examinada em 10 de setembro de 2026 na revisão 23b4796896d01a73a61c570d44a6a564d88ad78a. Foram inspecionados o manifesto, todo o Lua cliente e o JavaScript do navegador. Não houve teste no FiveM, benchmark ou integração de framework.