ummmmmmmmmmm of course!! silly me! here it is:
_vlogic = []
_vtime = []
_count = count vehicles
_delay = 10
_i = 0
#load
_v = vehicles select _i
_vl = "Logic" createVehicle getPos _v
_vl setDir getDir _v
_vlogic = _vlogic + [_vl]
_vtime = _vtime +
_i = _i + 1
?_i < _count : goto "load"
#init
_i = 0
~3
#alive
_v = vehicles select _i
_vl = _vlogic select _i
?alive _v and _vl distance _v < 100 : goto "continue"
?alive _v and count crew _v != 0 : _vtime set [_i, 0]; goto "continue"
_vt = _vtime select _i
?_vt != 0 and _vt < _time : goto "notalive"
?_vt == 0 : _vtime set [_i, _time + _delay]
#continue
_i = _i + 1
?_i < _count : goto "alive"
goto "init"
#notalive
_vtype = typeOf _v
deleteVehicle _v
~1
_v = _vtype createVehicle getPos _vl
_v setDir getDir _vl
vehicles set [_i, _v]
_vtime set [_i, 0]
publicObject = _v
publicVariable "publicObject"
goto "continue"
well, this is the vehicle respawn i use