The player is not really IN the AC-130. The ac-130 model is linked to an script_origin entity, which is spawned center-map just above the buildings. The player is linked to that entity too, but somewhat lower (the player is hidden, otherwise it would look silly). So the player is not linked to the vehicle's tag_player, which might be related to your problem.
To test this theory, you can try spawning a script_origin entity, linking it to the vehicle's tag_player, and linking the player to this new entity instead.
level.chopper_link = spawn("script_origin", level.chopper getTagOrigin("tag_player"));
level.chopper_link linkto(level.chopper, "tag_player", (0,0,0), (0,0,0));
level.chopper_link setmodel("tag_origin");
level.ownerplayer = self;
level.ownerplayer linkTo(level.chopper_link, "tag_origin", ( 0,0,0 ), ( 0,0,0 ));
You have to precache the xmodel "tag_origin" somewhere before you can use this code.
precacheModel("tag_origin");
And of course you have to unlink both the player from the level.chopper_link and the level.chopper_link from the chopper itself when you're done.