Ein kleines Script mit übergroßer Wirkung
Progress-Bars tauchen in FiveM überall auf — Lockpicking, Reparieren, Geldwäsche, Mining, medizinische Hilfe. Standardimplementierungen sind funktional, aber flach. Agency-ProgressBar ist unsere Sicht darauf, wie sich dieses Hilfsmittel anfühlen sollte, wenn jemand Wert auf die Details legt.
Die Anatomie einer guten Progress-Bar
Eine gute Progress-Bar kommuniziert gleichzeitig vier Dinge: welche Aktion passiert, wie weit du schon bist, wie viel Zeit noch bleibt und ob du abbrechen kannst. Die meisten Implementierungen decken nur die ersten beiden ab. Agency-ProgressBar zeigt alle vier, mit subtilen Animationen, die Fortschritt flüssig wirken lassen statt ruckelig.
Abbruch, der funktioniert
Ein vom Spieler ausgelöster Abbruch startet eine kurze Fade-Out-Animation, die die Deckkraft des Balkens in 300ms auf null zurückführt. Kein abruptes Verschwinden. Entwickler können einen Cancel-Callback registrieren, damit Scripts sauber aufräumen, wenn Spieler mittendrin von einer Aktion weggehen.
Kontextbezogene Positionierung
Der Balken erscheint in der Nähe des relevanten Bildschirmelements — über deinem Kopf bei Aktionen, die dich selbst betreffen, über dem Ziel-NPC bei interaktiven Aktionen. Kein Ablesen mehr vom unteren Bildschirmrand, während oben etwas passiert. Diese kontextbezogene Positionierung ist ein subtiles UX-Upgrade, das Spieler spüren, ohne es benennen zu können.
Das Export-Pattern
Wie alle unsere Utility-Scripts stellt Agency-ProgressBar eine einfache Exports-API bereit: exports['agency-progressbar']:Play({label, duration, canCancel, onCancel, onDone}). In Minuten in jedes Script integriert. Es arbeitet mit Agency-Notify, Agency-Hud und dem Rest unseres Ökosystems ohne jede Spezialkonfiguration zusammen.