ZUm ersten Problem: Das MY.TILT = CAMERA.TILT weglassen. Dadurch würde ja das ganze modell nach oben drehen, das ist a unrealistisch (ein Mensch bewegt nur den Kopf auf der Tilt Achse
und b bewirkt das deine falschen Bewegungen da das ent_move ja relativ zu den Player winkeln arbeitet. Wenn du dann die Maus hoch und runterbewegst würde der Player versuchen in den Boden oder den Himmel zu laufen.
ZUm zweiten Problem:
Mach etwa so etwas:
CAMERA.TILT = clamp(CAMER.TILT + 20 * mouse_force.y * time,-X,X); //X ist der Grenzwert
CAMERA.PAN -= 20 * mouse_force.x * time;