Porta com senha

Passo 1

Vá na pasta StarterGui e adicione um objeto chamado SurfaceGui. Após isso eu renomeei o meu para Porta com senha, mas essa parte é opcional.
Pasted image 20240322155017.png|300

Passo 2

Adicione uma TextBox ao SurfaceGui.
Pasted image 20240322155715.png|300

Passo 3

Nas propriedades do SurfaceGui, procure a opção Adornee, clique nela e logo depois clique na parte que vai ser sua porta (caso o texto apareça no lado da parte que você não deseja, clique na opção Face em propriedades e escolha o lado que ela aparece).
Pasted image 20240322155934.png

Pasted image 20240322160019.png

Mais abaixo em propriedades você pode mudar a posição e o tamanho da caixa de texto. Para fazer isso mude os valores que estão dentro dos colchetes.

Pasted image 20240322160138.png
Passo 4

Vá em ReplicatedStorage e adicione um objeto de RemoteEvent. Após isso, o renomeie para AbrirPorta
Pasted image 20240322160238.png

Passo 5

Adicione um LocalScript na nossa TextBox. O código que iremos colocar está logo abaixo.
Pasted image 20240322160319.png

-- CODIGO DA SENHA: COLOCAR NA TextBox
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local remoteEvent = ReplicatedStorage:FindFirstChild("AbrirPorta")

script.Parent.FocusLost:Connect(function(enter)
	
	if enter then
	
		if script.Parent.Text == "SenhaUm" then
			remoteEvent:FireServer("porta1")
			
		else
			remoteEvent:FireServer("incorreto1")
		end
	end

end)

Passo 6

Adicione um Script na nossa parte. O código que iremos colocar está logo abaixo.
Pasted image 20240322160332.png

-- CODIGO PARA SER COLOCADO NA PARTE QUE SERÁ A PORTA
local porta = script.Parent 
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local remoteEvent = ReplicatedStorage:FindFirstChild("AbrirPorta")

remoteEvent.OnServerEvent:Connect(function(player, codigoDaPorta)

	print(codigoDaPorta)
	if codigoDaPorta == "porta1" then
	
		porta.BrickColor = BrickColor.new("Lime green")
		
		for i = 0 , 10, 1 do
		
			porta.Transparency = i/10
			wait(0.05)
			
			if porta.Transparency == 1 then
			
				porta.CanCollide = false
				
			end
		end
	elseif codigoDaPorta == "incorreto1" then
	
		porta.BrickColor = BrickColor.new ("Really red")
		
	end
end)