-
What do you want to achieve? Keep it simple and clear!
I want to make a Achievement Unlocked! System, when you get a badge it shows you a gui showing the badge icon and description.

-
What is the issue? Include screenshots / videos if possible!
I don’t know how to script it. -
What solutions have you tried so far? Did you look for solutions on the Developer Hub?
I didn’t find Anything related to this.
So you want to award them with an in-game achievement, not badge, right?
I attached a picture to help you more
Okay, make a datastore (I’ll be doing this in datastore2) and set the default value to 10, setup a function for when you want to trigger the event. Use an if statement so if the value is 10 (they didnt get the badge) you increment the value to 50 which means they have the badge and if that event is triggered again, have another if statement to detect if the default value is 50.(This is just a small concept)
What about the Badge icon and description? How do you make it detect what part encountered the script and make it show the badge it was supposed to show?
If you’re talking part, you can check to see when a part is touched by a player and if it is, you tween a gui to pop out. For changing the badge and text, check the classes for text and image buttons. You can research all these things as well as the syntax. (If you’re not planning on learning the syntax first, at least learn pairs, tables and arrays.)
So you mean, the script detects the part, then you put a badge id to award the player, then the gui pops up, then to make the image and description change, use the same badge id from before?
The script has to detect a humanoid. Try looking at the badgeservice, and you’re probably gonna have to upload the badges as an image or from your computer in roblox studio. Don’t use the same badge id since thats gonna award the same badge again and again. You might as well store all the badge names and ids in a table.
I don’t think my Scripting Level is high enough to script all of that.
Start with syntax then the classes. Always look at Roblox Documentation and the DevForums. YouTube videos are a last resort. But remember, I’m not your teacher, you can do it any way you want.
Just make sure to try your best! 
First, they used Badge Service, obviously.
They then disabled the roblox default badge obtaining ui, and made their own.
Then, through the server, they detected when a player encountered an enemy, and either survived or died to it.
They then award the badge if the player didnt already own it, and fire a remote event to the client telling them to display the ui for the badge.
The information you want to give the client when telling them to display the badge they got should only be the badge ID, and the client can then get the badge information through that.
Badge Information includes the name, description and icon.
Code for obtaining badge information from the official roblox documentation:
local BadgeService = game:GetService("BadgeService")
-- Fetch badge information
local success, result = pcall(function()
return BadgeService:GetBadgeInfoAsync(00000000) -- Change this to desired badge ID
end)
-- Output the information
if success then
print("Badge:", result.Name)
print("Enabled:", result.IsEnabled)
print("Description:", result.Description)
print("Icon:", "rbxassetid://" .. result.IconImageId)
else
warn("Error while fetching badge info:", result)
end
Read more about BadgeService here.
Hi! I know this threat is quite old, but I am curious if it is possible to detect if a player has a badge, from a game, owned by a completely different account? The accounts aren’t linked in any way.
Thanks in Advance,
TheMainScriptGuy
I am assuming that you want a system like doors (based on the subject), with a custom achievement system.
What I can recommend you is to start looking into the Lua Scripting book (my favorite) and the developer hub for scripting.
I am not scripting myself, but I have seen a lot of tutorials.
In my opinion, the best way to make a achievement system is to create a local script in the player’s playerGui that keeps track of all of the achievements, and the player’s stats.
It would also be good to have a module script that keeps track of all of the game’s stats (highest score, fastest time, etc)
And then, it’s just a matter of connecting the dots.
