ok, im a little rusty on my scripting so this may not work but u seem to have the camera bit worked out. The bit that will tell you the last person alive could be:
_soldier1 = _this select 0
_soldier2 = _this select 1
_soldier3 = _this select 2
_soldier4 = _this select 3
_soldier5 = _this select 4
#loop
?(!alive _soldier1):_n + 1
?(!alive _soldier2):_n + 1
?(!alive _soldier3):_n + 1
?(!alive _soldier4):_n + 1
?(!alive _soldier5):_n + 1
?(_n = 4):goto: "checkwhich"
~0.2
goto: "loop"
#checkwhich
?(alive _soldier1):_lastmanalive = _soldier1
?(alive _soldier2):_lastmanalive = _soldier2
?(alive _soldier3):_lastmanalive = _soldier3
?(alive _soldier4):_lastmanalive = _soldier4
?(alive _soldier5):_lastmanalive = _soldier5
=*=*=*=*=*=*=*=*=*=*=
_pos=getpos _lastmanalive
_camera="camera" camcreate[_pos select 0, _pos select 1, (_pos select 2) + 3.5 ]
_camera cameraEffect ["EXTERNAL","TOP"]
_camera camSettarget _lastmanalive
_camera camCommit 0.01
~5
exit
now, if you wanted this to happen when the last man dies, not just when all his comrades are dead, then where i've put =*=*=*=*=*=*= you have to place the lines
#loop2
?(!alive _lastmanalive):goto: "loop2end"
~0.2
goto: "loop2"
#loop2end
hope this helps, and im not sure if you put the : after the goto, so you may need to edit that.