Unknown fix to all client arm movement

i havent been able to find a solution to this in forever and even the posts and messages i made dont work
simple stuff: the goal is to make the arm show on the other clients except it doesnt work
it got too complex so heres the script before that:

local Players = game:GetService("Players")
local RunService = game:GetService("RunService")

local plr = Players.LocalPlayer
local char = plr.Character
local mouse = plr:GetMouse()

local armOffset = char.UpperTorso.CFrame:Inverse() * char.RightUpperArm.CFrame

local tweenService = game:GetService("TweenService")

local armFire = char.RightUpperArm
local armWeld = Instance.new("Weld")

local armJoint = char:WaitForChild("RightUpperArm").RightShoulder

armWeld.Part0 = char.UpperTorso
armWeld.Part1 = char.RightUpperArm
armWeld.Parent = char

RunService.Heartbeat:Connect(function()
	local cframe = CFrame.new(char.UpperTorso.Position, mouse.Hit.Position) * CFrame.Angles(math.pi/15, 0, 0)
	armWeld.C0 = armOffset * char.UpperTorso.CFrame:toObjectSpace(cframe)
end)

game.ReplicatedStorage.Look.OnClientEvent:Connect(function(Player, C0)
	Player.Character.RightUpperArm.RightShoulder.C0 = C0
end)

game:GetService("RunService").RenderStepped:Connect(function()
	local player = Players.LocalPlayer
	local ArmRot = player.Character.RightUpperArm.RightShoulder
	game.ReplicatedStorage.Look:FireServer(ArmRot.C0)
end)

(server)

game.ReplicatedStorage.Look.OnServerEvent:Connect(function(player, C0)
	for key, value in pairs(game.Players:GetChildren()) do
		if value ~= player and (value.Character.Head.Position - player.Character.Head.Position).Magnitude < 300 then
			game.ReplicatedStorage.Look:FireClient(value, player, C0)
			print("Request Bounced ")
		end
	end
end)

im incredibly tired of this as i am losing motivation for this game over this simple thing that i should have gotten over multiple months ago
problem i see here is its not making the updated motor6d C0 into the motor6d C0 of the same player but in other clients

Just general debugging but have you tried do the below part without the conditionals?

Instead just simply:

if value ~=player

You also might want to consider a bit of type checking. Specifically for C0, to make sure it’s not changing somewhere along the way.

i have made quite the amount of changes for 3-4 months now on this and the server script went from not working to very well working, i also made a ton of modifications to the C0 what it meant and reviewed how it got to the onclientevent

yet even after all of this it still doesnt work somehow

oh yea just reread it, also the position calculating is to save network so thats why i didnt just use that

very great note!

i was able to fix it by rewriting a lot of it, the 3 or 4 months of working on this stupid script now working have now a purpose to exist