Hi guys! I am a new developer forum user. And I have a problem with my verify system. I want to make an admin panel that has 4 level defense system. Here is my defense if you want to use it too.
1 Level defense: A simple whitelist script with checking username. If username matches when it enables admin panel.
2 Level defense: Similar as 1 level defense but it kicking. If admin panel UI enabled but the username doesn’t match then it kicks the player.
3 Level defense: Verify system. With what I have a problem. There a UI that asks you to enter your admin username and password. If a player fails 3 times he gets kicked.
4 Level defense: Like a second level. If a player verified but the username doesn’t match he getting kicked.
Problem:
I have a problem with the third level defense. When I type in the username and password my script thinks it doesn’t correct. In output it doesn’t give any errors. Here the code.
--Options
local user = {}
local password = "testpass"
local fail = censored
user.Username = {
"alex";
"yes";
}
--Script
script.Parent.MouseButton1Down:Connect(function()
if script.Parent.Parent.User.Text == user.Username and script.Parent.Parent.Pass.Text == password then
script.Parent:Destroy() -- If it works
else
censored
end
end)
--Attempt check
Censored
I don’t ask you to write the entire script. Just can’t get why my script doesn’t see a username. Thank you for your help.
false and what do you mean also exploiters can actually access the other player’s gui just by typing this script
local Player = Players:FindFirstChild("someName")
local PlayerGui = Player:FindFirstChild("PlayerGui")
print(PlayerGui.someGui.Textsome.Text) -- and bam prints name
I’m still reading though everything and I know you didn’t ask about this but you should really consider getting your player info from their UserId not their username, in case it changes. You could honestly get away with only having someone type in a password if you verify their UserId matches one in your storage of authorized people.
your not getting my point and that point is that you type in the textbox which means that it can be seen by exploiters and why do you need a verifying system when you completely have to just make a table with the name within it
Hold on. (I agree with everything you Devs are saying that AdminPanel should rely totally on Server) But
Are u really sure that Client1 can access the PlayerGui of Client2 from ClientSide??
local Player = Players:FindFirstChild("someName")
local PlayerGui = Player:FindFirstChild("PlayerGui")
print(PlayerGui.someGui.Textsome.Text) -- and bam prints name
Right now Im doing that test on Studio, and Server can access the ClientGui but another player cannot. Pls explain more about what u said
its true text’s do replicate so better be careful with your gui’s next time just change the name of what player you want and the gui props and it would work
That explains nothing… I know what to do to secure things, thats not the problem. But you stated that Client1 can get what Client2 has on its PlayerGui. And Im almost sure that is impossible. Right now Im doing the test, and no, Client1 cant access Client2’s PlayerGui. Pls show some evidence
Yeah that’s impossible unless it’s submitted to the server or by firing a series of events. Which would require all the input to already be submitted before firing.