В файле sim_faction.script после строк:

cse_alife_smart_zone.update(self)
    --printf("Faction %s update, exp [%s]", self.player_name, tostring(self.current_expansion_level))
    self:calculate_absolute_power()

Вставляешь в зависимости от задачи:

1.Респавн случайного сквада в случайном месте (по всей зоне)

--Респавн случайного сквада в случайном месте (по всей зоне)

    if(db.actor) and self.board.simulation_started and (last_spawn_time_my == nil or game.get_game_time():diffSec(last_spawn_time_my) >= 5*60)
      then
        local board = sim_board.get_sim_board()
     local player_name = "csky"     
     local player = board.players[player_name]
     local spawn_smart = self.board:get_spawn_smart(self)
     if spawn_smart ~= nil then     
     local smart_name = spawn_smart:name()

      --' Спауним

      if xr_conditions.smart_squad_population(nil,nil,{player_name,smart_name,1}) then
       local squad = self.board:create_squad(player.player_name, sim_squad_generic.sim_squad_generic, spawn_smart)
       self.board:enter_smart(squad, spawn_smart.id)
       squad:update()
       news_manager.send_tip( db.actor, "Сквад заспавнен", nil, nil, 10000 )

       --' Пересчитываем Team, Squad, Group

       for k,v in pairs(squad.squad_npc) do
        local obj = alife():object(k)
        self.board:setup_squad_and_group(obj)
       end
       squad:refresh()
       last_spawn_time_my = game.get_game_time()
      end
     end     
    end

где:
5*60 - интервал времени между спавнами в игровых сек.,
player_name - имя группировки.

2.Респавн случайного сквада в случайном месте (на спавн смартах группировки)

--Респавн случайного сквада в случайном месте (на спавн смартах группировки)

    if(db.actor) and self.board.simulation_started and (last_spawn_time_my == nil or game.get_game_time():diffSec(last_spawn_time_my) >= 5*60)
      then
        local board = sim_board.get_sim_board()
     local player_name = "csky"     
     local player = board.players[player_name]
     local spawn_smart = player.board:get_spawn_smart(player)
     if spawn_smart ~= nil then     
     local smart_name = spawn_smart:name()

      --' Спауним

      if xr_conditions.smart_squad_population(nil,nil,{player_name,smart_name,1}) then
       local squad = self.board:create_squad(player.player_name, sim_squad_generic.sim_squad_generic, spawn_smart)
       self.board:enter_smart(squad, spawn_smart.id)
       squad:update()
       news_manager.send_tip( db.actor, "Сквад заспавнен", nil, nil, 10000 )

       --' Пересчитываем Team, Squad, Group

       for k,v in pairs(squad.squad_npc) do
        local obj = alife():object(k)
        self.board:setup_squad_and_group(obj)
       end
       squad:refresh()
       last_spawn_time_my = game.get_game_time()
      end
     end     
    end

3.Респавн случайного сквада в определенном месте (по имени смарта)

--Респавн случайного сквада в определенном месте (по имени смарта)

    if(db.actor) and self.board.simulation_started and (last_spawn_time_my == nil or game.get_game_time():diffSec(last_spawn_time_my) >= 5*60)
      then
        local board = sim_board.get_sim_board()
     local smart_name = "mar_smart_terrain_csky_respawn"
     local spawn_smart = board.smarts_by_names[smart_name]
     if spawn_smart ~= nil then     
     local player_name = "csky"     
     local player = board.players[player_name]

      --' Спауним

      if xr_conditions.smart_squad_population(nil,nil,{player_name,smart_name,1}) then
       local squad = self.board:create_squad(player.player_name, sim_squad_generic.sim_squad_generic, spawn_smart)
       self.board:enter_smart(squad, spawn_smart.id)
       squad:update()
       news_manager.send_tip( db.actor, "Сквад заспавнен", nil, nil, 10000 )

       --' Пересчитываем Team, Squad, Group

       for k,v in pairs(squad.squad_npc) do
        local obj = alife():object(k)
        self.board:setup_squad_and_group(obj)
       end
       squad:refresh()
       last_spawn_time_my = game.get_game_time()
      end
     end     
    end

где: smart_name - имя смарта для спавна отрядов.

4.Респавн скриптового сквада в определенном месте (по имени смарта)

--Респавн скриптового сквада в определенном месте (по имени смарта)

    if(db.actor) and self.board.simulation_started and (last_spawn_time_my == nil or game.get_game_time():diffSec(last_spawn_time_my) >= 5*60*60)
     then
     local smart_name = "mar_smart_terrain_csky_respawn"
     local squad_id = "mar_csky_attack"
     local player_name = "csky"
     if xr_conditions.smart_squad_population(nil,nil,{player_name,smart_name,1}) then
      xr_effects.create_squad(nil,nil,{squad_id,smart_name})
      news_manager.send_tip( db.actor, "Сквад заспавнен", nil, nil, 10000 )
      last_spawn_time_my = game.get_game_time()
     end
    end

где: squad_id - идентификатор сквада для спавна.