This is the script inside of the click detectors in the doors:

local Click = script.Parent
local Remotes = game:GetService("ReplicatedStorage"):WaitForChild("Remotes")

local State = false
local Debounce = true
local Modules = Remotes.Parent:WaitForChild("Modules").Doors
local Data = require(Modules:FindFirstChild(Click.Parent.Parent.Name))

local Handle = Click.Parent
local Body = Handle.Parent.Body
local Sound = script.Parent.Parent.Sound

local ClosedCF = Body.CFrame

Click.MouseClick:connect(function()
	if not Debounce then return end
	Debounce = false
	if State == false then
		State = true
		Remotes.DoorC:FireAllClients(Body.Parent, ClosedCF * Data.Offset, Data.Speed)
		Sound:Stop()
		Sound.Pitch = 0.8
		Sound:Play()
	elseif State == true then
		State = false
		Remotes.DoorC:FireAllClients(Body.Parent, ClosedCF, Data.Speed)
		Sound:Stop()
		Sound.Pitch = 1
		Sound:Play()
	end
	wait(1)
	Debounce = true
end)

Clicking the above should pull the info to fire from here (Script in replicated) however it is not working at all, it makes the sounds like its opening but never actually opens:

local m = {
Offset = CFrame.Angles(0,math.rad(-90),0) * CFrame.new(-2,0,-2.5);
Speed = 30;	
}

return m

Function:

function Lerp(target, cf, speed)
for i = 1,speed do
Render:wait()
if target:IsA("BasePart") then
target.CFrame = target.CFrame:lerp(cf, i/speed)	
elseif target:IsA("Model") then
target:SetPrimaryPartCFrame(target.PrimaryPart.CFrame:lerp(cf, i/speed))		
		end
    end	
return target.PrimaryPart.CFrame
end

game.ReplicatedStorage.DoorC.OnClientEvent:connect(function(Target, CF, Speed)
	local cf = Lerp(Target,CF,Speed)
end)