Моддинг MEDIEVAL 2: TOTAL WAR

Моддинг MEDIEVAL 2: TOTAL WAR

Создание Мира - Расширенный рекрутинг в ходе событий (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     set_event_counter recruit_season 1
  end_if
  if I_EventCounter season_time > 3            ; from April
    and I_EventCounter season_time     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
            }


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

 

Создание статичных стратегических моделей для Medieval 2 Total War и Kingdoms

Создание стратегических моделей статичных и малоанимированных объектов.

Имеются в виду – города, башни, деревья, корабли, повозки, ресурсы, чудеса и прочие объекты нечеловеческого характера (во задвинул J).

 Все эти объекты, как в РТВ так и в М2ТВ созданы в формате CAS.

 

Установка скрипта. Загрузка модели.

 Для работы с форматом CAS вам понадобиться специальный скрипт к "3DSMAX". Скачайте скрипт.

 

Затем в корневом каталоге программы "3DSMAX" находите папку "scripts" и кидаем туда скрипт.

 Запускаем "3DSMAX", идём в закладку "Utilities" (справа молоточек), там жмём кнопку "MAXScript", и далее кнопку "Run Script". В появившемся окне находим путь к скрипту и запускаем его двойным кликом. Далее в окошке "Utilities" под кнопкой "Run Script" выбираем нужный нам "R:TW Import/Export". Должны появится три меню, нам нужны "R:TW Import"-для импорта модели формата CAS в формат "3DSMAX" и "R:TW Export"-для экспорта обратно в формат CAS. Жмем "R:TW Import", в появившемся меню жмем "Import CAS" и находим нужную нам модель.

 Далее делайте с моделью, что хотите – это чисто ваше творчество. Я не буду объяснять, КАК работать с 3Дмаксом – для этого написаны книги и статьи.

 

Присвоение материалов (текстур).

Как создавать текстуры – это тоже отдельный разговор. Фотошоп Вам в руки и Гугл в помощь J. Примем что Вы ее сделали.

ВАЖНЕЙШИЙ момент  - текстура должна находиться ОБЯЗАТЕЛЬНО в папке TEXTURES/ иначе вылет вам обеспечен.

ВАЖНЫЙ момент – для стратмоделей текстур может быть НЕСКОЛЬКО. Т.е. если у вас в модели города располагаются три домика – на каждый из них вы можете повесить ОТДЕЛЬНУЮ текстуру ( с условием что эти домики представляют собой отдельные объекты).

Чтобы присвоить модели текстуру, выделяем саму модель, а затем открываем “Material Editir” (можно кнопкой «М») (Рис 1) кликаем на любой свободный материал (поз. 1) жмём кнопку “ Map” (поз. 2).

Далее следуем указаниям по Рис. 2. и Рис. 3.

Рис. 1.

 

 

Далее жмем кнопки 1 и 2 (Рис 3).

 Для того чтобы присвоить ДРУГУЮ текстуру для ДРУГОГО, объекта нужно выделить ДРУГУЮ модель и повторить вышеописанную операцию с тем лишь отличием, что в “Material Editir” (Рис 1) кликаем на любой ДРУГОЙ свободный материал (шарик), т.е. не на поз. 1, а на соседний, например.

Хотя можно все элементы текстуры разместить на одном текстурном листе. Это как Вам будет угодно. 

Привязка с костям.

 Теперь нужно привязать нашу модель к костям. Для статичных объектов (таких как город или ресурс) кость всего одна – Scene Root. Для того чтобы привязать к ней нам не понадобиться модификатор Skin. Мы поступаем так же как в моделлинге для РИМА мы привязываем оружие – т.е. в меню Main Toolbar жмем кнопку Schematic Wiew (левее кнопки редактора материала) и в открывшемся окне Schematic Wiew (зеленые объекты – кости, синие – объекты модели) с помощью инструмента Connect (вверху слева) прикрепляем нашу модель к кости. 

Конвертация в формат CAS.

Когда все готово опять идём в закладку "Utilities" , там жмём кнопку "MAXScript", и далее кнопку "Run Script". В появившемся окне находим путь к скрипту и запускаем его двойным кликом. Далее в окошке "Utilities" под кнопкой "Run Script" выбираем нужный нам скрипт "R:TW Import/Export". На этот раз выбираем "R:TW Export". Жмем ее, в появившемся меню жмем " Export CAS" и сохраняем куда нужно под нужным именем.

 Как видите все очень просто.

 

© 2008. Андрей «SHREDDER» Домрачев

Портал CiЧъ Total War ® http://totalwars.ru/board/

 Любая перепечатка данного материала без согласования с автором ЗАПРЕЩЕНА.

Скрипт смены религий в Medieval 2: Total War

Представляет туториал по скрипту смены религий.


Сначала сам скрипт

разработан для мода СС6.1 представлена версия для новгородского княжества


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;Russia

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;conters

monitor_event FactionTurnStart

add_events
event counter novgorodo
event counter novgorodm
event counter novgorodc
date 0
end_add_events

set_event_counter novgorodo 1
set_event_counter novgorodc 0
set_event_counter novgorodm 0

terminate_monitor

end_monitor

declare_counter novgorod_catholic
declare_counter novgorod_islam
set_counter novgorod_catholic 0
set_counter novgorod_islam 0

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;script body
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;catholic

monitor_event GeneralCaptureSettlement SettlementName Novgorod
and FactionReligion catholic
set_counter novgorod_catholic 1
end_monitor



monitor_event FactionTurnStart FactionType russia
and FactionIsLocal
and FactionReligion orthodox
and I_CompareCounter novgorod_catholic 1
and I_NumberOfSettlements russia set_event_counter russia_conversion_accepted = 0
set_event_counter russia_conversion_declined = 0
historic_event russia_conversion true factions { russia, }

if I_IsFactionAIControlled russia

generate_random_counter random_accept 0 2
if I_EventCounter random_accept set_event_counter russia_conversion_accepted = 1
end_if

end_if

end_monitor

monitor_conditions I_EventCounter russia_conversion_accepted = 1

set_religion russia catholic
change_population_religion russia catholic 75 orthodox
set_event_counter novgorodc 2
set_counter novgorod_catholic 2

set_kings_purse russia 5000

console_command diplomatic_stance spain russia Neutral
console_command diplomatic_stance milan russia Neutral
console_command diplomatic_stance venice russia Neutral
console_command diplomatic_stance poland russia Neutral
console_command diplomatic_stance england russia Neutral
console_command diplomatic_stance norway russia Neutral
console_command diplomatic_stance denmark russia Neutral
console_command diplomatic_stance hungary russia Neutral
console_command diplomatic_stance hre russia Neutral
console_command diplomatic_stance sicily russia Neutral
console_command diplomatic_stance papal_states russia Neutral
console_command diplomatic_stance france russia Neutral

set_faction_standing kievan_rus russia -0.8
set_faction_standing byzantium russia -0.8

if I_IsFactionAIControlled kievan_rus

generate_random_counter random_accept 0 2
if I_EventCounter random_accept
console_command diplomatic_stance kievan_rus russia war
end_if

end_if

if I_IsFactionAIControlled byzantium

generate_random_counter random_accept 0 2
if I_EventCounter random_accept
console_command diplomatic_stance byzantium russia war
end_if

end_if

historic_event russia_catholics event/Lithuania_converts.bik

if not I_FactionNearTile russia 0 351,247

spawn_army
faction slave
character Aleksandr, general, age 38, x 351, y 247, ;;;;;;;;;;;family
unit EE Bodyguard exp 5 armour 0 weapon_lvl 0
unit EE Archer Militia exp 5 armour 0 weapon_lvl 0
unit EE Archer Militia exp 5 armour 0 weapon_lvl 0
unit Woodsmen exp 5 armour 0 weapon_lvl 0
unit Woodsmen exp 0 armour 0 weapon_lvl 0
unit Kazaks exp 0 armour 0 weapon_lvl 0
unit EE Archer Militia exp 0 armour 0 weapon_lvl 0
unit EE Archer Militia exp 0 armour 0 weapon_lvl 0
unit Woodsmen exp 0 armour 0 weapon_lvl 0
unit Woodsmen exp 0 armour 0 weapon_lvl 0
unit Kazaks exp 0 armour 0 weapon_lvl 0
unit EE Archer Militia exp 0 armour 0 weapon_lvl 0
unit EE Archer Militia exp 0 armour 0 weapon_lvl 0
unit Woodsmen exp 0 armour 0 weapon_lvl 0
unit Woodsmen exp 0 armour 0 weapon_lvl 0
unit Kazaks exp 0 armour 0 weapon_lvl 0
unit EE Archer Militia exp 0 armour 0 weapon_lvl 0
unit EE Archer Militia exp 0 armour 0 weapon_lvl 0
unit Woodsmen exp 0 armour 0 weapon_lvl 0
unit Woodsmen exp 0 armour 0 weapon_lvl 0

end
siege_settlement Aleksandr, Moscow, maintain
end_if

if not I_FactionNearTile russia 0 365,258

spawn_army
faction slave
character Aleksandr2, general, age 38, x 365, y 258, ;;;;;;;;;;;family
unit EE Bodyguard exp 5 armour 0 weapon_lvl 0
unit EE Archer Militia exp 5 armour 0 weapon_lvl 0
unit EE Archer Militia exp 5 armour 0 weapon_lvl 0
unit Woodsmen exp 5 armour 0 weapon_lvl 0
unit Woodsmen exp 0 armour 0 weapon_lvl 0
unit Kazaks exp 0 armour 0 weapon_lvl 0
unit EE Archer Militia exp 0 armour 0 weapon_lvl 0
unit EE Archer Militia exp 0 armour 0 weapon_lvl 0
unit Woodsmen exp 0 armour 0 weapon_lvl 0
unit Woodsmen exp 0 armour 0 weapon_lvl 0
unit Kazaks exp 0 armour 0 weapon_lvl 0
unit EE Archer Militia exp 0 armour 0 weapon_lvl 0
unit EE Archer Militia exp 0 armour 0 weapon_lvl 0
unit Woodsmen exp 0 armour 0 weapon_lvl 0
unit Woodsmen exp 0 armour 0 weapon_lvl 0
unit Kazaks exp 0 armour 0 weapon_lvl 0
unit EE Archer Militia exp 0 armour 0 weapon_lvl 0
unit EE Archer Militia exp 0 armour 0 weapon_lvl 0
unit Woodsmen exp 0 armour 0 weapon_lvl 0
unit Woodsmen exp 0 armour 0 weapon_lvl 0

end
siege_settlement Aleksandr2, Yaroslavl, maintain
end_if

terminate_monitor
end_monitor


monitor_conditions I_EventCounter russia_conversion_declined = 1

set_counter novgorod_catholic 2
set_event_counter novgorodo 1


set_kings_purse russia 2500

set_faction_standing france russia -0.6
set_faction_standing papal_states russia -0.6
set_faction_standing sicily russia -0.6
set_faction_standing hre russia -0.4
set_faction_standing hungary russia -0.4  
set_faction_standing denmark russia -0.4
set_faction_standing norway russia -0.4
set_faction_standing england russia -0.4
set_faction_standing scotland russia -0.4
set_faction_standing poland russia -0.4
set_faction_standing venice russia -0.4
set_faction_standing milan russia -0.4
set_faction_standing spain russia -0.4
set_faction_standing kievan_rus russia 0.8
set_faction_standing byzantium russia 0.8

if I_IsFactionAIControlled kievan_rus

generate_random_counter random_accept 0 2
if I_EventCounter random_accept
console_command diplomatic_stance kievan_rus russia Allied
end_if

end_if

if I_IsFactionAIControlled byzantium

generate_random_counter random_accept 0 2
if I_EventCounter random_accept
console_command diplomatic_stance byzantium russia Allied
end_if

end_if

if not I_FactionNearTile russia 0 351,247

spawn_army
faction russia
character Aleksandr3, general, age 38, x 351, y 247, ;;;;;;;;;;;family
unit EE Bodyguard exp 5 armour 0 weapon_lvl 0
unit EE Archer Militia exp 5 armour 0 weapon_lvl 0
unit EE Archer Militia exp 5 armour 0 weapon_lvl 0
unit Woodsmen exp 5 armour 0 weapon_lvl 0
unit Woodsmen exp 0 armour 0 weapon_lvl 0
unit Kazaks exp 0 armour 0 weapon_lvl 0
unit EE Archer Militia exp 0 armour 0 weapon_lvl 0
unit EE Archer Militia exp 0 armour 0 weapon_lvl 0
unit Woodsmen exp 0 armour 0 weapon_lvl 0
unit Woodsmen exp 0 armour 0 weapon_lvl 0
unit Kazaks exp 0 armour 0 weapon_lvl 0
unit EE Archer Militia exp 0 armour 0 weapon_lvl 0
unit EE Archer Militia exp 0 armour 0 weapon_lvl 0
unit Woodsmen exp 0 armour 0 weapon_lvl 0
unit Woodsmen exp 0 armour 0 weapon_lvl 0
unit Kazaks exp 0 armour 0 weapon_lvl 0
unit EE Archer Militia exp 0 armour 0 weapon_lvl 0
unit EE Archer Militia exp 0 armour 0 weapon_lvl 0
unit Woodsmen exp 0 armour 0 weapon_lvl 0
unit Woodsmen exp 0 armour 0 weapon_lvl 0

end

end_if

if not I_FactionNearTile russia 0 365,258

spawn_army
faction russia
character Aleksandr4, general, age 38, x 365, y 258, ;;;;;;;;;;;family
unit EE Bodyguard exp 5 armour 0 weapon_lvl 0
unit EE Archer Militia exp 5 armour 0 weapon_lvl 0
unit EE Archer Militia exp 5 armour 0 weapon_lvl 0
unit Woodsmen exp 5 armour 0 weapon_lvl 0
unit Woodsmen exp 0 armour 0 weapon_lvl 0
unit Kazaks exp 0 armour 0 weapon_lvl 0
unit EE Archer Militia exp 0 armour 0 weapon_lvl 0
unit EE Archer Militia exp 0 armour 0 weapon_lvl 0
unit Woodsmen exp 0 armour 0 weapon_lvl 0
unit Woodsmen exp 0 armour 0 weapon_lvl 0
unit Kazaks exp 0 armour 0 weapon_lvl 0
unit EE Archer Militia exp 0 armour 0 weapon_lvl 0
unit EE Archer Militia exp 0 armour 0 weapon_lvl 0
unit Woodsmen exp 0 armour 0 weapon_lvl 0
unit Woodsmen exp 0 armour 0 weapon_lvl 0
unit Kazaks exp 0 armour 0 weapon_lvl 0
unit EE Archer Militia exp 0 armour 0 weapon_lvl 0
unit EE Archer Militia exp 0 armour 0 weapon_lvl 0
unit Woodsmen exp 0 armour 0 weapon_lvl 0
unit Woodsmen exp 0 armour 0 weapon_lvl 0

end

end_if

terminate_monitor
end_monitor





;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;islam

monitor_event GeneralCaptureSettlement SettlementName Novgorod
and FactionReligion islam
set_counter novgorod_islam 1
end_monitor



monitor_event FactionTurnStart FactionType russia
and FactionIsLocal
and FactionReligion orthodox
and I_CompareCounter novgorod_islam 1
and I_NumberOfSettlements russia set_event_counter russia_conversionm_accepted = 0
set_event_counter russia_conversionm_declined = 0
historic_event russia_conversionm true factions { russia, }

if I_IsFactionAIControlled russia

generate_random_counter random_accept 0 2
if I_EventCounter random_accept set_event_counter russia_conversionm_accepted = 1
end_if

end_if

end_monitor

monitor_conditions I_EventCounter russia_conversionm_accepted = 1

set_religion russia islam
change_population_religion russia islam 75 orthodox
set_event_counter novgorodm 2
set_counter novgorod_islam 2

set_kings_purse russia 5000

console_command diplomatic_stance moors russia Neutral
console_command diplomatic_stance turks russia Neutral
console_command diplomatic_stance egypt russia Neutral


set_faction_standing france russia -0.6
set_faction_standing papal_states russia -0.6
set_faction_standing sicily russia -0.6
set_faction_standing hre russia -0.4
set_faction_standing hungary russia -0.4  
set_faction_standing denmark russia -0.4
set_faction_standing norway russia -0.4
set_faction_standing england russia -0.4
set_faction_standing scotland russia -0.4
set_faction_standing poland russia -0.4
set_faction_standing venice russia -0.4
set_faction_standing milan russia -0.4
set_faction_standing spain russia -0.4
set_faction_standing kievan_rus russia -0.8
set_faction_standing byzantium russia -0.8

if I_IsFactionAIControlled poland

generate_random_counter random_accept 0 2
if I_EventCounter random_accept
console_command diplomatic_stance papal_states russia war
end_if

end_if

if I_IsFactionAIControlled norway

generate_random_counter random_accept 0 2
if I_EventCounter random_accept
console_command diplomatic_stance byzantium russia war
end_if

end_if

historic_event russia_islam event/Lithuania_converts.bik

if not I_FactionNearTile russia 0 351,247

spawn_army
faction slave
character Aleksandr5, general, age 38, x 351, y 247, ;;;;;;;;;;;family
unit EE Bodyguard exp 5 armour 0 weapon_lvl 0
unit EE Archer Militia exp 5 armour 0 weapon_lvl 0
unit EE Archer Militia exp 5 armour 0 weapon_lvl 0
unit Woodsmen exp 5 armour 0 weapon_lvl 0
unit Woodsmen exp 0 armour 0 weapon_lvl 0
unit Kazaks exp 0 armour 0 weapon_lvl 0
unit EE Archer Militia exp 0 armour 0 weapon_lvl 0
unit EE Archer Militia exp 0 armour 0 weapon_lvl 0
unit Woodsmen exp 0 armour 0 weapon_lvl 0
unit Woodsmen exp 0 armour 0 weapon_lvl 0
unit Kazaks exp 0 armour 0 weapon_lvl 0
unit EE Archer Militia exp 0 armour 0 weapon_lvl 0
unit EE Archer Militia exp 0 armour 0 weapon_lvl 0
unit Woodsmen exp 0 armour 0 weapon_lvl 0
unit Woodsmen exp 0 armour 0 weapon_lvl 0
unit Kazaks exp 0 armour 0 weapon_lvl 0
unit EE Archer Militia exp 0 armour 0 weapon_lvl 0
unit EE Archer Militia exp 0 armour 0 weapon_lvl 0
unit Woodsmen exp 0 armour 0 weapon_lvl 0
unit Woodsmen exp 0 armour 0 weapon_lvl 0

end
siege_settlement Aleksandr5, Moscow, maintain
end_if


if not I_FactionNearTile russia 0 365,258

spawn_army
faction slave
character Aleksandr6, general, age 38, x 365, y 258, ;;;;;;;;;;;family
unit EE Bodyguard exp 5 armour 0 weapon_lvl 0
unit EE Archer Militia exp 5 armour 0 weapon_lvl 0
unit EE Archer Militia exp 5 armour 0 weapon_lvl 0
unit Woodsmen exp 5 armour 0 weapon_lvl 0
unit Woodsmen exp 0 armour 0 weapon_lvl 0
unit Kazaks exp 0 armour 0 weapon_lvl 0
unit EE Archer Militia exp 0 armour 0 weapon_lvl 0
unit EE Archer Militia exp 0 armour 0 weapon_lvl 0
unit Woodsmen exp 0 armour 0 weapon_lvl 0
unit Woodsmen exp 0 armour 0 weapon_lvl 0
unit Kazaks exp 0 armour 0 weapon_lvl 0
unit EE Archer Militia exp 0 armour 0 weapon_lvl 0
unit EE Archer Militia exp 0 armour 0 weapon_lvl 0
unit Woodsmen exp 0 armour 0 weapon_lvl 0
unit Woodsmen exp 0 armour 0 weapon_lvl 0
unit Kazaks exp 0 armour 0 weapon_lvl 0
unit EE Archer Militia exp 0 armour 0 weapon_lvl 0
unit EE Archer Militia exp 0 armour 0 weapon_lvl 0
unit Woodsmen exp 0 armour 0 weapon_lvl 0
unit Woodsmen exp 0 armour 0 weapon_lvl 0

end
siege_settlement Aleksandr6, Yaroslavl, maintain
end_if

terminate_monitor
end_monitor



monitor_conditions I_EventCounter russia_conversion_declined = 1

set_event_counter novgorodo 1
set_counter novgorod_islam 2

set_kings_purse russia 2500

set_faction_standing kievan_rus russia 0.8
set_faction_standing byzantium russia 0.8

if I_IsFactionAIControlled kievan_rus

generate_random_counter random_accept 0 2
if I_EventCounter random_accept
console_command diplomatic_stance kievan_rus russia Allied
end_if

end_if

if I_IsFactionAIControlled byzantium

generate_random_counter random_accept 0 2
if I_EventCounter random_accept
console_command diplomatic_stance byzantium russia Allied
end_if

end_if


if not I_FactionNearTile russia 0 351,247

spawn_army
faction russia
character Aleksandr7, general, age 38, x 351, y 247, ;;;;;;;;;;;family
unit EE Bodyguard exp 5 armour 0 weapon_lvl 0
unit EE Archer Militia exp 5 armour 0 weapon_lvl 0
unit EE Archer Militia exp 5 armour 0 weapon_lvl 0
unit Woodsmen exp 5 armour 0 weapon_lvl 0
unit Woodsmen exp 0 armour 0 weapon_lvl 0
unit Kazaks exp 0 armour 0 weapon_lvl 0
unit EE Archer Militia exp 0 armour 0 weapon_lvl 0
unit EE Archer Militia exp 0 armour 0 weapon_lvl 0
unit Woodsmen exp 0 armour 0 weapon_lvl 0
unit Woodsmen exp 0 armour 0 weapon_lvl 0
unit Kazaks exp 0 armour 0 weapon_lvl 0
unit EE Archer Militia exp 0 armour 0 weapon_lvl 0
unit EE Archer Militia exp 0 armour 0 weapon_lvl 0
unit Woodsmen exp 0 armour 0 weapon_lvl 0
unit Woodsmen exp 0 armour 0 weapon_lvl 0
unit Kazaks exp 0 armour 0 weapon_lvl 0
unit EE Archer Militia exp 0 armour 0 weapon_lvl 0
unit EE Archer Militia exp 0 armour 0 weapon_lvl 0
unit Woodsmen exp 0 armour 0 weapon_lvl 0
unit Woodsmen exp 0 armour 0 weapon_lvl 0

end

end_if


if not I_FactionNearTile russia 0 365,258

spawn_army
faction russia
character Aleksandr8, general, age 38, x 365, y 258, ;;;;;;;;;;;family
unit EE Bodyguard exp 5 armour 0 weapon_lvl 0
unit EE Archer Militia exp 5 armour 0 weapon_lvl 0
unit EE Archer Militia exp 5 armour 0 weapon_lvl 0
unit Woodsmen exp 5 armour 0 weapon_lvl 0
unit Woodsmen exp 0 armour 0 weapon_lvl 0
unit Kazaks exp 0 armour 0 weapon_lvl 0
unit EE Archer Militia exp 0 armour 0 weapon_lvl 0
unit EE Archer Militia exp 0 armour 0 weapon_lvl 0
unit Woodsmen exp 0 armour 0 weapon_lvl 0
unit Woodsmen exp 0 armour 0 weapon_lvl 0
unit Kazaks exp 0 armour 0 weapon_lvl 0
unit EE Archer Militia exp 0 armour 0 weapon_lvl 0
unit EE Archer Militia exp 0 armour 0 weapon_lvl 0
unit Woodsmen exp 0 armour 0 weapon_lvl 0
unit Woodsmen exp 0 armour 0 weapon_lvl 0
unit Kazaks exp 0 armour 0 weapon_lvl 0
unit EE Archer Militia exp 0 armour 0 weapon_lvl 0
unit EE Archer Militia exp 0 armour 0 weapon_lvl 0
unit Woodsmen exp 0 armour 0 weapon_lvl 0
unit Woodsmen exp 0 armour 0 weapon_lvl 0

end

end_if

terminate_monitor
end_monitor

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;
;ZMG by Master Zuma

 



А теперь начинаем разбираться:

сначала надо отредактировать файл historic_events.txt он находится в папке Stainless_Steel_6\data\text

удаляем historic_events.txt.strings.bin.

Затем добавляем следующие строчки в конец файла historic_events.txt


{RUSSIA_CONVERSION_BODY} Knaz we lose Novgorod and some of our people say adopt catholicism for stopwar. Would you like to convert religion it will bring our nation in ciwil war but it will stop war with catholics. And don't forget about other orthodox factions they recation on this can be oufull!
{RUSSIA_CONVERSION_TITLE} Novgorod converion to catholicism.
{RUSSIA_CATHOLICS_BODY} Republik of Novgorod adopt cathlicism.
{RUSSIA_CATHOLICS_TITLE} Novgorod catholics!
{RUSSIA_CONVERSIONM_BODY} Knaz we lose Novgorod and some of our people say adopt islam for stopwar. Would you like to convert religion it will bring our nation in ciwil war but it will stop war with catholics. And don't forget about other orthodox factions they recation on this can be oufull!
{RUSSIA_CONVERSIONM_TITLE} Novgorod converion to islam.
{RUSSIA_ISLAM_BODY} Republik of Novgorod adopt islam.
{RUSSIA_ISLAM_TITLE} Novgorod islams!

 



Сохраняем изменения. На этом изменения текстовиков кроме сampaign_script.txt завершенно.

Переходим к скрипту


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;conters

monitor_event FactionTurnStart

add_events
event counter novgorodo
event counter novgorodm
event counter novgorodc
date 0
end_add_events

set_event_counter novgorodo 1
set_event_counter novgorodc 0
set_event_counter novgorodm 0

terminate_monitor

end_monitor

declare_counter novgorod_catholic
declare_counter novgorod_islam
set_counter novgorod_catholic 0
set_counter novgorod_islam 0

 



Сначала задаем контеры

Обратите внимание, что контеры которые используются как условия в скрипте эти:


declare_counter novgorod_catholic
declare_counter novgorod_islam
set_counter novgorod_catholic 0
set_counter novgorod_islam 0

 



а те что будут потом нужны в EDB:


monitor_event FactionTurnStart

add_events
event counter novgorodo
event counter novgorodm
event counter novgorodc
date 0
end_add_events

set_event_counter novgorodo 1
set_event_counter novgorodc 0
set_event_counter novgorodm 0

terminate_monitor

 



задаются с помощью монитора и команды начала хода сразу же всем скриптам присваиваем значение.

Все нули кроме novgorodo 1 (единица нужна только туту так как этот контер обозначает првославную религию новгорода и должен работать с самого начала).

Переходим к телу скрипта:

оно разделёно на 2 части смену религии на католицизм и на ислам (и то и то - бяка лично моё мнение.).



;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;script body
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;catholic


..............

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;islam



Для мода ZM3  я придумал следующие условия. Во первых столица должна пасть. Вот как это реализуется:


monitor_event GeneralCaptureSettlement SettlementName Novgorod
and FactionReligion catholic
set_counter novgorod_catholic 1
end_monitor

 



Разьясняю. GeneralCaptureSettlement SettlementName Novgorod - это команда означает следующее: генерал захватил поселение имя поселения Новгород,

and FactionReligion catholic и религия захватчика католицизм,

set_counter novgorod_catholic 1 присваеваем значение контеру 1.



Едем дальше

Я решил что падения столицы мало будет, надо чтобы и городов осталось меньше 10.


monitor_event FactionTurnStart FactionType russia
and FactionIsLocal
and FactionReligion orthodox
and I_CompareCounter novgorod_catholic 1
and I_NumberOfSettlements russia set_event_counter russia_conversion_accepted = 0
set_event_counter russia_conversion_declined = 0
historic_event russia_conversion true factions { russia, }

if I_IsFactionAIControlled russia

generate_random_counter random_accept 0 2
if I_EventCounter random_accept set_event_counter russia_conversion_accepted = 1
end_if

end_if

end_monitor

 



первые пять строчек это условие выполнения скрипта интерес представляет следующее:



set_event_counter russia_conversion_accepted = 0
set_event_counter russia_conversion_declined = 0
historic_event russia_conversion true factions { russia, }



очень ВАЖНЫЙ МОМЕНТ, я с ним два часа провозился:

Первые две строчки задают что следующее в скрипте событие будет да или нет, а 3 строчка задаёт само событие. Но здесь подвох. Названия контеров



set_event_counter russia_conversion_accepted = 0
set_event_counter russia_conversion_declined = 0
historic_event russia_conversion true factions { russia, }



должны быть одинаковыми иначе будет туфта и скрипт не будет работать((.

в скобках указываем, для каких народов произойдёт событие для новгорода только.

А что будет если за новгород играет комп? Тут нам помогут следующие команды:



if I_IsFactionAIControlled russia

generate_random_counter random_accept 0 2
if I_EventCounter random_accept set_event_counter russia_conversion_accepted = 1
end_if

end_if



если аи контролирует народ новгород,

создать случайный контер от 1 до 2,

если этот контер равен двум то смена религии подтвержденна.

Далее надо задать определённые условия на отклонение или принятие сообщения о смене религии.
Разбираем по порядку. Моя задумка, если игрок принимает католицизм - мирим его со всеми католиками, даём увеличенную казну, около основных городов поднимаем восстание, задаём случайные события война с оставшимися православными. Если же отверг храбро предложение, то вместо восстания получаешь дополнительные войска, все католики обьявляют тебе войну, случайное событие - альянс с оставшимися православными.

Переходим к реализации этого:


monitor_conditions I_EventCounter russia_conversion_accepted = 1

set_religion russia catholic  

change_population_religion russia catholic 75 orthodox

set_event_counter novgorodc 2

set_counter novgorod_catholic 2

 



Заметьте, здесь мы сразу задаём условие для создания монитора,а именно если событие смены религии принято, меняем религию на католицизм

set_religion russia catholic(Вот он скрипт)

изменяем прцент католицизма в городахи задаём контеру novgorod_catholic значение 2, чтобы скрипт не повторялся каждый ход.




set_kings_purse russia 5000

console_command diplomatic_stance spain russia Neutral
console_command diplomatic_stance milan russia Neutral
console_command diplomatic_stance venice russia Neutral
console_command diplomatic_stance poland russia Neutral
console_command diplomatic_stance england russia Neutral
console_command diplomatic_stance norway russia Neutral
console_command diplomatic_stance denmark russia Neutral
console_command diplomatic_stance hungary russia Neutral
console_command diplomatic_stance hre russia Neutral
console_command diplomatic_stance sicily russia Neutral
console_command diplomatic_stance papal_states russia Neutral
console_command diplomatic_stance france russia Neutral

set_faction_standing kievan_rus russia -0.8
set_faction_standing byzantium russia -0.8

if I_IsFactionAIControlled kievan_rus

generate_random_counter random_accept 0 2
if I_EventCounter random_accept
console_command diplomatic_stance kievan_rus russia war
end_if

end_if

if I_IsFactionAIControlled byzantium

generate_random_counter random_accept 0 2
if I_EventCounter random_accept
console_command diplomatic_stance byzantium russia war
end_if

end_if

historic_event russia_catholics event/Lithuania_converts.bik

 



Устанавливаем королевскую казну 5000.

Следующие команды мирят нас со всеми католиками.

{возможные команды для этой каманды Neutral War Allied}

set_faction_standing kievan_rus russia -0.8 

set_faction_standing byzantium russia -0.8 

Эти две команды делают отношения с киевом и царьградом ужасными.

Создаём случайные события - византия и киев могут обьявить нам войну.


historic_event russia_catholics event/Lithuania_converts.bik

 



Историческое событие о принятии новгородом католицизма и видео об этом.

(в папке fmv\event\ из тевтонской кампании)

Далее. Если около Москвы и Ярославля нет армии на клетках с указанными координатами заспаунить армии ребелв и приказать им осадить эти города.

Не забывем закрыть монитор с которого начали.

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

Аналогично предыдущему.

Для ислама всё тоже только контеры другие.

вот и весь скрипт для каждого народа можно создать свой.

Если хотите чтобы строились разнообразные церкви то придётся работать с контерами а это запарно.

Пример из тевтонской кампании


;------------------- TECHTREE -------------------;

monitor_event PreFactionTurnStart not FactionType lithuania
and not FactionType teutonic_order

set_event_counter pagan_lithuania 0
set_event_counter not_pagan_lithuania 1
set_event_counter not_teutonic 1

end_monitor

monitor_event PreFactionTurnStart FactionType lithuania

set_event_counter pagan_lithuania 1
set_event_counter not_pagan_lithuania 0
set_event_counter not_teutonic 1

if I_EventCounter lithuania_conversion_accepted = 1
set_event_counter pagan_lithuania 0
set_event_counter not_pagan_lithuania 1
end_if


end_monitor

monitor_event PreFactionTurnStart FactionType teutonic_order

set_event_counter not_teutonic 0
set_event_counter pagan_lithuania 0
set_event_counter not_pagan_lithuania 1

end_monitor

 



Легче сделать как я и оставить туже постройку, что была.

Священиков я в моде отменил поэтому не использовал следующие каманды:

retire_characters Lithuania priest

destroy_units Lithuania pagan_unit

распустить всех языческих священников литвы.

destroy_buildings lithuania temple_dievas true

destroy_buildings lithuania temple_dievas_castle true

destroy_buildings lithuania temple_perkunas true

destroy_buildings lithuania temple_perkunas_castle true

destroy_buildings lithuania temple_giltine true

destroy_buildings lithuania temple_giltine_castle true

уничтожить языческие храмы.

КАК РАБОТАТЬ С КОНТЕРАМИ.

Открываем файл EDB Export_desc_building.txt  

cannon_towers city requires factions { northern_european, middle_eastern, eastern_european, greek, southern_european, } and event_counter gunpowder_discovered 1

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

Простейший пример   recruit_pool "Afghan Javelinmen" 1 0.3 2 0 requires factions { russia, } and event_counter novgorodm 2

Cамый интересный варьянт все увидят в моде Ferrum Aeternum там скрипт будет зависит от % религии в регионе так что там можно будет устраивать целые войны с помощью священников.

С уважением

Master Zuma

Все кроме ДЛВ могут использовать этот скрипт!

 

Консольные команды (КОДЫ, читы) для Medieval 2 Total War и Kingdoms

Консольные команды (КОДЫ, читы) для Medieval 2 Total War и Kingdoms

 

Ниже размещен список консольных команд – каждая команда имеет строки: описание, если актуально, то дополнительно указан синтаксис команды и пример ее применения (синтаксис и пример указаны в «таких» кавычках, остальной текст строк поясняющий) либо способ применения. Если какая-то из этих строк отсутствует, то это значит что в ней нет необходимости. Команды разделены по тематическим группам, которые выделены подчеркнутым подзаголовком

Для применения консольных команд следует в запущенной игре (на стратегической карте) открыть консоль и ввести команду на английском языке, для этого необходимо нажать клавишу ~ (тильда) на клавиатуре - она расположена в левом верхнем углу клавиатуры. Следует вводить на английском не только команды, но и их параметры, которые должны соответствовать своему наименованию в текстовых файлах игры.

Это обязательное условие для того, чтобы консольная команда была выполнена - иначе игра просто не поймет чего от нее хотят. Например в русской версии игры наименование итальянского города «Рим» соответствует англоязычному «Rome».

 основная часть:
add_money
описание: Изменить (увеличить или уменьшить) сумму денег своей или другой фракции. Для уменьшения следует указать отрицательную сумму, например добавить -1000. Для уточнения названий фракций можно просмотреть файл descr_strat.txt
синтаксис: «add_money ±число» - для своей фракции или «add_money название_фракции, ±число» для другой
пример: «add_money 5000» «add_money england, -5000»

add_population
описание: Изменить (добавить или отнять) население указанного города
синтаксис: «add_population, Название_города ±число»
пример: «add_population, London 500» или «add_population London, -500»

auto_win
описание: Победить в следующей (авто)битве
синтаксис: «auto_win сторона_битвы»; возможные стороны: «attacker» (атакующий) или «defender» (защищающийся)
пример: «auto_win attacker» или «auto_win defender»

bestbuy
описание: Неизвестно
синтаксис: особенности или параметры неизвестны

character_reset
описание: Обнулить использованные очки передвижения (movement points) указанного персонажа
синтаксис: «character_reset Имя_персонажа»
пример: «character_reset Rufus»

create_unit
описание: Создать отряд в указанном городе (названия отрядов можно почепнуть в файле export_descr_units.txt)
синтаксис: «create_unit Название_города Название_отряда» если название отряда состоит из одного слова, «create_unit название_города "название отряда"», если больше
пример: «create_unit London, Peasants» или «create_unit London "Mailed Knights"»

give_ancillary
описание: Дать анч (персонаж свиты) указанному персонажу
синтаксис: «give_trait Имя_персонажа название_анча»
пример: «give_ancillary William bard»

give_trait
описание: Дать трейт (черту характера) указанному персонажу
синтаксис: «give_trait Имя_персонажа название_трейта»
пример: «give_trait William Drink»

move_character
описание: Переместить указанный персонаж в координату карты
синтаксис: «move_character Имя_персонажа координата_по_оси_X,координата_по_оси_Y»
пример: «move_character William 6,150»

puppify_my_love
описание: Неизвестно
синтаксис: особенности или параметры неизвестны

process_cq
описание: Построить первое здание в очереди (списке) заказанных построек в указанном городе
синтаксис: «process_cq Название_города»
пример: «process_cq London»

remove_ancillary
описание: Удалить анч (персонаж свиты) у указанного персонажа
синтаксис: «remove_ancillary Имя_персонажа название_анча»
пример: «remove_ancillary William bard»

remove_trait
описание: Удалить трейт (черту характера) у указанного персонажа
синтаксис: «remove_trait Имя_персонажа название_трейта»
пример: «remove_trait William Drink»

show_cursorstat
описание: Получить координаты клетки (tile) стратегической карты под курсором, например координату местонахождения армии на страт. карте, применяется для позиционирования армий, флотов и персонажей при произведении изменений в игре на стратегическом уровне (более подробно о таких измениях можно прочесть в теме Стратегия Страта)

toggle_fow
описание: Отключить "туман войны" - это позволит видеть все города и перемещение армий, флотов и персонажей; для включения ввести команду еще раз

toggle_terrain
описание: Включить один из специальных режимов для редактирования/отладки страт. карты – на обычную страткарту в игре накладываются tga-файлы из папки Base; доступные режимы : region (провинция), tiletype (типы местности groundtypes), climate (климат), choke (непреодолимые преграды), landing (суша), frontier (более выражено показывает границы провинций), features (реки), frontier_defend (места, удобные для засад и обороны стратегических проходов на карте); для отключения режима ввести команду еще раз
синтаксис: «toggle_terrain режим» доступные режимы: region; tiletype, climate, choke, landing, frontier, features, frontier_defend
пример: «toggle_terrain region»

 читы (обманные коды):
rogan
описание: Добавить 1 отряд «Орудия на слонах» (Elephant Artillery) к гарнизону или армии, на башнях слона установлены небольшие пушки-серпентины; для добавления еще одного отряда повторно ввести код
применение: выбрать (нажать) город или армию, открыть консоль и ввести код

vindaloo
описание: Добавить 1 отряд «Ракеты на слонах» (Elephant Rocketeer) к гарнизону или армии; для добавления еще одного отряда повторно ввести код
применение: выбрать (нажать) город или армию, открыть консоль и ввести код

madras
описание: Добавить 1 отряд «Слоны» (Elephants) к гарнизону или армии, «экипаж» слона вооружен аркебузами; для добавления еще одного отряда повторно ввести код
применение: выбрать (нажать) город или армию, открыть консоль и ввести код

istanbul
описание: Добавить 1 отряд «Гигантская бомбарда» (Mercenary Monster Bombard) к гарнизону или армии; для добавления еще одного отряда повторно ввести код
применение: выбрать (нажать) город или армию, открыть консоль и ввести код

george
описание: Добавить 1 отряд «Большое органное орудие» (Mercenary Monster Ribault) к гарнизону или армии; для добавления еще одного отряда повторно ввести код
применение: выбрать (нажать) город или армию, открыть консоль и ввести код

houston
описание: Добавить 1 отряд «Ракеты» (Mercenary Rocket Launcher) к гарнизону или армии; для добавления еще одного отряда повторно ввести код
применение: выбрать (нажать) город или армию, открыть консоль и ввести код


 команды для хотсита (работают только в хотсит-играх с включенной консолью):
logon
описание: Авторизовать администратора хотсит-игры, войти в администраторский режим; на данный момент нет информации как разрешить использовать этот режим или установить пароль
синтаксис: «logon пароль»
пример: «logon 777»

logoff
описание: Выйти из режима администратора
синтаксис: особенностей или параметров нет

set_email
описание: Установить адрес электронной почты (е-мейл) игрока указанной фракции
синтаксис: «set_email название_фракции адрес@почты.ру»
пример: «set_email poland Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра. »

set_password
описание: Установить пароль к хотсит-игре для указанной фракции, пишется дважды (второй раз - подтверждение)
синтаксис: «set_password название_фракции пароль пароль»
пример: «set_password poland pass pass»

clear_password
описание: Снять пароль с хотсит-игры для указанной фракции
синтаксис: «clear _password название_фракции»
пример: «clear _password poland»


 скриптовые (работают только в скриптах):
capture_setlement
описание: Захват указанного города
синтаксис: «console_command capture_settlement Название_города»
пример: «console_command capture_settlement York»

create_building
описание: Сторительство указанного здания в указанном городе (названия зданий можно почерпнуть в файле export_descr_buildings.txt)
синтаксис: «console_command create_building Название_города название_здания»
пример: «console_command create_building London small_church»
 

 

Добавление помощников к Генералам

Как известно – вызвать консоль можно использую тильду (~).

Вот список помошников (членов окружения) что могут быть добавлены при помощи комманды give_ancillary. Так же эти коды требуют что бы был выбран персонаж, к которому вы хотите добавить помошников.

give_ancillary this ANCILLARYNAME

ниже приведен список помошников (собственно ANCILLARYNAME) которые могут быть добавлены к Генералам.

Код

Влияние

drillmaster

+25% к движению, скидка при наеме

brilliant_inventor

+30 очков стоительства, +1 фермерство, 20% бонус к прибыли от шахт

scribe_ancillary

Добавляет Авторитет, Бонусы Прибыли

bard

Добавляет Мораль, Популярность

doctor

Имеет больше детей, улучшает шанс восстановления разрушений.

apothecary

Имеет больше детей.

mentor

Увеличивает Коммандование

shieldbearer

Увеличивает Хит Поинты, Понижает Мораль

swordbearer

Увеличивает Хит Поинты, Личных телохранитель

bodyguard

Увеличивает Личную Безопасность, Уменьшает Популярность

foodtaster

Увеличивает Личную Безопасность

tutor

Увеличивает Благочестие, Прибыть от Торговли

 

 

Добавление Юнитов в Стэки

Выберите город или любой юнит как для передвижения и откройте консоль. Просто введите george или любое значение из списка и нажмите Enter, что бы получить соответствующий юнит.

Код

Юнит

rogan

Артилерия на слоне

vindaloo

Ракеты на слоне

madras

Слоны

istanbul

Наймники Monster Bombard

george

Наёмники Monster Ribault

houston

Наёмники Rocket Launcher

 

 

Консольные коды.

Нажмите тильду (~) и введите следующие коды. Все коды чувствительны к регистру. Убедитесть что с заглавной буквы : имена всех членов семей, поселений, и вообще всё что необходимо «с большой буквы». Иначе не сработает

Code

Effect

character_reset

Позволяет персонажу опять ходить. Не всегда работает

add_population "имя города" "колличество"

Позволяет автоматически увеличить население города.

give_trait this "черта" "величина уровня"

Позволяет дать любую черту из доступных фракции специфическому генералу.

process_cq " имя города "

Всё в очереди постройки города будет построено автоматически.

add_money "сумма"

Добавляет определенную сумму золота.

show_cursorstat

Показывает координаты под курсором мышки в формате x,y

toggle_fow

Включает/выключает «Туман войны».

auto_win "attacker/defender"

Во время нахождения на свитке сражения введите этот код (attacker если атакуете и defender если защищаетесь) и нажмите кнопку автобитвы. Автоматически победите.

move_character z x,y

z=имя поселения или юнита без титула (кроме Капитана). x,y=координаты

 

 

Создать Юнит

Испрльзуя консоль введите следующее

create_unit "поселение или персонаж" "unit ID" "число(1-5)" "опыт(1-9)" "броня(1-3)" "оружие(1-3)"


Например
-

creat_unit "London" Longbowmen 2 9 3 3

Этот код создаст 2-х Лучников в London с 3 Золотыми Шевронами, 3им уровнем брони и 3им уровнем оружия

Code

Effect

create_unit "settlement or character" "unit ID" "amount (1-5)" "experience (1-9)" "armor (1-3)" "weapon (1-3)"

Creates Unit at any settlement/general you like

 

 

Детализированные Коды для Нескольких Консольных Команд

Нажмите ~ для доступа к консоли. Как описано выше, комманда "give_trait" работает с несколькими разными характеристиками. Которые можно добваить персонажу. Что бы это работало, у вас должен быть выбран персонаж и вне города. Работает это как:

give_trait this TRAITNAME #

Ниже приведен список TRAITNAMEов и максимально значение возможное для введения величины характеристики. Вот список основных характеристик:

Код

Действие

Loyal 3

+Рыцарство, Лояльность

Brave 3

+Мораль

PoliticsSkill 3

- лояльность, + влияние

Intelligent 3

Улучшеное коммандование, Прибыль

MathematicsSkill 3

Увеличена прибыль

GoodAdministrator 3

Увеличена законность, Прибыль от торговли

GoodMiner 3

Увеличена Прибыль от Шахт

GoodTrader 3

Увеличена прибыль от торговли

FathersLegacy 3

Увеличен Влияние

VictorVirtue 3

Увеличено Рыцарство

BattleChivalry 5

Увеличено Рыцарство

NaturalMilitarySkill 3

Улучшено Коммандование

GoodAmbusher 5

Увеличивает навык командования (ситуативно)

GoodInfantryGeneral 1

Увеличивает навык командования (ситуативно)

GoodCavalryGeneral 1

Увеличивает навык командования (ситуативно)

GoodDefender 5

Увеличивает навык командования (ситуативно)

GoodAttacker 5

Увеличивает навык командования (ситуативно)

GoodCommander 5

Увеличивает навык командования

BattleDread 4

Увеличивает Благоговение

Energetic 3

Увеличивает колличество очков движения

HighPersonalSecurity 3

Улучшает личную безобасность

PublicFaith 4

Увеличивает Благочестие

HaleAndHearty 3

Больше детей, увеличено колличество жизней Генерала

 

Дать Помощников и Черты Шпионам/Убийцам

Как уже говорилось, возпользуйтесь тильдой (~).

Вот список раличных помошников (членов свиты)что могут быть добавлены с помощью команды give_ancillary. Для того тчо бы код подействовал необходимо что бы нужный персонаж был выбран.

give_ancillary this ANCILLARYNAME

Ниже приведен список (значений ANCILLARYNAME) который может быть применен к Шпионам/Убийцам.

ЗАМЕТКА: для значений с пометкой "TRAIT", используйте:

give_trait this TRAITNAME #

для того что бы дать агенту черту характера (регистр влияет).

Код

Действие

catamite

+1 к навыкам агента

courtesan

+1 к навыкам агента

pickpocket

+1 к навыкам агента

dancer

+2 к навыкам агента

GoodSaboteur 3

TRAIT +1-3 для убийцы, увеличивает навыки саботажа

GoodAssassin 5

TRAIT +1-5 увеличиывает навыки убийцы

GoodSpy 5

TRAIT +1-5 увеличиывает навыки шпиона

 

 

 

Как ввести офицеров в Medieval 2: Total War

Как ввести офицеров в Medieval 2: Total War
 
Значит так берем файл export_descr_unit.txt. Выбираем любой юнит. К примеру ветераны копейщики (почти у всех европейских фракции они есть). Находи эти строчки:


type Sergeant Spearmen
dictionary Sergeant_Spearmen ; Sergeant Spearmen
category infantry
class spearmen
voice_type Light
banner faction main_spear
banner holy crusade
soldier Sergeant_Spearmen, 60, 0, 1
attributes sea_faring, hide_forest, can_withdraw

formation 1.2, 1.2, 2.4, 2.4, 4, square, schiltrom

Далее между строк soldier и attributes припишем слово officer и дальше модель офицера (все как Риме):

type Sergeant Spearmen
dictionary Sergeant_Spearmen ; Sergeant Spearmen
category infantry
class spearmen
voice_type Light
banner faction main_spear
banner holy crusade
soldier Sergeant_Spearmen, 60, 0, 1
officer Armored_Sergeants
attributes sea_faring, hide_forest, can_withdraw

formation 1.2, 1.2, 2.4, 2.4, 4, square, schiltrom

Так как у всех фракций у кого есть ветераны копейщики, то и вписывать офицеров нужно таких чтобы отображались у всех. К примеру как тут Армированые копейщики или на пример феодальные рыцари (спешеные). Это я открыл вчера, а сегодня попробовал добавить еще двух офицеров:


type Heavy Billmen
dictionary Heavy_Billmen ; Heavy Billmen
category infantry
class heavy
voice_type Heavy
banner faction main_infantry
banner holy crusade
soldier Heavy_Billmen, 48, 0, 1.2
officer Armored_Swordsmen
officer Dismounted_NE_Late_Bodyguard
officer Dismounted_English_Knights

attributes sea_faring, hide_forest, hardy, can_withdraw

Тут мною отмоденые билльмени, превратил их в алебардщиков, прюс к нестандартный офицер - спешеный бодигуард.
Примечание к тому кто будет делать сам. Пример пытался присобачить к английским йоменам офицера в виде стрелка. Гаденыш при стрельбе его подопечных просто стоит в боевой позе и все, а при атаке врукопашную игра выдает ошибку. Пример два: к конникам пехотного офицера можно, а вот пехоте конного нельзя. При первом случае пехотный офицер стоит на лощаде, ну прям джигит(в юморе вывешу скрин), а при втором случае отряд пехоты бегает по карте а офицер сидит на земле и только поворачивается в строну своего отряда. Вроде все.