I've got this server script:
game.Players.PlayerAdded:connect(function(player)
player.CharacterAdded:connect(function(char)
char.Torso.Changed:connect(function(look)
print(char.Torso.CFrame.lookVector)
end)
end)
end)
It's supposed to return the lookvector of the player's torso when it changes, however this doesn't work after the first few times for whatever reason.
EDIT: Tried using a repeat:
game.Players.PlayerAdded:connect(function(player)
player.CharacterAdded:connect(function(char)
wait()
repeat
print(char.Head.CFrame.lookVector)
wait(0.1)
until
char.Head ~= nil
end)
end)
Only fires once now for some reason.

2 comments
That makes sense. I'd need the LookVector whenever it changes but there isn't a property that would help me with that it seems.
If you're in a LocalScript, you can use the RenderStepped event to fire as fast as possible. For many purposes, though, 30 times a second should be sufficient with a simple while wait() loop.