Создание ивентов - Страница 3 - Учебники по моддингу - Strategium.ru Перейти к содержимому

Создание ивентов

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

kepke386

Часть I. Создание ивента (события).

Предисловие

 

Итак, прочитав тему вопросы по моддингу, я выяснил, что множество начинающих мододелов совершенно не имеют понятия о создании ивентов (внутриигрового события). В этой части гайда я постараюсь разъяснить сей процесс.

 

Необходимый софт

 

Для комфортного и правильного написания кода ивента, я рекомендую скачать бесплатную программу Notepad++. Она поддерживает смену кодировок, подсвечивает некоторые элементы структуры кода, в общем, необходимая программа для мододела.

 

Notepad++

Спойлер

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

 

Если вы планируете добавлять свои картинки событий, их необходимо перевести в формат .dds (Direct Draw Image). Лучше всего с этим справляется бесплатная программа Paint.net.

 

Paint.net

Спойлер

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

 

На этом список необходимых программ закончен.

 

 

Начало

 

Для начала создаем мод (я думаю, все знают как это делается), затем заходим в папку мода (C:\users\user\Documents\Paradox Interactive\mod\%имя мода%) и создаем папку events в корне каталога. Затем создаем пустой текстовый файл с названием, в котором первое слово это тег страны события маленькими буквами, затем нижнее подчеркивание, затем название вашей страны. Пример: ger_Germany, sov_SovietUnion

 

Заходим в созданный нами файл. Добавляем в самом начале переменную, отвечающую за обнаружение игрой этого фала в дальнейшем:

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

Я использую исходники моего мода (Extended Asia mod), поэтому у меня в переменной прописано raj. Вы же прописываете тег вашей страны малыми буквами. Пример - ger, sov, rus, usa.

 

Затем копируем и вставляем туда структуру ивента:

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

В данном коде country event обозначает начало и конец ивента, id - номер ивента, title - название, desc - описание, picture - картинка ивента, option - вариант ответа на ивент.

 

Прописываем номер, название, описание ивента:

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

Первый ивент всегда имеет номер 1, а название и описание - это приставка к номеру (t или d). Не прописывайте название ивента словами - оно указывается в файлах локализации!

 

Теперь добавляем картинку события. Открываем папку с игрой (место, куда вы ее установили), заходим в папку gfx\event_pictures и выбираем нужную вам картинку с помощью Paint.net. Затем копируем ее название, открываем файла ивента и записываем в строку picture такой код:

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

где picture = GFX_ это обязательная часть кода, а следующее за ней предложение - название вашей картинки.

 

Если же вам не нравится данные парадоксами картики ивентов, вы вполне можете добавить свою. Для этого создаем в корне мода папку gfx, в ней папку event_pictures, затем копируем в нее любую понравившуюся из файлов игры картинку ивента и меняем в ней изображение на свое. Также необходимо ее переименовать - например, report_event_test_event1. Теперь заходим в файл ивента и пишем там следующее:

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

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

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

Все предельно просто. Осталось только добавит условие срабатывания события. Делается это через команду trigger:

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

Триггер вставляется перед опцией. Вот так выглядит весь код:

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

Вот так. В следующем гайде поговорим о файлах локализации.

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

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

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

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

1 час назад, пюрешка сказал:

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

Там много модификаторов для ИИ, не только голый рандом. Если нужно ещё и добавить зависимость от поддержки войны, то например в germany.40.b можно ещё один добавить модификатор:

 

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

 

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

пюрешка

@GBV привет, спасибо за подсказку. хотелось бы уточнить пару моментов. что значит factor = 0? ивент germany.40.b я так понимаю отвечает именно на ивент у англии? хотелось бы сделать разные условия и для англии, и для франции, и для чехов

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

33 минуты назад, пюрешка сказал:

что значит factor = 0?

Это значит, что приоритет (вероятность) выбора ИИ этого варианта сводится к нулю при выполении условия has_war_support < 0.50, т.к. на это значение происходит умножение базового значения, которое выше задаётся. Если бы нужно было увеличить вероятность принятия этого решения, то фактор этот нужно было задавать больше 1.

37 минут назад, пюрешка сказал:

ивент germany.40.b я так понимаю отвечает именно на ивент у англии? хотелось бы сделать разные условия и для англии, и для франции, и для чехов

germany.40.b не ивент, а второй вариант выбора в ивенте germany.40, т.е. выбор поддержать чехов со стороны ВБ. Остальные ивенты по цепочке ниже идут в файле ивентов Рейха, они подписаны комментариями, кто и что выбирает.

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

nikita_sernur

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

 

country_event = {
    id = ww1_russiajapanwar.1
    title = ww1_russiajapanwar.1.t
    desc = ww1_russiajapanwar.1.d
    #picture = gfx/events/ww1_russiajapanwar/ww1_russiajapanwar_1

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

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

20 часов назад, nikita_sernur сказал:

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

 

А зачем указывать путь, разве в файлах игры есть примеры, где так оформляются изображения для ивентов? На самом деле нужно прописывать их в  /interface/eventpictures.gfx

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

nikita_sernur
1 час назад, GBV сказал:

А зачем указывать путь, разве в файлах игры есть примеры, где так оформляются изображения для ивентов? На самом деле нужно прописывать их в  /interface/eventpictures.gfx

а куда тогда закидывать папку с фотографиями в моде? 

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

7 минут назад, nikita_sernur сказал:

а куда тогда закидывать папку с фотографиями в моде? 

Например, туда же, где они и в игре хранятся, т.е. в /gfx/event_pictures. Всё это есть в файлах Хойки, не зашифровано и не запаковано, можно всегда посмотреть и сделать аналогично в моде.

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

nikita_sernur
28 минут назад, GBV сказал:

Например, туда же, где они и в игре хранятся, т.е. в /gfx/event_pictures. Всё это есть в файлах Хойки, не зашифровано и не запаковано, можно всегда посмотреть и сделать аналогично в моде.

а закидывать в папку с модом или на в папку с игрой?

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

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

а закидывать в папку с модом или на в папку с игрой?

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

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

Ranvey_Iron

можете помочь ,я когда запускаю 1 ивент через командную строку то у меня появляються много остальных ивентов и когда я их закрываю то они снова появляються , кто знает что это?

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

Иван Винокуров

Почему ивент выскакивает 18 января, хотя фокус длятся 7 дней? Вот код.

Ивент 

country_event = {
    id = new_england.1
    title = new_england.1.t
    desc = new_england.1.d
    picture = GFX_report_event_soviet_soldiers

    option = {
        name = new_england.1.a
    }
    option = {
        name = new_england.1.b
    }
    option = {
        name = new_england.1.c
    }
}
Фокус

focus = { 
        id = NWE_Focus_Number_1 
        icon = GFX_focus_NWE_Our_way
        x = 24 
        y = 0 
        cost = 1  
        completrion_reward = { 
        country_event = {
            id = new_england.1
            days = 0
        }
        }   
    }
 

 

 

 

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

5 часов назад, Иван Винокуров сказал:

Почему ивент выскакивает 18 января, хотя фокус длятся 7 дней? Вот код.

 

Если посмотреть на другие ивенты в игре, которые вызываются в результате выполнения фокуса, то можно заметить, что там всегда указывается у них ещё параметр is_triggered_only = yes, который говорит игре, что этот ивент вызывается только вручную и не должен срабатывать сам по себе через какие-то промежутки времени. Ну и days = 0 не нужен при вызове ивента, если он должен сразу же вызываться.

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

Иван Винокуров

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

Не получилось, ивент вообще не выскакивает.

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

2 часа назад, Иван Винокуров сказал:

Не получилось, ивент вообще не выскакивает.

Значит что-то не так с кодом ивентов, нужно смотреть логи ошибок, в error.log практически всегда можно найти ответы на такие вопросы.

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

Иван Винокуров
В 15.02.2024 в 00:38, GBV сказал:

Значит что-то не так с кодом ивентов, нужно смотреть логи ошибок, в error.log практически всегда можно найти ответы на такие вопросы.

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

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

1 час назад, Иван Винокуров сказал:

Как?

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

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

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

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

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

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

  Only 75 emoji are allowed.

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

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

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

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

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

  • GBV

    10

  • Artanis

    5

  • nikita_sernur

    3

  • Иван Винокуров

    3

  • Fishenzon

    2

  • kepke386

    2

  • пюрешка

    2

  • AlexZh

    2

  • Kaminoonchо

    2

  • Мавлин

    2

  • Old_Kerogaz

    2

  • Maksim199

    2

  • Sepera_okeq

    2

  • Denonion

    1

  • RatHive

    1

  • Капитан Морозов

    1

  • apushkin556

    1

  • TheSkorpy

    1

  • Cezka228

    1

  • solfin

    1

  • timati 47

    1

  • G4L

    1

  • Vovanchik

    1

  • Ranvey_Iron

    1

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

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

kepke386

Часть I. Создание ивента (события). Предисловие   Итак, прочитав тему вопросы по моддингу, я выяснил, что множество начинающих мододелов совершенно не имеют понятия о создании ивентов (

GBV

Там много модификаторов для ИИ, не только голый рандом. Если нужно ещё и добавить зависимость от поддержки войны, то например в germany.40.b можно ещё один добавить модификатор:   8cc2fd21f78b

GBV

Это значит, что приоритет (вероятность) выбора ИИ этого варианта сводится к нулю при выполении условия has_war_support < 0.50, т.к. на это значение происходит умножение базового значения, которое в

AlexZh

@Artanis  fire_only_once = yes или  is_triggered_only = yes

GBV

Это фото китайцев с пулемётом на самом деле стандартная заглушка, которая отображается когда игра не может найти указанную картинку ивента. А найти она его не может видимо потому, что GFX_news_1936 не

GBV

И правильно, сам он никогда и не выскочит, потому что:  

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

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


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

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