Okey Dokey,
Picture 1 shows what the settings should be for the entities.
Picture 2 shows all the entities in the editor view.
So attach the helicopter.lua script to Bods gchopperanim1 model. Make sure the quatlib.lua file is in scriptbank, set the entity properties as follows (this will apply to all entities used):
Static Mode - No
Physics On - No
Always Active - Yes
(I always set the occluder options to No but I don't think they matter much)
For the helicopter (blade if you use a model with a separate blade) and rockets make Explodable Yes, more on rockets later.
Test your level, helicopter should fly around nicely.
Now add the muzzle flash, I used a red 'flare' decal for this, attach the helicopter_muzzle_flash.lua, test the level and now the helicopter will look like its firing the machine gun (if you use a different helicopter model the flash position will need to be changed in the script, look for the line with 0, 30, 164, these are the x.y.z offsets from the model origin to the machine gun barrel)
Once you are sure this is working extract the decal and copy it 5 times (it will be shared by all the helicopters you add so you only have to add them once not per helicopter)
Now add a smoke decal in the same way but attach the helicopter_muzzle_smoke.lua script, again 5 of them and test the level. (you need a decal that makes a darkish puff-ball effect)
Next add the bullet hit decals, experiment with different decals until it looks good, there are three scripts, helicopter_bullet_hit.lua must be used, this is the script that will detect a 'hit' on the player and remove health. The helicopter_bhs1.lua and helicopter_bhs2.lua are optional but give you a better effect with the right decals. Once happy with the effect extract and copy about 12 of each, these are also shared by all helicopters. (the height of the decals can be adjusted in the scripts, look for the ResetPosition(e, x, y + 40, z) line (for example) and adjust the number to suit the decal)
Once tested and looking as you want the final step is the most fun.
Find a rocket model, I have a 'Low Polygon' directory in entitybank, not sure if everyone has that, which contains some appropriate models, they must point in the same initial direction the helicopter does (i.e. straight up or +Z direction) to work properly. Scale it to be appropriate to the helicopter, add the helicopter_rocket.lua script and make sure you have 4 rocket models per helicopter. (the positioning of the rockets on the helicopter is controlled by the helicopter.lua script, look for displayRockets function and you will see some values, again these are the x.y.z offset values from the helicopter model origin for each rocket position, if the rocktes don't sit right on the helicopter you can adjust them until it looks right)
If you don't want the player to be able to shoot the rockets (which makes them and the whole helicopter explode and bypasses the nifty 'death throes') then set the 'Strength' for the rocket model to some value like 500.
So have fun.
Almost forgot, if the helicopter 'Strength' is left set to the default then the script will change it to 250, this allows two sniper rifle shots to kill it, if you want to make it harder to bring them down just give a higher strength value, an RPG hit will instantly destroy the helicopter regardless of the strength you give it.
Tip for the day, when the heli is in rocket range - Run!
Last word, in the top of the helicopter.lua there are two values you can change:
PlayerActivationRange - basically how close the player has to be to trigger the heli
HeliTargetHeight - rough height above terrain you want the heli to fly, the actually height will be a random amount slightly above or below this value, if you make it too low the rockets may not fire at all as the firing trigger point for the rockets is calculated taking into account the height above the player.
Been there, done that, got all the T-Shirts!