Training Nametag System setup
Nametags for a training centre: name, team and role, plus training points trainers give with a prompt, PASSED when a trainee is done, and a !warn command for staff.
You Need
- Roblox Studio, with your training centre open.
- Your Prova licence key, from your dashboard.
- To own the experience, or the group that owns it.
- Your Roblox group’s ID, and teams for trainees and trainers.
You Get
- A file from the Prova Discord server.
- Prova Core, free, one per experience.
- Your licence key, added as a secret.
What Goes Where
Your Explorer after installing. Don’t rename anything.
ReplicatedStorage
└─ PROVA | Training Nametag System Folder
├─ README Script
└─ Remotes Folder
├─ StatusUpdate RemoteEvent
└─ WarnNotice RemoteEvent
ServerScriptService
└─ PROVA | Training Nametag System Folder
├─ AddTrainingPoints BindableEvent
├─ NametagUI BillboardGui
│ ├─ GroupRank TextLabel
│ ├─ Username TextLabel
│ └─ VIP TextLabel
├─ PassedParticles Folder
│ └─ 5 ParticleEmitters ParticleEmitter
├─ PointsService ModuleScript
├─ StatusService ModuleScript
├─ TagService ModuleScript
├─ TrainingConfig ModuleScript
├─ TrainingRules ModuleScript
├─ TrainingServer Script
└─ WarnService ModuleScript
StarterPlayer → StarterPlayerScripts
└─ PROVA | Training Nametag System Folder
└─ TrainingClient LocalScript
| Service | Object | What it holds |
|---|---|---|
| ReplicatedStorage | PROVA | Training Nametag System | The README and the remotes the nametags use. |
| ServerScriptService | PROVA | Training Nametag System | The system, its settings, the nametag and the PASSED sparkles. |
| StarterPlayer → StarterPlayerScripts | PROVA | Training Nametag System | The player side: prompts, typing, AFK and warnings. |
Installation
Follow the steps in order.
-
Join the Prova Group
You must be in the Prova group when you buy and when you sign in to your dashboard. Players in your game don’t need to join.
-
Buy the Game Pass
One payment in Robux, from the Training Nametag System page. The Game Pass is your proof of purchase.
Then open your dashboard and create your licence key. It is shown once, so copy it somewhere safe. One key covers every system you own, in up to six of your experiences.
-
Download the Training Nametag System File
The Training Nametag System arrives as one file, from the Prova Discord server. Save it somewhere you can find it.
-
Install Prova Core
Once per experience, however many Prova systems you own. Core is free. Open View → Explorer and click the arrow beside ReplicatedStorage. If PROVA | Core is already there, skip this step.
- Download Prova Core from the Prova Discord server.
- In Explorer, right-click Workspace and choose Insert from File. Pick the Prova Core file.
- Among what it adds are two folders named PROVA | Core.
- Drag the one holding Constants, Core, Ed25519 and Log into ReplicatedStorage.
- Drag the one holding CoreServer and LicenseProvider into ServerScriptService.
- Delete anything left over, such as an empty model.
ExplorerReplicatedStorage
└─ PROVA | Core
ServerScriptService
└─ PROVA | Core
Only one copy of Core. A second PROVA | Core stops every system with PC-002. -
Add the Training Nametag System Folders
In Explorer, right-click Workspace and choose Insert from File. Pick the Training Nametag System file. Among what it adds are three folders named PROVA | Training Nametag System. Drag each one into its service.
Add the Training Nametag System Folders Drag the folder holding Into README and Remotes ReplicatedStorage TrainingConfig, NametagUI and PassedParticles ServerScriptService TrainingClient StarterPlayer → StarterPlayerScripts Remove any other nametag or points script, or players get two nametags or double points. Delete anything left over, such as an empty model. -
Make Your Teams
Every team name below must exist, spelled exactly the same. Using other names? Keep yours and change the names in TrainingConfig instead.
- In Explorer, find Teams. If it is missing: Model tab → Service → Teams → Insert.
- Right-click Teams → Insert Object → Team.
- Rename it exactly: Group A, Group B, Group C, Trainer.
- In Properties, give each team a TeamColor no other team uses.
- Untick AutoAssignable on each.
Two teams with the same TeamColor count as one team, and players land on the wrong one. -
Set Your Group and Ranks
Open TrainingConfig and check four things.
ServerScriptService/PROVA | Training Nametag System/TrainingConfig- GroupId: change 0 to your group’s ID, the number in its web address.
- TraineeTeams and TrainerTeams: your team names, exactly.
- TeamColors: the same team names, with the colour each shows on the nametag.
- TraineesBelowRank and PointsNeeded: your group’s trainee ranks.
-
Turn On Allow HTTP Requests
Turn on Allow HTTP Requests and click Save. Without it the licence can’t be checked and Core stops with PC-004. Already on if another Prova system works in this game.
File/Experience Settings/Security -
Add Your Licence Key as a Secret
Publish your game first: File → Publish to Roblox. Then, in a web browser, open create.roblox.com, click your experience, and in the left menu choose Secrets → Create Secret. Fill in all three fields exactly.
Already done for another Prova system? Skip this step. Lost your key? Rotate it on your dashboard and paste the new one here.
Creator Dashboard/Your Experience/Secrets/Create SecretAdd Your Licence Key as a Secret Field Type Name prova_licence Secret Your licence key Domain api.withprova.app -
Publish and Check the Output
Publish and join your game. Press F9 to open the Developer Console and choose the Server log. When the Training Nametag System works, you see these lines.
In the game, your nametag shows your name and Team | Role. Put a friend on a trainee team and yourself on a trainer team: walking up to them shows Add Point.
Testing in Studio instead? Open View → Output. A normal Play can’t read the published secret, so add a Local Secret named prova_licence with your key under File → Experience Settings → Security, or use a Team Test.
Output[PROVA | Core] v0.2.0 starting.
[PROVA | Core] Training Nametag System v1.0.0 registered.
[PROVA | Training Nametag System] v1.0.0 ready.
[PROVA | Core] Licence confirmed.
How Training Works.
What trainers and staff do in the game.
Add Point
A trainer walks up to a trainee and presses the prompt. The nametag counts 1 / 5, 2 / 5…
PASSED
At the goal, the nametag says PASSED and sparkles appear around the head.
!warn
Staff type !warn name reason in chat. At three warnings the nametag says FAILED.
Settings
All settings are in one file. Change a value, then publish.
Your Group
| Setting | Standard | What it does |
|---|---|---|
| GroupId | 0 | Your group’s ID. 0 means no roles, everyone is a trainee, and nobody can warn. |
| ShowGroupRole | true | Show the role after the team: Group A | Trainee. |
The Nametag
| Setting | Standard | What it does |
|---|---|---|
| TeamColors | ten teams | The team line’s colour by team name, e.g. ["Group D"] = Color3.fromRGB(80, 120, 255), |
| DefaultTeamColor | Color3.fromRGB(255, 255, 255) | Colour for teams not listed. |
| NoTeamText | "No Team" | Shown when a player has no team. |
| AFKPrefix | "[ 💤 ] | " | Before the name while away. |
| TypingPrefix | "[ 💬 ] | " | Before the name while typing. |
| AFKAfterIdleSeconds | 120 | Seconds without input before away. 0 means only when leaving the window. |
| HideDefaultName | true | Hide Roblox’s own name above players. |
| HeightAboveHead | 2.7 | Studs above the head, 0 to 50. |
| MaxViewDistance | 0 | How far nametags show, in studs. 0 is any distance. |
Training Points
| Setting | Standard | What it does |
|---|---|---|
| UsePoints | true | Turn the points system on or off. |
| TraineesBelowRank | 30 | Players below this rank are trainees and show points. |
| PointsNeeded | ranks 15, 20 and 25 need 5 | Points each trainee rank needs to pass. |
| DefaultPointsNeeded | 5 | For trainee ranks not listed. |
| TraineeTeams | { "Group A", "Group B", "Group C" } | Teams whose players receive points. |
| TrainerTeams | { "Trainer" } | Teams whose players give points. |
| PointsStatName | "Points" | The leaderboard stat that holds points. |
| CreatePointsStat | true | Create that stat. Points aren’t saved; each session starts at 0. |
| PromptText | "Add Point" | What trainers see next to a trainee. |
| PromptDistance | 10 | How close a trainer must be, in studs. |
| PromptHoldSeconds | 0 | How long to hold the key. 0 is one press. |
| PassedText | "PASSED" | Shown when a trainee has enough points. |
| PassedParticles | true | Sparkles around the head on passing. |
| ParticleSeconds | 3 | How long the sparkles last. |
Warnings
| Setting | Standard | What it does |
|---|---|---|
| UseWarnings | true | Turn the warn command on or off. |
| WarnCommand | "!warn" | What staff type. One word. |
| WarnMinRank | 55 | Lowest rank that can warn. Staff can only warn lower ranks. |
| WarningsToFail | 3 | Warnings before the nametag says FAILED. |
| WarningText | "⚠️ Warning {count}" | {count} becomes the number. |
| FailedText | "FAILED" | Shown after too many warnings. |
| TellStaffAboutWarnings | true | Send staff a chat message for each warning. |
VIP and Colours
| Setting | Standard | What it does |
|---|---|---|
| VIPGamePassId | 0 | Non-trainees who own this pass show VIP. |
| VIPText | "VIP" | The VIP label. |
| FailedColor | Color3.fromRGB(255, 60, 60) | FAILED colour. |
| WarningColor | Color3.fromRGB(255, 170, 0) | Warning colour. |
| PassedColor | Color3.fromRGB(96, 188, 71) | PASSED colour. |
| PointsColor | Color3.fromRGB(255, 255, 255) | Points colour. |
| VIPColor | Color3.fromRGB(246, 157, 83) | VIP colour. |
| VerboseLogging | false | Print each nametag, point, pass and warning. |
Troubleshooting
Open Output and look for lines starting with [PROVA |. All PC- codes are also on Error Codes.
| You see | It means | What to do |
|---|---|---|
| PC-010 | Both nametag systems are installed. | Remove the Nametag System or this one. |
| GroupId is 0 | No group is set. | Set Your Group and Ranks. |
| isn’t valid | A typing mistake in TrainingConfig. | The message names the setting. |
| Trainers see no Add Point | A team name doesn’t match, or the trainee’s rank isn’t below TraineesBelowRank. | Make Your Teams, then check TrainingConfig. |
| !warn does nothing | The warner’s rank is below WarnMinRank, or GroupId is 0. | Set Your Group and Ranks. |
| The wrong team on a nametag | Two teams share a TeamColor. | Give each team its own colour. |
| PC-001 | Prova Core isn’t installed. | Install Prova Core. |
| PC-002 | Prova Core is installed twice. | Delete one PROVA | Core from each service. |
| PC-003 | No licence key found. | Add the secret. In a Studio Play, add a Local Secret or use a Team Test. |
| PC-004 | HTTP requests are off. | Turn On Allow HTTP Requests. |
| PC-005 | Prova couldn’t be reached. | Usually passes by itself. If not, check the secret’s Domain is api.withprova.app. |
| PC-006 | The key isn’t valid. | Copy it again, or rotate it on your dashboard. |
| PC-014 | You don’t own this experience. | Use it in an experience owned by you or your group. |
| PC-015 | Your licence doesn’t cover the Training Nametag System. | Buy its Game Pass, or remove it. |
