I have a model which needs to be welded to the player's left arm, and I want it to face the front of it.
This was the old script, but it only worked if the player doesn't move after spawning. If the player turns before the object is welded, the object will not be placed facing the front of the arm.
wait()
local char = plr.Character
local c = game.ServerStorage["Object Name"]:Clone()
local weld = Instance.new("WeldConstraint")
local armPos = char["Left Arm"].Position
weld.Parent = c.Base
weld.Part0 = c.Base
c.Base.CFrame = CFrame.new(armPos,Vector3.new(armPos,armPos,armPos))*CFrame.Angles(math.rad(0),math.rad(180),math.rad(0))
weld.Part1 = char["Left Arm"]
c.Parent = char
I want it to always face the front, even if the player is laying down. I tried doing this, but it still works the same.
local char = plr.Character
local c = game.ServerStorage["Object Name"]:Clone()
local weld = Instance.new("WeldConstraint")
local armPos = char["Left Arm"].Position
weld.Parent = c.Base
weld.Part0 = c.Base
c.Base.CFrame = CFrame.new(armPos,Vector3.new(armPos.x,armPos.y,armPos.z-1))
weld.Part1 = char["Left Arm"]
c.Parent = char
I'm not good with CFrames, sorry if this is something easy but I have no idea of what to do. Thank you in advance.

3 comments
I'd take a look at using the characters attachments instead of setting a CFrame for the model.
What you would use if you threw it into an accessory: https://developer.roblox.com/en-us/api-reference/function/Humanoid/AddAccessory
lucyy's answer seem like it would work, are you sure that the "front" of it is the actual face you want. and you should be using
:SetPrimaryPartCFrame()instead. and do you want the front of the model to touch the front of the arm instead?