Скриптовый язык Виктории 2. Основы
- Ответы 5
- Создано 08.04.2015
- Последний ответ 08.04.2018
- Просмотры 4590
- Ответов в сутки 0
- Просмотров в сутки 1.1
Лучшие авторы в этой теме
Популярные дни
Популярные сообщения
Stedy
Все, что поддается модификации (страны, события, решения и т.п.), создано с помощью языка, который Paradox Interactive разработал для своих игр. Он достаточно прост, но его простота имеет как минусы,
Arktos
Проверил на Пруссии, всё отлично работает, видимо Вы где то допустили ошибку или чего то не учли. Итак: скобки всюду расставлены как надо? класс корабля указан правильно? сам по себе евент
-
Сейчас на странице 0 пользователей
- Нет пользователей, просматривающих эту страницу
-
Модераторы онлайн
- alexis
Рекомендованные сообщения
Все, что поддается модификации (страны, события, решения и т.п.), создано с помощью языка, который Paradox Interactive разработал для своих игр. Он достаточно прост, но его простота имеет как минусы, так и плюсы: что-то сложное на нем сделать проблематично, зато для типовых задач он вполне годится.
Я попытаюсь максимально просто объяснить структуру данного языка.
Меньше теории, больше примеров.
Структура
Операторы
Есть некие ключевые слова, они же команды, они же операторы. Обозначают много чего, начиная от каких-либо областей воздействия, заканчивая эффектами.
Например, перед каждым событием мы пишем country_event или province_event (в зависимости от цели события). Это дает понять игре, что последующий код будет относиться к событию и позволяет ей правильно его интерпретировать. А id = 999 позволит игре узнать номер (идентификатор) события.
Предлагаю разделить операторы на четыре типа:
1 - условные (возвращают значения "истина" или "ложь" в зависимости от переданного значения)
2 - переменные (получают значения)
3 - фокусные (включают в себя код, который относится к обозначенной этим оператором области)
4 - логические ("не","или","и")
Условные
Условные используются в решениях и событиях, они нужны для проверки условий. Например, нам нужно, чтобы событие происходило лишь у определенной страны.
Войдите или зарегистрируйтесь, чтобы увидеть скрытое содержимое.Соответственно, событие произойдет лишь когда это выражение станет истинным.
Переменные
Переменные принадлежат разного рода эффектам и модификаторам. Пишется оператор, далее знак "=" и необходимое значение. Переменные могут принимать в качестве значений числа или слова, в зависимости от того что они делают.
Войдите или зарегистрируйтесь, чтобы увидеть скрытое содержимое.Некоторые эффекты могут включать в себя несколько значений.
Войдите или зарегистрируйтесь, чтобы увидеть скрытое содержимое.От чего же тут так много скобок и как их ставить? Давайте рассмотрим поподробнее эту тему и потом вернемся к операторам.
Фигурные скобки
В фигурные скобки заключается код. Ставятся они после соответствующих операторов, вернее после знака "=". Например,
Войдите или зарегистрируйтесь, чтобы увидеть скрытое содержимое.Обязательное условие, чтобы каждая открытая скобка "{" была в паре с закрытой "}". По сути эти скобки обозначают некий блок кода, который относится к какому-либо оператору.
Блоки кода могут друг в друга вкладываться.
Войдите или зарегистрируйтесь, чтобы увидеть скрытое содержимое.Как же понять где ставить скобки, а где писать слова или цифры? Чтобы узнать как писать то или иное выражение нужно заглянуть в справку. Ссылка на нее будет дана в конце. К сожалению, она на английском, но зато есть примеры к каждому оператору. Некоторую часть можно найти в этом разделе в уроках. В конце концов, можете посмотреть в файлах игры как сами разработчики реализовали те или иные идеи.
Не забывайте о скобках. Частая причина нерабочих событий и решений - путаница со скобками.
Возвращаемся к операторам
Фокусные
Фокусные указывают на какую-либо область в игре, будь то местность, страна, сословие, провинция. То есть мы ограничиваем область, на которую будет воздействовать код.
Например,
Войдите или зарегистрируйтесь, чтобы увидеть скрытое содержимое.Тут мы воздействуем на фермеров, давая им +1 к сознательности.
Давайте возьмем что-то посложнее
Войдите или зарегистрируйтесь, чтобы увидеть скрытое содержимое.Заметили,что не хватает одной фигурной скобки в конце? Если ее не поставить, то работать адекватно это не будет.
random_state - фокус на случайны регион
poor_strata - фокус на бедное сословие
militancy = -0.5 - убрать 0.5 агрессивности
Хоть и "poor_strata" фокус на все население бедного сословия, он ограничен фокусом "random_state", в результате чего эффект произойдет только в одной из случайных провинций.
Логические
Они чем-то похожи на фокусы, т.к. заключают в себя значения с помощью фигурных скобок. Их всего три: AND (логическое И), OR (логическое ИЛИ), NOT (логическое НЕ). Используются с условными операторами, ведь они могут работать только со значениями "истина" или "ложь".
Давайте сразу пример
Войдите или зарегистрируйтесь, чтобы увидеть скрытое содержимое.Тэг страны не должен быть RUS и страна не должна являться великой державой.
Войдите или зарегистрируйтесь, чтобы увидеть скрытое содержимое.Должно быть истинным или первое или второе условие.
Войдите или зарегистрируйтесь, чтобы увидеть скрытое содержимое.Должны быть истинными оба условия.
Ничто не мешает вам вкладывать их друг в друга
Войдите или зарегистрируйтесь, чтобы увидеть скрытое содержимое.Получается, что оба условия не должны быть истинными.
Комментарии
Комментарий обозначается с помощью знака #. Игра не будет считывать все, что стоит после него. Главное правило, что # распространяется только на строку.
Пример
Войдите или зарегистрируйтесь, чтобы увидеть скрытое содержимое.Стиль написания
Есть люди, которые пишут так
Войдите или зарегистрируйтесь, чтобы увидеть скрытое содержимое.При увеличении кода это все превращается в непонятную кашу. Особенно критично для новичков, т.к. они начинают путаться в скобках.
Поэтому обязательно делайте отступы, как было на примерах выше. Это поможет не только тем, кто решит вам помочь, но и в первую очередь вам самим. Если хотите удобства, установите ]]>Войдите или зарегистрируйтесь, чтобы увидеть скрытое содержимое. ]]>. Используйте клавишу Tab для отступов и программа будет адекватно делать переносы в соответствии с ними.
Хоть я и приводил примеры больше не основе событий (ивентов), данное руководство применимо ко всему.
На данный момент это пока что все, предлагайте что исправить/добавить или объяснить в рамках данной тематики.
]]>Войдите или зарегистрируйтесь, чтобы увидеть скрытое содержимое. ]]>
]]>Войдите или зарегистрируйтесь, чтобы увидеть скрытое содержимое. ]]>
]]>Войдите или зарегистрируйтесь, чтобы увидеть скрытое содержимое. ]]>
]]>Войдите или зарегистрируйтесь, чтобы увидеть скрытое содержимое. ]]>
[Cкрыть]Опубликовано Stedy,
Закреплено StrаtegiumПрисоединиться к обсуждению
Вы можете оставить комментарий уже сейчас, а зарегистрироваться позже! Если у вас уже есть аккаунт, войдите, чтобы оставить сообщение через него.