Need help with CFrame

The hitbox spawns behind me for some reason, it doesnt matter how much i change the script.

plr.Character.MistSlash.HitBox.CFrame = plr.Character.HumanoidRootPart.CFrame + Vector3.new(0,0,-7)
	plr.Character.MistSlash.HitBox.Orientation = char.HumanoidRootPart.Orientation + Vector3.new(0,-90,0)

You need to multiply your current CFrame with another CFrame instead of adding a Vector3.

plr.Character.MistSlash.HitBox.CFrame = plr.Character.HumanoidRootPart.CFrame * CFrame.new(0, 0, -7)

Ah, I see. Thank you! Can you explain why so I dont run into the same issue some other time? Because to get those cresent slashes I added a Vector3 and that turned out fine.

That may happen because Vector3 does not change the orientation when using the Position property of a part, whilst CFrame changes both position and orientation of it which is why it has the exact orientation as you and also has the exact position (-7 which is in front of you of 7 studs). If you want to change the orientation through CFraming, you can use CFrame.Angles.

Just subtract a Vector3 value instead of adding one. Any position forward from a player’s character model is always going to be less than (a negative) when compared with the character’s position. Likewise, any position backward from a player’s character model is always going to be more than (a position) when compared with the character’s position.