Right Shoulder motor refuses to change C0?

Hello!

Recently, since I haven’t been able to use animations for my script, I’ve decided to try CFrame Animation using C0 Lerping.
So far, everything has been working except the Right Shoulder motor.

When the game is in play with the script disabled, it’s completely fine. But when it is enabled, the right arm just teleports to the Left Arm part and becomes unmodifiable. When I try to change the CFrame inputs in the animation part of the script, it completely ignores it.

Here is what it should look like: (game isn’t playing)
image

But Instead when the script is enabled, it looks like this: (game in play)
image

And me selecting both right arm and left arm:


image

My script is here if you need it:
Library = script:WaitForChild('Library')
CFrameData = Library.MarkedCFrames
MotorC0d = {}
function ExecuteForEach(t, func)
	for Index, Variation in pairs(t) do
		func(Index, Variation)
	end
end
ExecuteForEach(CFrameData:GetChildren(), function(Index, Variation)
	MotorC0d[string.gsub(Variation.Name, ' ', '')] = Variation.Value
end)
Character = script.Parent
local CFrameAnimation = require(6178888249)

local AnimationLapsed = tick()
function getlap()
	return tick()-AnimationLapsed
end
function resetlap()
	AnimationLapsed = tick()
end
local speed = 0

local Limbs = {
	RA = Character:WaitForChild('Right Arm');
	LA = Character:WaitForChild('Left Arm');
	HE = Character:WaitForChild('Head');
	RL = Character:WaitForChild('Right Leg');
	LL = Character:WaitForChild('Left Leg');
	TO = Character:WaitForChild('Torso');
	HU = Character:WaitForChild('HumanoidRootPart');
}
local CFrameData = {
	HE = {
		Current = CFrameAnimation.LerpModifier(0,0,0,0,0,0);
		Original = MotorC0d['Neck'];
		Joint = Limbs.TO['Neck'];
	};
	RA = {
		Current = CFrameAnimation.LerpModifier(0,0,0,0,0,0);
		Original = MotorC0d['RightShoulder'];
		Joint = Limbs.TO['Right Shoulder'];
	};
	LA = {
		Current = CFrameAnimation.LerpModifier(0,0,0,0,0,0);
		Original = MotorC0d['LeftShoulder'];
		Joint = Limbs.TO['Right Shoulder'];
	};
	TO = {
		Current = CFrameAnimation.LerpModifier(0,0,0,0,0,0);
		Original = MotorC0d['RootJoint'];
		Joint = Limbs.HU['RootJoint'];
	};
	RL = {
		Current = CFrameAnimation.LerpModifier(0,0,0,0,0,0);
		Original = MotorC0d['RightHip'];
		Joint = Limbs.TO['Right Hip'];
	};
	LL = {
		Current = CFrameAnimation.LerpModifier(0,0,0,0,0,0);
		Original = MotorC0d['LeftHip'];
		Joint = Limbs.TO['Left Hip'];
	};
}

Humanoid = Character:WaitForChild('Humanoid')
local MovingEvent
MovingEvent = Humanoid.Running:Connect(function(movement)
	speed = movement
end)

function getAnimationState()
	return 3
	--[[
	if Humanoid.FloorMaterial == Enum.Material.Air then
		return 1
	else
		if speed > 0.5 then
			return 2
		else
			return 3
		end
	end
	]]
end

function cframeSetNew()
	for _, Limb in pairs(CFrameData) do
		Limb.Joint.C0 = Limb.Original * Limb.Current --Limb.Joint.C0:Lerp(Limb.Original * Limb.Current, 0.5)
	end
end

function setLimb(limb, cframe)
	local ref = CFrameData[limb]
	ref.Current = cframe
end

local wav = math.sin
local fix = math.abs
function animateTick()
	local CurrentState = getAnimationState()
	if CurrentState == 1 then
		setLimb('HE', CFrameAnimation.LerpModifier(0--[[x]]  ,0--[[y]]  ,0--[[z]]  ,0--[[rx]]  ,0--[[ry]]  ,0--[[rz]]  ))
		setLimb('RA', CFrameAnimation.LerpModifier(0--[[x]]  ,0--[[y]]  ,0--[[z]]  ,0--[[rx]]  ,0--[[ry]]  ,0--[[rz]]  ))
		setLimb('LA', CFrameAnimation.LerpModifier(0--[[x]]  ,0--[[y]]  ,0--[[z]]  ,0--[[rx]]  ,0--[[ry]]  ,0--[[rz]]  ))
		setLimb('TO', CFrameAnimation.LerpModifier(0--[[x]]  ,0--[[y]]  ,0--[[z]]  ,0--[[rx]]  ,0--[[ry]]  ,0--[[rz]]  ))
		setLimb('RL', CFrameAnimation.LerpModifier(0--[[x]]  ,0--[[y]]  ,0--[[z]]  ,0--[[rx]]  ,0--[[ry]]  ,0--[[rz]]  ))
		setLimb('LL', CFrameAnimation.LerpModifier(0--[[x]]  ,0--[[y]]  ,0--[[z]]  ,0--[[rx]]  ,0--[[ry]]  ,0--[[rz]]  ))
	elseif CurrentState == 2 then
		setLimb('HE', CFrameAnimation.LerpModifier(0--[[x]]  ,0--[[y]]  ,0--[[z]]  ,0--[[rx]]  ,0--[[ry]]  ,0--[[rz]]  ))
		setLimb('RA', CFrameAnimation.LerpModifier(0--[[x]]  ,0--[[y]]  ,0--[[z]]  ,0--[[rx]]  ,0--[[ry]]  ,0--[[rz]]  ))
		setLimb('LA', CFrameAnimation.LerpModifier(0--[[x]]  ,0--[[y]]  ,0--[[z]]  ,0--[[rx]]  ,0--[[ry]]  ,0--[[rz]]  ))
		setLimb('TO', CFrameAnimation.LerpModifier(0--[[x]]  ,0--[[y]]  ,0--[[z]]  ,0--[[rx]]  ,0--[[ry]]  ,0--[[rz]]  ))
		setLimb('RL', CFrameAnimation.LerpModifier(0--[[x]]  ,0--[[y]]  ,0--[[z]]  ,0--[[rx]]  ,0--[[ry]]  ,0--[[rz]]  ))
		setLimb('LL', CFrameAnimation.LerpModifier(0--[[x]]  ,0--[[y]]  ,0--[[z]]  ,0--[[rx]]  ,0--[[ry]]  ,0--[[rz]]  ))
	elseif CurrentState == 3 then
		setLimb('HE', CFrameAnimation.LerpModifier(0--[[x]]  ,0--[[y]]  ,0--[[z]]  ,30--[[rx]]  ,0--[[ry]]  ,0--[[rz]]  ))
		setLimb('RA', CFrameAnimation.LerpModifier(0--[[x]]  ,0--[[y]]  ,0--[[z]]  ,0--[[rx]]  ,getlap()*20--[[ry]]  ,0--[[rz]]  ))
		setLimb('LA', CFrameAnimation.LerpModifier(0--[[x]]  ,0--[[y]]  ,0--[[z]]  ,0--[[rx]]  ,0--[[ry]]  ,0--[[rz]]  ))
		setLimb('TO', CFrameAnimation.LerpModifier(0--[[x]]	 ,0--[[y]]  ,1+wav(getlap())/2--[[z]]  ,-30--[[rx]]  ,0--[[ry]]  ,0--[[rz]]  ))
		setLimb('RL', CFrameAnimation.LerpModifier(0.3--[[x]]  ,1--[[y]]  ,0.3--[[z]]  ,0--[[rx]]  ,-20--[[ry]]  ,-20--[[rz]]  ))
		setLimb('LL', CFrameAnimation.LerpModifier(0--[[x]]  ,0--[[y]]  ,0--[[z]]  ,0--[[rx]]  ,20--[[ry]]  ,wav(getlap()-20)*20--[[rz]]  ))
	end
	cframeSetNew()
end

while true do
	animateTick()
	game:GetService('RunService').Heartbeat:Wait()
end

Please do not make fun of my coding techniques or performance if you see any mistakes.

Thank you!

accidentally forgot to rename RA controller; iz all guud