Сичевые Свитки - FAQ - Моддинг персонажей (EDA + EDCT)
Какие текстовые файлы используются для редактирования персонажей в M2TW ?
Спойлер (раскрыть)
1) descr_character.txt - типы персонажей и привязка к типам страмоделей.
2) descr_model_strat.txt - пропись путей к моделям и текстурам персонажей, используемым на стратегической карте.
3) descr_names.txt - список идентификаторов имен персонажей.
4) names.txt - локализация текстовых описаний имен персонажей.
5) descr_strat.txt - стартовые настройки и размещение персонажей на страткарте кампании.
1) descr_character.txt - типы персонажей и привязка к типам страмоделей.
2) descr_model_strat.txt - пропись путей к моделям и текстурам персонажей, используемым на стратегической карте.
3) descr_names.txt - список идентификаторов имен персонажей.
4) names.txt - локализация текстовых описаний имен персонажей.
5) descr_strat.txt - стартовые настройки и размещение персонажей на страткарте кампании.
Можно ли задать в качестве условия или скрипта при наличия союза у 2 определенных фракций появление определенного персонажа или предмета в свите лидера одной из фракций? Как это прописать? (как добавить анч персонажу при заключении союза с определенной фракцией)
Спойлер (раскрыть)
Редактируем файл анчей export_descr_ancillaries.txt:
1. Прописываем анч:
2. Работаем с триггером (в этом же файле ниже):
Итог: при заключении союза фракцией lithuania с teutonic_order будет выдан уникальный анч генералу с шансом 100%.
Редактируем файл анчей export_descr_ancillaries.txt:
1. Прописываем анч:
Ancillary my_super_hero Type Military Transferable 0 Image warrior_berserker.tga Unique ExcludeCultures northern_european, eastern_european, southern_european, greek, mesoamerican Description my_super_hero_desc EffectsDescription my_super_hero_effects_desc Effect Command 3 Effect Authority 3 Effect TroopMorale 3
2. Работаем с триггером (в этом же файле ниже):
Trigger my_super_hero_1 WhenToTest CharacterTurnEnd Condition IsGeneral and FactionType lithuania and TargetFactionType teutonic_order and DiplomaticStanceFactions = Allied AcquireAncillary albertus_magnus chance 100
Итог: при заключении союза фракцией lithuania с teutonic_order будет выдан уникальный анч генералу с шансом 100%.
Как задать условия для появления конкретной свиты у какого-либо персонажа ?
Спойлер (раскрыть)
Для того чтобы задать условия, определяющие появление у персонажа свиты (в дальнейшем будем называть ее также "анчем"), необходимо обратиться к файлу export_descr_ancillaries.txt и найти в нем блоки триггеров.
В качестве примера попробуем разобраться, как внедряются записи для какой-либо конкретной свиты в исполнительные файлы игры.
1. Работа с файлом export_descr_ancillaries.txt
1.1. Изучим случайный триггер (все триггеры располагаются в нижней части файла), определяющий условия появления свиты у персонажа:
Trigger derjava_anc_trigger - название триггера.
WhenToTest GeneralCaptureSettlement - условие получения данной свиты.
Condition Attribute Piety > 3 - благочестие персонажа должно быть больше 3-его уровня.
and SettlementName Moscow - действие триггера приходит в городе с именем "Москва".
and not I_WorldwideAncillaryExists derjava - нет аналогов данного анча, т.е. данный анч должен быть уникальным среди всех прочих.
and not HasAncType Relic - тип анча - реликт.
AcquireAncillary derjava chance 70 - вероятность, с которой придет данный артефакт (анч).
1.2. Далее вносим записи об анче (в верхней части файла):
Ancillary derjava - название дожно совпадать с название триггера.
Type Relic - тип свиты.
Transferable 1 - возможность передавать анч другим персонажам.
Image derjava.tga - название иконки в папке data / ui / ancillaries.
ExcludeCultures middle_eastern, mesoamerican - культуры, которым доступен данный анч.
Description derjava_desc - ссылка на описание в файле export_ancillaries.txt (папка text).
EffectsDescription derjava_effects_desc - ссылка на описание эффектов данной свиты в том же файле export_ancillaries.txt.
2. Работа с файлом export_ancillaries.txt
После этого заходим в каталог data / text, открываем файл export_ancillaries.txt и прописываем описание свиты:
3. Графическое оформление анча
Заходим в папку data / ui / ancillaries и добавляем изображение с названием derjava в формате tga.
Для того чтобы задать условия, определяющие появление у персонажа свиты (в дальнейшем будем называть ее также "анчем"), необходимо обратиться к файлу export_descr_ancillaries.txt и найти в нем блоки триггеров.
В качестве примера попробуем разобраться, как внедряются записи для какой-либо конкретной свиты в исполнительные файлы игры.
1. Работа с файлом export_descr_ancillaries.txt
1.1. Изучим случайный триггер (все триггеры располагаются в нижней части файла), определяющий условия появления свиты у персонажа:
Trigger derjava_anc_trigger WhenToTest GeneralCaptureSettlementCondition Attribute Piety > 3 and SettlementName Moscow and not I_WorldwideAncillaryExists derjava and not HasAncType Relic AcquireAncillary derjava chance 70
Trigger derjava_anc_trigger - название триггера.
WhenToTest GeneralCaptureSettlement - условие получения данной свиты.
Condition Attribute Piety > 3 - благочестие персонажа должно быть больше 3-его уровня.
and SettlementName Moscow - действие триггера приходит в городе с именем "Москва".
and not I_WorldwideAncillaryExists derjava - нет аналогов данного анча, т.е. данный анч должен быть уникальным среди всех прочих.
and not HasAncType Relic - тип анча - реликт.
AcquireAncillary derjava chance 70 - вероятность, с которой придет данный артефакт (анч).
1.2. Далее вносим записи об анче (в верхней части файла):
Ancillary derjavaType RelicTransferable 1 Image derjava.tga ExcludeCultures middle_eastern, mesoamerican Description derjava_desc EffectsDescription derjava_effects_desc
Ancillary derjava - название дожно совпадать с название триггера.
Type Relic - тип свиты.
Transferable 1 - возможность передавать анч другим персонажам.
Image derjava.tga - название иконки в папке data / ui / ancillaries.
ExcludeCultures middle_eastern, mesoamerican - культуры, которым доступен данный анч.
Description derjava_desc - ссылка на описание в файле export_ancillaries.txt (папка text).
EffectsDescription derjava_effects_desc - ссылка на описание эффектов данной свиты в том же файле export_ancillaries.txt.
2. Работа с файлом export_ancillaries.txt
После этого заходим в каталог data / text, открываем файл export_ancillaries.txt и прописываем описание свиты:
{derjava} Держава
{derjava_desc} Держава была дарована русскому царю
{derjava_effects_desc} +2 к благочестию, +2 к здоровью, +1 к боевому духу солдат на поле боя3. Графическое оформление анча
Заходим в папку data / ui / ancillaries и добавляем изображение с названием derjava в формате tga.
Как прописать персонажу анч на старте кампании ?
Спойлер (раскрыть)
Для того чтобы внедрить анч в список того или иного персонажа на старте кампании, необходимо в descr_strat.txt найти запись нужного персонажа и в строку ancillaries добавить ему требуемый анч, например:
Для того чтобы внедрить анч в список того или иного персонажа на старте кампании, необходимо в descr_strat.txt найти запись нужного персонажа и в строку ancillaries добавить ему требуемый анч, например:
character Alexius Comnenus, named character, male, leader, age 45, x 167, y 79 traits Factionleader 1 , GoodCommander 2 , NaturalMilitarySkill 1 , GoodDefender 1 , Intelligent 2 , ReligionStarter 1 ancillaries derjava
Как редактировать свиту персонажа и добавлять новую ?
Спойлер (раскрыть)
Для того чтобы отредактировать / создать свиту (анч) персонажа, необходимо работать со следующими файлами:
1. export_descr_ancillaries.txt
Рассмотрим пример анча:
Теперь подробнее:
Ancillary bodyguard - название свиты (анча).
Type Security - тип анча.
Transferable 1 - параметр, определяющий возможность переноса данного анча от одного персонажа к другому (1 – анч можно переносить, 0 – анч нельзя переносить).
Image security_eliteguard.tga - ссылка на графическое изображение свиты для игрового интерфейса.
ExcludedAncillaries lorien_harp - параметр, определяющий, что при указанной свите данный анч не появится у персонажа (лимит анчей здесь – не более 3, далее - вылет).
ExcludeCultures middle_eastern, eastern_european, gondor, southern_european, northern_european - параметр, определяющий, что у фракций, представляющих указанные культуры, рассматриваемый анч не появится.
Description bodyguard_desc - ссылка на текстовое описание анча в файле локализации (упомянуто далее).
EffectsDescription bodyguard_effects_desc - ссылка на текстовое описание эффектов данного анча в файле локализации (упомянуто далее).
Effect PersonalSecurity 2 - эффект (бонус), который начисляется персонажу при появлении у него данной свиты (здесь рассмотрен эффект "Личная безопасность").
Effect LocalPopularity -1 - эффект (бонус), который начисляется персонажу при появлении у него данной свиты (здесь рассмотрен эффект "Прирост населения").
После этого разберемся с условиями появления данного анча, прописанными в соответствующем нашей свите триггере:
Продолжаем комментарии строк :
Trigger agents12 - название триггера (должно быть уникальным).
WhenToTest SufferAssassinationAttempt - триггер срабатывает в момент, тестируемый после неудачной попытки самоубийства персонажа.
Condition IsGeneral - условие срабатывания триггера, требующее, что персонаж, который получит анч, должен быть типа "Генерал".
and Trait HighPersonalSecurity < 1 - дополнительное условие срабатывания триггера, требующее наличия указанной характеристики (трейта) HighPersonalSecurity у персонажа, получающего данный анч, не более уровня "1" (т.е. трейт HighPersonalSecurity должен быть уровня "0").
AcquireAncillary bodyguard chance 50 - персонаж получит указанный анч (bodyguard) с вероятностью, равной 50%.
2. export_descr_ancillary_enums.txt
В этом файле необходимо указать ссылки на описание каждого анча, а также его условий и эффектов.
3. export_ancillaries.txt
Данный файл представляет собой список локализации предыдущего файла, т.е. отображение текстовых описаний в свитке персонажа во время игры.
Примечание: следует принимать во внимание, что в игре существует определенный лимит трейтов, поэтому при добавлении собственных черт вполне полезно редактировать уже имеющиеся стандартные характеристики.
4. Задание изображения анча
Иконку, которая будет отображать текущый анч в списке свиты персонажа, ужно поместить в каталог data / ui / ancillaries в формате tga.
Здесь стоит отметить, что обязательно соответствие имени графического файла с названием самого анча в export_descr_ancillaries.txt.
Для того чтобы отредактировать / создать свиту (анч) персонажа, необходимо работать со следующими файлами:
1. export_descr_ancillaries.txt
Рассмотрим пример анча:
Ancillary bodyguard Type Security Transferable 1 Image security_eliteguard.tga ExcludedAncillaries lorien_harp ExcludeCultures middle_eastern, eastern_european, gondor, southern_european, northern_european EffectsDescription bodyguard_effects_desc Effect PersonalSecurity 2 Effect LocalPopularity -1
Теперь подробнее:
Ancillary bodyguard - название свиты (анча).
Type Security - тип анча.
Transferable 1 - параметр, определяющий возможность переноса данного анча от одного персонажа к другому (1 – анч можно переносить, 0 – анч нельзя переносить).
Image security_eliteguard.tga - ссылка на графическое изображение свиты для игрового интерфейса.
ExcludedAncillaries lorien_harp - параметр, определяющий, что при указанной свите данный анч не появится у персонажа (лимит анчей здесь – не более 3, далее - вылет).
ExcludeCultures middle_eastern, eastern_european, gondor, southern_european, northern_european - параметр, определяющий, что у фракций, представляющих указанные культуры, рассматриваемый анч не появится.
Description bodyguard_desc - ссылка на текстовое описание анча в файле локализации (упомянуто далее).
EffectsDescription bodyguard_effects_desc - ссылка на текстовое описание эффектов данного анча в файле локализации (упомянуто далее).
Effect PersonalSecurity 2 - эффект (бонус), который начисляется персонажу при появлении у него данной свиты (здесь рассмотрен эффект "Личная безопасность").
Effect LocalPopularity -1 - эффект (бонус), который начисляется персонажу при появлении у него данной свиты (здесь рассмотрен эффект "Прирост населения").
После этого разберемся с условиями появления данного анча, прописанными в соответствующем нашей свите триггере:
Trigger agents12 WhenToTest SufferAssassinationAttempt Condition IsGeneral and Trait HighPersonalSecurity < 1 AcquireAncillary bodyguard chance 50
Продолжаем комментарии строк :
Trigger agents12 - название триггера (должно быть уникальным).
WhenToTest SufferAssassinationAttempt - триггер срабатывает в момент, тестируемый после неудачной попытки самоубийства персонажа.
Condition IsGeneral - условие срабатывания триггера, требующее, что персонаж, который получит анч, должен быть типа "Генерал".
and Trait HighPersonalSecurity < 1 - дополнительное условие срабатывания триггера, требующее наличия указанной характеристики (трейта) HighPersonalSecurity у персонажа, получающего данный анч, не более уровня "1" (т.е. трейт HighPersonalSecurity должен быть уровня "0").
AcquireAncillary bodyguard chance 50 - персонаж получит указанный анч (bodyguard) с вероятностью, равной 50%.
2. export_descr_ancillary_enums.txt
В этом файле необходимо указать ссылки на описание каждого анча, а также его условий и эффектов.
bodyguard bodyguard_desc bodyguard_effects_desc
3. export_ancillaries.txt
Данный файл представляет собой список локализации предыдущего файла, т.е. отображение текстовых описаний в свитке персонажа во время игры.
{bodyguard}Bodyguard{bodyguard_desc}Even the most able sword-arm can use someone to cover his back.{bodyguard_effects_desc}+2 to personal security (improves the chances of detecting and foiling assassination attempts), -1 from popularity (has a negative effect on public order)Примечание: следует принимать во внимание, что в игре существует определенный лимит трейтов, поэтому при добавлении собственных черт вполне полезно редактировать уже имеющиеся стандартные характеристики.
4. Задание изображения анча
Иконку, которая будет отображать текущый анч в списке свиты персонажа, ужно поместить в каталог data / ui / ancillaries в формате tga.
Здесь стоит отметить, что обязательно соответствие имени графического файла с названием самого анча в export_descr_ancillaries.txt.
Как сделать, чтобы анч конкретного персонажа можно / нельзя было передавать другому персонажу ?
Спойлер (раскрыть)
Возможность передачи анча от одного персонажа к другому обеспечивается значением параметра Transferable в записи текущего анча :
- 0 - анч можно передавать ;
- 1 - анч нельзя передавать ;
Пример:
Возможность передачи анча от одного персонажа к другому обеспечивается значением параметра Transferable в записи текущего анча :
- 0 - анч можно передавать ;
- 1 - анч нельзя передавать ;
Пример:
Ancillary krugswo Type sword Transferable 0 Image krugswo.tga ExcludedAncillaries tardos, dosras, nebdos ExcludeCultures mesoamerican Description krugswo_desc EffectsDescription krugswo_effects_desc Effect Chivalry -6 Effect Command 2 Effect HitPoints 5
Каково назначение команды AcquireAncillary в триггерах анчей ?
Спойлер (раскрыть)
Команда AcquireAncillary используется для задания вероятности (шанса) приобретения персонажем указанного анча в результате успешного выполнения всех условий конкретного триггера.
Пример:
Комментарий: при выполнении команд блока Condition (т.е. условий) в процессе тестирования триггера veteran_warrior_vnv_trigger ( тип срабатывания триггера PostBattle ("по окончании сражения"), задаваемый параметром WhenToTest ) анч veteran_warrior сможет появиться в списке персонажа с вероятностью, равной 50 %.
То есть, общая структура такова:
AcquireAncillary veteran_warrior chance 50
Примечание: следует отметить, что при значении шанса, равном 0, указанный анч у персонажей появляться не будет даже при успешном срабатывании условий триггера.
Команда AcquireAncillary используется для задания вероятности (шанса) приобретения персонажем указанного анча в результате успешного выполнения всех условий конкретного триггера.
Пример:
Trigger veteran_warrior_vnv_trigger WhenToTest PostBattle Condition GeneralNumKillsInBattle > 5 and WonBattle and not Routs and IsGeneral and GeneralHPLostRatioinBattle <= 50 AcquireAncillary veteran_warrior chance 50
Комментарий: при выполнении команд блока Condition (т.е. условий) в процессе тестирования триггера veteran_warrior_vnv_trigger ( тип срабатывания триггера PostBattle ("по окончании сражения"), задаваемый параметром WhenToTest ) анч veteran_warrior сможет появиться в списке персонажа с вероятностью, равной 50 %.
То есть, общая структура такова:
AcquireAncillary <идентификатор приобретаемого анча> chance <численное значение вероятности, в процентах>
AcquireAncillary veteran_warrior chance 50
Примечание: следует отметить, что при значении шанса, равном 0, указанный анч у персонажей появляться не будет даже при успешном срабатывании условий триггера.
Как назначить персонажу уникальную стратмодель ?
Спойлер (раскрыть)
Персонаж может получить уникальную стратмодель, если задать ему уникальный трейт, в котором надо указать строку Effect Level 1, где цифра "1" - это номер записи стратмоделей в descr_character.txt; нумерация чисел начинается с 0 и заканчивается 10.
Персонаж может получить уникальную стратмодель, если задать ему уникальный трейт, в котором надо указать строку Effect Level 1, где цифра "1" - это номер записи стратмоделей в descr_character.txt; нумерация чисел начинается с 0 и заканчивается 10.
Как скрыть отображение конкретной характеристики в списке особенностей персонажа ?
Спойлер (раскрыть)
Для того чтобы отключить отображение требуемой характеристики у персонажа, в блоке трейта в файле export_descr_character_traits.txt необходимо указать идентификатор Hidden, например:
Для того чтобы отключить отображение требуемой характеристики у персонажа, в блоке трейта в файле export_descr_character_traits.txt необходимо указать идентификатор Hidden, например:
Trait saus_locked_trait Characters all HiddenLevel saus_locked_trait_L1 Description saus_locked_trait_L1_desc EffectsDescription saus_locked_trait_L1_effects_desc Threshold 1 Effect MovementPoints -100
Как осуществляется начисление бонусных очков к трейту персонажа ?
Спойлер (раскрыть)
Общий принцип начисления накопительных баллов, т.е. взаимодействие трейта и его триггера происходит следующим образом:
1. Chance - это вероятность, с которой появится данный трейт.
2. Если эффект триггера сработает на все 100 %, то к счетчику Threshold произойдет прирост очков на то число, что мы укажем в строке Affects триггера.
3. Когда Threshold достигнет требуемого значения, персонаж получит данный левел трейта и соответственно прокачается на величину Effect , указанную в блоке трейта.
Общий принцип начисления накопительных баллов, т.е. взаимодействие трейта и его триггера происходит следующим образом:
1. Chance - это вероятность, с которой появится данный трейт.
2. Если эффект триггера сработает на все 100 %, то к счетчику Threshold произойдет прирост очков на то число, что мы укажем в строке Affects триггера.
3. Когда Threshold достигнет требуемого значения, персонаж получит данный левел трейта и соответственно прокачается на величину Effect , указанную в блоке трейта.
Как работать с триггерами в M2TW?
Спойлер (раскрыть)
Триггеры в МТВ2 встречаются в следующих файлах:
- descr_faction_standing.txt - в основном касаются дипломатии
- export_descr_advice.txt - собственно игровые триггеры
- export_descr_ancillaries.txt - триггеры по изменению свиты персонажей
- export_descr_character_traits.txt - триггеры по изменению характеристик (трейтов персонажей)
- export_descr_guilds.txt - триггеры гильдий
Вот пример простого триггера по наделению дипломата способностью Полиглота при его создании
Trigger diplomatinit6
WhenToTest AgentCreated - это означает что при создании дипломата осущетсвляется данный триггер
Condition Trait Multilingual >= 1 - это означает что дипломат будет наделен способностью Полиглота с...
Affects Multilingual 1 Chance 33 - ...вероятностью в 33 %
Вот еще один триггер по наделению персонажа определенным трейтом в данном случае "Боится англичан":
Trigger hate_n_fear_29
WhenToTest PostBattle - означает что триггер будет реализован по окончании битвы
Condition IsGeneral - персонаж на который влияет триггер - генерал
and not WonBattle - условие поражения в битве
and BattleSuccess = crushing - условие сокрушительного поражения в битве
and I_ConflictType Normal
and BattleOdds >= 0.9
and GeneralFoughtFaction england - условие битвы с данной фракцией
Affects Fearsengland 1 Chance 100 - вероятность получения данного трейта в результате действия триггера.
Здесь можно увидеть что триггеры имеют следующую конструкцию: название, условия для срабатывания триггера (conditions), эффект от триггера (affects).
Небольшое дополнение: Все события скрипта также есть триггерами.
Автор: Peresvet
Триггеры в МТВ2 встречаются в следующих файлах:
- descr_faction_standing.txt - в основном касаются дипломатии
- export_descr_advice.txt - собственно игровые триггеры
- export_descr_ancillaries.txt - триггеры по изменению свиты персонажей
- export_descr_character_traits.txt - триггеры по изменению характеристик (трейтов персонажей)
- export_descr_guilds.txt - триггеры гильдий
Вот пример простого триггера по наделению дипломата способностью Полиглота при его создании
Trigger diplomatinit6
WhenToTest AgentCreated - это означает что при создании дипломата осущетсвляется данный триггер
Condition Trait Multilingual >= 1 - это означает что дипломат будет наделен способностью Полиглота с...
Affects Multilingual 1 Chance 33 - ...вероятностью в 33 %
Вот еще один триггер по наделению персонажа определенным трейтом в данном случае "Боится англичан":
Trigger hate_n_fear_29
WhenToTest PostBattle - означает что триггер будет реализован по окончании битвы
Condition IsGeneral - персонаж на который влияет триггер - генерал
and not WonBattle - условие поражения в битве
and BattleSuccess = crushing - условие сокрушительного поражения в битве
and I_ConflictType Normal
and BattleOdds >= 0.9
and GeneralFoughtFaction england - условие битвы с данной фракцией
Affects Fearsengland 1 Chance 100 - вероятность получения данного трейта в результате действия триггера.
Здесь можно увидеть что триггеры имеют следующую конструкцию: название, условия для срабатывания триггера (conditions), эффект от триггера (affects).
Небольшое дополнение: Все события скрипта также есть триггерами.
Автор: Peresvet
Как на основе этих руководства Docudemons создать свой трейт для персонажа ?
Спойлер (раскрыть)
В руководстве Docudemons есть следующая информация о характеристиках персонажей (трейтах):
Level Promising_Commander - каждая черта имеет уровень
Description Promising_Commander_desc - ссылка в текстовике на описание черты
EffectsDescription Promising_Commander_effects_desc - ссылка на эффекты
GainMessage Promising_Commander_gain_desc - ссылка на условия получения
LoseMessage Promising_Commander_lose_desc - ссылка на условия потери
1. В файле export_descr_character_traits.txt создаем запись нового трейта, например:
2. В файле export_VnVs.txt (папка text) вводим обозначения для самого трейта, его описание, а также описание бонусов, предусмотренных наличием данной характеристики у персонажа, например:
ЗЫ В файле export_descr_character_traits.txt также существует блок триггера, задающий условия назначения той или иной характеристики персонажу, но это отдельный вопрос.
В руководстве Docudemons есть следующая информация о характеристиках персонажей (трейтах):
Level Promising_Commander - каждая черта имеет уровень
Description Promising_Commander_desc - ссылка в текстовике на описание черты
EffectsDescription Promising_Commander_effects_desc - ссылка на эффекты
GainMessage Promising_Commander_gain_desc - ссылка на условия получения
LoseMessage Promising_Commander_lose_desc - ссылка на условия потери
1. В файле export_descr_character_traits.txt создаем запись нового трейта, например:
Level Cossacks Description Cossacks_desc EffectsDescription Cossacks_effects_desc
2. В файле export_VnVs.txt (папка text) вводим обозначения для самого трейта, его описание, а также описание бонусов, предусмотренных наличием данной характеристики у персонажа, например:
{Cossacks}Казак
{Cossacks_desc}Этот человек доказал что является казаком, и готов за это боротся…
{Cossacks_effects_desc}+1 морали, +1 лояльности, +1 к благочестию
ЗЫ В файле export_descr_character_traits.txt также существует блок триггера, задающий условия назначения той или иной характеристики персонажу, но это отдельный вопрос.
Как задать несколько уровней для характеристики персонажа (трейта) ?
Спойлер (раскрыть)
Для того чтобы сделать для какого-либо трейта дополнительные уровни, повышающие характеристики персонажа, необходимо задать в блоке самого трейта необходимо количество уровней (рассмотри на кокретном примере):
Трейт, подразумевающий наличие только одного уровня:
Трейт, подразумевающий наличие 2-х уровней:
Чтобы задать тот или иной уровень трейта какому-либо персонажу на старте кампании, нужно в файле descr_strat.txt найти запись того или иного персонажа и в соответствующей строке traits нужный трейт, указав при этом его уровень.
Для того чтобы сделать для какого-либо трейта дополнительные уровни, повышающие характеристики персонажа, необходимо задать в блоке самого трейта необходимо количество уровней (рассмотри на кокретном примере):
Трейт, подразумевающий наличие только одного уровня:
Trait Hetman Characters family Level Hetman Description Hetman_desc EffectsDescription Hetman_effects_desc Threshold 1 Effect Command 3 Effect TroopMorale 5 Effect Personal Security 2
Трейт, подразумевающий наличие 2-х уровней:
Trait Hetman_1 Characters family Level Hetman Description Hetman_desc EffectsDescription Hetman_effects_desc Threshold 1 Effect Command 3 Effect TroopMorale 5 Effect Personal Security 2 Level Hetman_2 Description Hetman_2_desc EffectsDescription Hetman_2_effects_desc Threshold 10 Effect Command 4 Effect TroopMorale 6 Effect PersonalSecurity 3
Чтобы задать тот или иной уровень трейта какому-либо персонажу на старте кампании, нужно в файле descr_strat.txt найти запись того или иного персонажа и в соответствующей строке traits нужный трейт, указав при этом его уровень.
traits Hetman 1
Как редактировать характеристики персонажа и добавлять новые ?
Спойлер (раскрыть)
Для того чтобы отредактировать / создать характеристику (трейт) персонажа, необходимо работать со следующими файлами:
1. export_descr_character_traits.txt
Рассмотрим пример трейта:
Теперь подробнее:
Trait GoodCommander - название характеристики перснажа;
Characters family - тип персонажа, у которого может быть использован данный трейт;
AntiTraits BadCommander – характеристики, которые при наличии данной черты не могут появиться у персонажа, либо при наличии последней не может появиться исходный трейт;
Level Promising_Commander - первый уровень характеристики персонажа (каждый трейт имеет как минимум один уровень);
Description Promising_Commander_desc - ссылка на описание данного уровня трейта в файле локализации (папка text);
EffectsDescription Promising_Commander_effects_des - ссылка на описание эффектов данного уровня трейта в файле локализации (папка text);
GainMessage Promising_Commander_gain_desc - ссылка на описание условий получения данного уровня трейта в файле локализации (папка text);
LoseMessage Promising_Commander_lose_desc - ссылка на описание условий потери данного уровня трейта в файле локализации (папка text);
Threshold 1 - этот параметр определяет, сколько пунктов должен набрать персонаж для получения данного уровня.
Effect Command 1 – эффект, который добавляется при наличии данного трейта у персонажа;
Level Aspiring_Commander - здесь всё аналогично, только это уже второй уровень трейта;
После этого разберемся с условиями появления данного трейта, прописанными в соответствующем нашей характеристике триггере:
Продолжаем комментарии строк :
Trigger V0090_Standard_Battle_Any_Victory_VnV_Trigger - название триггера (обязательно должно быть уникальным!);
WhenToTest PostBattle – выполнение триггера рассчитано на игровой отрезок, который случится после битвы;
Condition IsGeneral - условие, указывающее что действие триггера сработает только в том случае, если тип персонажа - генерал;
and WonBattle - условие, проверяющее победу персонажа в битве;
and BattleOdds < 2.25 - условие, инициализирующее разницу в потерях по истечение битвы;
Affects GoodCommander 1 Chance 100 при выполнении данных условий персонажу дается 1 уровень черты good commander (т. е. promising commander) с вероятностью 100%.
2. export_descr_vnvs_enums.txt
В этом файле необходимо указать ссылки на описание каждого уровня трейта, а также его условий и эффектов.
3. export_VnVs.txt
Данный файл представляет собой список локализации предыдущего файла, т.е. отображение текстовых описаний в свитке персонажа во время игры.
Примечание: следует принимать во внимание, что в игре существует определенный лимит трейтов, поэтому при добавлении собственных черт вполне полезно редактировать уже имеющиеся стандартные характеристики.
Для того чтобы отредактировать / создать характеристику (трейт) персонажа, необходимо работать со следующими файлами:
1. export_descr_character_traits.txt
Рассмотрим пример трейта:
Trait GoodCommander Characters family AntiTraits BadCommander Level Promising_Commander Description Promising_Commander_desc EffectsDescription Promising_Commander_effects_desc GainMessage Promising_Commander_gain_desc LoseMessage Promising_Commander_lose_desc Threshold 1 Effect Command 1 Level Aspiring_Commander Description Aspiring_Commander_desc EffectsDescription Aspiring_Commander_effects_desc GainMessage Aspiring_Commander_gain_desc LoseMessage Aspiring_Commander_lose_desc Threshold 2 Effect Command 2
Теперь подробнее:
Trait GoodCommander - название характеристики перснажа;
Characters family - тип персонажа, у которого может быть использован данный трейт;
AntiTraits BadCommander – характеристики, которые при наличии данной черты не могут появиться у персонажа, либо при наличии последней не может появиться исходный трейт;
Level Promising_Commander - первый уровень характеристики персонажа (каждый трейт имеет как минимум один уровень);
Description Promising_Commander_desc - ссылка на описание данного уровня трейта в файле локализации (папка text);
EffectsDescription Promising_Commander_effects_des - ссылка на описание эффектов данного уровня трейта в файле локализации (папка text);
GainMessage Promising_Commander_gain_desc - ссылка на описание условий получения данного уровня трейта в файле локализации (папка text);
LoseMessage Promising_Commander_lose_desc - ссылка на описание условий потери данного уровня трейта в файле локализации (папка text);
Threshold 1 - этот параметр определяет, сколько пунктов должен набрать персонаж для получения данного уровня.
Effect Command 1 – эффект, который добавляется при наличии данного трейта у персонажа;
Level Aspiring_Commander - здесь всё аналогично, только это уже второй уровень трейта;
После этого разберемся с условиями появления данного трейта, прописанными в соответствующем нашей характеристике триггере:
Trigger V0090_Standard_Battle_Any_Victory_VnV_Trigger WhenToTest PostBattle Condition IsGeneral and WonBattle and BattleOdds < 2.25 Affects GoodCommander 1 Chance 100
Продолжаем комментарии строк :
Trigger V0090_Standard_Battle_Any_Victory_VnV_Trigger - название триггера (обязательно должно быть уникальным!);
WhenToTest PostBattle – выполнение триггера рассчитано на игровой отрезок, который случится после битвы;
Condition IsGeneral - условие, указывающее что действие триггера сработает только в том случае, если тип персонажа - генерал;
and WonBattle - условие, проверяющее победу персонажа в битве;
and BattleOdds < 2.25 - условие, инициализирующее разницу в потерях по истечение битвы;
Affects GoodCommander 1 Chance 100 при выполнении данных условий персонажу дается 1 уровень черты good commander (т. е. promising commander) с вероятностью 100%.
2. export_descr_vnvs_enums.txt
В этом файле необходимо указать ссылки на описание каждого уровня трейта, а также его условий и эффектов.
Promising_Commander Promising_Commander_desc Promising_Commander_gain_desc Promising_Commander_lose_desc Promising_Commander_effects_desc
3. export_VnVs.txt
Данный файл представляет собой список локализации предыдущего файла, т.е. отображение текстовых описаний в свитке персонажа во время игры.
{Promising_Commander} Promising Commander название{Promising_Commander_desc} описание This man has shown at least a basic grasp of field tactics.{Promising_Commander_gain_desc} получениеThis man has gained a Command star thanks to his battle tactics.{Promising_Commander_effects_desc} эффекты +1CommandПримечание: следует принимать во внимание, что в игре существует определенный лимит трейтов, поэтому при добавлении собственных черт вполне полезно редактировать уже имеющиеся стандартные характеристики.
Где правится стоимость содержания персонажей ?
Спойлер (раскрыть)
Стоимость содержания персонажа определяется параметром wage_base в descr_character.txt.
Стоимость содержания персонажа определяется параметром wage_base в descr_character.txt.
Где редактируется возраст кандидатов на усыновление ?
Спойлер (раскрыть)
Возраст ( минимальный и максимальный ) персонажей, предлагаемых ИИ для включения в фамильное древо правителя, устанавливается в файле descr_campaign_db.xml в блоке family_tree :
Возраст ( минимальный и максимальный ) персонажей, предлагаемых ИИ для включения в фамильное древо правителя, устанавливается в файле descr_campaign_db.xml в блоке family_tree :
<family_tree>
...
<min_adoption_age uint="16"/>
...
<max_adoption_age uint="45"/>
...
</family_tree>
Оригинальное Авторство:
Master_TW_DAR, форум SICH, 2014 год
История Происхождения:
1) Результат моей исследовательской работы над изучением архивов Гильдии Мастеров-Мододелов СиЧи.
2) Побочный продукт моей технической работы над модом Middle-Earth Dagor Dagorath

t1aro
alZarif
Dr.Schmeisser
KhanBagatur
gurvinek2005
Crusader556
Haktar
Mady
Valyrian_Legionnaire
DinarMayor
Corrector
kosak4
Farin Frostgeir
