This script works perfectly well. It's just that the arms go inside of the camera when I look up when the arms are extended in front of me. When I use my gun sights, it moves up and I'm not aiming correctly anymore. I just need some way of keeping the arms in the same offset as the camera, if that makes sense.
Here is what I don't want: http://imgur.com/a/VOfyT
Here is what I DO want: http://imgur.com/a/xqSc4
-- LOCAL SCRIPT
plr = game.Players.LocalPlayer
repeat wait() until plr.Character and plr.Character:FindFirstChild("HeadMouseFollow")
chr = plr.Character
mouse = plr:GetMouse()
game["Run Service"].RenderStepped:connect(function()
local c = game.Workspace.CurrentCamera
if chr:FindFirstChild("Right Arm") then
chr["Right Arm"].LocalTransparencyModifier = 0
end
if chr:FindFirstChild("Left Arm") then
chr["Left Arm"].LocalTransparencyModifier = 0
end
if chr:FindFirstChild("Torso") then
chr.HeadMouseFollow:FireServer(chr, mouse.Origin.p, mouse.Hit.p)
end
end)
-- SERVER SCRIPT
script.Parent.HeadMouseFollow.OnServerEvent:connect(function(plr, chr, origin, hitpos)
if chr.Torso:FindFirstChild("Right Shoulder") then
chr.Torso:WaitForChild("Right Shoulder").C0 = CFrame.new(1,0.5,0) * CFrame.Angles(-math.asin((origin - hitpos).unit.y),1.55,0)
end
if chr.Torso:FindFirstChild("Left Shoulder") then
chr.Torso:WaitForChild("Left Shoulder").C0 = CFrame.new(-1,0.5,0) * CFrame.Angles(-math.asin((origin - hitpos).unit.y),-1.55,0)
end
if chr.Torso:FindFirstChild("Neck") then
chr.Torso:WaitForChild("Neck").C0 = CFrame.new(0,1,0) * CFrame.Angles(-math.asin((origin - hitpos).unit.y) + 1.55,3.15,0)
end
end)

1 comment
maybe you should try lowering the arms a little bit? and maybe consider adjusting the camera?