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)