Скрипт смены религий в 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 < 10
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 < 2
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 < 2

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 < 2

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 < 2

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 < 2

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 < 10
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 < 2
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 < 2

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 < 2

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 < 2

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 < 2

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 < 10
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 < 2
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 < 2
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 < 2

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 < 2

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

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

 

Комментарии   

0 #1 aslan95 14.01.2018 00:41
:-* а как это делается я так и не понял
Цитировать

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

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

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