PurpleTag | Overhead Tag

PurpleTag, an overhead tag system made by CurrencyType.

PurpleTag is an open-sourced and lightweight overhead nametag system that supports AFK animations/ranktexts and can be easily accessed by other scripts to change a players AFK status, their name, or their rank.



AFK (window unfocused)

AFK (touching AFK line detector)

Disguised (badge/rank/name hidden)

Grab the script:


The configuration script itself explains what everything does, here’s how you access it:

Model > PurpleTag Script > Configuration

Easy as that! There’s not much of a setup, and you don’t have to move anything at all (the script does it for you!)

Now, I didn’t make PurpleTag alone, here are a few of the people/scripts that helped me:


@claraaddyy | Idling forcefield effect code + badge UI & config. (SuperRank)
@syn_apse | Making the base of this code in 2019, which allowed me to fix, improve, and add to it.
@r_r | Helping me learn alot of the lua topics used here.
@MasterScootScoot | Major help with the code.
@system | AKA: DevForum, who’s answers helped me through coding all of this.

Events are stored in ReplicatedStorage > RankFolder.

List & Description of Events
+ afkTable <table>: Fired by the handler every time the table of AFK players is updated.
- changeAFK <isAFK (bool)>: Changes the players AFK status, can also be fired on the server with :FireClient(instance, isAFK)
+ hidePlayer <plr, doHide (bool)>: Either makes the player disguised (true) or undisguises them (false) based on doHide.
- resetRank <plr, eraseTemp (bool)>: Reset's the players tag and either keeps (false) or erases (true) any temptags made by "changeRank" based on eraseTemp.
+ changeRank <plr, rank (string)>: Changes the provided players rank on their overhead to the provided string (rank).

This is PurpleTag’s first version, and the first time it has been released to anybody but a select few testers.

If you find any bugs, or have a suggestion, reply below and I’ll get back to you as soon as I can.


PurpleTag V1.1

Bug Fixes
+ Removed the bug where everybody would get a rainbow tag by default.
- Fixed the model actually being my portfolio admin system (oops).
+ Added a license so people can't just take my code and resell it.
+ Added support for UserId's instead of just usernames.
+ Added a model thumbnail.
+ A user-toggleable debug panel for me, so I can help you fix bugs.
Planned / To-Do
+ Heavily optimize code.
+ Make a better less glitch-prone AFK animation.
+ Add an event for checking if a user is AFK/grabbing the entire table instead of it being sent over every time it's updated.
+ Make customizable name/rank prefixes, such as '[DEV]'.
1 Like

I cant Seem to Find a Way To Add Specific Players to a Custom Rank. I Wanted to Add “Penguin” As a Test. But after looking at configuration I couldn’t figure it out. Unless this feature isn’t out Yet.

Edit: I didn’t look at Planed To Do. Sorry

Hey! It actually is possible, the config should look something like the following:

["Customs"] = {
    ["usernamehere"] = "customnamehere",

I’ll be adding support for UserID’s + multiple users + ranks for the same tag soon.
The To-Do is talking about the feature to add rank/user/userid based prefixers, like
[Dev] or [Mod] without making a custom tag for the user.