Make welds point towards a global cardinal direction

I am trying to successfully create a flag system where all the flags connected to boats will point to the same direction. I’ve tried numerous methods. My recent method was making a global flag and trying to make all flags on all boats look that same direction. A few of my other methods worked however the flags would not update as soon as I turned the mast.

image

How would I make the flag connected to the brown part, match the direction the red part is facing. I included motors to indicate the front of each part. The other flag is welded via Motor6d so I was attempting to constantly update the C1. (C0 is the brown part, C1 is the flag)

Recent method I have tried:

local Direction = WindDirection.CFrame.LookVector
Flag.Weld.C1 = CFrame.lookAt(c1.p,Direction)

Tried way more scenarios but I ended up deleting them out of frustration. I took a look at this but it didnt seem to help much. Extremely lost with this so I’m hoping someone can help.

Here’s some code that makes the white flag always face in the same direction that the red flag is facing:

local whiteFlag = game.Workspace.WhiteFlag--path to white flag
local redFlag = game.Workspace.RedFlag --path to red flag
whiteFlag.Orientation = redFlag.Orientation
redFlag:GetPropertyChangedSignal("Orientation"):Connect(function()
	whiteFlag.Orientation = redFlag.Orientation
end)
whiteFlag:GetPropertyChangedSignal("Orientation"):Connect(function()
	if whiteFlag.Orientation ~= redFlag.Orientation then
		whiteFlag.Orientation = redFlag.Orientation
	end
end)

That’ll work, however, the flags are welded. Changing the orientation will not do anything. I have to change the Motor6D angles via script