Примеры использования некоторых функций M2TW Engine Overhaul Project
Здесь будут размещаться удачные примеры реализации различных вещей. Если вы сделали что-то интересное, то смело помещайте это здесь, с подробным описанием реализации. Надеюсь это будут кому-нибудь полезно.
Для начала рекомендую ознакомиться с инструкцией к программе и её возможностями на Для просмотра ссылки Зарегистрируйтесь странице.
monitor_event FactionTurnEnd FactionType venice
and DiplomaticStanceFromFaction milan = suzerain
console_command control milan
end_monitor
monitor_event FactionTurnEnd FactionType milan
console_command control venice
end_monitor
и при таких
Спойлер (раскрыть)
diplomacy:
venice-milan test suzerain
venice
milan
suzerain
9
1
passed_Turns=
1
3
и при таких условиях
Спойлер (раскрыть)
diplomacy:
venice-milan test suzerain
venice
milan
suzerain
9
1
passed_Turns=
1
0
+ много разных еще )
Все работает безотказно именно с установленными при помощи diplomacy.yoneuoycfg. а после разрыва отношений и нового вассалитета (именно с той же фракцией) условие не читается. а жаль
Сказал бы что я че то не то делаю , вроде уж некуда не то делать
Ладно завтра еще раз попытаюсь... еще и форты же есть
Все работает безотказно именно с установленными при помощи diplomacy.yoneuoycfg. а после разрыва отношений и нового вассалитета (именно с той же фракцией) условие не читается. а жаль
это довольно странно. То есть не работает если устаовить дип. отношения скриптом? Иначе работает, так? При этом сами дип. отношения устанавливаются корректно?
monitor_event FactionTurnEnd FactionType venice -конец хода венеции
and DiplomaticStanceFromFaction milan = suzerain -если выполняется,то*
console_command control milan -передаем контроль над миланом
end_monitor
monitor_event FactionTurnEnd FactionType milan -и т.д.
console_command control venice
end_monitor
*все что касается настроек diplomacy.yoneuoycfg это работает, дип отношения устанавливаются как нужно.
Я имею ввиду что не читается условие "and DiplomaticStanceFromFaction milan = suzerain" в случаях
к примеру (Раскрыть)
ну вот допустим я вот не хочу задавать дип отношения при помощи проги, а просто хочу пользоваться условием
suzerain чтоб проверять является фракция вассалом. А вассал это не мной установлен, не через прогу, а через посла
установленный во время игры при помощи дипломата. Установленный не при помощи проги вассалитет (обычным способом) вообще должен соответствовать этому самому "suzerain"? По задумке должен работать?
ага, должен. Правда я проверял это всего однажды, сложно заставить ии принять вассалитет даже под угрозой уничтожения.
Само условие правильно записано? Я просто не помню где там должен быть сюзерен, слева от = или справа.
то есть всё-таки неправильный порядок фракций в команде был?
надо было так
monitor_event FactionTurnEnd FactionType venice
and DiplomaticStanceFromFaction milan suzerain = venice
end_monitor
а было так
monitor_event FactionTurnEnd FactionType venice
and DiplomaticStanceFromFaction milan = suzerain
end_monitor
- - - Сообщение автоматически склеено - - -
оно и второй вариант работает, но если сам вассала задаешь.
а второй вариант заработал и через посла
- - - Сообщение автоматически склеено - - -
DinarMayor (09 июля 2020, 23:54):
monitor_event FactionTurnEnd FactionType venice
and DiplomaticStanceFromFaction milan suzerain = venice
end_monitor
Не знаю конечно такой от себя можно сказать придуманный скрипт(выделенное)... но ведь с первого раза заработал
Когда продолжил тестить вассалитет обнаружил одну закономерность (я - венеция, мой вассал - милан):
-милан становится вассалом венеции = условие suzerain работает.
-разрыв отношений (переход на нейтралитет),война, снова милан становится вассалом венеции = условие suzerain работает (проверял таким образом более 10ти раз подряд за одну компанию)
-милан объявляет войну венеции (бывает и такое что вассал объявляет войну хозяину ), снова милан становится вассалом венеции = условие suzerain работает
-венеция объявляет войну милану, снова милан становится вассалом венеции = условие suzerain не работает для этих фракций больше не когда за компанию, а именно милан = вассал венеции
конкретное условие (Раскрыть)
monitor_event FactionTurnEnd FactionType venice
and DiplomaticStanceFromFaction milan = suzerain
end_monitor
либо
monitor_event FactionTurnEnd FactionType venice
and DiplomaticStanceFromFaction milan suzerain = venice
end_monitor
я все таки пользуюсь первым, как было задумано
Итог такой: переход от вассалитета к войне портит всю малину... НО это лично для меня не беда!... я вассалов просто так не отпускаю и уж точно сам войну не объявлю (разве что случайно убийцей например и то раз в 5 компаний такое у меня бывает)
вообщем спасибо за такую возможность! Я замечтался о таком еще в далеком 2006 году - а именно по хотению управлять своими вассалами ( примерно как на первом видео)
- - - Сообщение автоматически склеено - - -
И да, если вдруг кто то захочет сделать что подобное у себя, не стоит делать Save/Load во время хода за вассалов. После загрузки сохраненки может получится так что игра будет продолжена уже тока за вассала
monitor_conditions I_EventCounter protector_control_declined = 1 ;отключить контроль
set_counter Protectorate 0
set_event_counter protector_control_declined = 0
end_monitor
;-------------------вассалы Венеции:
monitor_conditions I_TurnNumber = 0 ;это Венеция
and I_LocalFaction venice
set_counter is_the_venice 1
end_monitor
;-------------------Милан
monitor_event FactionTurnEnd FactionType venice
and DiplomaticStanceFromFaction milan = suzerain ;является ли Милан вассалом Венеции
set_counter venice_milan_vassal 1
end_monitor
monitor_event FactionTurnEnd FactionType venice ;не является
and not DiplomaticStanceFromFaction milan = suzerain
set_counter venice_milan_vassal 0
end_monitor
monitor_event PreFactionTurnStart FactionType milan ;устанавливается контроль над миланом на начало его хода
and I_CompareCounter Protectorate = 1
and I_CompareCounter is_the_venice = 1
and I_CompareCounter venice_milan_vassal = 1
console_command control milan
end_monitor
monitor_event FactionTurnEnd FactionType milan ;устанавливается контроль над венецией на конец хода милана
and I_CompareCounter Protectorate = 1
and I_CompareCounter is_the_venice = 1
and I_CompareCounter venice_milan_vassal = 1
console_command control venice
end_monitor
;-------------------Англия
monitor_event FactionTurnEnd FactionType venice
and DiplomaticStanceFromFaction england = suzerain
set_counter venice_england_vassal 1
end_monitor
monitor_event FactionTurnEnd FactionType venice
and not DiplomaticStanceFromFaction england = suzerain
set_counter venice_england_vassal 0
end_monitor
monitor_event PreFactionTurnStart FactionType england
and I_CompareCounter Protectorate = 1
and I_CompareCounter is_the_venice = 1
and I_CompareCounter venice_england_vassal = 1
console_command control england
end_monitor
monitor_event FactionTurnEnd FactionType england
and I_CompareCounter Protectorate = 1
and I_CompareCounter is_the_venice = 1
and I_CompareCounter venice_england_vassal = 1
console_command control venice
end_monitor
;-------------------Франция
monitor_event FactionTurnEnd FactionType venice
and DiplomaticStanceFromFaction france = suzerain
set_counter venice_france_vassal 1
end_monitor
monitor_event FactionTurnEnd FactionType venice
and not DiplomaticStanceFromFaction france = suzerain
set_counter venice_france_vassal 0
end_monitor
monitor_event PreFactionTurnStart FactionType france
and I_CompareCounter Protectorate = 1
and I_CompareCounter is_the_venice = 1
and I_CompareCounter venice_france_vassal = 1
console_command control france
end_monitor
monitor_event FactionTurnEnd FactionType france
and I_CompareCounter Protectorate = 1
and I_CompareCounter is_the_venice = 1
and I_CompareCounter venice_france_vassal = 1
console_command control venice
end_monitor
;-------------------СвРимскаяИмперия
monitor_event FactionTurnEnd FactionType venice
and DiplomaticStanceFromFaction hre = suzerain
set_counter venice_hre_vassal 1
end_monitor
monitor_event FactionTurnEnd FactionType venice
and not DiplomaticStanceFromFaction hre = suzerain
set_counter venice_hre_vassal 0
end_monitor
monitor_event PreFactionTurnStart FactionType hre
and I_CompareCounter Protectorate = 1
and I_CompareCounter is_the_venice = 1
and I_CompareCounter venice_hre_vassal = 1
console_command control hre
end_monitor
monitor_event FactionTurnEnd FactionType hre
and I_CompareCounter Protectorate = 1
and I_CompareCounter is_the_venice = 1
and I_CompareCounter venice_hre_vassal = 1
console_command control venice
end_monitor
;-------------------Пиза
monitor_event FactionTurnEnd FactionType venice
and DiplomaticStanceFromFaction saxons = suzerain
set_counter venice_saxons_vassal 1
end_monitor
monitor_event FactionTurnEnd FactionType venice
and not DiplomaticStanceFromFaction saxons = suzerain
set_counter venice_saxons_vassal 0
end_monitor
monitor_event PreFactionTurnStart FactionType saxons
and I_CompareCounter Protectorate = 1
and I_CompareCounter is_the_venice = 1
and I_CompareCounter venice_saxons_vassal = 1
console_command control saxons
end_monitor
monitor_event FactionTurnEnd FactionType saxons
and I_CompareCounter Protectorate = 1
and I_CompareCounter is_the_venice = 1
and I_CompareCounter venice_saxons_vassal = 1
console_command control venice
end_monitor
;-------------------Папа Римский
monitor_event FactionTurnEnd FactionType venice
and DiplomaticStanceFromFaction papal_states = suzerain
set_counter venice_papal_states_vassal 1
end_monitor
monitor_event FactionTurnEnd FactionType venice
and not DiplomaticStanceFromFaction papal_states = suzerain
set_counter venice_papal_states_vassal 0
end_monitor
monitor_event PreFactionTurnStart FactionType papal_states
and I_CompareCounter Protectorate = 1
and I_CompareCounter is_the_venice = 1
and I_CompareCounter venice_papal_states_vassal = 1
console_command control papal_states
end_monitor
monitor_event FactionTurnEnd FactionType papal_states
and I_CompareCounter Protectorate = 1
and I_CompareCounter is_the_venice = 1
and I_CompareCounter venice_papal_states_vassal = 1
console_command control venice
end_monitor
;-------------------Сицилия
monitor_event FactionTurnEnd FactionType venice
and DiplomaticStanceFromFaction sicily = suzerain
set_counter venice_sicily_vassal 1
end_monitor
monitor_event FactionTurnEnd FactionType venice
and not DiplomaticStanceFromFaction sicily = suzerain
set_counter venice_sicily_vassal 0
end_monitor
monitor_event PreFactionTurnStart FactionType sicily
and I_CompareCounter Protectorate = 1
and I_CompareCounter is_the_venice = 1
and I_CompareCounter venice_sicily_vassal = 1
console_command control sicily
end_monitor
monitor_event FactionTurnEnd FactionType sicily
and I_CompareCounter Protectorate = 1
and I_CompareCounter is_the_venice = 1
and I_CompareCounter venice_sicily_vassal = 1
console_command control venice
end_monitor