angy#=MouseYSpeed()*0.5
moveEntity cam, 0, angy, 0
|
Так тут ты сам двигаешь ее по оси Y....
У SubZero было moveentity cam,0,0,
angz - то есть он двигал по Z.
Но так как камера стоит не горизонтально из-зи ПоинтЕнтити, то она вверх-вних двигалась.
Чтобы проще было работать с камерой, сделай для нее свою систему координат -
Pivot
camPiv = createpivot()
cam = createcamera(
camPiv)
Теперь у тебя камера будет двигаться относительно camPiv.
Вместо передвижения камеры теперь передвигай camPiv, а саму камеру только поворачивай:
d_yaw# = entityyaw(camPiv,player) ;точно не помню название команды, вобщем она должна возвращать угол между игроком и камерой по оси Y
turnentity camPiv,0,d_yaw#,0
pointentity cam,player
Так ты повернешь canPiv мордой к игроку ТОЛЬКО по оси Y, это надо чтобы потом двигать его по Z (вобщем, в ГОРИЗОНТАЛЬНОЙ плоскости), а камера будет смотреть на игрока как раньше (должна

)
Если теперь тебе надо двигать камеру, то двигай
camPiv
angy#=MouseYSpeed()*0.5
1. moveEntity camPiv, 0, angy, 0 - вверх / вниз
2. moveEntity camPiv, 0, 0, angy - ближе / дальше по отношению к игроку
Раз тебе не надо вверх, то используй 2.