Scripting HelpersARCHIVE
A little piece of Roblox history. Preserved for everyone, one question at a time.Read about the archive →
✓ ANSWER ACCEPTED

How to prevent the sliding door from rotation?

I have made a sliding door for my game, but when it opens it somehow changes the orientation of door from 0,90,0 to 0,0,0 instead of just sliding. I am still a starter so i have no idea what to do. code:

local TweenService = game:GetService("TweenService")
local door1 = script.Parent:WaitForChild("Door1")
local door2 = script.Parent:WaitforChild("Door2")
local tweeningInformation = TweenInfo.new(1.2,Enum.EasingStyle.Linear,Enum.EasingDirection.Out,0,false,0)
local door1Open = {Cframe = Cframe.new(Postion)}
local door2Open = {Cframe = Cframe.new(Position)}
local door1Close = {Cframe = Cframe.new(Position)}
local door2Close = {Cframe = Cframe.new(position)}
local tween1open = TweenService:Create(door1,tweeningInformation,door1Open)
local tween1close = TweenService:Create(door1,tweeningInformation,door1Close)
local tween2open = TweenService:Create(door2,tweeningInformation,door2Open)
local tween2close = Tweenservice:Create(door2,tweeningInformation,door2Close)
script.Parent.Detector1.Touched:Connect(function(hit)
tween1open:Play()
tween2open:Play()
wait(3)
tween1close:Play()
tween2close:Play()
end)
script.Parent.Detector2.Touched:Connect(function(hit)
tween1open:Play()
tween2open:Play()
wait(3)
tween1close:Play()
tween2close:Play()
end)

2 answers

✓ Accepted answer

A "cframe.new(Vector3...)" just have location set. And Part.CFrame = CFrame.new() just overwrite the cframe You just need to multiplicate the CFrame with CFrame.fromEulerAnglesXYZ(math.rad(part.Rotation.X), math.rad(part.Rotation.Y), math.rad(part.Rotation.Z))

1 comment

0

Thanks for explanation. However, i think i still dont understand it so if it`s not inconvinient, will you show me the where i should put that bit of code? Thank you :D

Due to the base plate and orientations of parts, it could be that your part is defaulted to an orientation (Eg; 0,90,0) and due to you changing the cframe, it resets the orientation to (0,0,0)

What you'd want to do is to set the orientation and the cframe, to the part's orientation and the changing cframe.

This discussion is preserved as it was. New answers, comments, and votes are closed.