I just spent about 3 hours working on a scripting setup to call a random zombie into the game.

You'll need to change the names of the zombies (I am using custom ones) but here's all 22 zombies (minus the ones w/o heads... they were useless to me!)
Code:
//////////////////////////////////////////////////////////
// //
// random zombie spawner //
// //
//////////////////////////////////////////////////////////
void random_zombie_spawner(vector spawnpos)
{
float num_zom_types = 22 - 1; //number of zombie types to choose from. ALL must be setup below! NOTE: 1 is subtracted because the random function could pick 0
float x = 0; //temp counting var
float random_x = int(sys.random(num_zom_types)); //random number generated
entity zombie_spawn;
sys.println(random_x);
if (random_x == 0)
{
sys.setSpawnArg("origin", spawnpos);
zombie_spawn = sys.spawn("monster_zombie_hs_boney");
zombie_spawn.activate(zombie_spawn);
}
if (random_x == 1)
{
sys.setSpawnArg("origin", spawnpos);
zombie_spawn = sys.spawn("monster_zombie_hs_fat");
zombie_spawn.activate(zombie_spawn);
}
if (random_x == 2)
{
sys.setSpawnArg("origin", spawnpos);
zombie_spawn = sys.spawn("monster_zombie_hs_fat2");
zombie_spawn.activate(zombie_spawn);
}
if (random_x == 3)
{
sys.setSpawnArg("origin", spawnpos);
zombie_spawn = sys.spawn("monster_zombie_hs_fat_wrench");
zombie_spawn.activate(zombie_spawn);
}
if (random_x == 4)
{
sys.setSpawnArg("origin", spawnpos);
zombie_spawn = sys.spawn("monster_zombie_hs_maint");
zombie_spawn.activate(zombie_spawn);
}
if (random_x == 5)
{
sys.setSpawnArg("origin", spawnpos);
zombie_spawn = sys.spawn("monster_zombie_hs_maint2");
zombie_spawn.activate(zombie_spawn);
}
if (random_x == 6)
{
sys.setSpawnArg("origin", spawnpos);
zombie_spawn = sys.spawn("monster_zombie_hs_maint_fast");
zombie_spawn.activate(zombie_spawn);
}
if (random_x == 7)
{
sys.setSpawnArg("origin", spawnpos);
zombie_spawn = sys.spawn("monster_zombie_hs_morgue");
zombie_spawn.activate(zombie_spawn);
}
if (random_x == 8)
{
sys.setSpawnArg("origin", spawnpos);
zombie_spawn = sys.spawn("monster_zombie_hs_jumpsuit");
zombie_spawn.activate(zombie_spawn);
}
if (random_x == 9)
{
sys.setSpawnArg("origin", spawnpos);
zombie_spawn = sys.spawn("monster_zombie_hs_maint_bald");
zombie_spawn.activate(zombie_spawn);
}
if (random_x == 10)
{
sys.setSpawnArg("origin", spawnpos);
zombie_spawn = sys.spawn("monster_zombie_hs_maint_no_jaw");
zombie_spawn.activate(zombie_spawn);
}
if (random_x == 11)
{
sys.setSpawnArg("origin", spawnpos);
zombie_spawn = sys.spawn("monster_zombie_hs_maint_nojaw");
zombie_spawn.activate(zombie_spawn);
}
if (random_x == 12)
{
sys.setSpawnArg("origin", spawnpos);
zombie_spawn = sys.spawn("monster_zombie_hs_maint_wrench");
zombie_spawn.activate(zombie_spawn);
}
if (random_x == 13)
{
sys.setSpawnArg("origin", spawnpos);
zombie_spawn = sys.spawn("monster_zombie_hs_maint_skinny");
zombie_spawn.activate(zombie_spawn);
}
if (random_x == 14)
{
sys.setSpawnArg("origin", spawnpos);
zombie_spawn = sys.spawn("monster_zombie_hs_suit_bloodymouth");
zombie_spawn.activate(zombie_spawn);
}
if (random_x == 15)
{
sys.setSpawnArg("origin", spawnpos);
zombie_spawn = sys.spawn("monster_zombie_hs_suit_skinny");
zombie_spawn.activate(zombie_spawn);
}
if (random_x == 16)
{
sys.setSpawnArg("origin", spawnpos);
zombie_spawn = sys.spawn("monster_zombie_hs_labcoat_limb");
zombie_spawn.activate(zombie_spawn);
}
if (random_x == 17)
{
sys.setSpawnArg("origin", spawnpos);
zombie_spawn = sys.spawn("monster_zombie_hs_labcoat_skinny");
zombie_spawn.activate(zombie_spawn);
}
if (random_x == 18)
{
sys.setSpawnArg("origin", spawnpos);
zombie_spawn = sys.spawn("monster_zombie_hs_labcoat_pipe");
zombie_spawn.activate(zombie_spawn);
}
if (random_x == 19)
{
sys.setSpawnArg("origin", spawnpos);
zombie_spawn = sys.spawn("monster_zombie_hs_tshirt_bald");
zombie_spawn.activate(zombie_spawn);
}
if (random_x == 20)
{
sys.setSpawnArg("origin", spawnpos);
zombie_spawn = sys.spawn("monster_zombie_hs_tshirt_blown");
zombie_spawn.activate(zombie_spawn);
}
if (random_x == 21)
{
sys.setSpawnArg("origin", spawnpos);
zombie_spawn = sys.spawn("monster_zombie_hs_maint_flashlight");
zombie_spawn.activate(zombie_spawn);
}
}
this is an example for how you'd call it (for those "new" guys who don't want to spend 3 hours like I did!)
Code:
void car_spawner()
{
vector spawnpos1 = '680 256 24';
vector spawnpos2 = '-712 -32 24';
random_zombie_spawner(spawnpos1);
random_zombie_spawner(spawnpos2);
}
of course the spawn position can be a variable, I just had definate points in mind (plus it save an entity in the long run).
Enjoy!