Its suppose to rotate like a door [Realistically]
Script:
script.Parent.PrimaryPart = script.Parent.Main
local Main = script.Parent:GetPrimaryPartCFrame()
local part = script.Parent.Main
function onClicked()
if script.Parent.Open.Value == 0 then
for i = 0,1.5,0.1 do
wait(0.1)
part.CFrame = script.Parent:SetPrimaryPartCFrame(script.Parent.Main.CFrame)*CFrame.fromEulerAnglesXYZ(0,-0.1,0)*CFrame.new(0.01,0,-0.25)
end
main focus is when im trying to rotate it, The output says that
"Workspace.Door.Script:9: bad argument #1 to '?' (CFrame expected, got nil)"
Note: This is only part of the script.
Rest of script:
script.Parent.PrimaryPart = script.Parent.Main
local Main = script.Parent:GetPrimaryPartCFrame()
local part = script.Parent.Main
local x, y, z = part.CFrame:toEulerAnglesXYZ()
local rotation = CFrame.Angles(x, y, z)
function onClicked()
if script.Parent.Open.Value == 0 then
for i = 0,1.5,0.1 do
wait(0.1)
part.CFrame = script.Parent:SetPrimaryPartCFrame(script.Parent.Main.CFrame)*CFrame.fromEulerAnglesXYZ(0,-0.1,0)*CFrame.new(0.01,0,-0.25)
end
Main.CFrame = Main*CFrame.fromEulerAnglesXYZ(0,-math.pi/2,0)*CFrame.new(-2.5,0,-2.5)
script.Parent.Open.Value = 0
end
if script.Parent.Open.Value == 1 then
for i = 0,1.5,0.1 do
wait(0.1)
Main.CFrame = Main.CFrame*CFrame.fromEulerAnglesXYZ(0,0.1,0)*CFrame.new(-0.01,0,0.25)
end
Main.CFrame = Main*CFrame.fromEulerAnglesXYZ(0,math.pi/2,0)*CFrame.new(-2.5,0,2.5)
script.Parent.Open.Value = 1
end
end
script.Parent.ClickDetector.MouseClick:connect(onClicked)
