I want it so that in 3rd person view(zoomed out) when your mouse moves around your torso, specifically your whole character follows the mouse, I already have it so that the arms are welded and go up and down with the mouse but I wish for the torso to always face the mouse and be able to spin the Char around in 3rd person.
This is what I have so far, DON'T WRITE THE SCRIPT FOR ME, this isn't a request site, I just need some guidance as to how to do it, you can write bits a pieces of the complicated parts that I may not understand such as math.asin ect.
function Equipped() --Function called when gun is selected
local ArmWeld = Instance.new("Weld")
ArmWeld.Parent = Head
ArmWeld.Part0 = Head
ArmWeld.Part1 = RArm
ArmWeld.C1 = CFrame.new(-1,0.5,-1) * CFrame.Angles(-1.5,-.5,0)
local HeadWeld = Instance.new("Weld")
HeadWeld.Parent = Head
HeadWeld.Part0 = Head
HeadWeld.Part1 = LArm
HeadWeld.C1 = CFrame.new(1,0.5,-1) * CFrame.Angles(-1.5,.5,0)
repeat wait() until Rsh and Lsh --Wait for the left and right shoulder.
Rsh.Part1 = nil --Set weld Part1 to nil.
Lsh.Part1 = nil --Set weld Part1 to nil.
Mouse.Move:connect(function() --Runs the function each time the mouse is moved.
Mouse.TargetFilter = workspace --This is important when setting the C0 at the bottom as it ignores everything in the workspace to give clean movement of the arms on the Y axis.
Torso.Neck.C1 = CFrame.new() --Sets the C1 to a blank CFrame so the head doesn't glitch.
Torso.Neck.C0 = CFrame.new(0, 1.5, 0) * CFrame.Angles(math.asin((Mouse.Hit.p - Mouse.Origin.p).unit.y), 0, 0) --Moves the head up by 1.5 studs and then sets the angle of your character's neck looking up towards the mouse using inverse trigonometry (A grade maths) and unit vectors (so you only get the direction.)
end)
Mouse.Idle:connect(function() --Runs the function when the mouse is idle.
Mouse.TargetFilter = workspace --This is important when setting the C0 at the bottom as it ignores everything in the workspace to give clean movement of the arms on the Y axis.
Torso.Neck.C1 = CFrame.new() --Sets the C1 to a blank CFrame so the head doesn't glitch.
Torso.Neck.C0 = CFrame.new(0, 1.5, 0) * CFrame.Angles(math.asin((Mouse.Hit.p - Mouse.Origin.p).unit.y), 0, 0) --Moves the head up by 1.5 studs and then sets the angle of your character's neck looking up towards the mouse using inverse trigonometry (A grade maths) and unit vectors (so you only get the direction.)
end)
--Char(Torso, shoulders) follows mouse?!?!!?!?
end

3 comments
This works but, when i hold the position to the side and continue walking, it glitched and like vibrates, can i fix this at all?
Turn off Humanoid.AutoRotate: http://wiki.roblox.com/index.php?title=API:Class/Humanoid/AutoRotate
Thanks so much!