Стр. 1 — Игра — StarCraft II
Модуль триггеров
Это руководство состоит из трех частей, в которых описаны многие возможности редактора StarCraft 2. В процессе обучения вы вместе с нами создадите небольшую карту, похожую на первую карту кампании Wings of Liberty.
Если вы еще не ознакомились с первой частью руководства, вы можете найти ее [здесь].
Если вы хотите сразу перейти к этой части руководства, минуя обучение работе с редактором поверхностей, вы можете сразу начать работу с готовой картой, которую можно загрузить [здесь].
Научиться использовать модуль триггеров, чтобы с его помощью задавать алгоритмы победы, поражения и прочих событий, происходящих во время игры.
Загрузить модуль триггеров — готовая карта
незавершенная карта
Загрузить модуль триггеров — карта еще не создана
Конечный результат:Вот как должен выглядеть результат нашей работы:


Мы создадим небольшую игру-приключение. В ней героям нужно будет выяснить, кто вытаптывает поля и пожирает урожаи, принадлежащие колонистам Агрии.
Модуль триггеров – это модуль, в котором творится история. Именно здесь создаются ролики на графическом ядре игры, задается алгоритм появления на карте новых боевых единиц, определяются и отслеживаются цели задания и многое другое.
Триггеры – это, по сути, набор инструкций. Если вам нужно, чтобы во время игры произошло событие, вы используете триггер, чтобы сообщить игре, когда и как должно запуститься это событие.
- Триггеры состоят из нескольких частей.
- Событие – это то, что запускает триггер. Если мы хотим, чтобы триггер завершал игру после смерти героя, то событие для этого триггера будет выглядеть так: «когда боевая единица погибает».
- Условия – с их помощью мы задаем условия, без выполнения которых триггер не запустится. В нашем примере триггер срабатывает при гибели любой единицы, но с помощью условия мы ограничиваем его запуск теми случаями, когда погибшая единица была героем.
- Действия – это инструкции, выполняемые после запуска триггера. В нашем случае действие будет таково: «Игра закончена для Игрока 1».
Мы будем дальше работать над картой, которую создали во время ознакомления с первой частью руководства. В тот раз мы создали каньон и военный форпост, но, как видите, потом мы эту карту немного доработали. Впрочем, при этом мы использовали только приемы, с которыми вы ознакомились в первой части руководства.
Если вы не хотите заканчивать свою карту, используйте для работы наш образец, его можно загрузить [здесь].
Мы обозначили несколько ключевых территорий, в которых нашим героям предстоит побывать во время выполнения задания.

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

В центре разоренного поля прячется закопавшийся ультралиск. Целью задания будет уничтожить его.

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

Еще несколько боевых единиц зергов мы разбросали по всей карте, чтобы игроку не было скучно бродить по окрестностям.
I. Настройка обзораЧтобы открыть модуль триггеров, нажмите кнопку «Триггеры» или клавишу F6.
Прежде чем начать работу, мы вкратце рассмотрим, как можно настроить вид окна модуля триггеров. Но напомним, что в руководстве мы охватываем далеко не все возможности редактора. Продолжайте осваивать его сами, поиграйте с интерфейсом, выберите вид, который вам больше всего подходит.
А. Отображение полного вида
С левой стороны окна триггеров расположен список всех триггеров карты. По умолчанию каждой карте при создании сразу присваивается триггер «Инициализация схватки». Выбрав его, вы увидите его содержимое в правой части экрана.
Чтобы отредактировать события, условия или действия триггера, откройте окно редактирования двойным щелчком по названию события, условия или действия.
Однако если включить отображение полного вида, то содержимое любого пункта будет открываться в нижнем правом окне по одному щелчку. Чтобы включить отображение полного вида, нажмите кнопку «Отображение полного вида» на панели в верхней части окна триггеров.
Б. Как скрыть библиотеки
Все события, условия и действия в StarCraft II содержатся в «библиотеках триггеров». Пользователи могут создавать собственные библиотеки. Однако для этой карты нам не потребуется создавать ничего нового, поэтому мы их скроем. Для этого щелкните по кнопке «Отображение библиотек».
В. Прочие возможности
В меню «Вид» окна триггеров вы найдете еще несколько настроек, с помощью которых можно изменить вид окна. Их изучение мы оставляем на ваше усмотрение.
II. Мой первый триггер. Победа и поражение.Ну что, пора бы уже создать парочку триггеров! Первые два будут довольно простыми: триггер победы, который запускается после убийства ультралиска и червя Нидуса, и триггер поражения, срабатывающий при гибели единицы-героя или всех боевых единиц игрока.
Перед началом работы необходимо удалить триггер «Инициализация схватки». В нем прописаны действия, которые готовят карты StarCraft 2 к сетевой игре; нам они не понадобятся, поскольку в нашей игре пользователю не нужно собирать минералы или строить здания. Чтобы удалить триггер, выделите его и нажмите клавишу Delete или щелкните по его названию правой кнопкой мыши и выберите «Удалить».
А. Триггер поражения
Триггер поражения должен сработать после гибели героя и установить статус «Поражение» для игрока 1.
Создание нового триггера:
1. Чтобы создать новый триггер, нажмите комбинацию клавиш Ctrl+T или щелкните правой кнопкой мыши по списку триггеров и выберите «Создать» -> «Создать триггер».
2. Мы назовем наш триггер «Поражение».
3. Выберите триггер, чтобы просмотреть его содержимое.

Создание нового события:
1. Чтобы вписать в триггер новое событие, нажмите комбинацию клавиш Ctrl+E или щелкните правой кнопкой мыши по строчке «События» и выберите «Создать» -> «Создать событие».

2. В открывшемся окне выберите событие «Единица погибает» и нажмите «ОК».
1. Чтобы вписать в триггер новое условие, нажмите комбинацию клавиш Ctrl+K или щелкните правой кнопкой мыши по любой строчке триггера и выберите «Создать» -> «Создать условие».
2. В открывшемся окне содержится список видов условий. Выберите «Сравнение» и нажмите «ОК». Нужно выбрать именно условие сравнения, потому что мы сравниваем погибшую единицу с единицей-героем. Если погибла именно единица-герой, то условие выполнено и триггер запустит связанные с ним действия.

3. Если вы выберете созданное условие, то его содержимое отобразится в окне полного вида. Там должны быть строки «Значение 1», «Оператор» и «Значение 2».

4. Двойным щелчком по полю «Значение 1» вызовите список условий и выберите «Запускающая единица». Это единица, которая запускает триггер. В нашем случае это погибшая единица.

5. Поле «Оператор» задает отношение двух значений. В данном случае их только два: равно (==) и не равно (!=), потому что мы сравниваем боевые единицы, а они могут быть либо одной и той же единицей, либо нет. Отношения «приблизительно равно» здесь быть не может. Оставляем оператор «==», поскольку наше условие состоит в том, что погибшая единица должна быть единицей-героем.

6. Двойным щелчком по полю «Значение 2» снова вызовите список условий, но теперь мы не будем ничего выбирать. Обратите внимание: над списком расположены радиокнопки, каждая из которых соответствует одному из видов условий. По умолчанию нам показаны условные функции. Выберите радиокнопку «Значение», чтобы просмотреть список всех единиц, расположенных на карте. После создания поверхности мы создали двух морпехов и Джима Рейнора (Коммандос) для игрока 1. Найдите Джима Рейнора в списке и выберите его, затем нажмите «ОК».

Создание нового действия:
1. Нажмите комбинацию клавиш Ctrl+R или щелкните правой кнопкой по любому элементу в триггере и выберите «Создать» -> «Создать действие».
2. Из списка действий выберите «Конец игры для игрока». Чтобы облегчить себе поиск, введите часть названия или все название действия в поле «Поиск» над списком.

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

4. Дважды щелкните по полю «Тип» и выберите значение «Поражение».
Тестируем!

Мы написали наш первый триггер! Давайте запустим игру и посмотрим, как он работает.
1. Нажмите комбинацию клавиш Ctrl+F9 или нажмите кнопку «Пробный запуск» — она крайняя справа на панели в окне редактора.
2. Запустив игру, выберите свои боевые единицы и прикажите им атаковать Джима Рейнора. Когда он погибнет, на экране появится диалоговое окно окончания игры:

Б. Триггер победы
Теперь мы создадим простенький триггер победы. Он будет заканчивать игру со статусом победы для игрока 1, если тот убьет червя Нидуса и ультралиска.
Если вы еще не разместили червя Нидуса и закопанного ультралиска на карте, самое время это сделать. О том, как разместить боевую единицу на карте, подробно написано в первой части руководства, часть «Модуль поверхности», раздел «Боевые единицы». Мы поместили их на разоренное поле.

Прежде чем приступить к созданию триггера, нужно задать переменные для тех единиц, которые игроку нужно убить.
Переменные!
Переменные в редакторе StarCraft II выполняют ту же функцию, как в языках программирования и языках сценариев.
Если вы не знакомы принципами программирования, то следующий абзац – для вас. Переменная – это идентификатор, которому может быть присвоено любое значение. Например, если a – переменная, то мы можем сказать: a равно 5. Тогда во всех выражениях, где задействована переменная, ей будет соответствовать число 5, например, a + 2 будет равно 7. Вы почти в любой момент можете присвоить переменной другое значение. После завершения обработки операции «a + 2» можно объявить, что теперь a равно 6, и в следующий раз программа будет при расчете формулы подставлять вместо a значение 6. В редакторе StarCraft II используются переменные разных типов: целочисленные, текстовые, даже боевые единицы.
Как создать переменную в модуле триггеров:
1. Нажмите комбинацию клавиш Ctrl+B или щелкните правой кнопкой мыши по списку триггеров и выберите «Создать» -> «Создать переменную». Назовите ее, например, NydusWorm. Обратите внимание: для переменных нежелательно задавать русскоязычныее названия, поскольку идентификатор скрипта не содержит кириллические символы, и в дальнейшем это может затруднить работу с переменной.
2. Выбрав переменную, вы увидите ее описание в правой части окна. Переменная должна принадлежать к какому-нибудь типу. Тип – это тип значений, которые может принимать переменная. Это целые и действительные числа, текст, боевые единицы и др. Мы выберем тип «Единица», потому что мы хотим, чтобы она соответствовала червю Нидуса, которого мы разместили на карте.

3. Дважды щелкните по полю «Начальное значение» в правой части окна.
4. Выберите радиокнопку «Значение», найдите и выберите «Червь Нидуса (Канал)».

5. Теперь самостоятельно создайте переменную со значением «Ультралиск (Закопавшийся)».
Все готово для создания триггера победы. Приступим.

Событие:
В предыдущем триггере событие запускалось каждый раз, когда погибала какая-нибудь единица. Сейчас мы создадим так называемое периодическое событие, которое будет постоянно запускать триггер с определенными интервалами.
1. Создайте новое событие (Ctrl+E).
2. В открывшемся окне выберите «Периодическое событие».
3. В поле «Длительность» измените значение с 5.0 на 1.0.
4. В поле «Тип времени» оставьте «Игровое время».
Условие:
Для этого триггера нам понадобится два условия, по одному на каждую единицу, состояние которой мы проверяем.
1. Создайте новое условие (Ctrl+K).
2. Выберите тип «Сравнение» и нажмите «ОК».
3. Выберите созданное условие, чтобы просмотреть его содержимое в окне полного вида.
4. Задайте «Значение 1» равным «Единица жива».
5. Задайте «Единицу» равной созданной нами переменной «Червь нидуса».
6. Двойным щелчком откройте окно свойств «Значения 2», в поле «Значение» отключите параметр «Истина» и нажмите «ОК». Нам нужно, чтобы «Значение 2» было равно «false» (ложь), поскольку триггер должен запускаться, если единица мертва.

7. Повторите все эти операции для единицы «Ультралиск». Чтобы сэкономить время, вы можете просто сделать копию первого триггера и изменить в ней переменную «Единица», поскольку в остальном оба триггера идентичны.

Если для триггера заданы два условия, то он запустит действия, только если оба условия выполнены. Если вам нужно, чтобы триггер срабатывал при выполнении одного из условий, то создайте условие типа «Или», а затем поместите ваши условия внутрь него. Таким образом, при выполнении любого из этих условий исходное условие «Или» будет выполнено, и это запустит триггер.
В нашем случае необходимо выполнение обоих условий, поэтому мы не будем добавлять условие «Или».
Действие:
Создайте действие «Конец игры для игрока», как для предыдущего триггера, но теперь выберите тип «Победа».

В. Папки
Триггеры нужно содержать в порядке, поэтому прежде чем перейти к следующему разделу, мы создадим в списке триггеров папку и поместим в нее триггеры победы, поражения и переменные.
1. Выберите триггер из списка триггеров и нажмите комбинацию клавиш Ctrl+G либо щелкните по списку триггеров правой кнопкой мыши и выберите «Создать» -> «Создать папку».
2. Переместите в папку триггеры и переменные. Это делается так же, как при перетаскивании ярлыков на рабочем столе Windows.
По мере чтения руководства вы заметите, что с помощью папок мы сгруппировали триггеры по их назначению: победа и поражение, Игровые события, задачи и т.д.

eu.battle.net
Редактор
Автор: Diamond00744 | Добавлено в рубрику Новости |

Похожие записи
starcraftwars.ru
Стр. 1 — Игра — StarCraft II
Модуль данных
Это руководство состоит из трех частей, в которых описаны некоторые из многочисленных возможностей редактора StarCraft II. В процессе обучения вы вместе с нами создадите небольшую карту, похожую на первую карту кампании Wings of Liberty.Если вы еще не ознакомились с первой частью руководства, вы можете прочитать ее [здесь.
Вторую часть руководства можно найти здесь.Если вы хотите сразу перейти к этой части руководства, минуя обучение работе с редактором поверхностей и триггеров, вы можете сразу начать работу с готовой картой.
Научиться использовать модуль данных, чтобы с его помощью изменять параметры единиц, способностей, эффектов и оружия.
Ожидаемый результат:Мы изменим данные единицы «Джим Рейнор»: повысим показатели здоровья и брони, добавим некоторые способности и изменим характеристики оружия.

В StarCraft II сотни готовых единиц, декораций, способностей и наборов текстур. А что если нам для карты нужна совершенно новая единица или способность? Или темный тамплиер, который может «прыгать», как сталкер? Или крейсер без брони, но с сумасшедшим запасом прочности? Все эти характеристики можно изменить с помощью модуля данных. Фактически этот модуль позволяет изменять все возможные параметры в StarCraft II.
В этой части руководства мы рассмотрим, как можно изменить запас здоровья, показатель брони, количество энергии единицы, научимся добавлять и удалять способности и задавать скорострельность и урон, наносимый оружием.
I. Управление редактором данныхЧтобы открыть модуль данных, нажмите клавишу F7 или кнопку «Данные» на панели в верхней части окна (на ней изображен синий морпех).
На первый взгляд окно данных выглядит устрашающе: множество табличек, набранных крошечным шрифтом, и выпадающие меню неопределенной длины и неизвестного назначения. Но когда мы освоим этот модуль, вот увидите, все будет совсем не так сложно и запутанно.
А. Древо данных
Структура данных в StarCraft II напоминает дерево. Каждой карте соответствует по меньшей мере один файл модификации, в котором хранится информация о боевых единицах, способностях, различных видах оружия, текстурах, эффектах, элементах интерфейса и прочих объектах, используемых картой.

- Каталоги
Файл модификации разбивается на каталоги данных. Например, информация о единицах и способностях хранится в отдельных каталогах («Единицы» и «Способности»). - Объекты
Каталоги делятся на блоки объектов. Например, в каталоге «Единицы» данные о морпехах и сталкерах хранятся соответственно в блоках «Морпех» и «Сталкер». - Поля
Каждому объекту соответствует список полей. В полях хранится информация о свойствах объекта. Например, объекту «Морпех» соответствуют поля «Макс. запас здоровья» и «Способности». - Значения
Каждому полю соответствует одно или несколько значений. Полю «Макс. запас здоровья» соответствует одно значение, для морпеха оно по умолчанию равно 45. Полю «Способности» соответствует несколько значений, поскольку у морпеха есть несколько способностей.

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

- Отображать ID
Эта опция нам для работы не потребуется, поэтому мы ее отключим. Но поясним, для чего она нужна. Каждому объекту присвоен уникальный неизменяемый идентификатор (ID), с помощью которого редактор обращается к объекту, и название, которое можно менять по своему усмотрению. Возьмем объект, с которым нам предстоит работать: его ID — просто Raynor, а название — «Джим Рейнор (коммандос)». Если мы нажмем кнопку «Отображать ID», то редактор будет показывать Raynor вместо «Джим Рейнор (коммандос)». Вообще, у каждого объекта, поля и значения в редакторе есть ID. Выберите любую единицу и нажмите кнопку «Отображать ID»: вы увидите идентификаторы всех объектов, полей и значений. - Отображать список объектов как дерево
Эта кнопка преображает список объектов в древовидную структуру, объединяя их по категориям. Этот вид мы также выключим. - Показывать все источники объектов
При создании новой карты редактор копирует объекты из основной игры и сохраняет их для каждой карты отдельно. Поэтому изменения, которые мы вносим при работе с картой, никак не влияют на данные самой игры. Если мы выберем «Показывать все источники объектов», в списке объектов будут отображаться и неизменяемые единицы из игры, и их копии, которые используются картой, и свойства которых мы можем изменять. Этот вид не потребуется нам для работы, поэтому мы его выключим. - Отобразить панель объектов
Панель объектов наглядно показывает связь между объектами в игре. Например, если нам нужно посмотреть, какое оружие использует Джим Рейнор, мы выберем Рейнора в списке единиц, затем выберем его оружие на панели объектов и сможем просмотреть его параметры. Это удобнее, чем поиск в списке всего оружия. Поэтому мы оставим этот вид включенным. - Отобразить в виде таблицы
Если этот вид включен, мы видим таблицу, в левой части которой отображается список названий полей, а в правой — их значения. Чтобы изменить значение поля, достаточно дважды щелкнуть по значению и ввести новые данные в открывшемся окне. При отображении в виде таблицы автоматически отключаются виды «Отобразить подробности» и «Отобразить XML». - Отобразить подробности
Когда этот вид включен, то вместо таблицы с названиями и значениями полей мы видим все элементы управления для редактирования этих значений. При отображении подробностей автоматически отключаются виды «Отобразить в виде таблицы» и «Отобразить XML». Этот вид мы оставим выключенным. - Отобразить XML
Когда этот вид включен, мы видим код XML в текстовом редакторе. Все данные StarCraft II хранятся и принимаются игрой в этом формате. Основная задача модуля данных — облегчить работу с ними для тех, кто не знаком с языком XML. Мы рассмотрим работу с XML—данными более подробно в другом руководстве. При использовании этого вида автоматически отключаются виды «Отобразить в виде таблицы» и «Отобразить подробности». Этот вид мы отключим. - Значения по умолчанию
При создании новой карты редактор создает копии боевых единиц из игры, но значения их параметров не хранятся отдельно в данных карты — это потребовало бы слишком много памяти. Если вы не измените эти параметры, то игра будет брать их значения из собственного ядра, обращаясь к данным «источников» (родительских объектов). Если отключить просмотр значений по умолчанию (в редакторе они отмечены серым цветом), то редактор уберет их из списка. Чтобы избежать недоразумений и не «потерять» какие—нибудь значения, которые мы хотели бы изменить, мы оставим этот вид включенным. - Показать расширенные поля
По умолчанию поля, требующие глубокого знания механики игры, скрыты. Опытные пользователи могут использовать эти поля, чтобы изменить особые параметры единиц. Мы включим этот вид. - Показать названия типов полей
Каждое поле относится к определенному типу, и если вы хотите сгруппировать поля по типам, включите этот вид. Однако, если вы не знаете, к какому из типов относится поле, с которым вы собираетесь работать, такая группировка будет только мешать вам. Мы отключим этот вид. - Объединить структурные значения
Некоторые поля взаимосвязаны. Если вы щелкнете дважды по значению одного из таких полей, вы откроете окно, в котором можно изменить все значения, связанные с этим полем. Рассмотрим, к примеру, группу полей «Интерфейс — Действие на месте». Если вы выберете «Объединить структурные значения», то в таблице будет отображаться только поле «Интерфейс — Действие на месте +», где значок плюса показывает, что за этим названием скрывается несколько взаимосвязанных полей. - Выделение синтаксиса XML
Подсвечивает части XML—кода при редактировании данных в режиме отображения XML. Эта функция не имеет большого значения для нашего урока, так как мы не используем данный режим, но мы все равно оставим ее включенной. - Внести изменения в XML
Пока мы напрямую не работаем с данными XML, у нас нет невнесенных изменений, поэтому в ходе данного урока эта кнопка будет неактивной.










eu.battle.net
Оставить комментарий