Скриптинг Victoria 2. Часть 1. Эффекты - Страница 2 - Учебники по моддингу - Strategium.ru Перейти к содержимому

Скриптинг Victoria 2. Часть 1. Эффекты

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

Truvor

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

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

Эффекты

Эффектами в Victoria 2  называются любые действия, которые производятся с помощью эвентов или решений, будь то снижение престижа для страны, увеличение сознательности ПОПов или увеличение населения провинции.

Синтаксис

Что бы было проще разобраться в синтаксисе эффектов рассмотрим пример:

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

Это  выражение означает  что, во всех регионах (any_state), где есть рабство (limit = {is_slave = yes}), у всех ПОПов (any_pop), принадлежащих к кульуре – Дикси (has_pop_culture = dixie) сознательность увеличится на 0.5

Объекты

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

POPs

any_pop выбор всех типов ПОПов

aristocrats, artisans, bureaucrats, capitalists, clergymen, clerks, craftsmen, farmers, labourers, officers, slaves, soldiers выбор определенного типа

poor_strata, middle_strata, rich_strata выбор всех ПОПов относящихся к определенной страте (бедные, средний класс, богатые)

выборка по определенным параметрам (применяется с конструкцией limit (см. пример в начале)):

has_pop_culture ПОПы относящиеся к определенной культуре

has_pop_religion ПОПы исповедующие указанную религию

is_state_religion = (yes/no) ПОПы исповедующие основную религию в регионе

is_primary_culture = (yes/no) ПОПы относящиеся к основной культуре

is_accepted_culture = (yes/no) ПОПы относящиеся к признанной культуре

consciousness = n ПОПы чья сознательность выше n

militancy = n ПОПы чья агрессивность выше n

assimilate = (yes/no) Меняет каждую поп-культуру, чья провинция в данный момент находится в сфере действия, на основную культуру страны (не работает на признанные культуры).

Провинции

any_owned Все провинции, находящиеся во владении страны.

(id провинции) Выбор провинции по id

capital_scope столица

выборка по определенным параметрам (применяется с конструкцией limit (см. пример в начале)):

is_core = (tag) Провинции имеющие указанное ядро (tag)

province_id Для исключение определенных провинций из больших групп

has_province_modifier Провинция, имеющая указанный модификатор

(ideology) = n Провинция где число сторонников идеологии (ideology) >= n%

average_consciousness = n Провинция, где средняя сознательность >= n

average_militancy = n Провинция, где средняя агрессивность >= n

Регионы

random_state Рандомный регион

(имя региона например USA_1) Выборка региона по имени

state_scope Для провинциальных эвентов, выбор региона в который входит определенная провинция

выборка по определенным параметрам (применяется с конструкцией limit (см. пример в начале)):

is_slave = (yes/no) Регионы в которых есть/нет рабство

is_colonial = (yes/no) Регионы являются/нет колониальными

average_consciousness = n Регионы, где средняя сознательность >= n

average_militancy = n Регионы, где средняя агрессивность >= n

has_pop_type = (type) Регионы, имеющие определенный тип ПОПов

(issue) = n Регионы определенный вопрос важен для n % населения

Государства

(tag) Выбор государства по тегу

any_country Все государства

any_greater_power Рандомный выбор любой из восьми Великих держав

owner Для провинциальных эвентов, выбор страны которой принадлежит данная провинция

sphere_owner Выборка страны, в сфере которой находится текущее государство.

выборка по определенным параметрам (применяется с конструкцией limit (см. пример в начале)):

has_country_flag = (flag name) Страны имеющие определенный флажок

civilized = (yes/no) Цивилизованные\нецивилизованные государства

in_culture_group = (group) Государства, относящиеся к определенной культурной группе

(reform_class) = (reform_level) Государства имеющие определенные реформы (пример press_rights = free_press)

prestige = n Государства, чей престиж >=n

Эффекты для населения

сonsciousness

увеличивает сознательность указаных ПОПов

 

ПримерНажмите здесь!

 poor_strata = {

 

consciousness = 1.5

}

[Cкрыть]

Этот пример означает, что у бедных слоев населения сознательность увеличится на 1.5

militancy

увеличивает агрессивность указанных ПОПов

работает также как и сознательность

dominant_issue

Изменяет количество населения, которых волнует указанный политический вопрос

 

ПримерНажмите здесь!

 dominant_issue = {

 

value = free_press

factor = 0.5

}

 

[Cкрыть]

 

 

В этом примере у выбранных ПОПов свободная пресса, станет на 50% более важным вопросом

reduce_pop

изменяет количество выбранных ПОПов

 

ПримерНажмите здесь!

 reduce_pop = n

 

[Cкрыть]

n<0 уменьшает, n>0 увеличивает население, например если reduce_pop = 0.9, население уменьшится на 10%

move_pop

выбраные ПОПы перемещаются в указанную провинцию

 

ПримерНажмите здесь!

 move_pop = (ID)

 

[Cкрыть]

pop_type

изменяет тип выбранных ПОПов

 

ПримерНажмите здесь!

 pop_type = (type)

 

[Cкрыть]

scaled_consciousness

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

 

ПримерНажмите здесь!

 scaled_consciousness = {

 

factor = n

ideology or issue = (name)

}

[Cкрыть]

scaled_militancy

то же самое с агрессивностью

ideology

меняет долю населения, поддерживающую указанную идеалогию

 

ПримерНажмите здесь!

 ideology = {

 

factor = n

value = (name)

}

[Cкрыть]

literacy

изменяет грамотность населения

 

ПримерНажмите здесь!

 literacy = n

 

[Cкрыть]

значение 0.1 увеличивает грамотность на 10%

money

меняет количество денег у указанных ПОПов

 

ПримерНажмите здесь!

 money = n

 

[Cкрыть]

Эффекты для провинций

add_province_modifier

добавляет модификатор для провинции

 

ПримерНажмите здесь!

 add_province_modifier = {

 

name = (modifiername)

duration = n

}

[Cкрыть]

Длительность (duration) указывается в днях

remove_province_modifier

удаляет модификатор

secede_province

передает провинцию указанной державе

 

ПримерНажмите здесь!

 secede_province = (tag)

 

[Cкрыть]

change_controller

передает провинцию под контроль указанной державе

 

ПримерНажмите здесь!

 change_controller = (tag)

 

[Cкрыть]

capital

перенос столицы

 

ПримерНажмите здесь!

 capital = (ID)

 

[Cкрыть]

add_core

добавить ядро

 

ПримерНажмите здесь!

 add_core = (tag)

 

[Cкрыть]

life_rating

меняет уровень жизни в провинции

 

ПримерНажмите здесь!

 life_rating = n

 

[Cкрыть]

fort

построить форт n уровня

 

ПримерНажмите здесь!

 fort = n

 

[Cкрыть]

RGO_size

меняет размер ДП в провинции

 

ПримерНажмите здесь!

  RGO_size = n

 

[Cкрыть]

infrastructure

построить инфраструктуру n уровня

 

ПримерНажмите здесь!

  infrastructure = n

 

[Cкрыть]

trade_goods

меняет тип ресурса, который производится в провинции

 

ПримерНажмите здесь!

  trade goods = (type)

 

[Cкрыть]

change_province_name

меняет название провинции

 

ПримерНажмите здесь!

 change_province_name = "name"

 

[Cкрыть]

Национальные эффекты

add_country_modifier

добавить модификатор для страны

 

ПримерНажмите здесь!

 add_country_modifier = {

 

name = (modifiername)

duration = n

}

[Cкрыть]

Длительность (duration) указывается в днях

remove_country_modifier

удалить модификатор

 

ПримерНажмите здесь!

 remove_country_modifier = (name)

 

[Cкрыть]

add_accepted_culture

добавить признанную культуру

 

ПримерНажмите здесь!

 add_accepted_culture = (culture)

 

[Cкрыть]

prestige

добавить престиж стране

 

ПримерНажмите здесь!

 prestige = n

 

[Cкрыть]

plurality

изменить значение плюрализма

 

ПримерНажмите здесь!

 plurality = n

 

[Cкрыть]

badboy

изменить значение бедбоя

 

ПримерНажмите здесь!

 badboy = n

 

[Cкрыть]

research_points

добавить очков исследования

 

ПримерНажмите здесь!

 research_points = n

 

[Cкрыть]

years_of_research

добавляет количество очков исследования которое держава получает за год

 

ПримерНажмите здесь!

 years_of_reserach = n

 

[Cкрыть]

war_exhaustion

изменить значение военного истощения

 

ПримерНажмите здесь!

 war_exhaustion = n

 

[Cкрыть]

civilized

меняет статус державы (цивил/нецивил)

 

ПримерНажмите здесь!

 civilized = (yes/no)

 

[Cкрыть]

kill_leader

убить указанного лидера

 

ПримерНажмите здесь!

 kill_leader = (id)

 

[Cкрыть]

nationalvalue

меняет национальную ценность (свобода, равенство, порядок)

 

ПримерНажмите здесь!

 nationalvalue = (name)

 

[Cкрыть]

nv_order - Порядок; nv_liberty - Свобода; nv_equality - Равенство

religion

меняет религию в указанном регионе

 

ПримерНажмите здесь!

 religion = (name)

 

[Cкрыть]

Политические эффекты

government

меняет форму правления в выбранной стране

 

ПримерНажмите здесь!

 government = (type)

 

[Cкрыть]

political_reform

провести политическую реформу в выбранной стране

 

ПримерНажмите здесь!

 political_reform = (name)

 

[Cкрыть]

social_reform

провести социальную реформу

upper_house

меняет долю партии указаной идеологии в верхней палате

 

ПримерНажмите здесь!

 upper_house = {

 

ideology = (name)

value = n

}

[Cкрыть]

election

включает предвыборную кампанию

 

ПримерНажмите здесь!

 election = yes

 

[Cкрыть]

enable_ideology

делает доступной указанную идеологию (глобально)

 

ПримерНажмите здесь!

 enable_ideology = (type)

 

[Cкрыть]

is_slave

включает/выключает рабство в выбранном регионе

 

ПримерНажмите здесь!

 is_slave = (yes/no)

 

[Cкрыть]

Дипломатические эффекты

war

начинает войну стране с которой произошел эвент с указанной страной

 

ПримерНажмите здесь!

  war = (tag)

 

[Cкрыть]

расширеный вариант

 

ПримерНажмите здесь!

 war = {

 

target = (tag)

attacker_goal = {

casus_belli = (type)

}

defender_goal = {

casus_belli = (type)

}

}

[Cкрыть]

end_war

заканчивает войну с указанной страной

 

ПримерНажмите здесь!

 end_war = (tag)

 

[Cкрыть]

casus_belli

дает повод для войны против указанной страны

 

ПримерНажмите здесь!

 casus_belli ={

 

target = (country the CB is against)

type = (type)

months = n

}

[Cкрыть]

add_casus_belli

дает повод для войны указанной стране против вас

 

ПримерНажмите здесь!

 add_casus_belli = {

 

target = THIS

type = acquire_state

months = 12

}

[Cкрыть]

relation

меняет отношение с указанной страной

 

ПримерНажмите здесь!

 relation = {

 

with = (tag)

value = n

}

[Cкрыть]

diplomatic_influence

меняет дипломатическое влияние на указанную страну

 

ПримерНажмите здесь!

 diplomatic_influence = {

 

who = (tag)

value = n

}

[Cкрыть]

inherit

присоединяет указанную державу

 

ПримерНажмите здесь!

 inherit = (tag)

 

[Cкрыть]

release

выделяет из состава вашей страны новую державу

 

ПримерНажмите здесь!

 release = (tag)

 

[Cкрыть]

release_vassal

выделяет из состава вашей страны новую державу в качестве вассала

 

ПримерНажмите здесь!

 release_vassal = (tag)

 

[Cкрыть]

create_alliance

создает союз с указанной страной

 

ПримерНажмите здесь!

 create_alliance = (tag)

 

[Cкрыть]

leave_alliance

упраздняет союз с указанной страной

 

ПримерНажмите здесь!

 leave_alliance = (tag)

 

[Cкрыть]

create_vassal

делает указанную страну вассалом

 

ПримерНажмите здесь!

 create_vassal = (tag)

 

[Cкрыть]

guarantee

разрешает проход войск по территории указанной страны

 

ПримерНажмите здесь!

 military_access = (tag)

 

[Cкрыть]

end_military_access

отменяет проход войск по территории указанной страны

 

ПримерНажмите здесь!

 end_military_access = (tag)

 

[Cкрыть]

Экономические эффекты

(resource name)

увеличивает/уменьшает количество указанного ресурса

 

ПримерНажмите здесь!

 (resource name) = n

 

[Cкрыть]

money

увеличивает/уменьшает количество денег

 

ПримерНажмите здесь!

 money = n

 

[Cкрыть]

Программные эффекты

set_global_flag

добавить глобальный флажок

 

ПримерНажмите здесь!

 set_global_flag = flagname

 

[Cкрыть]

clr_global_flag

удалить глобальный флажок

 

ПримерНажмите здесь!

  clr_global_flag = (flag name)

 

[Cкрыть]

set_country_flag

добавить флажок для страны

clr_country_flag

удалить флажок для страны

has_country_flag

проверяет есть ли у страны указанный флажок

change_tag

меняет тег страны на указанный

 

ПримерНажмите здесь!

 change_tag = (tag)

 

[Cкрыть]

country_event

вызывает эвент для страны

 

ПримерНажмите здесь!

 country_event = (Event ID)

 

[Cкрыть]

province_event

вызывает эвент для провинции

 

ПримерНажмите здесь!

 province_event = (Event ID)

 

[Cкрыть]

Изменено пользователем Херсонський Кавун
Добавил assimilate = yes/no
Ссылка на комментарий

Закреплённые сообщения
19Dictator22
Возможно ли создать в условии решения существование/не существование какого-либо государства? Заранее спасибо :)

Можно. Вот, что нужно писать:

exists = тэг страны, если отрицание то - NOT = { exists = тэг страны } .

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

[Cкрыть]
Ссылка на комментарий

JackSlater

А есть ли команда, которая позволяет присоединить страну к уже существующей войне? Соответственно, на стороне атакующего или защищающегося.

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

Димониус
А есть ли команда, которая позволяет присоединить страну к уже существующей войне? Соответственно, на стороне атакующего или защищающегося.

Нет.

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

Каллиграф

Подскажите, в чем разница?

set_country_modifier = xxx

и

add_country_modifier = {

name = xxx

duration = -1

}

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

set_country_modifier = xxx

Такого варианта записи в этой игре нет, насколько я знаю

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

Сева Зельченко

ковырялся в исходниках, нашел следующую ерунду:

(под шапкой одного из вариантов ивента)

ai_chance = {

factor = 10

}

Похоже, что эта штука повышает шанс выбора ИИ одного из вариантов. НО:

1. Она не описана ни в одном из списков операторов

2. Какая корреляция между значением под фактором и процентным соотношением выбора вариантов?

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

Димониус
ковырялся в исходниках, нашел следующую ерунду:

(под шапкой одного из вариантов ивента)

ai_chance = {

factor = 10

}

Похоже, что эта штука повышает шанс выбора ИИ одного из вариантов. НО:

1. Она не описана ни в одном из списков операторов

2. Какая корреляция между значением под фактором и процентным соотношением выбора вариантов?

Я понимаю, прочесть руководство не царское дело.

Общий фактор всех вариантов выбор должен быть равен 100. Так же это число затем можно "безболезненно" уменьшать, увеличивать модификаторами.

К примеру: первый вариант 75, второй - 25. С помощью модификаторов при определённых условиях первый может быть скажем 140, а второй - 5; первый - 47, второй - 47.

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

Хотелось бы создать решение на принятие культуры в государстве. Например если численность некоей культуры в государстве > 5% появляется решение. Вопрос в том как получить это количество населения культур в стране

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

Димониус
Вопрос в том как получить это количество населения культур в стране

Эм, ну захватывать земли?

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

AstroTonga

а можно по точнее с изъятием денег у населения в госсбанк с помощью решения

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

Муцухито
Хотелось бы создать решение на принятие культуры в государстве. Например если численность некоей культуры в государстве > 5% появляется решение. Вопрос в том как получить это количество населения культур в стране

Поддерживаю, давно волновала эта тема. Хотелось бы признать поляков в РИ, а то вроде как у них автономия + тоже славяне, хотя это и не совсем исторично. Поначалу планировал просто прописать как эффект в крестьянской реформе (другие решения для РИ просто кончились), а тут появилась возможность спросить у знающих людей. Так вот, не подскажет ли кто как создать отдельный эвент на признание культуры?

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

Zelchenko
Поддерживаю, давно волновала эта тема. Хотелось бы признать поляков в РИ, а то вроде как у них автономия + тоже славяне, хотя это и не совсем исторично. Поначалу планировал просто прописать как эффект в крестьянской реформе (другие решения для РИ просто кончились), а тут появилась возможность спросить у знающих людей. Так вот, не подскажет ли кто как создать отдельный эвент на признание культуры?

Добавить признанную культуру -

add_accepted_culture = (culture) (см. напр. решение "Австро-Венгерский компромисс", там признают мадьяров, переделай это кой-как под поляков и РИ)

"

А вот в общем (>5 процентов и неизв. народ) не получится, разве что с костылями из других языков программирования, но это вылетуче и сильно тормозит игру.

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

Муцухито
Добавить признанную культуру -

add_accepted_culture = (culture) (см. напр. решение "Австро-Венгерский компромисс", там признают мадьяров, переделай это кой-как под поляков и РИ)

"

А вот в общем (>5 процентов и неизв. народ) не получится, разве что с костылями из других языков программирования, но это вылетуче и сильно тормозит игру.

Премного благодарен! Будет своеобразный "Компромисс Российской империи с поляками". По такому принципу можно слепить для любой страны с любым процентом определенной культуры это решение. Ну не ради читерства и новых гвардейцев, а в рамках хоть какой-то историчности и здравого смысла. :D

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

Zelchenko
Премного благодарен! Будет своеобразный "Компромисс Российской империи с поляками". По такому принципу можно слепить для любой страны с любым процентом определенной культуры это решение. Ну не ради читерства и новых гвардейцев, а в рамках хоть какой-то историчности и здравого смысла. :D

Додумал и понял, что можно написать под каждый народ в игре решение и даже разработал шаблон. Буду автоматизировать (300 шт., это дофига времени, а список народов есть.) (примерно 300 штук, под малочисленных полинезийцев/саамов/эскимосов/африканские племена(в исторично-колониальной ваниле без игры за Ю.Африку)/айнов (хотя был один товарищ, сделавший именно под айнов для РИ)) :drinks:

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

Муцухито
Додумал и понял, что можно написать под каждый народ в игре решение и даже разработал шаблон. Буду автоматизировать (300 шт., это дофига времени, а список народов есть.) (примерно 300 штук, под малочисленных полинезийцев/саамов/эскимосов/африканские племена(в исторично-колониальной ваниле без игры за Ю.Африку)/айнов (хотя был один товарищ, сделавший именно под айнов для РИ)) :drinks:

Если Вы доведёте задуманное до конца, это будет великолепно. :022: Ведь почему-то такое решение разрабы не предусмотрели, а зря.

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

А вот в общем (>5 процентов и неизв. народ) не получится, разве что с костылями из других языков программирования, но это вылетуче и сильно тормозит игру.

Можно узнать, про какие языки программирования вы говорите? Игра же только свой скриптовый язык воспринимает и lua в некоторых файлах

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

Ребятки, я попытался родить решение "геноцид", но чот как то ничего не получается.
Может кто глянет да подскажет, что я там пропустил? (Вроде в игре решение читается правильно, все условия сохранены, мол "все непризнаное население -40%)

 

Цитата

political_decisions = {
    genocide = {
        potential = {
            government = fascist_dictatorship
        }

        allow = {
            government = fascist_dictatorship
        }

        effect = {
        any_owned = {
                  any_pop = {
                      limit = {
            is_primary_culture = no
            is_accepted_culture = no
                }
                }
                }
            reduce_pop = 0.4

        }
    }
}

 

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

inferno★hime
52 минуты назад, Негр сказал:

Ребятки, я попытался родить решение "геноцид", но чот как то ничего не получается.
Может кто глянет да подскажет, что я там пропустил? (Вроде в игре решение читается правильно, все условия сохранены, мол "все непризнаное население -40%)

 

Скобочку вижу не там

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

11 час назад, inferno-chan сказал:

Скобочку вижу не там

Опа, подскажи где? Я вообще не шарю, считай первый раз делаю решение.

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

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

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

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

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

  Only 75 emoji are allowed.

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

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

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

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

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

  • Aurelius36

    17

  • Херсонський Кавун

    9

  • Batya22848

    9

  • Негр

    7

  • Strateg456

    6

  • Alma Latina

    5

  • inferno★hime

    5

  • Truvor

    4

  • Димониус

    3

  • Муцухито

    3

  • Nii

    2

  • Pshek

    2

  • The_sign_of_the_good_time

    2

  • Stedy

    2

  • Фримен

    2

  • Zelchenko

    2

  • Samples Denis1234

    2

  • layre1337

    2

  • Velu

    2

  • Колонизатор

    2

  • Каллиграф

    1

  • 19Dictator22

    1

  • VictorFaustman

    1

  • JackSlater

    1

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

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

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


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

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