Orientation of a Tweenservice resets when moving

local rotationA = 45 
local TweenService = game:GetService("TweenService")
local InfoA = TweenInfo.new(4, Enum.EasingStyle.Linear, Enum.EasingDirection.Out, 0, false, 0)

-----------------------------------------------------------------------
local RotA = {
    CFrame = part.CFrame * CFrame.Angles(0, rotationA, 0)
}
-----------------------------------------------------------------------
local PosA = {
    CFrame = part.CFrame + Vector3.new(0, 0, positionA)
}
-----------------------------------------------------------------------
local TweenRA = TweenService:Create(part, InfoB, RotA)
local TweenPA = TweenService:Create(part, InfoA, PosA)
-----------------------------------------------------------------------
TweenRA:Play()
wait(1)
TweenPA:Play()

(the part that is rotating is welded to the npc)

How can I move this, without changing its orientation. It rotates back to its original state when moving, which is exactly what I don’t want.

(yes I have to use CFrame =, because using Position = part.Position makes it so I can weld other parts, that’s sadly how roblox works)

From what informations you have provided, a possible solution is to tween the CFrame of a CFrameValue, and have a loop set the CFrame of the npc without changing the rotation.

I’ll be sure to try that later today!

Hello, I just looked at the api you sent me, do you mind explaining it in a bit further detail. I don’t exactly understand how I would convert it to be used in my script