I think it is this line of code in randomWeapon.sqf that breaks the funtionality of vehicle spawning when arrays are in vehicleAddition = []
_additionArray = _additionArray - [_additionOne];
It is meant to keep the same items from spawning in the same vehicle again, BUT! When arrays are available to be selected under vehicleAddition =, the line of code above can't find _additionOne. Because if fnRandomNested.sqf selects an array when randomly selecting from an array, it will choose an item at random from THAT array until it has something. The line of code above can only 'see' one nested level deep.
I would be interested if anyone knows the proper terminology for this. I'm just learning to code for Arma 3.
Edit: Or it was broken because I was trying to put smoke grenades in there also. Those can't use the addItemCargoGlobal command, they use the addMagazineCargoGlobal command.