So, I'm trying to make it so when a player is near a door, it opens, and when no-one is around, it is closed, but it's not working and it gets moved up (which is not in any script) and keeps opening even if its reached its max. So, whats wrong?
local sp = script.Parent
local trigger = sp.trigger
local left = sp.left
local right = sp.right
local openOrClosed = sp.openOrClosed
local leftPosClosedX = 4.28
local leftPosOpenX = 10.28
local rightPosClosedX = -1.26
local rightPosOpenX = -7.26
trigger.Touched:connect(function(hit)
openOrClosed.Value = true
end)
trigger.TouchEnded:connect(function(hit)
openOrClosed.Value = false
end)
while wait(0.1) do
if openOrClosed.Value == false then
if right.Position.X ~= rightPosClosedX and left.Position.X ~= leftPosClosedX then
repeat
left.Position = Vector3.new(left.Position.X - 0.1, left.Position.Y, left.Position.Z)
right.Position = Vector3.new(right.Position.X + 0.1, right.Position.Y, right.Position.Z)
wait(0.1)
until
right.Position.X == rightPosClosedX and left.Position.X == leftPosClosedX
end
elseif openOrClosed.Value == true then
if right.Position.X ~= rightPosOpenX and left.Position.X ~= leftPosOpenX then
repeat
left.Position = Vector3.new(left.Positon.X + 0.1, left.Position.Y, left.Positon.Z)
right.Position = Vector3.new(right.Position.X - 0.1, right.Position.Y, right.Position.Z)
wait(0.1)
until
right.Position.X == rightPosOpenX and left.Position.X == leftPosOpenX
end
end
end
