there are many ways to do this:
but i prefer this one:
function cam_follow(id,dist#,height#)
`get player data
posx# = object position x(id)
posy# = object position y(id)
posz# = object position z(id)
angy# = wrapvalue(object angle y(id) - 180)
`work out camera values
camx# = newxvalue(posx#,angy#,dist#)
camz# = newzvalue(posz#,angy#,dist#)
camy# = posy# + height#
`smooth camera movement
camx# = curvevalue(camx#, camera position x(), 15)
camy# = curvevalue(camy#, camera position y(), 15)
camz# = curvevalue(camz#, camera position z(), 15)
`update camera position and angle
position camera camx#,camy#,camz#
point camera posx#,posy# + height#,posz#
endfunction
Immunity and Annihalation makes Immunihalation...