local Can = true
local Open = false
local dopen = script.Parent.Center.open
local dclose = script.Parent.Center.close

script.Parent.Event.OnServerEvent:connect(function(Player)
	local Mag = (script.Parent.Center.Position-Player.Character.HumanoidRootPart.Position).magnitude
	if Mag <= script.Parent.Range.Value then
		if Can then
			Can = false
			if Open == false then
				dopen:Play()
				local finish = script.Parent.PrimaryPart.CFrame*CFrame.Angles(0,math.rad(90),0)
				for i = 0,1,.1 do
					local cfm = script.Parent.PrimaryPart.CFrame:lerp(finish,i)
					script.Parent:SetPrimaryPartCFrame(cfm)
					wait()
				end
				Open = true
			else
				Open = false
				dclose:Play()
				local finish = script.Parent.PrimaryPart.CFrame*CFrame.Angles(0,-math.rad(90),0)
				for i = 0,1,.1 do
					local cfm = script.Parent.PrimaryPart.CFrame:lerp(finish,i)
					script.Parent:SetPrimaryPartCFrame(cfm)
					wait()
				end
			end
			Can = true
		end
	end
end)

(This is a keybind door)