Вопросы по моддингу Crusader Kings 2 - Страница 107 - Моды и моддинг - Strategium.ru Перейти к содержимому

Вопросы по моддингу Crusader Kings 2

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

MaslovRG
i
В этой теме задаем вопросы по моддингу Crusader Kings 2.
Изменено пользователем Kassatka
Ссылка на комментарий

Закреплённые сообщения
Адмирал
2 минуты назад, Kassatka сказал:

 

Не думаю, что это возможно сделать.

 

Жаль( Просто иногда нет поводов напасть на врага, или он слишком силен, но вот поддержать его восстания деньгами или прямой интервенцией, может быть весьма перспективно. Все равно спасибо!

Ссылка на комментарий

Владег
17 минут назад, Kassatka сказал:

Там с графикой получится лажа - новые графические эффекты портретов Reaper's Due не будут работать. Это как минимум.

Можно попробовать удалить файлы interface\portrait_properties.txt, interface\portrait_sprites.gfx и папку interface\portraits\ Тогда графика Конклава и Жнеца будет работать нормально, не будет только отображаться на лице одноглазость из мода (но будет одноглазость из Жнеца)

 

в events\dyn_isolation_events.txt в событии dyn_isolation.8 тоже прописать ai = no

 

Касательно первого - не критично, об этом даже не задумывался, но спасибо )

Касательно второго, а где конкретно в эвентах это прописать в какой или ниже какой строчки ?
Или ею заменить абзац ai_chance = {} ? (хотя по логике можно просто шансы поставить на 0)

Изменено пользователем Владег
Ссылка на комментарий

Kassatka
6 минут назад, Адмирал сказал:

 

Жаль( Просто иногда нет поводов напасть на врага, или он слишком силен, но вот поддержать его восстания деньгами или прямой интервенцией, может быть весьма перспективно. Все равно спасибо!

По умолчанию ребелы враждебны всем земельным персонажам, чтоб вступить с ними в сделку, нужно чтоб они не были ребелами, а просто были повстанцами с временным неребельным титулом. Для этого нужно в событиях разыскать код, который создает повстанцев и в create_title удалить строку rebel = yes

Далее нужно сделать решение, которое позволяет игроку присоединиться к атакующему безземельному персонажу. Пишу на основе чита do_from_join_attacker_wars_cheat из моего мода Ктулху.

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

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

 

 

4 минуты назад, Владег сказал:

Касательно второго, а где конкретно в эвентах это прописать в какой или ниже какой строчки ?
Или ею заменить абзац ai_chance = {} ? (хотя по логике можно просто шансы поставить на 0)

ai_chance = {} -это шанс, что кнопка будет нажата ИИ. Если обеим кнопкам прописать шанс 0, то все равно одна из них будет нажиматься.

На верхнем уровне ивента пишем пре-триггер ai = no

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

 

 

Ссылка на комментарий

Владег
9 минут назад, Kassatka сказал:ть содержимое
Войдите или зарегистрируйтесь, чтобы увидеть скрытое содержимое.

 

 

ai_chance = {} -это шанс, что кнопка будет нажата ИИ. Если обеим кнопкам прописать шанс 0, то все равно одна из них будет нажиматься.

На верхнем уровне ивента пишем пре-триггер ai = no

Войдите или зарегистрируйтесь, чтобы увидеть скрытое содержимое. Скрыть содержимое
Войдите или зарегистрируйтесь, чтобы увидеть скрытое содержимое.

 

 

Спасибо огромное)

Ссылка на комментарий

Адмирал
12 минуты назад, Kassatka сказал:

По умолчанию ребелы враждебны всем земельным персонажам, чтоб вступить с ними в сделку, нужно чтоб они не были ребелами, а просто были повстанцами с временным неребельным титулом. Для этого нужно в событиях разыскать код, который создает повстанцев и в create_title удалить строку rebel = yes

Далее нужно сделать решение, которое позволяет игроку присоединиться к атакующему безземельному персонажу. Пишу на основе чита do_from_join_attacker_wars_cheat из моего мода Ктулху.

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

 

 

 

Спасибо, попробую!

Ссылка на комментарий

Владег

Кстати такой вопрос.
Возможно механика не позволяет, но может быть кто знает, как сделать проигрывание той или иной музыки игры в случае происхождения тех или иных событий.
Например во время войны одна музыка в игре (как в цивилизации 5), во время мира - другая, во время эпидемии - третья.
А то хочу музыку из Witcher 3 hearts of stone совместить с эпидемиями из нового длс "Дань жнецу" )

Изменено пользователем Владег
Ссылка на комментарий

general007

как уменьшить количество ивентов на болячки? надоело уже реально... я помолюсь Господу... мне уже лучше... разве это лечение?... и бла бла бла бла бла...

Ссылка на комментарий

Габриэль
В 02.10.2016 at 23:42, Габриэль сказал:

Подскажите, эвенты на события выскакивают пустые и цепочка эвентов не выполняется.

Файл локализации естественно создал и прописал.

 

Я понимаю, что вопрос глупый, но мануалов на русском просто нет, а с уровнем английского 2 месяца с Розеттой Стоун большого результата не добиться. Буду рад любому волшебному пенделю.

 

upd.А всё не надо, сам нашел. Если можно, объясните что значат эти логические амперсанды:

if = {      # Это как понимаю эквивалент "если"
            limit = {   # Обязательное условие? Может в option лучше использовать trigger, как более надежное условие?
                FROMFROM = {  # Просто from относит к персонажу, в отношении которого был эвент, а двойной from тогда?

 

Изменено пользователем Габриэль
разобрался
Ссылка на комментарий

Kassatka
В 03.10.2016 at 12:11, Владег сказал:

Кстати такой вопрос.
Возможно механика не позволяет, но может быть кто знает, как сделать проигрывание той или иной музыки игры в случае происхождения тех или иных событий.
Например во время войны одна музыка в игре (как в цивилизации 5), во время мира - другая, во время эпидемии - третья.
А то хочу музыку из Witcher 3 hearts of stone совместить с эпидемиями из нового длс "Дань жнецу" )

@Владег, механика как раз именно для этого и расчитана - в зависимости от разных условий играть мелодию чаще, реже или вообще не играть. Ради интереса зайдите в папочку dlc\ игры и посмотрите внутри те *.zip, в которых запакована папку music, а именно открывайте текстовый файл в ней. Найдете что-нибудь вроде такого:

 

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

 

Это означает, что для песни под названием Ahurani Rain в файле 03ahuranirain.ogg выставлен фактор 2, то есть повышенная вероятность проигрывания, но в случае войны этот фактор умножится на 0.1 и получим 0.2 - пониженную вероятность. Вообще фактор 1 - обычная вероятность, >1 - повышенная вероятность, <1 - пониженная, =0 - песня играть не будет. song_name можно не указывать (это когда через командную строку пишем nextsong, то выводит этот текст в консоль), главное указать файл и фактор шанса. Допустим, у нас есть 4 песни, которые мы хотим играть 1) во время войны, 2) во время мира, 3) во время эпидемии в землях домена либо столице(у безземельных патрициев нет провинций домена, но есть столица) 4) когда эпидемии в домене/столице нет. Выглядеть это будет так (модифиеры умножаются на фактор шанса, если выполняется их условие):

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

 

Все муз. файлы в формате *.ogg ложить в папку music и текстовый файл туда же.

 

В 04.10.2016 at 00:07, Габриэль сказал:

Буду рад любому волшебному пенделю.

upd.А всё не надо, сам нашел. Если можно, объясните что значат эти логические амперсанды:

if = {      # Это как понимаю эквивалент "если"
            limit = {   # Обязательное условие? Может в option лучше использовать trigger, как более надежное условие?

Ответ

Цитата
if и limit - это братья близнецы, они всегда используются вместе. Это логический оператор, который имеет вид
Войдите или зарегистрируйтесь, чтобы увидеть скрытое содержимое.

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

Например, если имеем такой код

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

То мусульманин получит 50 благочестия и 100 золота, а немусульманин только 100 золота.

option - это кнопка, их может быть много, но одновременно выводятся не более четырех. Если ни одна кнопка не прописана, то выводится окно без кнопок, КОТОРОЕ НЕВОЗМОЖНО ЗАКРЫТЬ, что есть глюком, какой нельзя допускать.

Если написать так:

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

 

То мусульманин получит окно с кнопкой "Бла-бла 1" и после нажатия 50 благочестия, христианин - окно с кнопкой "Бла-бла2" и 100 золота, а язычник незакрываемое окно без кнопок.

Посему в таких случаях джелательно добавить кнопку, исключающую первые два варианта:

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

 

Язычник получит кнопку "Бла-бла 3" и нажав ее 75 престижа.

Можно все это оформить ифами внутри одной кнопки:

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

 

Вывалится кнопка "Бла-бла" и после нажатия отработает один из трех вариантов.

 
В 04.10.2016 at 00:07, Габриэль сказал:

Буду рад любому волшебному пенделю.
                FROMFROM = {  # Просто from относит к персонажу, в отношении которого был эвент, а двойной from тогда?

Нетушки. К главному действующему лицу события нужно обращаться через ROOT, FROM - это то, что было ROOT'ом в предыдущем событии цепочки, а FROMFROM - то, что было ROOT'ом в предпредыдущем событии цепочки.

Допустим, у первого персонажа туповатая жена, которая не умеет готовить суп и он обращается к ее матери (теще) научить жену за 50 золота. Теще должно выскочить окно, в котором она может принять 50 золота и избавить свою дочь от черты тупой либо отказаться.

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

 

Тем не менее есть еще события, которые автоматически отрабатывают при совершении какого-то игрового действия. Ссылки на них прописываются в папке common\on_actions

Там мы можем прочитать что-нибудь вот такое

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

Это означает, что при смене владельца у любого титула отработает событие HL.4999 в котором новый владелец будет рутом, старый владелец фромфромом, а титул, меняющий владельца - фромом.

PS: Новый движок сайта долбанный, ненавижу. Нельзя напрямую править теги и нельзя копировать блоки, поэтому ответ оказался внутри цитаты. Вот как мне вынести его за пределы цитаты?!! Ну его нафиг.

Изменено пользователем Kassatka
долбанный движок
Ссылка на комментарий

Габриэль

@Kassatka огромное вам спасибо, ваш пост можно публиковать отдельно в качестве мануала по эвентам! Я правильно понимаю, что MYSPACE.3 будет скрыто от игрока-мужа и мы увидим только результат?

Ссылка на комментарий

Kassatka
16 часов назад, Габриэль сказал:

@Kassatka огромное вам спасибо, ваш пост можно публиковать отдельно в качестве мануала по эвентам! Я правильно понимаю, что MYSPACE.3 будет скрыто от игрока-мужа и мы увидим только результат?

От игрока мужа будет скрыто, а видно будет теще (если она игрок). Можно пойти дальше и вывести игроку-мужу чисто информативный ивент. Чтоб его вызвать, нужно прописать вызов character_event'a внутри FROMFROM'a:

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

 

В файле же локализации можно ссылаться на все эти руты, фромы и фромфромы, но если в коде регистр символов неважен, то здесь первая буква большая, остальные малые.

Напишем локализацию для EVTDESC_MYSPACE.4

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

Получим такое:

Уважаемый Граф Вильгельм (Руян), ваша теща Графиня Елизавета научила вашу жену Татьяна варить обед.

 

Кстати, что я забыл, для полноты картины желательно было бы для разгрузки компа к первому событию возможные пре-триггеры прицепить. Чтоб игра не кидалась для всех персонажей подряд проверять триггер, а изначально работала только с ограниченным кругом персонажей. Условие, что муж является мужчиной можно из триггера вынести в пре-триггеры и то, что он собственно женатый тоже можно задать претриггером (см Войдите или зарегистрируйтесь, чтобы увидеть скрытое содержимое. ). Поскольку пре-триггер is_female в источнике использовать не рекомендуется, то будем использовать пре-триггер only_men. Еще из данного списка вполне можно использовать пре-триггеры only_capable = yes и prisoner = no, но это уже не слишком существенно.

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

 

 

Изменено пользователем Kassatka
Замена пре-триггера is_female на only_men
Ссылка на комментарий

Габриэль

@Kassatka я невероятно признателен вам! У вас определённо менторский дар, за пару сообщений я понял больше чем за все предыдущие темы, что я прочитал, а главное я понял структуру!

Ссылка на комментарий

Всем доброго времени суток. Недавно (где-то с августа) начал садомировать себя моддингом карты. В результате моих изысканий, стандартная карта увеличилась, вместе с числом провинций. Проблема одна - в файле positions.txt координаты старых провинций остались старые, из-за чего, например, войска в Константинополе отображаются где-то в Ликии. Самих координат очень много, и справлять всё вручную - долго и нудно. Может кто-нибудь подсказать как и где возможно быстро и массово подкорректировать значения старых координат? 

Ссылка на комментарий

SilverDuke

Приветствую всех форумчан. Такой вот вопрос. В Crusader Kings 2, можно объявлять войну правителям с целью сделать их данниками. Однако после смерти кого либо из правителей - нужно снова объявлять войну чтобы заставить то же государство платить тебе дань. Можно ли сделать в игре так, чтобы оплата дани не прерывалась  до тех пор пока государство не освободят от этого или пока она не отвоюет себе так сказать независимость от другой державы? И ещё, реально ли создать титул вроде Герцога, Короля, Императора, только выше? Например чтобы можно было управлять Императорами также, как они управляют королями.  Буду очень признателен за ответы.

Ссылка на комментарий

Kassatka
48 минут назад, SilverDuke сказал:

Приветствую всех форумчан. Такой вот вопрос. В Crusader Kings 2, можно объявлять войну правителям с целью сделать их данниками. Однако после смерти кого либо из правителей - нужно снова объявлять войну чтобы заставить то же государство платить тебе дань. Можно ли сделать в игре так, чтобы оплата дани не прерывалась  до тех пор пока государство не освободят от этого или пока она не отвоюет себе так сказать независимость от другой державы?

Приветствую. Очень-очень сомнительно, чтобы была такая возможность. На всякий случай в файле common\defines.lua почитайте описания констант, но врядли что-нибудь найдете, что за это отвечает. Для команды make_tributary же не знаю, чтоб был какой-нибудь дополнительный параметр, кроме персонажа-взымателя и процента налога.

51 минуту назад, SilverDuke сказал:

И ещё, реально ли создать титул вроде Герцога, Короля, Императора, только выше? Например чтобы можно было управлять Императорами также, как они управляют королями.  Буду очень признателен за ответы.

Нереально. В игре четко есть шестиступенчатая иерархия - не правитель, барон, граф, герцог, король, император. Всё.

Ссылка на комментарий

Drabodano
12 часа назад, SilverDuke сказал:

Приветствую всех форумчан. Такой вот вопрос. В Crusader Kings 2, можно объявлять войну правителям с целью сделать их данниками. Однако после смерти кого либо из правителей - нужно снова объявлять войну чтобы заставить то же государство платить тебе дань. Можно ли сделать в игре так, чтобы оплата дани не прерывалась  до тех пор пока государство не освободят от этого или пока она не отвоюет себе так сказать независимость от другой державы?

В модеВойдите или зарегистрируйтесь, чтобы увидеть скрытое содержимое. вроде это реализовано. Посмотрите в нем.

Изменено пользователем Drabodano
Ссылка на комментарий

SilverDuke

Спасибо всем за ответы :). Попробую глянуть Crusader Kings 2 Plus.

Ссылка на комментарий

Kassatka
17 часов назад, Drabodano сказал:

В модеВойдите или зарегистрируйтесь, чтобы увидеть скрытое содержимое. вроде это реализовано. Посмотрите в нем.

 

7 часов назад, SilverDuke сказал:

Спасибо всем за ответы :). Попробую глянуть Crusader Kings 2 Plus.

Протупил я. То что есть команда make_tributary , которая делает персонажа данеплательщиком, я знал. Нужно было предположить, что если как-нибудь прилепить ивентами к смерти/наследованию и перезаключать договор по make_tributary после смерти данеплательщика либо даневзымателя, то должно работать. Только, наверное, это геморой еще тот. Если известно наперед, что в СК+ данеплатение наследуется, то нужно посмотреть все ивенты СК+ , которые содержат текст make_tributary, а также как через on_actions эти ивенты вызываются (или как там они вызываются).

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

А вообще самому весьма хотелось бы возможности, чтоб отношения дани наследовались. Для больших модов можно оформить в виде отдельного пользовательского GameRule (Отношения дани наследуются или нет), а также выпустить мини-мод, при включении которого отношения дани принудительно всегда наследуются. Если у Вас получится, звякните пож.

Изменено пользователем Kassatka
Ссылка на комментарий

SteelDog

подскажите если кто знает, куда игра пишет в сэйв культуру и религию персонажей? в 2.4. эти данные были напрямую у персонажа. в редких случаях, когда нет, можно было получить через династию (не уверен что 100%)
где сейчас? думал что может по отцу - но дойдя до вершины дерева не обнаружил ни у одного культуру... :\

Ссылка на комментарий

Петруха

Форумчане у меня вот такой вопрос. Как отредактировать стоимость атребутов в Ruler Designer в игре и в модах ? 

Ссылка на комментарий

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

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

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

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

  Only 75 emoji are allowed.

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

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

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

  • Ответы 4,517
  • Создано
  • Последний ответ
  • Просмотры 480158

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

  • El Búho

    312

  • Aurelius36

    262

  • Kassatka

    178

  • Armun

    84

  • e479

    75

  • iamtofik

    75

  • Alana

    73

  • Alariko

    64

  • Антипа

    62

  • Yandere-chan

    54

  • gigant275

    47

  • dorimi

    38

  • Eclairius

    38

  • Zuzuzaza

    34

  • WvWvW

    32

  • Evk

    32

  • White Drake

    31

  • Labes

    31

  • mrPunk

    30

  • Pipiskus

    30

  • Breton

    29

  • KomninAdrian

    28

  • Redononr

    25

  • Elektor

    24

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

Популярные сообщения

Kassatka

Сделайте в своём моде новый текстовый файлик в common\dynasties\ и создавайте новые династии по образцу \common\dynasties\00_dynasties.txt Используйте такой диапазон номеров, который не используе

Carrachiolla

Я придумал все же. Тупо скопировал все файлы длц и извлек в одну папку. Потом взял папку interface и уже в ней заменил нотепадом во всех файлах все scale = 1.0f на scale = 0.5f. Правда там были не тол

Kassatka

Уточните вопрос, не до конца понял. Чтоб на начало игры большое количество титулов принадлежало одному персонажу, нужног редактировать историю всех этих титулов в папке \history\titles\ . Чтоб разреши

rugraver

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

El Búho

AND = {       religion_group = pagan       trait = sympathy_christendom }

El Búho

@Carrachiolla  defines.lua     ENFORCE_ONE_OF_EACH_HOLDING = 1  Так как файлы ванили лучше вообще никогда не трогать, то в любом моде создаёшь директорию common\defines, в ней файл lua

Foulyn

Вот, что пока получилось для эльфиек.  

Foulyn

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

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

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


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

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