{"id":186375,"date":"2025-05-19T14:58:56","date_gmt":"2025-05-19T12:58:56","guid":{"rendered":"https:\/\/fivemx.com\/?p=186375"},"modified":"2026-08-16T13:44:02","modified_gmt":"2026-08-16T11:44:02","slug":"tarefas-do-sistema-de-interface-do-usuario-de-tarefas-yoda","status":"publish","type":"post","link":"https:\/\/rpcrate.com\/pt\/yoda-tasks-task-ui-system\/","title":{"rendered":"Yoda Tasks Sistema de Tarefas UI para FiveM"},"content":{"rendered":"<p>Yoda Tasks \u00e9 uma interface independente de tarefas no navegador, criada por Yoda-Things. Exibe progresso ou uma mensagem simples por exports do cliente e eventos. \u00c9 um recurso de interface, n\u00e3o um sistema de empregos: n\u00e3o persiste objetivos, concede recompensas ou verifica se o jogador concluiu uma atividade.<\/p>\n<h2>Progresso e uma \u00fanica tarefa ativa<\/h2>\n<p>O export do cliente showProgTask recebe title, count, maxcount, icon e color; updateProgTask altera o contador exibido. O cliente Lua mant\u00e9m uma \u00fanica currentTask. Planeje uma tarefa ativa, n\u00e3o uma fila de objetivos simult\u00e2neos. Mantenha o progresso oficial na sua l\u00f3gica de jogo.<\/p>\n<p>O navegador calcula o progresso dividindo count por maxcount. Valide um m\u00e1ximo positivo e contadores num\u00e9ricos coerentes antes de chamar o export. A conclus\u00e3o exige igualdade exata e oculta a interface ap\u00f3s tr\u00eas segundos. Um contador acima do m\u00e1ximo n\u00e3o satisfaz essa compara\u00e7\u00e3o de igualdade.<\/p>\n<h2>As interfaces de tarefa simples precisam de corre\u00e7\u00e3o<\/h2>\n<p>O README descreve showSimpleTask com t\u00edtulo e mensagem. A implementa\u00e7\u00e3o Lua revisada aceita message e color e envia apenas um t\u00edtulo ao navegador. O navegador espera um campo separado para a mensagem. Alinhe README, dados Lua e interface antes de depender do comportamento documentado com dois campos de texto.<\/p>\n<p>O export do cliente cancelSimpleTask e seu evento chamam uma fun\u00e7\u00e3o Lua chamada cancelSimpleTask que n\u00e3o est\u00e1 definida no arquivo do cliente. Existe uma fun\u00e7\u00e3o JavaScript de nome semelhante na interface, mas isso n\u00e3o define a fun\u00e7\u00e3o Lua. Corrija o caminho ausente do cliente ao navegador e teste o cancelamento, em vez de presumir que o nome exportado funciona.<\/p>\n<h2>Instala\u00e7\u00e3o, entradas e escopo da revis\u00e3o<\/h2>\n<p>Mantenha client\/main.lua, manifesto e diret\u00f3rio ui na mesma pasta de recurso e inicie-a antes dos scripts que chamam seus exports. O manifesto n\u00e3o depende de framework. A interface carrega Font Awesome de um CDN externo; verifique os \u00edcones conforme a pol\u00edtica de navegador do seu servidor.<\/p>\n<p>O navegador monta a marca\u00e7\u00e3o das tarefas com innerHTML usando os valores recebidos em title, message, icon e color. Escape textos e permita apenas \u00edcones e cores aprovados antes de exibir entradas n\u00e3o confi\u00e1veis. Teste limites de progresso, conclus\u00e3o, substitui\u00e7\u00e3o, cancelamento, textos longos e rein\u00edcios em um servidor de desenvolvimento.<\/p>\n<p>C\u00f3digo verificado em 10 de setembro de 2026 na revis\u00e3o 22746bdce33b881410a22421f1e79faff2b8d634. README, manifesto, cliente Lua e c\u00f3digo do navegador foram inspecionados. Nenhuma corre\u00e7\u00e3o foi aplicada ao recurso original e nenhum teste em jogo foi realizado.<\/p>\n<p><a href=\"https:\/\/github.com\/Yoda-Things\/yoda-tasks\/tree\/22746bdce33b881410a22421f1e79faff2b8d634\">Consultar o c\u00f3digo do Yoda Tasks<\/a><\/p>","protected":false},"excerpt":{"rendered":"<p>Yoda Tasks para FiveM: exports de progresso, uma tarefa ativa, diverg\u00eancias na API de tarefas simples e valida\u00e7\u00e3o de entradas antes da integra\u00e7\u00e3o.<\/p>","protected":false},"author":27669,"featured_media":186507,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2877,2297,2298],"tags":[3001,2928,3000,2866],"class_list":["post-186375","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-free-fivem-job-scripts","category-free","category-scripts","tag-fivem-script","tag-free","tag-free-script","tag-job"],"_links":{"self":[{"href":"https:\/\/rpcrate.com\/pt\/wp-json\/wp\/v2\/posts\/186375","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=186375"}],"version-history":[{"count":5,"href":"https:\/\/rpcrate.com\/pt\/wp-json\/wp\/v2\/posts\/186375\/revisions"}],"predecessor-version":[{"id":217321,"href":"https:\/\/rpcrate.com\/pt\/wp-json\/wp\/v2\/posts\/186375\/revisions\/217321"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/rpcrate.com\/pt\/wp-json\/wp\/v2\/media\/186507"}],"wp:attachment":[{"href":"https:\/\/rpcrate.com\/pt\/wp-json\/wp\/v2\/media?parent=186375"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rpcrate.com\/pt\/wp-json\/wp\/v2\/categories?post=186375"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rpcrate.com\/pt\/wp-json\/wp\/v2\/tags?post=186375"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}