В файле scripts\release_body_manager.script в функции Crelease_body:try_to_release() после строк:

if (IsStalker(release_object) or IsMonster(release_object)) and not release_object:alive() then

Добавить:
     --Снять координаты

     local p=vector(),lv,gv
     p.x=release_object.position.x
     p.y=release_object.position.y
     p.z=release_object.position.z
     lv=releas e_ob ject.m_level_vertex_id
     gv=release_object.m_game_vertex_id

     --Спавн зомби

     local random_number=math.random(1,100)
     if math.random(1,100) < 15 then
     random_number=math.random(1,100)   
      if random_number < 10 then   
       alife():create("sim_default_zombied_1",p,lv,gv)
      end
      if random_number >= 10 and random_number < 30 then   
       alife():create("sim_default_zombied_2",p,lv,gv)   
      end
      if random_number >= 30 and random_number < 80 then   
       alife():create("sim_default_zombied_3",p,lv,gv)   
      end
      if random_number >= 80 and random_number <= 100 then   
       alife():create("sim_default_zombied_4",p,lv,gv)   
      end
     end

где if math.random(1,100) < 15 - спавн зомби с вероятностью 15%.
Выбор визуала зомби осуществляется также по вероятности:

10% - sim_default_zombied_1
20% - sim_default_zombied_2
50% - sim_default_zombied_3
20% - sim_default_zombied_4