I have also done this bunker, nearly all people who played it with me, liked it.
There are 2 flags near the place where you spawn to go to beach(I was trying to simulate Normandy, :P). The flag to go on bunker is near submarine. Zombies can come in from door and from the platform, so you will need to be prepare for everything.
Code:
SubBase()
{
ents = getEntArray();
for ( index = 0; index < ents.size; index++ )
{
if(isSubStr(ents[index].classname, "trigger_hurt"))
ents[index].origin = (0, 0, 9999999);
}
CreateElevator((-1567.19, -2480.43, 57.125), (-1457.92, -5363.27, -60.8477), (0, 0, 0));
CreateElevator((-1559.97, -2182.78, 42.4219), (-1445.92, -4390.71, -71.9175), (0, 0, 0));
mgTurret1 = spawnTurret( "misc_turret", (-3330.68, -4564.03, 406.636), "pavelow_minigun_mp" );
mgTurret1 setModel( "weapon_minigun" );
mgTurret1.angles = (0, -21.1383, 0);
mgTurret2 = spawnTurret( "misc_turret", (-3417.19, -6019.52, 303.339), "pavelow_minigun_mp" );
mgTurret2 setModel( "weapon_minigun" );
mgTurret2.angles = (0, 29.8959, 0);
mgTurret3 = spawnTurret( "misc_turret", (-2999.68, -3662.09, 393.386), "pavelow_minigun_mp" );
mgTurret3 setModel( "weapon_minigun" );
mgTurret3.angles = (0, -31.7034, 0);
CreateRamps((-2327.06, -7094.23, 180.499), (-2073.27, -7074.86, 298.125));
CreateGrids((2588.13, 697.475, -53.5267), (2329, 983.843, -53.5267), (0, 0, 0));
CreateWalls((2319.3, 994.104, -74.9147), (2318, 855.607, -260));
CreateDoors((2326.98, 881.344, -195.686), (2317.22, 762.395, -195.686), (90, 0, 0), 5, 1, 25, 75);
CreateElevator((660.513, 1302.16, 32.125), (677.057, 830.16, -239.875), (0, 0, 0));
CreateRamps((2531.29, 723.124, -239.875), (2370.89, 726.948, -150.481));
CreateGrids((2372.66, 818.929, -151.439), (2323.44, 694.891, -151.439), (0, 0, 0));
}