StarCraft 2: Создание многоуровневой способности

» Раздел: 1. Основы

Начнём делать способность, которая перманентно даёт нашему герою или юниту +2 брони на первом уровне, +4 на втором и +6 на третьем.

Создание пассивной Ability

Создадим новую, пока пустую, способность. Я назову её "Стальные пластины". Тип выберем Behavior. Можете написать любой удобный вам ID. Нажмём ОК.

Создание Behavior'ов

Будем создавать три разных алгоритма.
1. Для первого поставим тип Buff. Жмём ОК.
2. Находим поле Editor - Editor Suffix и напишем там "уровень 1". Так мы не запутаемся среди разных уровней, поскольку уровень способности не отображается в редакторе, но (!) отображается в игре при изучении (встроенная функция близзов).
3. Что же у нас будет делать бафф? Давать плюс к броне:
  • Найдём поле "Modification +".
  • В нём переключимся на вкладку Unit
  • Изменим параметр Life Armor Bonus на 2. Поле окрасится в зелёный цвет – так обозначаются изменения.
4. Теперь можно дублировать созданный алгоритм, чтобы их стало три. Соответственно и изменим подсказки для редактора. Ещё, нам нужно повторить пункт 3 для второго и третьего уровня нашего алгоритма.
Важно: Когда мы изучим второй уровень способности, первый уровень как бы останется висеть на герое. То есть мы получили 4 брони на втором уровне, но на герое уже висит 2 брони, они сложатся и станет 6 брони. Так же будет и с третьим уровнем. Чтобы этого избегать, мы будем использовать Requirements.

Создание Requirement'ов

1. Будем работать с требованиями. Создадим три требования, отличающихся названием. Тип – Ability.
2. Теперь сами технические требования:
  • Откроем поле "Requirement +" уровня 1
  • Перейдём во вкладку Expression
  • Вставим в белое поле такой код:
CountAbil(a1,CompleteOnlyAtUnit)[TechTreeCheat] == 1
где "a1" - ID способности; "== 1" - уровень способности (константа).
3. Для второго и третьего уровней изменяем лишь константу.

Связь Behavior и Requirement

1. Переходим к созданному алгоритму "Стальные пластины уровень 1"
2. Находим поле "Behavior - Requirements" и выбираем там нужное нам требование.
3. По аналогии делаем это для второго и третьего уровней.

Связь Ability и Behavior

Переходим к единственной нашей способности. Нам нужно поле Ability - Behaviors. В нём-то нам и нужно вписать все три уровня, друг за другом (!). Должно получиться так:

Способность типа Learn

1. Создадим новую способность и укажем её тип как Learn
Это аналог красного плюсика в варкрафте.
2. Найдём поле "Ability - Info +".
3. В нём выбираем первую строчку с индексом Learn1 и нам становится доступна нижняя панель.
4. Пролистаем вниз, найдём поле Ability и в качестве параметра поставим туда нашу первую способность.
5. В поле Default Button выберем кнопку способности.
6. Для отладки, чтобы мы смогли изучить созданные способности, следует найти поле "Ability - Points" и поставить там цифру 3.
Важно: Для нужного красивого отображение рекомендуется создать кнопки для всех трёх уровней способности. А так же создать кнопку нулевого (!) уровня. Она нам понадобится. Работать с кнопками очень просто. Если всё-таки у вас это вызвало проблемы, то читайте статью по кнопкам в этом учебнике.
Вот какие кнопки у нас должны быть, прежде чем пойти дальше:

Связь всего того, что было, с героем или юнитом

Учтите, что если у юнита нету Алгоритма для опыта, то получать уровни он не сможет. Но сможет воспользоваться очками изучения способностей.
1. Найдём у юнита (например Zealot) поле "Behavior - Behaviors +" и добавим туда все созданные алгоритмы.
2. Найдём поле "Ability - Abilities +" и добавим туда две наших новых способности.
3. Перейдём к полю "Ability - Command Сard +". Это очень важное поле, так что будьте внимательны (!). Пожалуй, это самое важное поле из всех предыдущих, так как большинство косяков замечаются здесь.
3.1. Первое, что мы сделаем, - добавим Способности. Повторите всё, как на картинке:
Наша способность по изучению ни что иное, как переход в другое субменю.
3.2. Дальше зайдём во второе субменю (выбираем в самом верху) и в левом верхнем углу заполняем способность как на картинке:
3.3. Снова заходим в первое субменю. Тут необходимо добавить три пункта в одном квадратике, указать тип способности пассивная и выбрать Требование и Алгоритм. Впрочем, смотрите картинку:

Вот что должно получиться

В игре всё это выглядит так:

На заметку

Для активируемой способности многое делается по аналогии. Отличия в том, что в некоторых полях нужно выбрать тип Активная. А также, часто активные способности тесно связаны с Эффектами. Это уж, экспериментируйте сами :)

Не получается?

Если у вас не вышло, то пройдитесь поэтапно ещё раз, возможно, вы что-нибудь пропустили. Либо задавайте вопросы мне.

Просмотров: 7 267

z1i2p3 #1 - 8 лет назад 0
Ужас, сколько гемороя...
Doc #2 - 8 лет назад 0
зато какие возможности!
Prot #3 - 8 лет назад 0
Статья что надо: и полезная и подробная.
Zombain #4 - 8 лет назад 0
Давным давно был такой матерьял
BLooD WoLf #5 - 8 лет назад 0
Наконец-то на сайте появилось что-то стоящие в плане статьи по ск 2 редактору.
Senbonzakura #6 - 8 лет назад 0
Да уж и все это ради пасивки +2+4+6
inoto #7 - 8 лет назад 0
z1i2p3, Senbonzakura, Тут разжовано очень подробно. Когда понимаешь схему взаимодействия элементов РО, то работаешь уже как в вц3 :)
z1i2p3 #8 - 8 лет назад 0
inoto, Я к тому что это затратно по времени. Возможности больше, не спорю.
Кстати А если мне нужно сделать 100 уровней=) Я за час успею всё сделать :D
inoto #9 - 8 лет назад 0
z1i2p3, ну, если бы у меня был самый мощнейший комп, то я управился бы =Р
Mellon #10 - 8 лет назад 0
Согласен слишком долго в варе на много быстрее...
Это сообщение удалено
Dragon_S #12 - 7 лет назад 0
карту бы как пример ещё сюда.. (создание простой способности аналогично гуи триггерам в варе.. просто ужос)
KyTy3oFF #13 - 7 лет назад 0
Сделал все в точности как тут. Не работает, плюс в добавок ко всему, не нашел во вкладке
Requremets - > Expression -> Entry - > Aberration Burrow. Там этого просто нету. Все остальное выполнено три раза в точности, ну то есть ошибки точно быть не может. Когда убираю требования тогда сразу выдается +6 брони. Когда возвращаю ничего не происходит.
Надо бы обновить статью, что ли.
inoto #14 - 7 лет назад 0
KyTy3oFF, ок, скоро обновлю