Программа предназначена для расширения возможностей игры Medieval 2: Total War.
Данная инструкция почти полностью устарела, обновлённая инструкция выйдет в свет вместе с новой версией программы
Функционал программы разделен на две части:
первая - внесение изменений в код игры при запуске мтв2(изменение различных лимитов движка, более тонкая его настройка и т.д.)
вторая - манипуляции с игрой после её запуска.
первая - внесение изменений в код игры при запуске мтв2(изменение различных лимитов движка, более тонкая его настройка и т.д.)
вторая - манипуляции с игрой после её запуска.
Часть 1
Просьба не включать программу в свои модификации без моего разрешения(а я разрешу, если вы спросите). Просто хочется иметь какую-нибудь статистику использования.

Позволяет задавать свои собственные лимиты для числа религий, анчей, блокировать изменение размера отрядов, задавать границы количества солдат в отрядах, размер карты битвы и стоимость осадного оборудования(тараны, лестницы, осадные башни). Также можно сделать любых персонажей бессмертными и изменить способ отображения их возраста. Можно задавать свой префикс для юнитов с параметром legio. Пофиксен вылет при использовании берсерков в битве. Добавлена возможность многократного апгрейда охраны генералов. Расширена система скриптов. И ещё много других изменений.

Данная программа может быть полезна при создании собственных модификаций для игры MTW2.
Эта часть работает с версиями игры 1.5(дисковая версия) и 1.52(стим версия).
Настройки программы задаются в конфиг файлах limits.youneuoycfg и применяются при запуске игры.
Все вносимые изменения корректно работают в уже идущей кампании, при обновлениях ничего не ломается, достаточно просто не активировать новые возможности.
Как это сделать (раскрыть)
Патчи, задающиеся в конфигах применяются, если запустить HotSeatTool при определённых настройках. Файлы программы должны находиться в папке запускаемого мода.
Запуск настраивается следующими параметрами:
Starting_mod - запустить мод, ваниль или саму программу.
Может принимать значения:
0 - запустить ваниль
2 - запустить только программу(в таком случае никакие патчи к игре не применяются)
1 - запустить мод. В таком случае нужно указать название конфиг файла модификации в строке Mod_CFG_Name, пример:
Starting_mod=1
Mod_CFG_Name=TATW.cfg
Видео, в котором показывается настройка запуска:
Патчи, задающиеся в конфигах применяются, если запустить HotSeatTool при определённых настройках. Файлы программы должны находиться в папке запускаемого мода.
Запуск настраивается следующими параметрами:
Starting_mod - запустить мод, ваниль или саму программу.
Может принимать значения:
0 - запустить ваниль
2 - запустить только программу(в таком случае никакие патчи к игре не применяются)
1 - запустить мод. В таком случае нужно указать название конфиг файла модификации в строке Mod_CFG_Name, пример:
Starting_mod=1
Mod_CFG_Name=TATW.cfg
Видео, в котором показывается настройка запуска:
Новые скриптовые возможности и изменённая система меток (раскрыть)
Инструкции и обсуждения Для просмотра ссылки Зарегистрируйтесь
Новые скриптовые возможности и изменённая система дипломатии (раскрыть)
Инструкции и обсуждения Для просмотра ссылки Зарегистрируйтесь
Настройки в modConfig.youneuoycfg (раскрыть)
UnlockConsoleChangeFaction - позволяет использовать консольную команду "change faction" в одиночной игре. Должно быть 1 или 0, пример:
UnlockConsoleChangeFaction = 1
FullLoggingEnabled - включить полное логгирование. Пример:
FullLoggingEnabled = 1
LegioString - строка, которая будет отображаться вместо префикса legio у юнитов. Должна быть в "кавычках", только английские символы. Пример:
LegioString="Legio "
Фикс берсерков: (раскрыть)
Berserker мораль и lock_morale вместе работают некорректно! Ну, то есть корректно, то есть берсерк может не срабатывать.
Если в игре задать юниту параметры warcry(в строке attributes) и параметр berserker(второй в строке stat_mental), то он получает характеристику берсерк(неуправляем после начала рукопашной схватки). В бою это приводило к вылетам. Данная программа позволяет это исправить.
Активируется фикс при помощи параметра CorrectionOfBerserkers в файле modConfig.youneuoycfg. Для активации нужно установить данный параметр в 1.
Berserker мораль и lock_morale вместе работают некорректно! Ну, то есть корректно, то есть берсерк может не срабатывать.
Если в игре задать юниту параметры warcry(в строке attributes) и параметр berserker(второй в строке stat_mental), то он получает характеристику берсерк(неуправляем после начала рукопашной схватки). В бою это приводило к вылетам. Данная программа позволяет это исправить.
Активируется фикс при помощи параметра CorrectionOfBerserkers в файле modConfig.youneuoycfg. Для активации нужно установить данный параметр в 1.
UnlockConsoleChangeFaction - позволяет использовать консольную команду "change faction" в одиночной игре. Должно быть 1 или 0, пример:
UnlockConsoleChangeFaction = 1
FullLoggingEnabled - включить полное логгирование. Пример:
FullLoggingEnabled = 1
LegioString - строка, которая будет отображаться вместо префикса legio у юнитов. Должна быть в "кавычках", только английские символы. Пример:
LegioString="Legio "
Настройки в limits.youneuoycfg (раскрыть)
Стоимость осадного оборудования(тараны, лестницы, осадные башни) (раскрыть)
строки Siege_Ram_Cost,Siege_Ladder_Cost и Siege_Tower_Cost. Допустимые значения от 1 и выше(9999, например). Стандартные значения - 50,15, 65.
строки Siege_Ram_Cost,Siege_Ladder_Cost и Siege_Tower_Cost. Допустимые значения от 1 и выше(9999, например). Стандартные значения - 50,15, 65.
Лимит религий (раскрыть)
Задаётся в строке Religion_Limit, по умолчанию в игре стоит значение 10, теоретически максимальное значение 255(если такое число будет корректно работать и кому-нибудь нужно будет его превысить, то можно будет его ещё увеличить). Рекомендуется ставить численность, необходимую именно вам.
Задаётся в строке Religion_Limit, по умолчанию в игре стоит значение 10, теоретически максимальное значение 255(если такое число будет корректно работать и кому-нибудь нужно будет его превысить, то можно будет его ещё увеличить). Рекомендуется ставить численность, необходимую именно вам.
Лимит анчей(спутников, особенностей или как там оно) (раскрыть)
Задаётся в строке Ancillaries_Limit, в игре по умолчанию задано значение 8. Рекомендую ставить не слишком большое число. Макс.значение 255.
Задаётся в строке Ancillaries_Limit, в игре по умолчанию задано значение 8. Рекомендую ставить не слишком большое число. Макс.значение 255.
Численность отрядов (раскрыть)
Позволяет задать максимальные и минимальные границы для размеров отряда в файле export_descr_unit.txt, по умолчанию эти значения 4 и 100.
Если выставить минимальную численность отрядов в игре, то в данном файле можно будет чётко задавать необходимую вам численность отряда, без применения модификаторов численности. Т.е. можно одновременно создавать отряды с 1 и с 300 солдатами.
Регулируется четырьмя параметрами:
Lock_Size_Of_Unit, позволяет заблокировать возможность изменения размеров отряда в игре, активируется, если ввести не нулевое значение(например единицу). Нужен для избежания вылетов(если в EDU выставить численность отряда 300 и запустить игру с максимальным размеров отрядов, то случится вылет при её запуске).
Size_Of_Unit, размер отряда. Диапазон значений от 0 до 3. Рекомендуется использовать вместе с Lock_Size_Of_Unit и установить значение 0. 0 - минимальный размер, 3 максимальный.
Min_Soldiers_In_Edu - минимальная граница численности в EDU, от нуля и выше.
Max_Soldiers_In_Edu - верхняя граница численности в EDU, рекомендуется ставить значение меньше 300, с большими игра может работать нестабильно или вылетать.
Позволяет задать максимальные и минимальные границы для размеров отряда в файле export_descr_unit.txt, по умолчанию эти значения 4 и 100.
Если выставить минимальную численность отрядов в игре, то в данном файле можно будет чётко задавать необходимую вам численность отряда, без применения модификаторов численности. Т.е. можно одновременно создавать отряды с 1 и с 300 солдатами.
Регулируется четырьмя параметрами:
Lock_Size_Of_Unit, позволяет заблокировать возможность изменения размеров отряда в игре, активируется, если ввести не нулевое значение(например единицу). Нужен для избежания вылетов(если в EDU выставить численность отряда 300 и запустить игру с максимальным размеров отрядов, то случится вылет при её запуске).
Size_Of_Unit, размер отряда. Диапазон значений от 0 до 3. Рекомендуется использовать вместе с Lock_Size_Of_Unit и установить значение 0. 0 - минимальный размер, 3 максимальный.
Min_Soldiers_In_Edu - минимальная граница численности в EDU, от нуля и выше.
Max_Soldiers_In_Edu - верхняя граница численности в EDU, рекомендуется ставить значение меньше 300, с большими игра может работать нестабильно или вылетать.
Размеры тактической карты (раскрыть)
Регулируется двумя параметрами Battlefield_Map_Size_X и Battlefield_Map_Size_Y. Максимальное число примерно 2000. Рекомендуется ставить чуть меньше. Стандартные значения - 1024 1024 для полевой битвы и 1728 1728 для карт осад. Чтобы не плодить много настроек в обоих случаях будут применяться одни и те же значения(зато теперь можно x и y менять).
Если кому-нибудь прям очень нужно будет, то добавлю возможность задавать различные размеры для карт осад и обычных битв(вот только зачем такое может потребоваться?).
Регулируется двумя параметрами Battlefield_Map_Size_X и Battlefield_Map_Size_Y. Максимальное число примерно 2000. Рекомендуется ставить чуть меньше. Стандартные значения - 1024 1024 для полевой битвы и 1728 1728 для карт осад. Чтобы не плодить много настроек в обоих случаях будут применяться одни и те же значения(зато теперь можно x и y менять).
Если кому-нибудь прям очень нужно будет, то добавлю возможность задавать различные размеры для карт осад и обычных битв(вот только зачем такое может потребоваться?).
Настройки апгрейда генералов (раскрыть)
в папке мода в файле по пути youneuoy_Data\guard.yoneuoycfg задаются параметры. Каждый параметр занимает 4 строки:
тип условия - trait, ancillary, name, passed_Turns
искомое значение для сравнения (количество ходов, название трейта, имя и т.д.)
название старого типа отрядов
название нового типа отрядов - рекомендуется задавать отряды одного класса с заменяемым(тяжелая кавалерия на тяжелую кавалерию и т.д.). Просьба проверить совместимость различных классов и написать о замеченных проблемах.
приоритет(условия проверяются по очереди от большего приоритета к меньшему. Если условие срабатывает, то остальные для данного юнита не проверяются)
все проверки происходят в момент перед началом нового хода!
пример итогового файла:
Видео с демонстрацией:
в папке мода в файле по пути youneuoy_Data\guard.yoneuoycfg задаются параметры. Каждый параметр занимает 4 строки:
тип условия - trait, ancillary, name, passed_Turns
искомое значение для сравнения (количество ходов, название трейта, имя и т.д.)
название старого типа отрядов
название нового типа отрядов - рекомендуется задавать отряды одного класса с заменяемым(тяжелая кавалерия на тяжелую кавалерию и т.д.). Просьба проверить совместимость различных классов и написать о замеченных проблемах.
приоритет(условия проверяются по очереди от большего приоритета к меньшему. Если условие срабатывает, то остальные для данного юнита не проверяются)
все проверки происходят в момент перед началом нового хода!
пример итогового файла:
Спойлер (раскрыть)
passed_Turns
1
NE Bodyguard
EE Bodyguard
1
passed_Turns
2
EE Bodyguard
Greek Bodyguard
2
trait
Biografia_Enrico_II_Plantageneto
EE Bodyguard
NE Bodyguard
11
passed_Turns
1
NE Bodyguard
EE Bodyguard
1
passed_Turns
2
EE Bodyguard
Greek Bodyguard
2
trait
Biografia_Enrico_II_Plantageneto
EE Bodyguard
NE Bodyguard
11
Видео с демонстрацией:
Спойлер (раскрыть)
Изменение настроек возраста(бессмертные персонажи и т.д.) (раскрыть)
Как работает система с бессмертными персонажами(в том числе агентами, адмиралами и т.д.):
в папке мода в файле по пути youneuoy_Data\age.yoneuoycfg задаются параметры. Каждый параметр занимает три строки:
тип параметра(trait,ancillary,name)
проверяемое значение(название этого trait,ancillary или name, без указания уровня трейта! Важно только его наличие(могу сделать и для уровней, если кому-нибудь будет нужно)).
строка для отображения на экран. Стандартно игра выводит возраст так: %S %d. С ней можно делать следующее:
вводить символы %S и %d (только по одному и именно такого размера, но никак не %s и %D!).
%S подставляет строку из текстового файла strat.txt(SMT_AGE), %d выводит фактический возраст персонажа.
записывать любое число, которое будет увеличиваться каждый год(именно год, не turn, дополнительно ничего настраивать не нужно). В таком случае значение для вывода на экран вычисляется по формуле: введённое в строку число+текущий год в кампании-дата рождения персонажа. То есть если ввести строку %S 2322 и задать персонажу в descr_strat возраст 20 лет, а кампания начинается в 1020 году, то на экран выведется следующее: Age:(ну или то, что записано у вас в SMT_AGE) 2342. Через год выведется сообщение Age:(ну или то, что записано у вас в SMT_AGE) 2343 и т.д.
Также вы можете добавлять к этим строкам различные буквы и символы(но не %s,%D и т.д.).
Можно просто задать несколько пробелов.
Пример файла:
Игра проверяет эти параметры для персонажа раз после хода ребелов или при открытии окна информации. Проверяются параметры по порядку, в котором они записанны в age.yoneuoycfg, если встречается хоть одно совпадение, то для данного персонажа задаются нужные параметры(сбрасывается возраст до 25 лет, в обоих случаях) и сообщение для вывода на экран(только при открытии окна характеристик)
Отследить ошибки вы можете, прочитав лог-файл по пути: папка mtw2/logs/ages.youneuoylog
Как работает система с бессмертными персонажами(в том числе агентами, адмиралами и т.д.):
в папке мода в файле по пути youneuoy_Data\age.yoneuoycfg задаются параметры. Каждый параметр занимает три строки:
тип параметра(trait,ancillary,name)
проверяемое значение(название этого trait,ancillary или name, без указания уровня трейта! Важно только его наличие(могу сделать и для уровней, если кому-нибудь будет нужно)).
строка для отображения на экран. Стандартно игра выводит возраст так: %S %d. С ней можно делать следующее:
вводить символы %S и %d (только по одному и именно такого размера, но никак не %s и %D!).
%S подставляет строку из текстового файла strat.txt(SMT_AGE), %d выводит фактический возраст персонажа.
записывать любое число, которое будет увеличиваться каждый год(именно год, не turn, дополнительно ничего настраивать не нужно). В таком случае значение для вывода на экран вычисляется по формуле: введённое в строку число+текущий год в кампании-дата рождения персонажа. То есть если ввести строку %S 2322 и задать персонажу в descr_strat возраст 20 лет, а кампания начинается в 1020 году, то на экран выведется следующее: Age:(ну или то, что записано у вас в SMT_AGE) 2342. Через год выведется сообщение Age:(ну или то, что записано у вас в SMT_AGE) 2343 и т.д.
Также вы можете добавлять к этим строкам различные буквы и символы(но не %s,%D и т.д.).
Можно просто задать несколько пробелов.
Пример файла:
Спойлер (раскрыть)
trait
testnametrait
hello!
ancillary
testnameancillary
fff
name
Enrico_II Plantageneto
%S 2312
name
testname
test 12333 xD
testnametrait
hello!
ancillary
testnameancillary
fff
name
Enrico_II Plantageneto
%S 2312
name
testname
test 12333 xD
Игра проверяет эти параметры для персонажа раз после хода ребелов или при открытии окна информации. Проверяются параметры по порядку, в котором они записанны в age.yoneuoycfg, если встречается хоть одно совпадение, то для данного персонажа задаются нужные параметры(сбрасывается возраст до 25 лет, в обоих случаях) и сообщение для вывода на экран(только при открытии окна характеристик)
Отследить ошибки вы можете, прочитав лог-файл по пути: папка mtw2/logs/ages.youneuoylog
Благодарности (раскрыть)
В программе использованы наработки камрадов Aura и Jojo00182 с твцентра.
В программе использованы наработки камрадов Aura и Jojo00182 с твцентра.
Часть 2
- Упрощение переноса битв из карты кампании в онлайн
- Редактирование армий на карте кампании после онлайн битвы, в том числе автоматическое(инструкция под спойлером "Редактирование потерь после онлайн битвы")
- Упрощение редактирования некоторых файлов игры
Перенос битвы в онлайн (раскрыть)
Это действие доступно любому игроку, даже в одиночной игре. На выходе получается файл такого вида:
Часть данных всё ещё нужно вписывать самому, а именно:
погода
альянсы, номера армий во фракции
условия победы
а также города и может быть что-то ещё.
Довольно легко сделать из этого файла историческую битву для онлайн игры.
Это действие доступно любому игроку, даже в одиночной игре. На выходе получается файл такого вида:
Спойлер (раскрыть)
; Generated by HotSeatTool
battle battleName multiplayer
playable
sicily
england
end
nonplayable
end
start_date 500 summer
end_date 500 summer
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;
; >>>> start of factions section <<<<
faction sicily
character Hurin, named character, male, age 46, x 0, y 0, portrait Hurin
traits DunedainRace 1 , GoodCommander 2 , GoodDefender 2 , Just 1 , Loyal 1 , LoyaltyStarter 1 , ReligionStarter 1 , TacticalSkill 2
army
unit Gondor Bodyguard soldiers 16 exp 3 armour 0 weapon_lvl 1
unit Gondor Militia Archers soldiers 60 exp 2 armour 0 weapon_lvl 1
unit Gondor Militia Archers soldiers 60 exp 0 armour 0 weapon_lvl 0
unit Ithilien Rangers soldiers 40 exp 1 armour 0 weapon_lvl 0
unit Ithilien Rangers soldiers 40 exp 1 armour 0 weapon_lvl 0
unit Gondor Militia Swordsmen soldiers 70 exp 2 armour 1 weapon_lvl 0
unit Gondor Militia Swordsmen soldiers 70 exp 0 armour 0 weapon_lvl 0
unit Gondor Militia Swordsmen soldiers 70 exp 2 armour 1 weapon_lvl 1
unit Gondor Militia Swordsmen soldiers 70 exp 0 armour 0 weapon_lvl 0
unit Gondor Levy Spearmen soldiers 70 exp 1 armour 0 weapon_lvl 0
unit Gondor Levy Spearmen soldiers 70 exp 0 armour 0 weapon_lvl 0
character Captain Denethor, named character, male, age 50, x 0, y 0, portrait Denethor, battle_model denethor, hero_ability IRON_FIST
army
unit Gondor Bodyguard soldiers 16 exp 4 armour 0 weapon_lvl 1
unit Gondor Levy Spearmen soldiers 70 exp 0 armour 0 weapon_lvl 0
faction england
character Nazgula, named character, male, age 16, x 0, y 0, portrait nazgul1
traits Nazgul 1 , Hero 1 , NazgulRace 1 , HeroAbilityWitchKing 1 , BattleDread 3 , CaptorDread 1 , GoodCommander 4 , NightBattleCapable 1 , NazgulEpithet 1
ancillaries ring_witchking, witchking_flail, witchking_helmet, troops_mordor_west, ring_nazgula, nazgul_robe
army
unit Mordor Elite Cavalry soldiers 16 exp 4 armour 0 weapon_lvl 0
unit Mordor Uruk Spearmen soldiers 70 exp 5 armour 0 weapon_lvl 0
unit Mordor Militia Spearmen soldiers 100 exp 2 armour 2 weapon_lvl 1
unit Mordor Infantry Swordsmen soldiers 100 exp 0 armour 0 weapon_lvl 0
unit Mordor Militia Archers soldiers 90 exp 0 armour 0 weapon_lvl 0
unit Mordor Militia Archers soldiers 90 exp 0 armour 0 weapon_lvl 1
unit Mordor Militia Archers soldiers 90 exp 0 armour 0 weapon_lvl 1
unit Mordor Infantry Archers soldiers 70 exp 0 armour 0 weapon_lvl 0
unit Mordor Infantry Archers soldiers 70 exp 0 armour 0 weapon_lvl 0
unit Mordor Infantry Archers soldiers 70 exp 0 armour 0 weapon_lvl 0
unit Mordor Medium Swordsmen soldiers 90 exp 0 armour 0 weapon_lvl 0
unit Mordor Medium Swordsmen soldiers 90 exp 0 armour 0 weapon_lvl 0
unit Mordor Medium Swordsmen soldiers 90 exp 0 armour 0 weapon_lvl 0
unit Orc Maulers soldiers 90 exp 0 armour 0 weapon_lvl 0
unit Orc Maulers soldiers 90 exp 1 armour 0 weapon_lvl 0
unit Orc Maulers soldiers 90 exp 1 armour 0 weapon_lvl 0
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;
; >>>> start of battle section <<<<
battle 0, 0
battle_time 12.00 11.00
weather clear
home_faction home_faction_here
alliance factions_alliance1, defending
alliance factions_alliance2, attacking
army sicily, number_in_faction_here, no_withdraw, supporting_armies 0
deployment_area_point -400, 400
deployment_area_point 550, 400
deployment_area_point 550, -400
deployment_area_point -400, -400
unit 0, 425.919, 48.7415, 0, formation_type square, formation_width 50
unit 1, 404.445, 128.301, 0, formation_type square, formation_width 50
unit 2, 369.903, 68.6526, 0, formation_type square, formation_width 50
unit 3, 355.925, 82.0169, 0, formation_type square, formation_width 50
unit 4, 342.073, 95.8731, 0, formation_type square, formation_width 50
unit 5, 377.025, 82.7667, 0, formation_type square, formation_width 50
unit 6, 395.498, 119.162, 0, formation_type square, formation_width 50
unit 7, 385.468, 108.969, 0, formation_type square, formation_width 50
unit 8, 347.632, 71.5111, 0, formation_type square, formation_width 50
unit 9, 328.335, 110.155, 0, formation_type square, formation_width 50
unit 10, 314.488, 124.109, 0, formation_type square, formation_width 50
army sicily, number_in_faction_here, no_withdraw, supporting_armies 0
deployment_area_point -400, 400
deployment_area_point 550, 400
deployment_area_point 550, -400
deployment_area_point -400, -400
unit 0, 0, 70.8357, 0, formation_type square, formation_width 50
unit 1, 0, 80.9283, 0, formation_type square, formation_width 50
army england, number_in_faction_here, no_withdraw, supporting_armies 0
deployment_area_point 860, 860
deployment_area_point 0, 860
deployment_area_point 0, 625
deployment_area_point 680, 625
deployment_area_point 680, -625
deployment_area_point 0, -625
deployment_area_point 0, -860
deployment_area_point 860, -860
unit 0, 558.627, 673.244, 0, formation_type square, formation_width 50
unit 1, 568.976, 666.562, 0, formation_type square, formation_width 50
unit 2, 647.985, 631.474, 0, formation_type square, formation_width 50
unit 3, 617.597, 630.239, 0, formation_type square, formation_width 50
unit 4, 630.541, 630.257, 0, formation_type square, formation_width 50
unit 5, 625.164, 666.4, 0, formation_type square, formation_width 50
unit 6, 641.31, 650.836, 0, formation_type square, formation_width 50
unit 7, 658.118, 633.938, 0, formation_type square, formation_width 50
unit 8, 674.859, 630.292, 0, formation_type square, formation_width 50
unit 9, 691.61, 630.768, 0, formation_type square, formation_width 50
unit 10, 579.852, 655.635, 0, formation_type square, formation_width 50
unit 11, 654.89, 631.047, 0, formation_type square, formation_width 50
unit 12, 592.486, 642.877, 0, formation_type square, formation_width 50
unit 13, 667.111, 630.315, 0, formation_type square, formation_width 50
unit 14, 604.706, 630.517, 0, formation_type square, formation_width 50
unit 15, 678.611, 631.135, 0, formation_type square, formation_width 50
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;
; >>>> start of objectives scripting section <<<<
objectives
alliance 0
condition destroy_or_rout_enemy
alliance 1
condition destroy_or_rout_enemy
battle battleName multiplayer
playable
sicily
england
end
nonplayable
end
start_date 500 summer
end_date 500 summer
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;
; >>>> start of factions section <<<<
faction sicily
character Hurin, named character, male, age 46, x 0, y 0, portrait Hurin
traits DunedainRace 1 , GoodCommander 2 , GoodDefender 2 , Just 1 , Loyal 1 , LoyaltyStarter 1 , ReligionStarter 1 , TacticalSkill 2
army
unit Gondor Bodyguard soldiers 16 exp 3 armour 0 weapon_lvl 1
unit Gondor Militia Archers soldiers 60 exp 2 armour 0 weapon_lvl 1
unit Gondor Militia Archers soldiers 60 exp 0 armour 0 weapon_lvl 0
unit Ithilien Rangers soldiers 40 exp 1 armour 0 weapon_lvl 0
unit Ithilien Rangers soldiers 40 exp 1 armour 0 weapon_lvl 0
unit Gondor Militia Swordsmen soldiers 70 exp 2 armour 1 weapon_lvl 0
unit Gondor Militia Swordsmen soldiers 70 exp 0 armour 0 weapon_lvl 0
unit Gondor Militia Swordsmen soldiers 70 exp 2 armour 1 weapon_lvl 1
unit Gondor Militia Swordsmen soldiers 70 exp 0 armour 0 weapon_lvl 0
unit Gondor Levy Spearmen soldiers 70 exp 1 armour 0 weapon_lvl 0
unit Gondor Levy Spearmen soldiers 70 exp 0 armour 0 weapon_lvl 0
character Captain Denethor, named character, male, age 50, x 0, y 0, portrait Denethor, battle_model denethor, hero_ability IRON_FIST
army
unit Gondor Bodyguard soldiers 16 exp 4 armour 0 weapon_lvl 1
unit Gondor Levy Spearmen soldiers 70 exp 0 armour 0 weapon_lvl 0
faction england
character Nazgula, named character, male, age 16, x 0, y 0, portrait nazgul1
traits Nazgul 1 , Hero 1 , NazgulRace 1 , HeroAbilityWitchKing 1 , BattleDread 3 , CaptorDread 1 , GoodCommander 4 , NightBattleCapable 1 , NazgulEpithet 1
ancillaries ring_witchking, witchking_flail, witchking_helmet, troops_mordor_west, ring_nazgula, nazgul_robe
army
unit Mordor Elite Cavalry soldiers 16 exp 4 armour 0 weapon_lvl 0
unit Mordor Uruk Spearmen soldiers 70 exp 5 armour 0 weapon_lvl 0
unit Mordor Militia Spearmen soldiers 100 exp 2 armour 2 weapon_lvl 1
unit Mordor Infantry Swordsmen soldiers 100 exp 0 armour 0 weapon_lvl 0
unit Mordor Militia Archers soldiers 90 exp 0 armour 0 weapon_lvl 0
unit Mordor Militia Archers soldiers 90 exp 0 armour 0 weapon_lvl 1
unit Mordor Militia Archers soldiers 90 exp 0 armour 0 weapon_lvl 1
unit Mordor Infantry Archers soldiers 70 exp 0 armour 0 weapon_lvl 0
unit Mordor Infantry Archers soldiers 70 exp 0 armour 0 weapon_lvl 0
unit Mordor Infantry Archers soldiers 70 exp 0 armour 0 weapon_lvl 0
unit Mordor Medium Swordsmen soldiers 90 exp 0 armour 0 weapon_lvl 0
unit Mordor Medium Swordsmen soldiers 90 exp 0 armour 0 weapon_lvl 0
unit Mordor Medium Swordsmen soldiers 90 exp 0 armour 0 weapon_lvl 0
unit Orc Maulers soldiers 90 exp 0 armour 0 weapon_lvl 0
unit Orc Maulers soldiers 90 exp 1 armour 0 weapon_lvl 0
unit Orc Maulers soldiers 90 exp 1 armour 0 weapon_lvl 0
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;
; >>>> start of battle section <<<<
battle 0, 0
battle_time 12.00 11.00
weather clear
home_faction home_faction_here
alliance factions_alliance1, defending
alliance factions_alliance2, attacking
army sicily, number_in_faction_here, no_withdraw, supporting_armies 0
deployment_area_point -400, 400
deployment_area_point 550, 400
deployment_area_point 550, -400
deployment_area_point -400, -400
unit 0, 425.919, 48.7415, 0, formation_type square, formation_width 50
unit 1, 404.445, 128.301, 0, formation_type square, formation_width 50
unit 2, 369.903, 68.6526, 0, formation_type square, formation_width 50
unit 3, 355.925, 82.0169, 0, formation_type square, formation_width 50
unit 4, 342.073, 95.8731, 0, formation_type square, formation_width 50
unit 5, 377.025, 82.7667, 0, formation_type square, formation_width 50
unit 6, 395.498, 119.162, 0, formation_type square, formation_width 50
unit 7, 385.468, 108.969, 0, formation_type square, formation_width 50
unit 8, 347.632, 71.5111, 0, formation_type square, formation_width 50
unit 9, 328.335, 110.155, 0, formation_type square, formation_width 50
unit 10, 314.488, 124.109, 0, formation_type square, formation_width 50
army sicily, number_in_faction_here, no_withdraw, supporting_armies 0
deployment_area_point -400, 400
deployment_area_point 550, 400
deployment_area_point 550, -400
deployment_area_point -400, -400
unit 0, 0, 70.8357, 0, formation_type square, formation_width 50
unit 1, 0, 80.9283, 0, formation_type square, formation_width 50
army england, number_in_faction_here, no_withdraw, supporting_armies 0
deployment_area_point 860, 860
deployment_area_point 0, 860
deployment_area_point 0, 625
deployment_area_point 680, 625
deployment_area_point 680, -625
deployment_area_point 0, -625
deployment_area_point 0, -860
deployment_area_point 860, -860
unit 0, 558.627, 673.244, 0, formation_type square, formation_width 50
unit 1, 568.976, 666.562, 0, formation_type square, formation_width 50
unit 2, 647.985, 631.474, 0, formation_type square, formation_width 50
unit 3, 617.597, 630.239, 0, formation_type square, formation_width 50
unit 4, 630.541, 630.257, 0, formation_type square, formation_width 50
unit 5, 625.164, 666.4, 0, formation_type square, formation_width 50
unit 6, 641.31, 650.836, 0, formation_type square, formation_width 50
unit 7, 658.118, 633.938, 0, formation_type square, formation_width 50
unit 8, 674.859, 630.292, 0, formation_type square, formation_width 50
unit 9, 691.61, 630.768, 0, formation_type square, formation_width 50
unit 10, 579.852, 655.635, 0, formation_type square, formation_width 50
unit 11, 654.89, 631.047, 0, formation_type square, formation_width 50
unit 12, 592.486, 642.877, 0, formation_type square, formation_width 50
unit 13, 667.111, 630.315, 0, formation_type square, formation_width 50
unit 14, 604.706, 630.517, 0, formation_type square, formation_width 50
unit 15, 678.611, 631.135, 0, formation_type square, formation_width 50
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;
; >>>> start of objectives scripting section <<<<
objectives
alliance 0
condition destroy_or_rout_enemy
alliance 1
condition destroy_or_rout_enemy
Часть данных всё ещё нужно вписывать самому, а именно:
погода
альянсы, номера армий во фракции
условия победы
а также города и может быть что-то ещё.
Довольно легко сделать из этого файла историческую битву для онлайн игры.
Как это сделать (раскрыть)
1 - на экране развертывания армий перед битвой запустить программу и пройтись по менюшкам в следующем порядке: игрок->mtw2
2 - перед началом битвы нажать на кнопку "Генерация descr_battle.txt". Появится сообщение, которое необходимо закрыть после загрузки битвы:
3 - после загрузки битвы закрыть сообщение или нажать "ок". Далее необходимо начать бой и играть, пока программа не сообщит о том, что файл создан. Если в битве принимают участие только две армии, это произойдёт мгновенно. Иначе это займёт некоторое время, в зависимости от количества войск в битве.
когда всё будет готово программа выведет на экран соответствующее сообщение и закроется после нажатия кнопки "ок".
Всё, наш файл готов, его содержание будет примерно таким(пример сильно устарел):
Весь процесс занимает максимум пару минут.
1 - на экране развертывания армий перед битвой запустить программу и пройтись по менюшкам в следующем порядке: игрок->mtw2
Спойлер (раскрыть)

2 - перед началом битвы нажать на кнопку "Генерация descr_battle.txt". Появится сообщение, которое необходимо закрыть после загрузки битвы:
Спойлер (раскрыть)

3 - после загрузки битвы закрыть сообщение или нажать "ок". Далее необходимо начать бой и играть, пока программа не сообщит о том, что файл создан. Если в битве принимают участие только две армии, это произойдёт мгновенно. Иначе это займёт некоторое время, в зависимости от количества войск в битве.
В этот момент закрыть сообщение: (раскрыть)


когда всё будет готово программа выведет на экран соответствующее сообщение и закроется после нажатия кнопки "ок".
Спойлер (раскрыть)

Всё, наш файл готов, его содержание будет примерно таким(пример сильно устарел):
Спойлер (раскрыть)
; Generated by HotSeatTool
battle battleName multiplayer
playable
turks
hre
end
nonplayable
end
start_date 2980 winter
end_date 2980 winter
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;
; >>>> start of factions section <<<<
faction turks
character Aragorn (null), named character, male, age 38, x 234, y 350, portrait Aragorn, battle_model aragorn, hero_ability STRIDER, label aragorn_1
traits Aragorn 1 , Hero 1 , DunedainRace 1 , FactionLeaderCustom 1 , HeroAbilityAragorn 1 , Brave 2 , GoodAmbusher 1 , GoodAttacker 2 , GoodCommander 4 , InspiringSpeaker 1 , Just 2 , KindRuler 3 , ReligionStarter 1 , LogisticalSkill 2 , Scout 1 , Energetic 1 , NightBattleCapable 1
ancillaries king_arnor, elf_friend, elendilmir, evenstar, narsil
army
unit Dunedain Aragorn Bodyguard soldiers 68 exp 4 armour 0 weapon_lvl 0
unit Imladris Custom Bodyguard soldiers 30 exp 6 armour 1 weapon_lvl 1
unit Imladris Custom Bodyguard soldiers 31 exp 2 armour 0 weapon_lvl 1
unit Dunedain Bodyguard soldiers 40 exp 1 armour 1 weapon_lvl 0
unit Imladris Custom Bodyguard soldiers 30 exp 6 armour 0 weapon_lvl 1
unit Sword Quendi soldiers 125 exp 2 armour 0 weapon_lvl 0
unit Sword Quendi soldiers 125 exp 2 armour 0 weapon_lvl 0
unit Bow Quendi soldiers 125 exp 2 armour 0 weapon_lvl 1
unit Bow Quendi soldiers 125 exp 2 armour 0 weapon_lvl 1
unit Dunedain Infantry Swordsmen soldiers 150 exp 3 armour 0 weapon_lvl 0
unit Dunedain Rangers soldiers 100 exp 3 armour 0 weapon_lvl 0
unit Dunedain Cardolan Archers soldiers 125 exp 1 armour 1 weapon_lvl 0
unit Dunedain Cardolan Archers soldiers 125 exp 1 armour 1 weapon_lvl 0
faction hre
character Lunug, named character, male, age 18, x 233, y 350
traits OrcRace 1 , LoyaltyStarter 1 , GoodCommander 1 , StrategyDread 2 , Berserker 3 , Bloodthirsty 2 , Liar 3 , GoodSiegeAttacker 1 , NightBattleCapable 1 , AIBoost 1
army
unit Mountain-Orc Hunters soldiers 194 exp 2 armour 3 weapon_lvl 1
unit Angmar Goblin Spearmen soldiers 243 exp 0 armour 0 weapon_lvl 0
unit Misty Goblin Archers soldiers 194 exp 0 armour 0 weapon_lvl 0
unit Snaga Archers soldiers 219 exp 0 armour 0 weapon_lvl 0
unit Snaga Skirmishers soldiers 243 exp 0 armour 0 weapon_lvl 0
unit Snaga Skirmishers soldiers 243 exp 1 armour 0 weapon_lvl 0
unit Goblin Infantry soldiers 243 exp 0 armour 0 weapon_lvl 0
unit Goblin Infantry soldiers 243 exp 0 armour 0 weapon_lvl 0
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;
; >>>> start of battle section <<<<
battle 233, 350
battle_time 9.00 8.00
weather clear
home_faction home_faction_here
alliance factions_alliance1, defending
alliance factions_alliance2, attacking
army turks, number_in_faction_here, no_withdraw, supporting_armies 0
deployment_area_point -286.922, -6.31625
deployment_area_point -286.942, -291.44
deployment_area_point 235.097, -291.44
deployment_area_point 235.097, -6.21429
deployment_area_point 859.02, 42.9373
deployment_area_point 859, -859
deployment_area_point -859, -859
deployment_area_point -859, 38.5309
unit 0, -77.4454, -352.069, 0, formation_type square, formation_width 50
unit 1, 52.0008, -391.872, 0, formation_type square, formation_width 50
unit 2, 40.8008, -391.872, 0, formation_type square, formation_width 50
unit 3, 29.8008, -391.872, 0, formation_type square, formation_width 50
unit 4, 19.6008, -391.872, 0, formation_type square, formation_width 50
unit 5, -37.9993, -353.733, 0, formation_type square, formation_width 50
unit 6, -27.6493, -357.733, 0, formation_type square, formation_width 50
unit 7, -13.0855, -391.364, 0, formation_type square, formation_width 50
unit 8, -45.9178, -391.5, 0, formation_type square, formation_width 50
unit 9, -54.4993, -355.233, 0, formation_type square, formation_width 50
unit 10, -83.5997, -391.871, 0, formation_type square, formation_width 50
unit 11, -115.74, -391.442, 0, formation_type square, formation_width 50
unit 12, -147.881, -391.379, 0, formation_type square, formation_width 50
army hre, number_in_faction_here, no_withdraw, supporting_armies 0
deployment_area_point 19.2466, -169.033
deployment_area_point -23.2464, -164.284
deployment_area_point -58.2642, -164.284
deployment_area_point -92.2671, -184.612
deployment_area_point -119.77, -186.44
deployment_area_point -141.808, -166.557
deployment_area_point -179.612, -49.4462
deployment_area_point -181.942, -7.85007
deployment_area_point -174.816, 23.1517
deployment_area_point -160.816, 37.6592
deployment_area_point -146.268, 60.8962
deployment_area_point -141.453, 77.2803
deployment_area_point -143.657, 96.5494
deployment_area_point -143.074, 116.379
deployment_area_point -125.503, 130.629
deployment_area_point -102.253, 136.316
deployment_area_point -75.7517, 139.934
deployment_area_point -55.6983, 142.488
deployment_area_point -29.8805, 142.917
deployment_area_point 3.09998, 140.212
deployment_area_point 31.2638, 137.998
deployment_area_point 47.7638, 132.632
deployment_area_point 64.8766, 118.491
deployment_area_point 80.9001, 91.153
deployment_area_point 84.1989, 62.0152
deployment_area_point 120.091, 29.5641
deployment_area_point 130.097, -23.7428
deployment_area_point 127.603, -57.7073
deployment_area_point 83.58, -121.271
deployment_area_point 62.2822, -147.654
deployment_area_point 38.493, -167.91
unit 0, -37.698, -151.332, 0, formation_type square, formation_width 50
unit 1, -11.7825, -148.264, 0, formation_type square, formation_width 50
unit 2, -46.698, -126.183, 0, formation_type square, formation_width 50
unit 3, 59.9286, -67.9364, 0, formation_type square, formation_width 50
unit 4, -93.0839, -114.436, 0, formation_type square, formation_width 50
unit 5, -35.9812, -116.189, 0, formation_type square, formation_width 50
unit 6, 3.86453, -148.042, 0, formation_type square, formation_width 50
unit 7, -28.0588, -148.384, 0, formation_type square, formation_width 50
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;
; >>>> start of objectives scripting section <<<<
objectives
alliance 0
condition destroy_or_rout_enemy
alliance 1
condition destroy_or_rout_enemy
; Generated by HotSeatTool
battle battleName multiplayer
playable
turks
hre
end
nonplayable
end
start_date 2980 winter
end_date 2980 winter
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;
; >>>> start of factions section <<<<
faction turks
character Aragorn (null), named character, male, age 38, x 234, y 350, portrait Aragorn, battle_model aragorn, hero_ability STRIDER, label aragorn_1
traits Aragorn 1 , Hero 1 , DunedainRace 1 , FactionLeaderCustom 1 , HeroAbilityAragorn 1 , Brave 2 , GoodAmbusher 1 , GoodAttacker 2 , GoodCommander 4 , InspiringSpeaker 1 , Just 2 , KindRuler 3 , ReligionStarter 1 , LogisticalSkill 2 , Scout 1 , Energetic 1 , NightBattleCapable 1
ancillaries king_arnor, elf_friend, elendilmir, evenstar, narsil
army
unit Dunedain Aragorn Bodyguard soldiers 68 exp 4 armour 0 weapon_lvl 0
unit Imladris Custom Bodyguard soldiers 30 exp 6 armour 1 weapon_lvl 1
unit Imladris Custom Bodyguard soldiers 31 exp 2 armour 0 weapon_lvl 1
unit Dunedain Bodyguard soldiers 40 exp 1 armour 1 weapon_lvl 0
unit Imladris Custom Bodyguard soldiers 30 exp 6 armour 0 weapon_lvl 1
unit Sword Quendi soldiers 125 exp 2 armour 0 weapon_lvl 0
unit Sword Quendi soldiers 125 exp 2 armour 0 weapon_lvl 0
unit Bow Quendi soldiers 125 exp 2 armour 0 weapon_lvl 1
unit Bow Quendi soldiers 125 exp 2 armour 0 weapon_lvl 1
unit Dunedain Infantry Swordsmen soldiers 150 exp 3 armour 0 weapon_lvl 0
unit Dunedain Rangers soldiers 100 exp 3 armour 0 weapon_lvl 0
unit Dunedain Cardolan Archers soldiers 125 exp 1 armour 1 weapon_lvl 0
unit Dunedain Cardolan Archers soldiers 125 exp 1 armour 1 weapon_lvl 0
faction hre
character Lunug, named character, male, age 18, x 233, y 350
traits OrcRace 1 , LoyaltyStarter 1 , GoodCommander 1 , StrategyDread 2 , Berserker 3 , Bloodthirsty 2 , Liar 3 , GoodSiegeAttacker 1 , NightBattleCapable 1 , AIBoost 1
army
unit Mountain-Orc Hunters soldiers 194 exp 2 armour 3 weapon_lvl 1
unit Angmar Goblin Spearmen soldiers 243 exp 0 armour 0 weapon_lvl 0
unit Misty Goblin Archers soldiers 194 exp 0 armour 0 weapon_lvl 0
unit Snaga Archers soldiers 219 exp 0 armour 0 weapon_lvl 0
unit Snaga Skirmishers soldiers 243 exp 0 armour 0 weapon_lvl 0
unit Snaga Skirmishers soldiers 243 exp 1 armour 0 weapon_lvl 0
unit Goblin Infantry soldiers 243 exp 0 armour 0 weapon_lvl 0
unit Goblin Infantry soldiers 243 exp 0 armour 0 weapon_lvl 0
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;
; >>>> start of battle section <<<<
battle 233, 350
battle_time 9.00 8.00
weather clear
home_faction home_faction_here
alliance factions_alliance1, defending
alliance factions_alliance2, attacking
army turks, number_in_faction_here, no_withdraw, supporting_armies 0
deployment_area_point -286.922, -6.31625
deployment_area_point -286.942, -291.44
deployment_area_point 235.097, -291.44
deployment_area_point 235.097, -6.21429
deployment_area_point 859.02, 42.9373
deployment_area_point 859, -859
deployment_area_point -859, -859
deployment_area_point -859, 38.5309
unit 0, -77.4454, -352.069, 0, formation_type square, formation_width 50
unit 1, 52.0008, -391.872, 0, formation_type square, formation_width 50
unit 2, 40.8008, -391.872, 0, formation_type square, formation_width 50
unit 3, 29.8008, -391.872, 0, formation_type square, formation_width 50
unit 4, 19.6008, -391.872, 0, formation_type square, formation_width 50
unit 5, -37.9993, -353.733, 0, formation_type square, formation_width 50
unit 6, -27.6493, -357.733, 0, formation_type square, formation_width 50
unit 7, -13.0855, -391.364, 0, formation_type square, formation_width 50
unit 8, -45.9178, -391.5, 0, formation_type square, formation_width 50
unit 9, -54.4993, -355.233, 0, formation_type square, formation_width 50
unit 10, -83.5997, -391.871, 0, formation_type square, formation_width 50
unit 11, -115.74, -391.442, 0, formation_type square, formation_width 50
unit 12, -147.881, -391.379, 0, formation_type square, formation_width 50
army hre, number_in_faction_here, no_withdraw, supporting_armies 0
deployment_area_point 19.2466, -169.033
deployment_area_point -23.2464, -164.284
deployment_area_point -58.2642, -164.284
deployment_area_point -92.2671, -184.612
deployment_area_point -119.77, -186.44
deployment_area_point -141.808, -166.557
deployment_area_point -179.612, -49.4462
deployment_area_point -181.942, -7.85007
deployment_area_point -174.816, 23.1517
deployment_area_point -160.816, 37.6592
deployment_area_point -146.268, 60.8962
deployment_area_point -141.453, 77.2803
deployment_area_point -143.657, 96.5494
deployment_area_point -143.074, 116.379
deployment_area_point -125.503, 130.629
deployment_area_point -102.253, 136.316
deployment_area_point -75.7517, 139.934
deployment_area_point -55.6983, 142.488
deployment_area_point -29.8805, 142.917
deployment_area_point 3.09998, 140.212
deployment_area_point 31.2638, 137.998
deployment_area_point 47.7638, 132.632
deployment_area_point 64.8766, 118.491
deployment_area_point 80.9001, 91.153
deployment_area_point 84.1989, 62.0152
deployment_area_point 120.091, 29.5641
deployment_area_point 130.097, -23.7428
deployment_area_point 127.603, -57.7073
deployment_area_point 83.58, -121.271
deployment_area_point 62.2822, -147.654
deployment_area_point 38.493, -167.91
unit 0, -37.698, -151.332, 0, formation_type square, formation_width 50
unit 1, -11.7825, -148.264, 0, formation_type square, formation_width 50
unit 2, -46.698, -126.183, 0, formation_type square, formation_width 50
unit 3, 59.9286, -67.9364, 0, formation_type square, formation_width 50
unit 4, -93.0839, -114.436, 0, formation_type square, formation_width 50
unit 5, -35.9812, -116.189, 0, formation_type square, formation_width 50
unit 6, 3.86453, -148.042, 0, formation_type square, formation_width 50
unit 7, -28.0588, -148.384, 0, formation_type square, formation_width 50
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;
; >>>> start of objectives scripting section <<<<
objectives
alliance 0
condition destroy_or_rout_enemy
alliance 1
condition destroy_or_rout_enemy
Весь процесс занимает максимум пару минут.
Получение результатов битвы (раскрыть)
во время онлайн битвы нужно сделать следующее:
1 - перед битвой запустить HotSeatTool.
2 - пройтись по менюшкам так:
player->MTW2->Generate battle_results.txt file
3 - закрыть всплывающее сообщение когда появится экран с результатами битвы!!!! Не раньше и не позже.
4 - скинуть результирующий файл вместе со скринами потерь и файлом повтора битвы(найти его можно в папке temp меди).
1 - перед битвой запустить HotSeatTool.
2 - пройтись по менюшкам так:
player->MTW2->Generate battle_results.txt file
3 - закрыть всплывающее сообщение когда появится экран с результатами битвы!!!! Не раньше и не позже.
4 - скинуть результирующий файл вместе со скринами потерь и файлом повтора битвы(найти его можно в папке temp меди).
Редактирование составов армий(например после онлайн битвы) (раскрыть)
Для редактирования армий в одиночной игре нужно выставить в конфиг файле мода(или игры) параметр disable_console = false в разделе [hotseat].
В режиме хот-сит эти функции доступны только ключнику, для их использования необходимо ввести админ. пароль хот-сита.
Внимание! После предыдущего этапа и до закрытия программы HotSeatTool не следует делать ничего, кроме редактирования армий. Нельзя сохранять игру, загружать её, передвигать отряды и т.д. Иначе вы получите вылет из игры или другие неприятные последствия. Если нужно сохранить игру или сделать что-нибудь другое, следует снять все выставленные в программе галочки, закрыть программу нажатием на крестик, выполнить всё что нужно, после чего заново проделать всё, что необходимо для начала редактирования.
Для удобства, перед редактированием рекомендуется разыгрывать автобитву с победой нужной строны. Сделать это можно при помощи консольной команды "auto_win attacker" или "auto_win defender". При этом отрядам наносятся потери, а некоторые из их могут погибнуть, для избежания этого введена соответствующая функция. Включается она постановкой галочки "Отключить потери при авторасчете битвы". Отключается снятием этой галочки. Заблокированные армии(например обороняющая город армия при победе штурмующих) все равно будут уничтожены(их редактировать в любом случае не нужно), подкрепления защитников спокойно отступят без потерь. Их вы начислите позже.
После завершения этих операций обязательно следует закрыть программу нажатием на "крестик"! Только после этого вы можете сохранить игру.
Для редактирования армий в одиночной игре нужно выставить в конфиг файле мода(или игры) параметр disable_console = false в разделе [hotseat].
В режиме хот-сит эти функции доступны только ключнику, для их использования необходимо ввести админ. пароль хот-сита.
Начало работы (раскрыть)
1 - запустить программу, пройтись по меню в таком порядке: ключник->Medieval2. Если в данный момент запущена игра, вы увидите такое сообщение:
2 - войти в режим ключника в игре, после чего закрыть это сообщение или просто закрыть сообщение, если вы играете в одиночную кампанию. Если всё в порядке вы увидите уведомление об этом:
3 - после закрытия данного уведомления можно приступать к редактированию отрядов.
1 - запустить программу, пройтись по меню в таком порядке: ключник->Medieval2. Если в данный момент запущена игра, вы увидите такое сообщение:
Спойлер (раскрыть)

2 - войти в режим ключника в игре, после чего закрыть это сообщение или просто закрыть сообщение, если вы играете в одиночную кампанию. Если всё в порядке вы увидите уведомление об этом:
Спойлер (раскрыть)

3 - после закрытия данного уведомления можно приступать к редактированию отрядов.
Внимание! После предыдущего этапа и до закрытия программы HotSeatTool не следует делать ничего, кроме редактирования армий. Нельзя сохранять игру, загружать её, передвигать отряды и т.д. Иначе вы получите вылет из игры или другие неприятные последствия. Если нужно сохранить игру или сделать что-нибудь другое, следует снять все выставленные в программе галочки, закрыть программу нажатием на крестик, выполнить всё что нужно, после чего заново проделать всё, что необходимо для начала редактирования.
Автоматическое редактирование армий на стратегической карте после онлайн битв (раскрыть)
1 - Поставить галочку "Отключить потери при авторасчете битвы".
2 - Провести битву авторасчётом. Для удобства, перед редактированием рекомендуется разыгрывать автобитву с победой нужной строны. Сделать это можно при помощи консольной команды "auto_win attacker" или "auto_win defender".
3 - после появления окна с результатами битвы нажать в программе на кнопку "Select battle results file", после чего выбрать файл с результатами битвы.
4 - снять галочку "Disable loss units in auto-resolve". Всё готово, можно закрыть программу нажатием на крестик.
1 - Поставить галочку "Отключить потери при авторасчете битвы".
2 - Провести битву авторасчётом. Для удобства, перед редактированием рекомендуется разыгрывать автобитву с победой нужной строны. Сделать это можно при помощи консольной команды "auto_win attacker" или "auto_win defender".
3 - после появления окна с результатами битвы нажать в программе на кнопку "Select battle results file", после чего выбрать файл с результатами битвы.
4 - снять галочку "Disable loss units in auto-resolve". Всё готово, можно закрыть программу нажатием на крестик.
Редактирование численности отрядов (раскрыть)
1 - ввести требуемое число солдат и их опыт.
2 - нажать на кнопку "начать", после чего открывать окно с информацией об отрядах, численность и опыт которых необходимо изменить на введённую вами. При этом во вражеских армиях изменения могут не отобразиться моментально, но вступят в силу сразу же!
Если необходимо изменить численность или опыт на другие, достаточно ввести новые значения и снова нажать кнопку "начать"
Если ввести численность отряда, большую чем его максимальная, то всем выбранным отрядам будет выставлена их максимальная численность. Тоже самое и с опытом.
После завершения редактирования численности обязательно нажать на клавишу "закончить".
1 - ввести требуемое число солдат и их опыт.
Спойлер (раскрыть)

2 - нажать на кнопку "начать", после чего открывать окно с информацией об отрядах, численность и опыт которых необходимо изменить на введённую вами. При этом во вражеских армиях изменения могут не отобразиться моментально, но вступят в силу сразу же!
Спойлер (раскрыть)
![Imp]()
число офицеров - разница между введённым количеством солдат и реальной численностью, получившейся в игре. Можно оставить в этом поле 0 и просто вводить немного меньшую численность солдат. Офицеры добавляются к отряду автоматически.
![Imp]()
![Imp]()

число офицеров - разница между введённым количеством солдат и реальной численностью, получившейся в игре. Можно оставить в этом поле 0 и просто вводить немного меньшую численность солдат. Офицеры добавляются к отряду автоматически.


Если необходимо изменить численность или опыт на другие, достаточно ввести новые значения и снова нажать кнопку "начать"
Спойлер (раскрыть)

Если ввести численность отряда, большую чем его максимальная, то всем выбранным отрядам будет выставлена их максимальная численность. Тоже самое и с опытом.
После завершения редактирования численности обязательно нажать на клавишу "закончить".
Удаление отрядов и генералов (раскрыть)
Удаление отрядов из разбитых армий производится следующим образом:
1 - нажать на кнопку"выбрать цель для убийства". После этого вам будет предложено открыть и закрыть информацию о целевом отряде для удаления с карты кампании. Необходимо также закрыть любые другие игровые панели.
Удаление генералов происходит точно также, за тем исключением, что нужно поставить соответствующую галочку, если генерал в стеке один.
Если генерал в стеке один:
Не забудьте снять галочку!!
Удаление отрядов из разбитых армий производится следующим образом:
1 - нажать на кнопку"выбрать цель для убийства". После этого вам будет предложено открыть и закрыть информацию о целевом отряде для удаления с карты кампании. Необходимо также закрыть любые другие игровые панели.
Спойлер (раскрыть)
Открываем информацию об отряде:
![Imp]()
после чего закрываем её и жмём"ок". Сообщение закроется, отряд будет удалён.
![Imp]()
Работает в том числе и для отрядов других фракций:
![Imp]()
![Imp]()
Открываем информацию об отряде:

после чего закрываем её и жмём"ок". Сообщение закроется, отряд будет удалён.

Работает в том числе и для отрядов других фракций:


Удаление генералов происходит точно также, за тем исключением, что нужно поставить соответствующую галочку, если генерал в стеке один.
Спойлер (раскрыть)
![Imp]()
Очень важно закрывать все информационные панели перед удалением!
![Imp]()
После нажатия "ок":
![Imp]()

Очень важно закрывать все информационные панели перед удалением!

После нажатия "ок":

Если генерал в стеке один:
Спойлер (раскрыть)
![Imp]()
![Imp]()
![Imp]()



Не забудьте снять галочку!!
Для удобства, перед редактированием рекомендуется разыгрывать автобитву с победой нужной строны. Сделать это можно при помощи консольной команды "auto_win attacker" или "auto_win defender". При этом отрядам наносятся потери, а некоторые из их могут погибнуть, для избежания этого введена соответствующая функция. Включается она постановкой галочки "Отключить потери при авторасчете битвы". Отключается снятием этой галочки. Заблокированные армии(например обороняющая город армия при победе штурмующих) все равно будут уничтожены(их редактировать в любом случае не нужно), подкрепления защитников спокойно отступят без потерь. Их вы начислите позже.
После завершения этих операций обязательно следует закрыть программу нажатием на "крестик"! Только после этого вы можете сохранить игру.
Редактирование файлов игры для хот-сита (раскрыть)
Возможно изменение отката найма войск, скорости строительства в export_descr_buildings.txt и найма и содержания юнитов в export_descr_unit.txt
Необходимо пройтись по меню: дополнительно->Быстрое редактирование export_descr_buildings.txt, после чего ввести множители(например "0,98214") и поставить соответствующую галочку, если требуется округлять скорость строительства зданий к большему целому числу.
После этого нужно щелкнуть на кнопку "выбрать файл" и указать путь к нужному файлу export_descr_buildings.txt.
Важно! Он не должен находиться в одной папке с программой.
Для изменения стоимости найма и содержание в export_descr_unit.txt всё делается точно также.
После выбора файла в папке с программой будет создан новый, с изменёнными параметрами.
Диапазон итоговых значений:
для отката найма войск о 0 до 1.
для скорости строительства от 1 до 50.
Для найма и содержания от 1 до 99999
Возможно изменение отката найма войск, скорости строительства в export_descr_buildings.txt и найма и содержания юнитов в export_descr_unit.txt
Необходимо пройтись по меню: дополнительно->Быстрое редактирование export_descr_buildings.txt, после чего ввести множители(например "0,98214") и поставить соответствующую галочку, если требуется округлять скорость строительства зданий к большему целому числу.
После этого нужно щелкнуть на кнопку "выбрать файл" и указать путь к нужному файлу export_descr_buildings.txt.
Важно! Он не должен находиться в одной папке с программой.
Для изменения стоимости найма и содержание в export_descr_unit.txt всё делается точно также.
После выбора файла в папке с программой будет создан новый, с изменёнными параметрами.
Диапазон итоговых значений:
для отката найма войск о 0 до 1.
для скорости строительства от 1 до 50.
Для найма и содержания от 1 до 99999
Скриншоты работы программы (раскрыть)




Сравнение результирующего файла с исходным (раскрыть)




Вторая часть программы поддерживает только Total War MEDIEVAL II - Definitive Edition v1.52 и работает при запуске medieval2.exe(он требуется и для запуска модов), поддерживает только стим-версию игры(также поддерживает пиратскую версию Total War MEDIEVAL II - Definitive Edition v1.52).
Видео инструкция по редактированию численности и убийству отрядов: (раскрыть)
Пример автоначисления потерь, английская версия программы (раскрыть)
История обновлений (раскрыть)
v1.01 (раскрыть)
Добавлен вывод трейтов генерала(в том числе и скрытых) при генерации descr_battle.txt
Добавлена возможность автоматического переноса потерь после онлайн битвы.
Улучшение стабильности работы программы.
Добавлен вывод трейтов генерала(в том числе и скрытых) при генерации descr_battle.txt
Добавлена возможность автоматического переноса потерь после онлайн битвы.
Улучшение стабильности работы программы.
v1.02 (раскрыть)
Исправлен вылет во время автопереноса потерь.
Исправлено автоначисление потерь, они могли начисляться не всем отрядам.
Исправлен вылет во время автопереноса потерь.
Исправлено автоначисление потерь, они могли начисляться не всем отрядам.
v1.03 (раскрыть)
Теперь программа работает только со стим-версией мтв2.
Временно вырезан русский язык.
Теперь программа работает только со стим-версией мтв2.
Временно вырезан русский язык.
v1.04 (раскрыть)
Изменена система автоначисления потерь, отряды генералов удаляются при этом, но сами генералы некоторое количество ходов могут считаться живыми.
Сделано это для избежания вылетов.
Рекомендуется при ручном убийстве генералов делать это всегда с галкой "отметить, если в стеке только один генерал". Иначе возможны вылеты по ходу кампании.
Изменена система автоначисления потерь, отряды генералов удаляются при этом, но сами генералы некоторое количество ходов могут считаться живыми.
Сделано это для избежания вылетов.
Рекомендуется при ручном убийстве генералов делать это всегда с галкой "отметить, если в стеке только один генерал". Иначе возможны вылеты по ходу кампании.
v.1.05 (раскрыть)
Добавлен вывод координат каждой из сражающихся армий при генерации descr_battle.txt
Добавлен вывод координат каждой из сражающихся армий при генерации descr_battle.txt
v.1.06 (раскрыть)
теперь при генерации descr_battle.txt записывается список фракций, год битвы и ещё немного стандартной инфы.
теперь при генерации descr_battle.txt записывается список фракций, год битвы и ещё немного стандартной инфы.
v.1.07 (раскрыть)
улучшена генерация descr_battle.txt.
улучшена генерация descr_battle.txt.
v.1.08 (раскрыть)
улучшена генерация descr_battle.txt.Теперь выводятся координаты развертывания армий.
улучшена генерация descr_battle.txt.Теперь выводятся координаты развертывания армий.
v.1.09 (раскрыть)
улучшена генерация descr_battle.txt. Добавлен вывод сезона битвы(зима или лето) и времени битвы, а также портрета, модели и особой способности генерала.
улучшена генерация descr_battle.txt. Добавлен вывод сезона битвы(зима или лето) и времени битвы, а также портрета, модели и особой способности генерала.
v.1.10 (раскрыть)
не всегда верно считывались параметры из игры, исправлено.
не всегда верно считывались параметры из игры, исправлено.
v.1.11 (раскрыть)
добавлены несколько патчей, применяющихся к игре при запуске программы, а также возможность их настройки в конфиг файле.
добавлены несколько патчей, применяющихся к игре при запуске программы, а также возможность их настройки в конфиг файле.
v.1.12 (раскрыть)
Улучшено редактирование descr_buildings (расширен диапазон возможных значений).
Добавлена возможность делать бессмертных персонажей и менять настройки отображения возраста.
Улучшено редактирование descr_buildings (расширен диапазон возможных значений).
Добавлена возможность делать бессмертных персонажей и менять настройки отображения возраста.
v.1.13 (раскрыть)
Пофиксен вылет при использовании берсерков в игре.
Добавлена возможность быстро модифицировать дополнительный файл.
Пофиксен вылет при использовании берсерков в игре.
Добавлена возможность быстро модифицировать дополнительный файл.
v.1.14 (раскрыть)
Добавлена возможность задавать стоимость осадного снаряжения(тараны, лестницы, осадные башни).
Добавлена возможность задавать стоимость осадного снаряжения(тараны, лестницы, осадные башни).
v.1.15 (раскрыть)
исправлено несколько недобработок
добавлена возможность апгрейдов охраны генералов
исправлено несколько недобработок
добавлена возможность апгрейдов охраны генералов
v.1.16 (раскрыть)
добавлен запуск игры из программы
добавлена возможность замены префикса legio у юнитов
улучшена скриптовая система
добавлена возможность изменять метки персонажей
добавлен запуск игры из программы
добавлена возможность замены префикса legio у юнитов
улучшена скриптовая система
добавлена возможность изменять метки персонажей
v.1.17 (раскрыть)
исправлен вылет, если в игре у персонажа отсутствует имя
добавлена возможность частично отключать логгирование
добавлена возможность использовать консольную команду "change faction" в одиночной игре
улучшена скриптовая система
добавлена возможность делать фракции вассалами других фракций
добавлена возможность стратегического обзора карты битвы(клавиша Z во время сражения)
исправлен вылет, если в игре у персонажа отсутствует имя
добавлена возможность частично отключать логгирование
добавлена возможность использовать консольную команду "change faction" в одиночной игре
улучшена скриптовая система
добавлена возможность делать фракции вассалами других фракций
добавлена возможность стратегического обзора карты битвы(клавиша Z во время сражения)