As far as I understand, a CFrame can generally be broken down like this: CFrame.new(Vector3 pos, Vector3 lookAt) My last question was about using welding to allow for rotation, which I solved using constraints. I needed to allow rotation because I want a gun to point at the mouse (think Metroid Prime). Here's my code:
wait(2)
playerTable = game.Players:GetChildren()
player = playerTable[1]
print(player)
mouse = player:GetMouse()
att = Instance.new("Attachment")
att.Parent = player.Character["Right Arm"]
con = script.Parent.GunCon
con.Attachment1 = att
con.Attachment0 = script.Parent.Attachment
wait(10)
while true do
wait()
script.Parent.CFrame = CFrame.new()--, mouse.Hit.p)
end
If I set the position vector3 of the CFrame, it constantly messes with the position of the gun, as to be expected; however, I need to access the second argument of the CFrame without accessing the first. I want to leave the position be and use mouse.Hit.p as the orientation. I hope that makes sense. Thanks.

5 comments
Just do
script.Parent.CFrame.x,script.Parent.CFrame.y,script.Parent.CFrame.zand so on and replace one with what you want to change.It doesn't work like that because it would constantly set the position to the current position and when i do that is seizes up and everything goes crazy
Then do it for all 12 properties
What do you mean?
i have that same exact question!