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)