Basically, if the door is locked it plays a sound
DoorO.Object.No:Play()
which is located at the end of a if statement checking to see if the doors locked value is set to true, however this leaves players the ability to spam the handle and make the lock sound over and over with no delay.
I've tried a few different ways start with more if statements and ending with just adding a value called knocked and having it check if thats set to true before playing the sound but still it made no change.
Not sure what I am doing wrong here.
local Locked = script.Parent.Parent.Parent.Locked
local DoorC = script.Parent.Parent.Parent.Close
local DoorO = script.Parent.Parent.Parent.Open
local CC1 = DoorC.lock1.ClickDetector
local CC3 = DoorC.hand1.ClickDetector
local CC4 = DoorC.hand2.ClickDetector
local OC3 = DoorO.hand1.ClickDetector
local OC4 = DoorO.hand2.ClickDetector
script.Parent.ClickDetector.mouseClick:connect(function(Player)
if Locked.Value == false then
for i,v in pairs(DoorC:GetChildren()) do
if(v.className == "Part")then
v.Transparency = 0
v.CanCollide = true
end
end
for i,v in pairs(DoorC:GetChildren()) do
if(v.className == "MeshPart")then
v.CanCollide = false
end
end
for i,v in pairs(DoorO:GetChildren()) do
if(v.className == "Part")then
v.Transparency = 1
v.CanCollide = false
end
end
OC3.MaxActivationDistance = 0
OC4.MaxActivationDistance = 0
CC1.MaxActivationDistance = 20
CC3.MaxActivationDistance = 20
CC4.MaxActivationDistance = 20
DoorO.Object.Open:Play()
else
DoorO.Object.No:Play()
end
end)
