Сообщество Империал: Персональная вербовка наемников - Моддинг юнитов и фракций в M2:TW - Моддинг Medieval 2: Total War - Библиотека - Сообщество Империал

  • Поиск
  • Законы
  • Сообщество
  • Репутация
  • Экономика
  • Больше

Информация об авторе

  • Автор: Avtocrator

Информация по статье

  • Добавлено: 05 Янв 2015, 22:21
  • Просмотры: 741

Дополнительно

Репутация: 3
Персональная вербовка наемников

Описание: дополнение к AOR системе
Персональная вербовка наемников
дополнение к AOR системе

перевод
На одном из немецких сайтов нашел довольно старый (2011 года) тутор камрада Deatheye о персональном найме войск (наемников) генералами. Суть его заключается в том, что игрок сможет конкретным генералом (и никаким другим) нанимать в определенном регионе определенный юнит.

Для работы понадобятся следующие файлы:

campaign_script - data/world/maps/campaign/imperial_campaign
descr_mercenaries - data/world/maps/campaign/imperial_campaign
export_descr_character_traits - data

Прежде всего нужно отметить что данный способ найма будет доступен лишь для игрока, ИИ не сможет им пользоваться.

Для того, чтоб данный способ работал только с конкретным генералом, нам необходимо каким-то образом этого генерала идентифицировать (чтоб он имел какую-то отличительную от остальных черту). Это можно сделать с помощью трейта или анча. В примере будет рассмотрен способ идентификации через трейт Наследник - Factionheir (названия трейтов можно посмотреть в файле export_descr_character_traits). Наследник будет иметь возможность нанимать крестоносцев в Шотландии и Ирландии.

Что касается самого способа найма, то он будет реализован через скрипт. В файл campaign_script необходимо добавить следующие строки:
monitor_event CharacterSelected Trait Factionheir = 1
and CharacterIsLocal
and IsRegionOneOf Dublin_Province Edinburgh_Province Inverness_Province
set_event_counter erbeschottland 1
end_monitor


Смысл данного скрипта следующий: если игроком выбран персонаж, имеющий трейт Наследник, и данный персонаж находится в окрестностях поселений Дублин, Эдинбург, Инвернесс - то скриптом выставляется счетчик erbeschottland 1. Значение 1 этого счетчика будет "разрешать" наем нужных нам юнитов.

Для того, чтоб запретить наем юнитов другими генералами, необходим второй скрипт, который обнулит счетчик:
monitor_event CharacterSelected Trait Factionheir = 0
set_event_counter erbeschottland 0
end_monitor


Т.е. если игрок выбрал персонажа, и этот персонаж не имеет трейт Наследник, то счетчик будет обнулен.


Однако сам по себе счетчик не может ни запретить, ни разрешить наем юнита. Для того, чтоб ограничить наем перейдем к файлу descr_mercenaries. В нем могут быть указаны следующие ограничения по найму юнитов:

start_year - год начала найма
end_year - год конца найма
religions - религия генерала, набирающего наемников.
crusading - наемники для Крестового похода или Джихада
events - событие, которое устанавливается по счетчику (это мы и будем использовать)

Найдем в этом файле строку с рыцарями-крестоносцами:
unit Crusader Knights exp 0 cost 1380 replenish 0.15 - 0.35 max 3 initial 1 end_year 1300 religions { catholic } crusading


и перенесем ее в нужный нам регион найма:
pool Scotland_Ireland
regions Dublin_Province Edinburgh_Province Inverness_Province
unit Crusader Knights exp 0 cost 1380 replenish 0.15 - 0.35 max 3 initial 1 end_year 1300 religions { catholic } crusading


Теперь мы меняем условия найма, чтоб только наследник нашей фракции мог нанять этих рыцарей в этом регионе:
pool Scotland_Ireland
regions Dublin_Province Edinburgh_Province Inverness_Province
unit Crusader Knights exp 0 cost 1380 replenish 0.15 - 0.35 max 3 initial 1 events { erbeschottland }


Все, теперь из всех наших генералов данный юнит сможет нанимать один только наследник.

:ps: Что касается ИИ, то как указано выше для него эта функция работать не будет и нанимать данный юнит в указанных регионах он вообще не сможет. Чтоб генералы ИИ (любые, не только наследники) могли нанимать данный юнит, можно сделать такой скрипт:

monitor_event FactionTurnStart FactionIsLocal
set_event_counter erbeschottland 0
end_monitor

monitor_event FactionTurnEnd FactionIsLocal
set_event_counter erbeschottland 1
end_monitor



Copyright © «Империал». Копирование информации с этой страницы возможно только при указании прямых ссылок на эту страницу.




      Стиль:
        08 Дек 2016, 09:15
    © 2016 «Империал». Условия предоставления. Ответственность сторон. Рекрутинг на Империале. Лицензия зарегистрирована на: «Империал». Счётчики