{"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":"sistema-de-interfaz-de-usuario-de-tareas-de-yoda","status":"publish","type":"post","link":"https:\/\/rpcrate.com\/es\/yoda-tasks-task-ui-system\/","title":{"rendered":"Yoda Tasks Sistema de Tarea UI para FiveM"},"content":{"rendered":"<p>Yoda Tasks es una interfaz independiente de tareas en el navegador creada por Yoda-Things. Presenta progreso o un mensaje sencillo mediante exports de cliente y eventos. Es un recurso de interfaz, no un sistema de trabajos: no conserva objetivos, concede recompensas ni verifica que el jugador haya completado una actividad.<\/p>\n<h2>Progreso y una \u00fanica tarea activa<\/h2>\n<p>El export de cliente showProgTask recibe title, count, maxcount, icon y color; updateProgTask cambia el contador mostrado. El cliente Lua mantiene una sola currentTask, as\u00ed que planifica una tarea activa en lugar de una cola de objetivos simult\u00e1neos. Conserva el progreso autorizado en tu l\u00f3gica de juego.<\/p>\n<p>El navegador calcula el progreso dividiendo count por maxcount. Valida un m\u00e1ximo positivo y contadores num\u00e9ricos coherentes antes de llamar al export. La finalizaci\u00f3n exige igualdad exacta y oculta la interfaz tras tres segundos. Un contador superior al m\u00e1ximo no cumple esa comprobaci\u00f3n de igualdad.<\/p>\n<h2>Las interfaces de tarea simple necesitan correcci\u00f3n<\/h2>\n<p>El README describe showSimpleTask con un t\u00edtulo y un mensaje. La implementaci\u00f3n Lua revisada acepta message y color y solo env\u00eda un t\u00edtulo al navegador. Este espera un campo de mensaje separado. Alinea el README, los datos Lua y la interfaz antes de depender del comportamiento documentado con dos campos de texto.<\/p>\n<p>El export de cliente cancelSimpleTask y su evento llaman a una funci\u00f3n Lua llamada cancelSimpleTask que no est\u00e1 definida en el archivo del cliente. Existe una funci\u00f3n JavaScript de nombre similar en la interfaz, pero eso no define la funci\u00f3n Lua. Corrige el recorrido ausente del cliente al navegador y prueba la cancelaci\u00f3n, en lugar de suponer que el nombre exportado funciona.<\/p>\n<h2>Instalaci\u00f3n, entradas y alcance de la revisi\u00f3n<\/h2>\n<p>Mant\u00e9n client\/main.lua, el manifiesto y el directorio ui en la misma carpeta del recurso e in\u00edciala antes de los scripts que llamen a sus exports. El manifiesto no depende de un framework. La interfaz carga Font Awesome desde un CDN externo; verifica los iconos conforme a la pol\u00edtica de navegador de tu servidor.<\/p>\n<p>El navegador compone el marcado de las tareas con innerHTML usando los valores recibidos en title, message, icon y color. Escapa el texto y admite solo iconos y colores permitidos antes de mostrar entradas no fiables. Prueba l\u00edmites, finalizaci\u00f3n, sustituci\u00f3n, cancelaci\u00f3n, textos largos y reinicios en un servidor de desarrollo.<\/p>\n<p>C\u00f3digo revisado el 10 de septiembre de 2026 en la revisi\u00f3n 22746bdce33b881410a22421f1e79faff2b8d634. Se inspeccionaron el README, el manifiesto, el cliente Lua y el c\u00f3digo del navegador. No se corrigi\u00f3 el recurso original ni se realiz\u00f3 una prueba en juego.<\/p>\n<p><a href=\"https:\/\/github.com\/Yoda-Things\/yoda-tasks\/tree\/22746bdce33b881410a22421f1e79faff2b8d634\">Consultar el c\u00f3digo de Yoda Tasks<\/a><\/p>","protected":false},"excerpt":{"rendered":"<p>Yoda Tasks para FiveM: exports de progreso, una tarea activa, discrepancias en la API de tareas simples y validaci\u00f3n de entradas antes de integrar.<\/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\/es\/wp-json\/wp\/v2\/posts\/186375","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/rpcrate.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/rpcrate.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/rpcrate.com\/es\/wp-json\/wp\/v2\/users\/27669"}],"replies":[{"embeddable":true,"href":"https:\/\/rpcrate.com\/es\/wp-json\/wp\/v2\/comments?post=186375"}],"version-history":[{"count":5,"href":"https:\/\/rpcrate.com\/es\/wp-json\/wp\/v2\/posts\/186375\/revisions"}],"predecessor-version":[{"id":217321,"href":"https:\/\/rpcrate.com\/es\/wp-json\/wp\/v2\/posts\/186375\/revisions\/217321"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/rpcrate.com\/es\/wp-json\/wp\/v2\/media\/186507"}],"wp:attachment":[{"href":"https:\/\/rpcrate.com\/es\/wp-json\/wp\/v2\/media?parent=186375"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rpcrate.com\/es\/wp-json\/wp\/v2\/categories?post=186375"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rpcrate.com\/es\/wp-json\/wp\/v2\/tags?post=186375"}],"curies":[{"name":"gracias","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}