Hello there! I’m making a game where users have to enter a password to load their settings.
Although, I’d like that when you type the password in, the letters will be dots like on sites. I’ve been trying a lot but no success yet. Has anyone gotten an idea how to achieve this?
Whenever the user focuses on the text box, you can cover the text box with a text label. Each time the user adds another letter to the text box, the label will add a dot.
Side Note:
Is it really necessary to prompt users to enter a password? You would have to implement an encryption system and a password reset system.
Those mostly aren’t necessary for these cases. If the password system is used to load only your own settings, then it is pretty unnecessary to make a password system and only causes confusion if anything, the only way it would be extra secure is if someone else got access to your account but even then it would ridiculous because they have already gone past a password security and what are the odds they did that just to go to this game and load their settings.
But if the password system is used to be able to upload data and retrieve that from other accounts, then it would make sense to make a password or just some sort of key for that data. Although no manual password encryption or reset system would be necessary for that case.
It just depends on how the password system will be used and how secure your way of saving and loading passwords will be.
As for what OP requested, I would go with what @wevetments suggested.
in the past, I’ve used this technique where I’ve used a textbutton to display the dots, and a textbox within the textbutton with its size set to 0, 0, 0, 0, and ClipsDescendants = true, then updating the textbutton’s text to string.rep('•', #textbox.text) when the text property is changed. you can focus the textbox when the textbutton is clicked using TextBox::CaptureFocus.
If you’re using passwords for authentication, don’t. A UserId is the only authentication needed. There’s already been another thread talking about why it’s such a bad idea.
I know this thread has already been answered, but here’s a disclaimer:
It is a huge risk to use passwords in-game. Most players will automatically use their account passwords as their in-game passwords, and this is not safe, since exploiters can extract data stored and break into these accounts. I suggest you try to make the password as unique of a system as possible, to break the possibility of using the same passwords.
Example: Using a combination of picture-buttons (Say, duck, roblox logo, hand sign, smiley, etc) for players to use to make a six-picture password, eg. “roblox logo, smiley, duck” combination. So even if some exploiter is able to recieve these passwords, you dodge the bullet of being responsible for the hacking of a huge number of players.
Where have you received this kind of information? I am pretty sure people can’t just access a game’s datastore unless obtaining access to the game holder’s account.
Also I find using a picture combination system for authentication more difficult than with letters.
I find the biggest concern to be the game holder, as they have all the passwords, and can do whatever they want with them.
truthfully; reiterating what was previously said, there’s no need for passwords, especially for what the OP wants to accomplish with them. a UserId is sufficient for storing settings. if the password is simply for protection, then passwords are unnecessary, as they already use a password to login to their Roblox account
What kind of application center? Is it one that you control? I see the need to not just have a UserID when communicating over https to a server because anyone would pretend like they are a Roblox server and request the information for a given UserID. If you are able, it would be better to have a shared secret between your game servers and the application server, that way the application server knows that that the request is coming from a trusted source. Not to mention that this will be a lot easier on players but also less of a hassle to setup and maintain for you.