First off, Kaliyuga is right, you need to name the AT4, because the naming part is necessary for the camCreate syntax.
Secondly, just from a brief glance on your script Pandoz, I'd say that there are some typos to fix ;D
Save this as explodeHelo.sqs
_man= _this select 0
_chopper = _this select 1
#checkLoop
? (_man in _chopper) : goto "boom"
~2
goto "checkLoop"
#boom
_chopper setdammage 4
exit
In the mission, put this in a trigger's condition field:
[unitName, heloName] exec {explodeHelo.sqs}
That's the ugly way of doing it, in my opinion. Now it will blow up (setDammage 4 will create an explosion, provided you have fuel and ammo in the chopper) whenever the unit specified enters the chopper. But that doesn't lend you much control, as the units are likely to enter the vehicle in random places. So if unitName enters first the first time you run the mission, it could enter last the second time you run it.
So I'm gonna work some on a script (don't have the time now) which is more dynamic.
Toodle-pip.