{"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":"yoda-aufgaben-aufgaben-ui-system","status":"publish","type":"post","link":"https:\/\/rpcrate.com\/de\/yoda-tasks-task-ui-system\/","title":{"rendered":"Yoda Tasks Task UI System f\u00fcr FiveM"},"content":{"rendered":"<p>Yoda Tasks ist eine eigenst\u00e4ndige browserbasierte Aufgabenanzeige von Yoda-Things. \u00dcber Client-Exporte und Events zeigt sie Fortschritt oder eine einfache Nachricht an. Sie ist eine Oberfl\u00e4chenressource, kein Jobsystem: Sie speichert keine Ziele dauerhaft, vergibt keine Belohnungen und pr\u00fcft nicht, ob ein Spieler eine T\u00e4tigkeit abgeschlossen hat.<\/p>\n<h2>Fortschrittsanzeige mit einer aktiven Aufgabe<\/h2>\n<p>Der Client-Export showProgTask erh\u00e4lt title, count, maxcount, icon und color; updateProgTask \u00e4ndert den angezeigten Z\u00e4hler. Der Lua-Client verwaltet eine einzige currentTask. Plane deshalb mit einer aktiven Aufgabe statt mit einer Warteschlange gleichzeitiger Ziele. Die ma\u00dfgebliche Fortschrittspr\u00fcfung geh\u00f6rt in deine Spiellogik.<\/p>\n<p>Der Browser berechnet den Fortschritt als count geteilt durch maxcount. Pr\u00fcfe vor dem Export-Aufruf einen positiven Maximalwert und sinnvolle numerische Z\u00e4hler. Nur exakte Gleichheit l\u00f6st den Abschluss aus; drei Sekunden sp\u00e4ter verschwindet die Anzeige. Ein Z\u00e4hler oberhalb des Maximums erf\u00fcllt diese Gleichheitspr\u00fcfung nicht.<\/p>\n<h2>Simple-Task-Schnittstellen m\u00fcssen korrigiert werden<\/h2>\n<p>Die README beschreibt showSimpleTask mit Titel und Nachricht. Die gepr\u00fcfte Lua-Implementierung nimmt stattdessen message und color entgegen und sendet nur einen Titel an den Browser. Dieser erwartet ein separates Nachrichtenfeld. Gleiche README, Lua-Nutzdaten und Oberfl\u00e4che ab, bevor du dich auf das dokumentierte Verhalten mit zwei Textfeldern verl\u00e4sst.<\/p>\n<p>Der Client-Export cancelSimpleTask und das entsprechende Event rufen eine Lua-Funktion namens cancelSimpleTask auf, die in der Client-Datei nicht definiert ist. Eine \u00e4hnlich benannte JavaScript-Funktion existiert in der Oberfl\u00e4che, definiert aber keine Lua-Funktion. Erg\u00e4nze den fehlenden Pfad vom Client zum Browser und teste den Abbruch, statt allein auf den Export-Namen zu vertrauen.<\/p>\n<h2>Installation, Eingaben und Pr\u00fcfumfang<\/h2>\n<p>Belasse client\/main.lua, Manifest und ui-Verzeichnis im selben Ressourcenordner und starte ihn vor Skripten, die seine Exporte verwenden. Das Manifest hat keine Framework-Abh\u00e4ngigkeit. Die Oberfl\u00e4che l\u00e4dt Font Awesome von einem externen CDN; pr\u00fcfe die Symbolanzeige unter der Browserrichtlinie deines Servers.<\/p>\n<p>Der Browser erstellt Aufgaben-Markup mit innerHTML aus den \u00fcbergebenen Werten title, message, icon und color. Maskiere Texte und erlaube nur unterst\u00fctzte Symbole und Farben, bevor du nicht vertrauensw\u00fcrdige Eingaben anzeigst. Teste Fortschrittsgrenzen, Abschluss, Ersetzen, Abbruch, lange Texte und Ressourcen-Neustarts auf einem Entwicklungsserver.<\/p>\n<p>Quellcode am 10. September 2026 in Revision 22746bdce33b881410a22421f1e79faff2b8d634 gepr\u00fcft. README, Manifest, Lua-Client und Browsercode wurden untersucht. Die urspr\u00fcngliche Ressource wurde nicht korrigiert und kein Spieltest durchgef\u00fchrt.<\/p>\n<p><a href=\"https:\/\/github.com\/Yoda-Things\/yoda-tasks\/tree\/22746bdce33b881410a22421f1e79faff2b8d634\">Quellcode von Yoda Tasks pr\u00fcfen<\/a><\/p>","protected":false},"excerpt":{"rendered":"<p>Yoda Tasks f\u00fcr FiveM: Fortschritts-Exporte, ein aktiver Auftrag, widerspr\u00fcchliche Simple-Task-Schnittstellen und Eingabepr\u00fcfungen vor der Integration.<\/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\/de\/wp-json\/wp\/v2\/posts\/186375","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/rpcrate.com\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/rpcrate.com\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/rpcrate.com\/de\/wp-json\/wp\/v2\/users\/27669"}],"replies":[{"embeddable":true,"href":"https:\/\/rpcrate.com\/de\/wp-json\/wp\/v2\/comments?post=186375"}],"version-history":[{"count":5,"href":"https:\/\/rpcrate.com\/de\/wp-json\/wp\/v2\/posts\/186375\/revisions"}],"predecessor-version":[{"id":217321,"href":"https:\/\/rpcrate.com\/de\/wp-json\/wp\/v2\/posts\/186375\/revisions\/217321"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/rpcrate.com\/de\/wp-json\/wp\/v2\/media\/186507"}],"wp:attachment":[{"href":"https:\/\/rpcrate.com\/de\/wp-json\/wp\/v2\/media?parent=186375"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rpcrate.com\/de\/wp-json\/wp\/v2\/categories?post=186375"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rpcrate.com\/de\/wp-json\/wp\/v2\/tags?post=186375"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}