Arms and gun follow mouse in a weird way, overlapping the camera

  1. What do you want to achieve? Keep it simple and clear!
    Hello, I am making a FPS game with nocol guns (to showcase them). Nocol doesn’t support R15, and the animation is torso based, so I used script changing Motor6D values based on mouse to make the gun and arms (and the head for visuals) to move with mouse

  2. What is the issue? Include screenshots / videos if possible!
    The issue is that the arms and camera “overlapping” the camera, whenever you look above, here’s the video:

  3. What solutions have you tried so far? Did you look for solutions on the Developer Hub?
    Here’s the code (LocalScript located in the gun). I tried to make this camera-based, but that made no effort (probably because I am poor with camera work lol)

plr = game.Players.LocalPlayer;
repeat wait() until plr.Character
char = plr.Character
m = plr:GetMouse()
script.Parent.Equipped:Connect(function()
	game["Run Service"].RenderStepped:connect(function()
		char.Torso["Right Shoulder"].C0 = CFrame.new(1,0.5,0) * CFrame.Angles(-math.asin((m.Origin.p - m.Hit.p).unit.y),1.55,0)
		char.Torso["Left Shoulder"].C0 = CFrame.new(-1,0.5,0) * CFrame.Angles(-math.asin((m.Origin.p - m.Hit.p).unit.y),-1.55,0)
		char.Torso["Gewehr43"].C0 =  CFrame.new(0,0,0) * CFrame.Angles(-math.asin((m.Origin.p - m.Hit.p).unit.y),0,0)
		char.Torso["Neck"].C0 = CFrame.new(0,1,0) * CFrame.Angles(-math.asin((m.Origin.p - m.Hit.p).unit.y) + 1.55,3.15,0)
	end)
end)

(dont mind the gun called Gewehr43)

Any help would be appreciated, thank you!