XP Bar
An experience bar across the screen, 660×34, in the teal-to-violet Aurora palette, with the percentage on the bar.
- Region
- aurabar
- Trigger
- Trigger State Updater (custom, stateupdate)
- Events
- PLAYER_XP_UPDATE,PLAYER_ENTERING_WORLD,PLAYER_LEVEL_UP
- Size
- 660 × 34
- Aura version
- 1.0.0
- Interface
- 16001 (client build 1.60.1)
- Generated by
- examples/build_xpbar.py
- Characters
- 1,916
- SHA-256
- e0e818519da65ebc…
- In-game test
- not paste-tested yet
What it does
A single bar showing your current level's progress, with the percentage drawn on it (%p, the progress token). The look was taken from ForeverAuras' own defaults rather than eyeballed off a screenshot: the bar is 660×34 with a teal-to-violet gradient over a dark plate.
The interesting part is how it gets its number. There are two ways to build this. The tidy one uses the built-in Experience status trigger — no custom code at all. The catch is that a status trigger only draws its aura while the trigger is active, so if that event never fires on this client the bar is invisible: no error, no failed state, nothing to see in the aura list. So this version computes the progress itself in a Trigger State Updater, reads the XP values directly, and sets show = true on every run — it cannot go invisible that way.
The XP reads are wrapped in pcall and checked with issecretvalue, because this client can hand back protected values from protected APIs. A bar showing a live health or power number is the case where that bites hardest — on Forever those values are secret in combat, which is why a widget-driven bar like this one is the only shape that survives a fight.
The string
!WA:2!nA17UTrrq8AmrT4MkAdsGOQahPcucYYQX0eALOG8fB34ihBRZ2njqro7D3AFBZ5Bp2DpN)uvKA(u)SFe8h4t8jl1xG8aGozXtqEeYtaZU754KQIewk7T)(nZn3mZoZSjv5f6VG7cUV5jwi)qpu6ZrboEuwzgQpU1rHy7MRBvQuTXA6gusGWE9s1AvYAikG0hji0G1S7sciCVYtCJykMoc4vzCSdnWLFkgXXnfmCqpH31prIKw2mGgGnLkgpVzFejOC8nI)O4mxp(MXZhFR45T4cet8UStqrcWtQhk)o8mMaKU3eBKZ(UmA46uFkBZuPsL(8PuvckZObcpfrpgnkWvRvJp8b5EWAQ1FqUUsE56AREInIntJvEOC9rR1inSM2YrkiJneyDj9YmYfZrczqJ9g2f(kL9r94S6TBvTsTsJ7kZIqKJei7TkvSs7TS9WKEEIsMeWcEJKRnPrmh89UMc0rz)ntd)gQWCIl2YQYt3O1ysqxktNX)0tCX2r9Qs75DoCIGzbi)NbjCq0BzKGbYCV3ykJGdeQxy0g1TQ8l1R1Qq1tOGyF0r87U5g)8F)LYFvsNk1igUhOO8KHHGicscd5y)UQJ845oJ3NsfEny0EmmNVNfpeX237m1dtFCG7wuxC(cflosrT(fXX5kCXzjQXkInujIVpbqCDXbMM1BTHMylcJrz7DQcuVBxowStQlJ2n1efYIQdW3gENRGLEJ9wfQ1Uqv9R1cFi89XHFrfz(QlYb)CZiHaQHE(Mr9dBhwa(IhOD(TjUcVLpJlio7FuXKAApMqBItm9jhFmI5Aji9XS9cVDehxW9frCb2f7Uf6qV3LIe4zDG0OfxMDOoasXosVP6nnpMs7NAKSzHKuv7trUzyihfCntO9sKj(JZeF9mJ4r2wQJk(3ni(wdbOnL5IzNPF0zaHtS9X7DAc25Is5hUQCD18Ys5hRwgNOd2Tho8on)9iedBuoY33yBpIapjrmv7Xt1Mtogp3uz6bd5HYL38zX3IbUJmnnuU0rUS43eQbY2JrLomuw(Ca6Ojxq2em3YZGYkW47osHN1neEBfb3d5spywxE4cxIEhDc9QK7QjV31ottoTK2Sq7w1tS6LgUfp3Pkk5rhP7rXZf(jAvGXmYEphvTHzbaEU2LjhIDvKVwhdha5LTzOWt2ozJ2Gtpwc)8lsnD09ZD4jBIN)9immzJQyZn8RFpkiL0bYRoe5aGuHF1)LoUhfG6tC8gXKDjyzlHzT61knrNasYFPsG7oTqDGEYsABoUpS3ALCWiZrcQtIGB8tVE40zM53mPgtwVPwF8JsViX1ENggMiw(iI748nlZ8kxET2938ebJ0RhyMAFllz7FgFlBhi7t7pw)qDzYyU0JJcDH14)4Wp4(DJcuDhlH89vY4znWdG5DznYLl3Yzmm8PoiFJddZc)bnLgpX4bznw5cb09lK1abSHaYFP2ql2onYASyimBeZwC5lPOzwd73rrWGxvxsxPfnqbUgbuHXseoC9hdlgG8JWk6RWSeA5LneE4aW5atJmGjOtTI5)FRypZk6q0EMHKgqttzjB(rihCv9xjrFDOYLUY085VUYVnZqC1RbydLsV8vQTxwxGLdKAZXZX9OhaucwewHD8qb9WUxMkm5YezhpWVO0ueNfvY0b8ta)ubfqbRVccUTIr2qcxBi1PlYNlTiKvIybA7lDdZi4OYwFgnPhoaZionb3QEWPC1Jcqf0a8zWmlvLtdgg6MTA2Ou1Qxq2mQlqoUZ6fA2QtZwfSAzP4T3aJ8fEAL4HR1OAHDlz1zNgDA3OyHwLYMqO(FLQu7PD2UUv1ItzRw6zLQcAEUUe)zigbbth4H3)LqGmn4Lrswapn614xnmkiPxjZyxc)fQoHb48WPr4DqQ9T0YL3c(xxBbU9Q5YNp3klm4F25Fba
How to import it
- Copy the string above, or download the .txt.
- In game, open the aura editor with /fa.
- Choose Import, paste, and confirm.
- Check the aura list: an entry under Loaded or Standby means it imported.
If it does not appear on screen, import the import test first — it always shows, so it tells you whether the problem is your client or this aura.
string 1,916 characters · sha256 e0e818519da65ebc… · published byte-for-byte as the generator produced it