This is not possible. X is readonly. You can’t change the X value of any property in roblox. Orientation.X, Position.X, Anything. For example:
part.Position.X += 5 -- wrong way
part.Position += Vector3.new(5, 0, 0) -- right way
Whenever you want to change a singular value, make sure to incorporate this method,
Also, you’re trying to multiply a Vector3 with a CFrame, that won’t work. Use CFrame.new(Vector3.new()) parameter. (MY BAD, I didn’t see that other parentheses, lol)
I’m not sure that I understand what you’re saying. Why would X be read only but roblox allows me to change all the other cordinates? As you saw from the video of the properties being changes, roblox was letting me change the orientation. It was just treating X like it was Z. And when you say
Are you talking about for orientation or position?
That’s just the way it is. Position is a read and write property, Position.X is read only. You can change X by changing Position. And you have to do it that way.
When you say it was letting you change the other ones, that’s just not correct. You must be doing your calculations wrong. You should check if the position you are setting it to isn’t ALREADY what it is.
I have parts welded to this part and the only way to make those welded parts follow the part is by using CFrame. If you didn’t know, tweening the Position or Orientation ignores welded parts. It’s required to use CFrame.
TweenService will choose the path of least resistance to get the desired orientation and position, which can mean irregular rotations (like going in the opposite direction, skipping an axis, etc). This is because of how rotation matrixes work.
Make a pole that is the pivot point of the door, weld everything to it. Rotate it by 90 degrees with your tween.
If you’re doing something fancy, split the tween up and use Linear. Also, don’t make a CFrame with added rotations with .Angles, just find the CFrame in studio fire if its a static part of the world and give it that by snagging it with the command bar.