Статья. Silent events / Тихие ивенты - Учебник по моддингу - Strategium.ru Перейти к содержимому

Статья. Silent events / Тихие ивенты

Рекомендованные сообщения

Terranoid

Занимаясь реализацией этого пункта:

2. Создание модификатора оккупированной провинции - который будет появляться через полный год вражеского контроля и будет накладывать негативные модификаторы на несколько лет вперед. Агрессору-контроллеру провинции появление модификатора будет выдавать ивент о разграблении провинции - давая небольшое кол-во золота.

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

http://www.strategium.ru/forum/index.php?showtopic=11796

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

Выход попробовал найти с помощью технологии тихих ивентов:

]]>http://www.paradoxian.org/eu3wiki/Silent_events]]>

Технология исходит прямиком из MMU - суть ее заключается в том что бы перенести функции ивента с непосредственным эффектом на страну игрока на страну АИ. При этом никакого окна для того что бы просто нажать "ОК" не появится.

Объем папки ивентов MMU внушает тихий ужас - действительно рациональное решение при столь огромном кол-ве ивентов.

Собственно взяв технологию на вооружение и сейв отсюда http://www.strategium.ru/forum/index.php?s...st&p=163373 принялся за эксперименты.

Оккупируем Баварию и ждем эффекта:

country_event = {
 id = 10995

 trigger = { TAG = PIR }

 mean_time_to_happen = {
	 months = 1
 }

 title = "EVTNAME10936"
 desc = "EVTDESC10936"

 option = {
	 name = "EVTOPTA10936"
	 any_country = { 
		 any_province = { 
			 limit = {
				 owned_by = THIS 
				 NOT = { controlled_by = THIS }
				 NOT = { has_province_modifier = occupation }
			 }
			 add_province_modifier = {
				 name = "occupation"
				 duration = 60
			 }
		 } 
	 } 
 }
}

Не сработало. Печальный вывод:


 i 

1. Пираты или Ребелы не могут быть использованы в качестве перевалочного пункта для "сайлент-ивента"
 

Меняем код, оккупируем Баварию, ждем эффекта:

country_event = {
 id = 10995

 trigger = { TAG = ENG }

 mean_time_to_happen = {
	 months = 1
 }

 title = "EVTNAME10936"
 desc = "EVTDESC10936"

 option = {
	 name = "EVTOPTA10936"
	 any_country = { 
		 any_province = { 
			 limit = {
				 owned_by = THIS 
				 NOT = { controlled_by = THIS }
				 NOT = { has_province_modifier = occupation }
			 }
			 add_province_modifier = {
				 name = "occupation"
				 duration = 60
			 }
		 } 
	 } 
 }
}

Не сработало. Печальный вывод:


 i 

2. any_country - увы, но для игровой механики слишком сложно не в тригерре, а в опциональном отборе воспринимать широкий спектр оккупированных провинций разных стран.

any_country не может использоваться в сайлент-ивентах. Нужна конкретика по странам.
 

Меняем код, оккупируем Баварию, ждем эффекта:

country_event = {
 id = 10995

 trigger = { TAG = ENG }

 mean_time_to_happen = {
	 months = 1
 }

 title = "EVTNAME10936"
 desc = "EVTDESC10936"

 option = {
	 name = "EVTOPTA10936"
	 BAV = { 
		 any_province = { 
			 limit = {
				 owned_by = BAV 
				 NOT = { controlled_by = BAV }
				 NOT = { has_province_modifier = occupation }
			 }
			 add_province_modifier = {
				 name = "occupation"
				 duration = 60
			 }
		 } 
	 } 
 }
}

Теперь работает. На оккупированные мной Баварские провинции были повешены нужные модификаторы.

Куча назойливых окон ? Не видел, все прошло незаметно.

Вывод:


 i 

3."Сайлент-ивенты" отличный материал для создания скрытых скриптово-флаговых ситуаций, так сказать непредсказуемость последствий для игрока когда его не оповещают ивентом вообще. Но для сокращения ивентового микро-менеджмента они не подходящий материал ибо кол-во строчек кода увеличивается в 327 раз.

Почему в 327 ? Потому что придется перечислять частные случаи всех 327-ми тегов стран имеющихся в чистом Наследнике )
 

Изменено пользователем KERZZZ

Закреплённые сообщения
Leprekon

Очень интересная система :)

И у тебя ошибка во втором блоке - там на контроллере Англия стоит, а не любая страна.

Изменено пользователем Leprekon

Terranoid
Очень интересная система :)

И у тебя ошибка во втором блоке - там на контроллере Англия стоит, а не любая страна.

Там нету ошибки. "Любая страна" в колонке опций. Тег Англии взят вместо Пиратов/Ребелов чисто для проверки как существующая на текущий момент партии страна.

Изменено пользователем Terranoid

Myxach

я знаю что это поднятие из гроба темы, ну не лучше ведь, как в TEXAS ?

country_event = {
id = 1234567

trigger = {
	tag = TXX
}

mean_time_to_happen = {
	months = 2
}

title = "EVTNAME1234567"
desc = "EVTDESC1234567"

option = {
	name = "EVTOPTA1234567"
########################################################
	any_country = {
		limit = {
			elector = yes
			or = { is_subject = yes is_lesser_in_union = yes }
		}
		overlord = {
			change_variable = { which = "Subordinate_Electors" value = 1 }
		}
	}

}
}


Присоединиться к обсуждению

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

Гость
Ответить в тему...

×   Вы вставили отформатированное содержимое.   Удалить форматирование

  Only 75 emoji are allowed.

×   Ваша ссылка автоматически преображена.   Отображать как простую ссылку

×   Предыдущее содержимое было восстановлено..   Очистить текст в редакторе

×   You cannot paste images directly. Upload or insert images from URL.

  • Ответы 3
  • Создано
  • Последний ответ
  • Просмотры 4409

Лучшие авторы в этой теме

  • Terranoid

    2

  • Leprekon

    1

  • Myxach

    1

Популярные дни

Лучшие авторы в этой теме

  • Сейчас на странице   0 пользователей

    • Нет пользователей, просматривающих эту страницу


admin@strategium.ru

Copyright © 2008-2025 Strategium.ru Powered by Invision Community

×
×
  • Создать...