{"id":180791,"date":"2025-03-25T15:14:22","date_gmt":"2025-03-25T14:14:22","guid":{"rendered":"https:\/\/fivemx.com\/?p=180791"},"modified":"2026-07-24T08:06:38","modified_gmt":"2026-07-24T06:06:38","slug":"texto-ui","status":"publish","type":"post","link":"https:\/\/rpcrate.com\/pt\/text-ui\/","title":{"rendered":"sc_textUI para FiveM: exports, instala\u00e7\u00e3o e remo\u00e7\u00e3o de avisos"},"content":{"rendered":"<p>sc_textUI da ScubeScripts \u00e9 um recurso de avisos de texto para FiveM independente de framework. A vers\u00e3o 1.0.0 revisada usa ui\/textui.html e n\u00e3o declara depend\u00eancia de ESX ou QBCore. O c\u00f3digo foi conferido no commit e97687f41b97895464522842927fe230e28c1822.<\/p>\n<p><a href=\"https:\/\/github.com\/ScubeScripts\/sc_textUI\">Fonte do criador<\/a><\/p>\n<h2>Use a interface documentada<\/h2>\n<p>Scripts de cliente chamam exports.sc_textUI:showUI(key, message) e exports.sc_textUI:hideUI(). Scripts de servidor usam TriggerClientEvent para enviar sc_textUI:showUI a playerId com key e message, ou sc_textUI:hideUI a playerId. A NUI atribui a tecla e a mensagem usando textContent. Isso exibe um aviso; seu c\u00f3digo de intera\u00e7\u00e3o deve executar a a\u00e7\u00e3o e as verifica\u00e7\u00f5es de permiss\u00e3o necess\u00e1rias no servidor.<\/p>\n<h2>Instale e integre primeiro uma intera\u00e7\u00e3o<\/h2>\n<p>Coloque sc_textUI em resources e adicione ensure sc_textUI antes dos recursos que chamam seus exports. Mantenha fxmanifest.lua diretamente na pasta do recurso. O README inclui um exemplo opcional de substitui\u00e7\u00e3o do ESX TextUI; fa\u00e7a backup da integra\u00e7\u00e3o original antes de adapt\u00e1-la. Defina um \u00fanico respons\u00e1vel pelo aviso vis\u00edvel para que um recurso n\u00e3o oculte a mensagem de outro.<\/p>\n<h2>Oculte avisos antigos e teste tradu\u00e7\u00f5es mais longas<\/h2>\n<p>Chame hideUI quando o jogador sair da intera\u00e7\u00e3o, morrer, se teleportar ou mudar de estado e trate a limpeza ao parar o recurso ou reconectar. Teste mensagens traduzidas longas, escala da interface e diferentes tamanhos de tela. O loop de marcador executado a cada quadro no README \u00e9 um exemplo de integra\u00e7\u00e3o, n\u00e3o uma exig\u00eancia inerente de desempenho. Me\u00e7a seu loop real antes de fazer alega\u00e7\u00f5es de desempenho.<\/p>\n<h2>C\u00f3digo e licen\u00e7a<\/h2>\n<p>O reposit\u00f3rio inclui GPL-3.0. Mantenha a licen\u00e7a e os avisos junto ao c\u00f3digo redistribu\u00eddo e revise a licen\u00e7a antes de distribuir modifica\u00e7\u00f5es. Esta revis\u00e3o confirma a interface documentada e os arquivos inspecionados; n\u00e3o \u00e9 um benchmark em jogo nem uma garantia de compatibilidade com todas as integra\u00e7\u00f5es de interface.<\/p>","protected":false},"excerpt":{"rendered":"<p>Instale sc_textUI da ScubeScripts com os exports de cliente e eventos de servidor corretos e teste a remo\u00e7\u00e3o dos avisos e os textos traduzidos.<\/p>","protected":false},"author":27669,"featured_media":181024,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2330,2297,2298],"tags":[2858,3001,2928,3000,2859],"class_list":["post-180791","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-hud","category-free","category-scripts","tag-esx","tag-fivem-script","tag-free","tag-free-script","tag-qbcore"],"_links":{"self":[{"href":"https:\/\/rpcrate.com\/pt\/wp-json\/wp\/v2\/posts\/180791","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/rpcrate.com\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/rpcrate.com\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/rpcrate.com\/pt\/wp-json\/wp\/v2\/users\/27669"}],"replies":[{"embeddable":true,"href":"https:\/\/rpcrate.com\/pt\/wp-json\/wp\/v2\/comments?post=180791"}],"version-history":[{"count":8,"href":"https:\/\/rpcrate.com\/pt\/wp-json\/wp\/v2\/posts\/180791\/revisions"}],"predecessor-version":[{"id":214326,"href":"https:\/\/rpcrate.com\/pt\/wp-json\/wp\/v2\/posts\/180791\/revisions\/214326"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/rpcrate.com\/pt\/wp-json\/wp\/v2\/media\/181024"}],"wp:attachment":[{"href":"https:\/\/rpcrate.com\/pt\/wp-json\/wp\/v2\/media?parent=180791"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rpcrate.com\/pt\/wp-json\/wp\/v2\/categories?post=180791"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rpcrate.com\/pt\/wp-json\/wp\/v2\/tags?post=180791"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}