Motor6D angle being weird

Hello!!
I’ve been making a game and I need a model to be welded to the players Right Arm.
It works… but it doesn’t look right.

I want the model to be wielded backhanded, but instead, something really weird happens.

Heres the script:

local PartWeld = Instance.new("Motor6D")
PartWeld.Name = "KnifeWeld"
PartWeld.Parent = RightArm
PartWeld.Part0 = RightArm
PartWeld.Part1 = KnifeHandle
	
PartWeld.C1 = CFrame.new(0, -1, 0)
PartWeld.C1 = CFrame.Angles(-90, 180, 0)

keep in mind the “Weld” is a motor6D.

Any help is appreciated.

I suspect that this might be the problem. Trying changing it to CFrame.new(0,1,0) and tell me what happens.

How would this change anything? I will try it, though.

It stays the exact same when I get rid of the spaces.

No remove the ‘-’ is what I’m talking about.

Okay. Just tried that, nothing changed.

Okay so what is your code now?

PartWeld.C1 = CFrame.new(0,1,0)
PartWeld.C1 = CFrame.Angles(-90,180,0)

Okay if it’s not that, I see your handle is binded to the CFrame, have you tried moving it around?

Moving it around like this?

KnifeHandle.Position = RightArm.Position + Vector3.new(0,-1,0)

I already tried it.

No like in-game is what I mean. (use the move tool)

Yes. It works ingame if i move it manually.
Screenshot 2022-11-01 133913
My problem is the motor6D is doing some weird angle thingy.
Picture above was:

Orientation: 90,0,0
Position: 0,0,1

Heres what it looks like when I load the script without manually changing it.
Screenshot 2022-11-01 134013

So has that solved your problem?

No. I need it to automatically be fixed. I can’t do it manually.

Okay, try copying over the values.

What do you mean by that? Do you want me to put those values into the script?

Yes, but make sure to comment out the values just incase I’m wrong.

Tried changing the values into the script…

PartWeld.C1 = CFrame.Angles(32.34, -71.5, 122.03)

the problem still continues

Try the CFrame.New one instead.

instead of a Motor6D use a Weld