Создание Мира - Расширенный рекрутинг в ходе событий (Medieval 2: Total War)

Создание Мира - Расширенный рекрутинг в ходе событий.

Кредиты:
Это пособие представляет собой обобщение идей и кода, обсуждаемых в двух темах под ними, все кредиты идут участникам:
Могут ли наемники быть ограниченными, чтобы только ИИ мог нанять их?

Как добавить наемников

Введение:
Запуск и остановка рекрутинга в ходе событий не является чем-то новым - это было сделано после того, как игра была опубликована, так что же здесь нового? Проблема использования условий event_counter заключается в том, что отключение приводило к сбросу пула, что сделало условие непригодным для частого включения\отключения - оставив только команду сценария «замораживания», которая в лучшем случае была «неуклюжей».Вопрос был в том, когда это происходит (по завершении хода мятежников), когда вы снова включаете условие, чтобы сохранить предыдущий накопленный пул - в отличие от принципа «Повторное включение после отключения» ,в другом моем пособии:

Создание Мира - постройка и поддержание уникальных зданий

Кодирование:
Вербовка наемников ограничивается фракциями
imperial_campaign_script
Два монитора [фракции] требуют репликации для каждой фракции, имеющих права.В качестве альтернативы можно использовать специальные счетчики фракций, что потребует клонирования линии наемников с этими счетчиками.
 Код:
monitor_event PreFactionTurnStart FactionType [faction]
  set_event_counter merc_turn 1
end_monitor

monitor_event PreFactionTurnStart not FactionType [faction]
  set_event_counter merc_turn 0
end_monitor

monitor_event FactionTurnEnd FactionType slave
  set_event_counter merc_turn 1
end_monitor

descr_mercenaries
Код:
pool [pool name]
    regions [region names]
    unit [unit name]            exp 0 cost 220 replenish 0.15 - 0.35 max 3 initial 5  events { merc_turn }

Сезонный набор
imperial_campaign_script
Часть скрипта подразумевает 12 оборотов в год, начиная с кампании, начинающейся зимой. Время рекрутинга будет с октября по март.
Код:

monitor_event PreFactionTurnStart FactionIsLocal
  inc_event_counter season_time 1
  if I_EventCounter season_time > 9            ; from October
    and I_EventCounter season_time < 4        ; to March
    set_event_counter recruit_season 1
  end_if
  if I_EventCounter season_time > 3            ; from April
    and I_EventCounter season_time < 10        ; to September
    set_event_counter recruit_season 0
  end_if
end_monitor

monitor_event FactionTurnEnd FactionType slave
  set_event_counter recruit_season 1
  if I_EventCounter season_time > 12
    set_event_counter season_time 0            ; resetting season counter
  end_if
end_monitor

export_descr_buildings
Код:
          
capability
            {
                recruit_pool "[unit name]"  1   0.2   2  0  requires factions { [faction name], } and event_counter recruit_season 1
            }


Вывод:
Исходя из этого принципа и примеров, Я уверен, что это можно расширить, чтобы имитировать другие включения\отключения принципов вербовки - Я работаю над скриптом, который позволит ограничить рекрутинг на основе относительного количества единиц, размещенных в сравнении с поселениями, где эти скрипты, безусловно, будут отображаться.

 

Добавить комментарий

Ссылки в комментариях не работают. Надоела капча - зарегистрируйся.

Защитный код
Обновить