Before repositioning you could use the getComponents method on the current CFrame, then reconstruct a new cframe using the new position, and the old orientation components.
while RUS.RenderStepped:Wait() do
local AHewq = A.HA.CFrame:GetComponents()
A.HA.CFrame = CFrame.new(workspace.CurrentCamera.CFrame.Position, AHewq.LookVector)
A.HA.CFrame = A.HA.CFrame:Lerp(workspace.CurrentCamera.CFrame, 0.25)
end
getComponents returns a bunch of values, so you cannot put them into one variable (check the link i posted previously)
If you just want the lookvector you could use what you just posted, but instead of using getcomponents just use OldCFrame.LookVector to construct the new CFrame
You are lerping two CFrames with different rotations, so perhaps you want to lerp the positions of the CFrames first then adjust A.HAs CFrame using that position which can be done subtracting the position from the CFrame then Adding back another position (or subtracting the oldvec by the new)
local CameraPos = workspace.CurrentCamera.CFrame.Position
local Position = A.HA.Position:Lerp(CameraPos, .25)
A.HA.CFrame = A.HA.CFrame + (Position - A.HA.CFrame.Position)
But, If you really wanted to lerp the CFrames (which i don’t see a huge reason to, since you are trying to maintain orientation i believe) you can use the position of the CFrame to change A.HAs CFrame:
Also now that i’m looking at it, since i’m guess A.HA is a part, is there a reason you can’t change A.HAs position instead of its CFrame? (which would maintain orientation)