Color Lock Door
Model Script
local doorModel = script.Parent
local door = doorModel.Door
local lockPart1 = doorModel.Lock1
local lockPart2 = doorModel.Lock2
local lockPart3 = doorModel.Lock3
local lock1Color = 1
local lock2Color = 1
local lock3Color = 1
local color_list = {'Really red', 'Really blue', 'Lime green'}
local colorNum = #color_list
local key = {math.random(1,colorNum),math.random(1,colorNum),math.random(1,colorNum)}
for _,num in pairs(key) do
print(num)
end
local function reset()
lock1Color = 1
lock2Color = 1
lock3Color = 1
lockPart1.BrickColor = BrickColor.new(color_list[lock1Color])
lockPart2.BrickColor = BrickColor.new(color_list[lock2Color])
lockPart3.BrickColor = BrickColor.new(color_list[lock3Color])
door.BrickColor = BrickColor.new('Really red')
door.Transparency = 0
door.CanCollide = true
key = {math.random(1,colorNum),math.random(1,colorNum),math.random(1,colorNum)}
for _,num in pairs(key) do
print(num)
end
end
local function check_code()
if lock1Color == key[1] and lock2Color == key[2] and lock3Color == key[3] then
door.BrickColor = BrickColor.new('Lime green')
wait(1)
door.Transparency = 1
door.CanCollide = false
wait(3)
reset()
end
end
lockPart1.ClickDetector.MouseClick:Connect(function()
lock1Color += 1
if lock1Color > colorNum then
lock1Color = 1
end
lockPart1.BrickColor = BrickColor.new(color_list[lock1Color])
check_code()
end)
lockPart2.ClickDetector.MouseClick:Connect(function()
lock2Color += 1
if lock2Color > colorNum then
lock2Color = 1
end
lockPart2.BrickColor = BrickColor.new(color_list[lock2Color])
check_code()
end)
lockPart3.ClickDetector.MouseClick:Connect(function()
lock3Color += 1
if lock3Color > colorNum then
lock3Color = 1
end
lockPart3.BrickColor = BrickColor.new(color_list[lock3Color])
check_code()
end)