Damaging Helicopters?

Okay, this is really starting to piss me off.

I’m working on an achievements mod for the HL2 campaign, through Garry’s Mod, and I’ve gotten to the second helicopter fight (after the one where you damage the helicopter and have it fly off; this is the one where you fight it with the airboat) and it’s really starting to piss me off.

First off, the airboat gun doesn’t even do damage, which I’ve remedied by making a psuedogun that shoots invisible bullets whenever the airboat gun is firing, and that works fine.

Except against the helicopter. I have determined that the only thing, apart from the HL2 airboat gun, that can damage the helicopter, are player-launched rpg_missiles.

util.BlastDamage doesn’t do anything, npc_grenade_frags that explode as soon as they’re spawned inside the chopper do nothing, bullets (obviously) don’t do anything, spawning rpg_missiles via script don’t do anything, and the combine ball just goes right through the damn thing.

Is there any damn way I can damage this helicopter, or am I going to have to pull the lame-ass “Sorry but we’re going to skip this level because you can’t kill the helicopter in Gmod! :buddy:!” card?


I don’t have the code here but you can make the airboat gun do it’s regular damage. Without fake bullets or things like that. I’ll post it tomorrow if nobody else does, it has to do with setting cvars if I recall.

Yeah, Kogitsune figured it out for me by looking into the chopper’s Source code.

For anyone interested in restoring the Airboat gun, just throw this in somewhere:

[lua]local function AirboatGunRestore(ent, inf, atk, amt, info )
if (inf:IsVehicle()) and (inf:GetClass() == “prop_vehicle_airboat”) then
info:SetDamage( GetConVarNumber( “sk_plr_dmg_airboat” ) )
hook.Add(“EntityTakeDamage”,“Airboat Gun Restore”,AirboatGunRestore)[/lua]

You’ll also need to set the jeep’s regular fire damage.

The Jeep’s Gauss Gun doesn’t work either?! :saddowns:

The fix is exacly the same as for the airboat. The jeep also lacks an ammo case but I have a semi-working script to fix that. I say semi-working because it doesn’t works from certain angles, oddly enough.