Вопросы по моддингу в Hearts of Iron IV - Страница 87 - Моды и моддинг - Strategium.ru Перейти к содержимому

Вопросы по моддингу в Hearts of Iron IV

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

26 минут назад, Lucifreir сказал:

Может быть кто-нибудь знает как хотя б называется этот opinion_modifier, который Улучшает отношения?

 

Если посмотреть в /common/opinion_modifiers/, то можно найти там модификатор improve_relation, который по видимости за это и отвечает.

27 минут назад, Lucifreir сказал:

И ещё: чтобы получить прилагательное страны в тексте локализации, мне нужно использовать [ROOT.GetAdjective], верно? Знаю, что мог бы просто проверить, но надо набить пятнадцать сообщений, да так и проще.

 

Не обязательно Root конечно, но вообще да, такая конструкция возвращает прилагательное, заданное в локализации названий стран для указанного тега.

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

Lucifreir
14 минуты назад, GBV сказал:

Если посмотреть в /common/opinion_modifiers/, то можно найти там модификатор improve_relation, который по видимости за это и отвечает.

Блин. Странно что я туда уже смотрел, но видел-таки всё же фигу.

Ещё вопросец: как работает modifier = { в том случае, если он нужен мне не один? Такое построение кода будет правильным?

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

 

Изменено пользователем Lucifreir
Пунктуация.
Ссылка на комментарий

35 минут назад, Lucifreir сказал:

Ещё вопросец: как работает modifier = { в том случае, если он нужен мне не один? Такое построение кода будет правильным?

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

Технически наверное будет правильно, но здесь важна логика модификаторов, нужно учитывать, что factor в модификаторах умножается на исходное значение фактора 10, что конечно в данном примере даст огромный прирост вероятности выбора, особенно если оба модификатора активируются по своим условиям, будет 10*80*800. Если нужно например прибавить к вероятности, то вместо фактора можно использовать add = 80, если нужно какой-то вариант отсечь вообще, то его вероятность можно обнулять с factor = 0.

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

Lucifreir

Извиняюсь за очередное беспокойство и гору текста, но видимо я опять чего-то не понимаю. Где-то в цепочке эвентов есть косяк, который не позволяет завершить её до конца:

Цитата

news_event = {
    id = heartsofcringe_political_news.1
    title = heartsofcringe_political_news.1.t
    desc = heartsofcringe_political_news.1.d
    picture = GFX_news_event_001
    
    major = yes
    
    is_triggered_only = yes
    
    option = {
        name = heartsofcringe_political_news.1.a
        random_country = {
            limit = {
                has_opinion = {
                    target = ROOT
                    value > 15
                }
            }
            country_event = {
                id = heartsofcringe_event.4
                days = 2
            }
        }
    }
}

 

country_event = {
    id = heartsofcringe_event.4
    title = heartsofcringe_event.4.t
    desc = heartsofcringe_event.4.d
    picture = GFX_mussolinitwitter
    
    is_triggered_only = yes
    fire_only_once = yes
    
    option = {
        name = heartsofcringe_event.4.a
        ai_chance = {
            factor = 2
            modifier = {
                add = 3
                is_major = yes
            }
        }
        random_other_country = {
            limit = {
                has_country_leader = {
                    name = "Benito Mussolini"
                        ruling_only = yes
                }
            }
            country_event = {
                id = heartsofcringe_event.5
                days = 1
                random_days = 2
            }
            add_stability = -0.1
        }
        add_political_power = 10
        add_war_support = 0.1
    }
    option = {
        name = heartsofcringe_event.4.b
        ai_chance = {
            factor = 7
        }
        random_other_country = {
            limit = {
                has_country_leader = {
                    name = "Benito Mussolini"
                        ruling_only = yes
                }
            }
            country_event = {
                id = heartsofcringe_event.6
                days = 1
                random_days = 2
            }
            add_stability = -0.05
        }
        add_stability = 0.05
    }
    option = {
        name = heartsofcringe_event.4.c
        ai_chance = {
            factor = 1
            modifier = {
                add = 4
                is_major = no
            }
            modifier = {
                add = 4
                FROM = { has_opinion_modifier = improve_relation }
            }
        }
        add_political_power = -25
        add_stability = -0.05
        add_war_support = 0.05
    }
}
country_event = {
    id = heartsofcringe_event.5
    title = heartsofcringe_event.5.t
    desc = heartsofcringe_event.5.d
    picture = GFX_mussolinitwitter
    
    is_triggered_only = yes
    
    option = {
        name = heartsofcringe_event.5.a
        add_opinion_modifier = {
            target = ROOT
            modifier = diplomats_removal
        }
    }
    option = {
        name = heartsofcringe_event.5.b
    }
}
country_event = {
    id = heartsofcringe_event.6
    title = heartsofcringe_event.6.t
    desc = heartsofcringe_event.6.d
    picture = GFX_mussolinitwitter
    
    is_triggered_only = yes
    
    option = {
        name = heartsofcringe_event.6.a
    }
    option = {
        name = heartsofcringe_event.6.b
    }
}

Я уже голову сломал, пытаясь понять в чём дело. Лог ошибок молчит, в игре при выборе опций всегда пишется что у той-то страны произойдёт необходимый эвент, через консоль все эвенты вызываются, но в игре не происходят (даже если запустить эвент через консоль, следующий, вызываемый через opinion = { всё равно никак не запускается!). Пытался подкрутить шанс ИИ на тот или иной исход, исключить большую часть вариантов - финал известен. Буду очень благодарен, если кто-нибудь ткнёт меня в какое-нибудь очевидное упущение. Ах да, первый эвент вызывается через on_action, я не стал кидать код оттуда, чтоб не раздувать и так большое сообщение, да и проблема в самих эвентах. Пространства имён заданы, всё в правильных папках по очевидным путям.

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

1 час назад, Lucifreir сказал:

Я уже голову сломал, пытаясь понять в чём дело.

Сложна, утро пятницы, а вы тут мозги людям уже ломаете. 

1 час назад, Lucifreir сказал:

Ах да, первый эвент вызывается через on_action, я не стал кидать код оттуда, чтоб не раздувать и так большое сообщение, да и проблема в самих эвентах.

Но вообще я встречал такое, что именно новостные ивенты из on_action не срабатывают, хотя всё остальное рядом работает. Возможно, это связано с текущей областью действия (scope), может не хочет вызываться в области конкретного тега.

1 час назад, Lucifreir сказал:

(даже если запустить эвент через консоль, следующий, вызываемый через opinion = { всё равно никак не запускается!)

Ну это явно связано с условием выборки стран в limit в новостном ивенте, по факту значит не находит ни одной страны, подпадающей под это условие. Вообще это странный подход, вызывать ивенты из новостного ивента, обычно они для этого не используются. Не уверен, что для новостных ивентов также актуален ROOT, как и для других. Могу только посоветовать переделать вызов первого ивента чисто по триггерам, или вообще переделать всю эту структура и обойтись без новости.

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

Mister Daunito-Prostofilj

В каких файлах локализации расположены описания лидеров стран и лидеров партий?

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

48 минут назад, Mister Daunito-Prostofilj сказал:

В каких файлах локализации расположены описания лидеров стран и лидеров партий?

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

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

Pavel_ogrizko

А как делаются скриптовые миры? Когда при определенном значении победных очков заключается мир. 

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

Дорогие любители контурных карт и модов, у меня созрел вопрос: как добавить озвучку дивизий для определённой страны? У меня просто страна белогвардейцев из РИ и я бы хотел сделать для них озвучку советских солдат.

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

10 часов назад, Pavel_ogrizko сказал:

А как делаются скриптовые миры? Когда при определенном значении победных очков заключается мир. 

Можно же посмотреть, как это делается в игре, наиболее очевидный пример в Зимней войне:

Спойлер

#Surrender when Soviet has taken too much land
country_event = {
    id = finland.7
    title = finland.7.t
    desc = finland.7.d
    picture = GFX_report_event_soviet_tanks_snow
    
    trigger = {
        tag = FIN
        has_war_with = SOV
        surrender_progress > 0.25
        has_civil_war = no
        is_in_faction = no
    }

    mean_time_to_happen = { days = 20 }

    fire_only_once = yes

    #Surrender and offer territory
    option = {
        name = finland.7.a
        ai_chance = {
            base = 8
        }
        SOV = {
            country_event = { id = finland.8 }
        }
        custom_effect_tooltip = finland.7.a_tt
        effect_tooltip = {
            SOV = { 
                white_peace = {
                    tag = FIN 
                    message = FIN_agree_peace 
                } 
            }
            transfer_state = 146
            transfer_state = 147
            if = {
                limit = {
                    722 = {
                        is_claimed_by = SOV
                    }
                }
                SOV = { remove_state_claim = 722 }
            }
        }
    }

    #Never give up!
    option = {
        name = finland.7.b
        ai_chance = {
            base = 2
            modifier = {
                factor = 0
                is_historical_focus_on = yes
            }
        }
    }
}

 

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

Flamme

Доброго дня.

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

Спойлер

    cruiser_ship_engine_0 = {
        category = cruiser_ship_engine
        sfx = sfx_ui_sd_module_engine

        
        add_stats = {
            naval_speed = 3
            fuel_consumption = 6
            build_cost_ic = 200
        }
        
        multiply_stats = {
            naval_speed = 0.1
            reliability = -0.1
        }
        
        can_convert_from = {
            module_category = cruiser_ship_engine
            convert_cost_ic = 2500
        }
    }

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

Спойлер

    ship_deck_space = {
        category = ship_deck_space
        gfx = ship_deck_space

        add_stats = {
            carrier_size = 15
            build_cost_ic = 1200
        }
        manpower = 300 #outside the add_stats section for code reasons
        multiply_stats = {
            naval_speed = -0.03
        }
        build_cost_resources = {
            steel = 1
        }
        dismantle_cost_ic = 700
    }

В общем. Может кто-нибудь сможет подсказать что не так?

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

Flamme

И ещё вопрос: может кто-то видел или знает, можно ли как-то закрепить за авиакрылом определённую модель самолётов, чтобы она не перевооружалась на более новые?

_________
добавлено 2 минуты спустя

Или, как вариант, привязать технологическую модель самолётов к технологической модели авианосцев, чтобы, например, авианосцы созданные на базе определённого корпуса не могли брать на борт самолёты выше определённого технологического уровня?

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

Lucifreir

Снова здравствуйте. Появилась тут полубезумная идея подрихтовать autonomy_state, но я так понимаю засунуть один modifier в другой modifier не получится? А вообще можно ли как-то на уровне кода решить данную задачу:

Спойлер

modifier = {
        autonomy_manpower_share = 1.0
        can_master_build_for_us = 1
        extra_trade_to_overlord_factor = 1.0
        overlord_trade_cost_factor = -0.9
        cic_to_overlord_factor = {
            base = 0.5
            modifier = {
                OVERLORD = {
                    has_government = communism
                }
                add = 0.5
            }
            modifier = {
                OVERLORD = {
                    has_government = fascism
                }
                add = 0.25
            }
        }
        mic_to_overlord_factor = {
            base = 0.8
            modifier = {
                OVERLORD = {
                    OR = {
                        has_government = communism
                        has_government = fascism
                    }
                }
                add = 0.2
            }
        }

        research_sharing_per_country_bonus_factor = -0.5
    }

Или же придётся создавать разные виды одной автономии для каждой идеологии?

Изменено пользователем Lucifreir
Дошло что можно использовать Спойле вместо Цитаты, чтобы скрывать содержимое.
Ссылка на комментарий

21 минуту назад, Lucifreir сказал:

Снова здравствуйте. Появилась тут полубезумная идея подрихтовать autonomy_state, но я так понимаю засунуть один modifier в другой modifier не получится? А вообще можно ли как-то на уровне кода решить данную задачу:

Цитата

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

22 минуты назад, Lucifreir сказал:

Или же придётся создавать разные виды одной автономии для каждой идеологии?

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

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

Lucifreir
10 часов назад, GBV сказал:

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

У меня лог зачастую молчит, когда я пытаюсь в эксперименты, как тогда, с новостным эвентом (да, я запускаю игру в -debug режиме). Но при этом ругается на какие-то совершенно левые моды, даже не включённые в набор, что забавно. Приведённый пример я пробовал использовать в игре, прежде чем пойти сюда, разумеется ничего не получилось. Т. к. я не кодер, а примера в игре не нашёл, решил спросить не видел ли кто-нибудь чего подобного (может в моде каком-нибудь).

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

Simplicissimus

Несколько небольших вопросов от начинающего, в основном по расположению файлов в корневой папке игры:

 

1) Какие файлы ответственны за законы и правительство, исследовательские КБ и высшее армейское командование?

2) В каких файлах прописываются модификаторы, режущие рост популярности партий при их росте?

3) Какие файлы прописывают используемые ИИ шаблоны дивизий и производства (например, пехотные дивизии типа 7/2 стран Содружества и 9/3 Рейха, использование СССР пехотного снаряжения только 1936 года и т.п.)?

4) Где можно посмотреть расчет боевых механик - скажем, воздушного боя истребителей?

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

1 час назад, Simplicissimus сказал:

1) Какие файлы ответственны за законы и правительство, исследовательские КБ и высшее армейское командование?

 

Если вопрос по конкретным наборам советников и КБ для стран, то в /common/ideas/ для каждого тега. Если про вообще структуру советников на странице политики в игре, то это более комплексный вопрос.

1 час назад, Simplicissimus сказал:

2) В каких файлах прописываются модификаторы, режущие рост популярности партий при их росте?

 

Если оно не зашито в движке, то я бы смотрел в /common/defines/00_defines.lua, но так навскидку ничего не вижу по этому.

1 час назад, Simplicissimus сказал:

3) Какие файлы прописывают используемые ИИ шаблоны дивизий и производства (например, пехотные дивизии типа 7/2 стран Содружества и 9/3 Рейха, использование СССР пехотного снаряжения только 1936 года и т.п.)?

За шаблоны ИИ должно отвечать /common/ai_templates/.

1 час назад, Simplicissimus сказал:

4) Где можно посмотреть расчет боевых механик - скажем, воздушного боя истребителей?

Вот тут не знаю, можно ли вообще такое посмотреть и изменить. Сами параметры техники боевой можно в /common/units/equipment/ глянуть. Множество отдельных параметров авиации - в тех же defines. А как в целом эти механики задаются - сказать сложнее.

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

Fantom_Nightcore

Здравия всем желаю.
При создании фокуса у меня возникла проблема с национальными духами. По задумке во время выполнения фокуса появляются три события, в каждом из которых есть несколько вариантов решений (реформы в стране). При выборе последовательности предложенных решений должен появляться определённый национальный дух соответствующий выбранным реформам. Для этого я создал 32 национальных духа (в первом событии 4 варианта, во втором 2 и в третьем 4), а для каждого варианта поставил определённый флаг (set_country_flag). Сам фокус у страны появился. Появилось его описание и события происходили тогда, когда нужно. Но когда фокус завершается национальный дух не выдаётся, а игра ругается на его вариативность:
 

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



Сами национальные духи называются new_reforms.1, new_reforms.2 и так далее. Так вот, можете мне подсказать как работать с этими вариативностями? Я лазал по вики Параходов и в файлах оригинальной игры, однако я так и не смог понять где прописывать её (разве что в scripted_effects, но написав ничего не сработало, а потому нужны объяснения). Более ошибок связанные с фокусом и национальными духами логи не показывают.

Изменено пользователем Fantom_Nightcore
Лексический повтор.
Ссылка на комментарий

1 час назад, Fantom_Nightcore сказал:

Сами национальные духи называются new_reforms.1, new_reforms.2 и так далее. Так вот, можете мне подсказать как работать с этими вариативностями? Я лазал по вики Параходов и в файлах оригинальной игры, однако я так и не смог понять где прописывать её (разве что в scripted_effects, но написав ничего не сработало, а потому нужны объяснения). Более ошибок связанные с фокусом и национальными духами логи не показывают.

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

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

Fantom_Nightcore
18 минут назад, GBV сказал:

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

Я уже переделывал и ставил вместо точки нижнее подчёркивание, однако ситуация такая же - национальный дух не появляется, а логи ругаются.
 

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

 

Изменено пользователем Fantom_Nightcore
Ошибка мыслей.
Ссылка на комментарий

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

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

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

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

  Only 75 emoji are allowed.

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

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

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

  • Ответы 2,526
  • Создано
  • Последний ответ
  • Просмотры 395754

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

  • GBV

    511

  • sanstepon5

    143

  • Zelchenko

    39

  • Lazarka

    34

  • Flamme

    29

  • Ostpreussen

    24

  • Simplicissimus

    23

  • Lucifreir

    22

  • Кусяша

    20

  • evgenyevx

    20

  • hasdf

    19

  • Fantom_Nightcore

    19

  • urittney

    19

  • El Búho

    18

  • Август Рихтер

    18

  • mr.Kaf

    18

  • GeneralM

    17

  • Оружейник

    16

  • ss warrior

    16

  • Москит

    15

  • gmanP

    15

  • Zhilkin

    15

  • Jack Pomi

    15

  • zoha

    15

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

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

Дон Андрон

Переписываете имя лидеров из нужного файла на русский язык. Если ещё заморочиться, то в строке DESC можно кратко расписать биографию/цитаты/факты о лидере.

GBV

Когда неизвестны теги марионеток или хозяев, на выручку может прийти махинации с областью значений OVERLORD, например такую конструкцию можно придумать:   Войдите или зарегистрируйтесь, чтобы увидеть скрытое содержимое.

GBV

Да, в дневниках было, что теперь не создаются варианты техники без наличия нужных технологий. Но введён параметр allow_without_tech, который по идее это должен позволять обойти при необходимости, напр

evgenyevx

Находишь в файле фокусов СССР (Hearts of Iron IV/common/national_focus/soviet.txt) фокус на "Пропаганду коллективизма" (по умолчанию 603 строка) и "Положительный героизм" (681 строка), и удаляешь стро

zx3

Кто-нибудь знает где находится файл, который отвечает за то какие бонусы получает страна при усилении? Хочу убрать оттуда бонусы для войск

kaizerreih

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

kaizerreih

Если я правильно понял то вот bookmarks = {     bookmark = {         name = "New world"                       -название сценария         desc = "BLITZKRIEG_DESC"         date = 1948.8.14.

ti1xoh9

фотки для ивентов - .dds файлы (397*153, возможно, без альфа-канала) кладутся в папку gfx/event_pictures или gfx/events и прописываются в коде ивента.  личные иконки (82*82 пикселя, прозрачный фо

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

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


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

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