Yes thats works.
I tried similar stuff in OFP and it never worked.
I tried to create a script from your code:
Params
1-- camera ID
2-- Camrelpos array
3-- Target to film
4-- Zoomfactor when the scene starts
5-- Zoomfactor when the scene ends
Full example (run it in your camerascript)
[_camera,[10,0,2],myjeep,0.7,0.2] exec "script.sqs"
_cam = _this select 0
_target = _this select 1
_camrelpos = _this select 2
_startzoom = _this select 3
_endzoom = _this select 4
@!(VEHZOOM_ON)
VEHZOOM_ON = true
_xpos = _Camrelpos select 0
_ypos = _Camrelpos select 1
_zpos = _Camrelpos select 2
Cuttext ["","BLACK IN",1]
#scene
_cam camPrepareTarget _target;
_cam camPrepareRelPos [_xpos,_ypos,_zpos];
_cam camPrepareFOV _startzoom;
_cam camCommitPrepared 0
~0.001
_startzoom = _startzoom - 0.001;
?_startzoom < _endzoom : VEHZOOM_ON = false;goto "done"
goto "scene"
#done
~0.2
exit
It works but it's hard to control the duration of the scene.
It's far from perfect but it's a start
It would be better in sqf, but I'm not there yet.
Check the example in the attachment