StarCraft 2: Оружия ближнего боя

» Раздел: 3. Редактор данных
» Автор оригинала: Dave312
» Источник: http://starcraft-2-galaxy-editor-tutorials.thehelper.net/tutorials.php?view=166877

Введение

Цель этого урока - научить вас создавать основные оружия ближнего боя и добавлять их своим юнитам. Эта статья может быть также использована для создания оружия дальнего боя, если оно не использует ракеты. В этой статье, я буду создавать ударное оружие (Punch) с нуля. Это руководство предполагает, что вы свободно умеете ориентироваться в редакторе данных.
Итак, прежде чем начать, я рекомендую вам установить настройки так же, как у меня.
Мои настройки выглядат так (представлены на двух языках):
English Русский
View Raw Data - Off Просмотр исходных данных - Выключен
Table View - On Просмотр таблицы - Включен
Default Values - Shown Значения по умолчанию - Показываются
Advanced Fields - Shown Дополнительные поля - Показываются
Show Field Type Names - On Показать имена типов полей - Включено
Combine Structure Values - On Значения комбинированных структур - Включены

Создание поражающего эффекта

Первый шаг заключается в создании Урона (Damage Effect). Зайдите в таблицу эффектов и создайте новый эффект следующим образом:
Теперь нам нужно установить некоторые значения для Поражающего эффекта (Damage effect), которого мы только что создали.
Сначала нужно установить кол-во урона наносимого оружием. Зайдите в Combat - Amount и установите его на 10. Зайдите в Armor - Armor Reduction и установите на 1. Это свойство определяет, сколько урона вашего оружия уменьшается на 1 ед. защиты.
Теперь перейдите к Effect - Kind свойству, определяющему тип повреждения. Вообще, по большей части это свойство не оказывает никакого влияния на ваше оружие. Однако оно влияет на другие способности, которые основываются на типах урона. Мы создаем оружие ближнего боя, так что я устанавливаю его на “Ближний бой” (Melee).
Теперь можно установить Editor - Editor Suffix свойство на "(Damage)". Это свойство также не оказывает никакого влияния на ваше оружие, но это немного облегчит работу в редакторе данных.
Другое свойство, которое стоит упомянуть, это Effect - Death. Оно используется в тех случаях, когда юнит умирает от оружия и при его смерти проигрывается специальная анимация (например, эффект сожжения). Я хочу оставить всё как есть (вы также задайте Normal).

Создание оружия

Теперь нам нужно создать само оружие.
Существует три основных типа оружия, которые разделяются следующим образом:
Generic: используется для создания дамми-оружия;
Legacy: cтандартный тип оружия для большинства юнитов;
Strafe: оружие, которое заставляет юнитов постоянно двигаться при стрельбе (например, Protoss Carrier Intreceptor).
В большинстве случаев вам необходимо создавать оружие Наследия (Legacy weapon), что я и собираюсь делать.
Откройте тип данных Оружие (Weapon) и создайте новое оружие следующим образом:
Есть еще несколько свойств, требующих объяснений, но для этого примера мы не будем их все изменять.
Наиболее важным свойством является Effect-Effect. Это такой эффект, который происходит, когда ваше оружие используется. Установите его на созданный вами Поражающий эффект (если он не был добавлен автоматически).
Далее нам надо настроить Stats - Period свойство. Насколько быстро оружие будет использоваться (проще говоря - кулдаун). Я устанавливаю 0.6.
Переходим к свойству Stats - Range. Это фактически дальность стрельбы оружия. Поскольку мы создаем оружие ближнего боя, мы должны установить маленькое значение. Я поставлю 0.1.
Остальные действия (кратко):
Stats-Range Slop - как далеко может уйти цель после того, как оружие начало стрелять и до того как потеряло цель. Установите на 1.
UI - Damage Display Effect - это поражающий эффект, который использует оружие для отображения суммы урона в пользовательском интерфейсе. Установите его на ваш поражающий эффект, созданный ранее (если он не был установлен автоматически).
UI - Icon - это значок, который отображается в командной строке. Я устанавливаю "Assets\Textures\btn-research-zerg-cellularreactor.dds".
Теперь нам нужно установить отображение подсказки при наведении курсора на оружие в командной строке. Найдите UI - Tooltip свойство. Установите его на "A might punch" (Могучий удар).
Перейдите к свойству оружия и откройте его. Там должно быть несколько опций, которые мы уже настроили. Нам нужно обратиться только к свойству "ближнего боя" (Melee), так как мы создаем оружие ближнего боя.
Другие важные опции которые надо знать:
Can initiate attack (Может начать атаку): позволяет юниту начинать атаковать цель этим оружием для наступательной цели.
Linked Cooldown (Связанный кулдаун): если ваш юнит имеет несколько копий одного и того же оружия, то эта опция заставляет использовать одинаковый кулдаун у всех оружий.
Only Fire At Target (Огонь по цели): заставляет оружие атаковать только выбранную цель.
Only Fire While Attacking (Огонь пока атакует): принуждает оружие использоваться только тогда, когда юнит атакует цель (то есть оружие не может быть использовано, пока юнит делает что-то еще, например, перемещается).
Следующее свойство, о котором вы должны знать - Weapon - Scan Filters. Эти фильтры определяют критерии для юнита автоматически отыскивать поблизости юнитов врага (тех кто находится в пределах диапазона сканирования) и атаковать их этим оружием. В большинстве случаев вы можете оставить это поле пустым.
Наконец, последнее свойство этого оружия - Weapon - Target Filters. Это свойство позволяет указать, какие юниты могут быть выступать в качестве целей данного оружия. В большинстве случаев, вам нужно установить Visible as Required и пометить Dead (Мертвый), Hidden (Скрытый), Invulnerable (Неуязвимый), Missile (Ракета) и Stasis as Excluded. Я также хочу, чтобы мое оружие могло атаковать только наземных юнитов. Для этого нужно отметить Ground as Required.

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

Теперь давайте создадим звуки для нашего оружия. Существуют два типа звуков, которые вы можете привязать к оружию. Первый - Launch Sound (стартовый звук), который проигрывается в самом её начале. Второй звук - Impact Sound (звук попадания), который проигрывается, когда юнит получает урон от вашего оружия. Сперва, давайте научимся создавать стартовые звуки (Launch Sound). Откройте меню "Sounds data type" и создайте новый звук, как показано ниже:
Теперь мы можем всячески поиграть настройками, чтобы заставить ваш звук проигрываться идеально, но в этой статье мы уделим внимание лишь одной строке "Sounds - Assets+" (Звуки - Активные звуки+). В этой настройке вы сможете создать сразу несколько звуков, которые будут проигрываться при использовании вашего оружия. Вы даже можете изменить шанс на воспроизведение для каждого такого звука. Например, возьмём "Assets\\Sounds\\Zerg\\SharedEffects\\Attacks\\Zerg_AttackLaunchSmallSwing.wav" (вариации 0-3), и больше ничего не будем в нём менять. Теперь мы можем создать ещё один звуковой объект так же, как создали предыдущий, только назовём его не "Launch", а "Impact". Повторите предыдущие шаги, открыв настройку "Sounds - Assets+" (Звуки - Активные звуки+) и добавьте звук нанесения урона. Пусть это будет звук Assets\\Sounds\\Zerg\\SharedEffects\\Attacks\\Zerg_AttackImpactSmallPiercing.wav (вариации 0-4). Вот и всё, звук для вашего оружия готов. Если в вашем оружии уже есть звук, который вас устраивает - вы можете не беспокоиться о создании новых, и пропустить этот шаг.

Создание актёра атаки

Следующий шаг заключается в связывании воедино оружия и звука так, чтобы они работали должным образом при добавлении к юниту. Для этого мы должны создать Актера (исполнителя) действия (Action Actor). Эти специальные типы актеров используют комбинацию множества объектов для совместного запуска в одном событии.
Откройте тип данных Актеры (Actors data type) и создайте нового актера, как показано ниже.
Теперь после создания актера, вы должны обратить внимание на Token fields. Эти поля очень важны для актеров.
Для оружия ближнего боя (или оружия, которое не использует ракеты), вам нужно позаботиться только о создании маркера для Эффекта атаки (Attack Effect). Это должно быть установлено в ранее созданном Поражающем эффекте (Damage effect).
Теперь найдите свойство Art - Shield Flash Type. Это свойство используется для того, чтобы определить, как щиты будут появляться, когда юнит получит урон от этого оружия. Свойство имеет следующие значения:
Facer: щит будет появляться там, откуда совершается атака.
Full: щит появится вокруг всего юнита.
Header: так же, как и опция "facer", но будет появляться вокруг головы юнита.
Лично я поставил "Facer".
А теперь найдите свойство Combat - Launch Assets +. Здесь вы можете определить, какие объекты создаются, когда оружие применяется. В нашем случае нужно проиграть звук. Откройте его и пройдите к секции Sound, выберите вашего запускающего объекта звука, которого вы создали ранее.
Рассмотрим свойство Event - Events. Теперь вам нужно убедиться, что актер создается тогда, когда создается Поражающий эффект (Damage effect). Откройте это свойство и найдите событие Effect.##EffectAttack##.Start. Обратите внимание, что ##EffectAttack## может быть заменен на имя вашего Поражающего эффекта. В этом случае, редактор уже заполнил Source Name (Имя источника) для вас и вам не нужно беспокоиться об этом. Если он не был изменен, вам нужно выбрать это событие и изменить Source Name на Поражающий эффект. А еще не забудьте восстановить Sub Name обратно на Start.
Наконец, свойство Target - Impact Map +. Эта секция позволяет вам определить, какие объекты создаются, когда оружие атакует цель. Нам нужно проиграть ударный звук. Откройте его и выберите индекс None. Перейдите в секцию звука и выберите ваш ударный звук.

Добавление оружия юниту

Наконец, ваше оружие готово, и всё что вам осталось - это добавить оружие юниту. Чтобы сделать это, вы должны убедиться, что у юнита есть способность "Attack" (Атаковать), и кнопка "Attack" в списке команд. Если они отсутствуют - откройте строку "Ability - Abilities +" (Способности - способности +), и нажмите на зелёный крестик слева, чтобы добавить юниту способность "Attack". Для того, чтобы создать ему кнопку атаки, откройте строку "Ability - Command Card +" (Способности - Панель управления +), и выберите "Command Card 1", затем отметьте пустое поле галочкой. Теперь нажмите зеленый крестик, чтобы создать и добавить новую кнопку. Далее выберите в графе "Command Type" (Тип команды) - "Ability Command" (Команда способности); графу "Requirements" (Требования) оставьте пустой; в графе "Ability" (Способность) выберите "Attack" (Атаковать); в графе "Ability Command" (Команда способности) также выберите "Attack".
Теперь настало время добавить само оружие юниту. Найдите строку "Combat - Weapons +" (Бой - Оружие +) и добавьте/замените предыдущее оружие на то, которое вы создали. Теперь вы можете сохраняться и тестировать своё оружие в игре.


Views: 7 948

» Лучшие комментарии


8 комментариев удалено
FYAN #9 - 9 years ago 4
Голосов: +4 / -0
Если у кого-то русский редактор и вы не можете перевести какой-то термин, напишите его здесь, мы постараемся его перевести.
Но я думаю, таких проблем не возникнет.
просто Юрок #11 - 9 years ago 2
Голосов: +2 / -0
Очень полезная статья, спс!
LLlypuK #13 - 9 years ago 3
Голосов: +3 / -0
"A might punch" - cкорее переводится как "могучий удар (кулаком)", чем "может ударить". Может ударить - это "might punch".
Hares #14 - 9 years ago (изм. ) 2
Голосов: +2 / -0
Вопрос на засыпку.
В случае наличия у юнита нескольких "атак" (как у зилота, например), алгоритмы на увеличение урона будут давать бонус к каждой атаке. У юнита есть атака a+kDn (a ед. урона + k раз по 1-n ед. урона), а также эффект урона на (a+k)-(a+k*n) ед. (прикреплён к оружию в качестве отображаемого). При нанесении включается мгновенный переодический эффект с запуском урона в a ед. и k периодов на эффект урона в 1-n ед.
Вопрос: как сдеать так, чтобы при увеличеии бонуса от "Модификации" алгоритма (например, от уровня) отображаемый урон увеличивался на нужное значение, а из другой группы увеличивался только базовый урон (эффект на a ед.)?
Харгард #15 - 9 years ago 2
Голосов: +2 / -0
Hares, ты имеешь ввиду текст в описании абилки? Чтобы он менялся?
Кет #16 - 9 years ago 2
Голосов: +2 / -0
Зачем «подлинный автор»? Лучше просто «автор».
LLlypuK, странно, «могучий» — это же «mighty»?
H #17 - 9 years ago 2
Голосов: +2 / -0
Зачем «подлинный автор»? Лучше просто «автор».
лол, я же говорил вам.
FYAN #18 - 9 years ago 2
Голосов: +2 / -0
LLlypuK, да, спасибо) глупая ошибка)
Зачем «подлинный автор»? Лучше просто «автор».
чтобы не путаться.
просто автор - это автор ресурса, то есть перевода
подлинный автор - автор подлинной английской статьи
Hares #19 - 9 years ago (изм. ) 2
Голосов: +2 / -0
Харгард, и он - тоже. Отображение урона изменяется автоматически.
» Исходное сообщение:
Вопрос на засыпку.
В случае наличия у юнита нескольких "атак" (как у зилота, например), алгоритмы на увеличение урона будут давать бонус к каждой атаке. У юнита есть атака a+kDn (a ед. урона + k раз по 1-n ед. урона), а также эффект урона на (a+k)-(a+k*n) ед. (прикреплён к оружию в качестве отображаемого). При нанесении включается мгновенный переодический эффект с запуском урона в a ед. и k периодов на эффект урона в 1-n ед.
Вопрос: как сдеать так, чтобы при увеличеии бонуса от "Модификации" алгоритма (например, от уровня) отображаемый урон увеличивался на нужное значение, а из другой группы увеличивался только базовый урон (эффект на a ед.)?
» Что есть:
  • эффект типа урон в a ед. (AttackDamageBase).
  • эффект типа урон в 1-n ед. (AttackDamageDice).
  • эффект типа урон в (a+k)-(a+k*n) ед. (AttackDamageShow).
  • эффект типа создание длительного эффекта в n периодов с переодичностью в 0, начинающим эффектом AttackDamageBase и переодическим AttackDamageDice (AttackPeriodic).
  • оружие ближнего боя с эффектом AttackPeriodic и отображаемым эффектом AttackDamageShow (Attack).
  • алгоритм типа показатель с каким-то действием и макс. количеством в дафига много. (HeroParMain).
  • алгоритм типа получение опыта с выдачей за каждый левел определённого кол-ва HeroParMain (HeroLevel).
Что надо:
У HeroParMain добиться увеличения урона у AttackDamageBase и AttackDamageShow без увеличения у AttackDamageDice.
Поле "Дополнительный урон (не)масштабированный" увеличивает все эффекты, из-за чего реальный урон увеличивается не на 1 за каждый HeroParMain, а на (n+1), а отображаемый в подсказке об оружии - на 1. Если же наоборот, поставить в это поле 1/(n+1), то реальный урон будет правильным, а отображаемый - нет.
RSQR #20 - 9 years ago (изм. ) 2
Голосов: +2 / -0
Половина туторов на русском, половина на английском. и как учиться?
1 point от : завуалированный мат
Hares #21 - 9 years ago 2
Голосов: +2 / -0
Rescuer, учить английский, что ж ещё?
RSQR #22 - 9 years ago 2
Голосов: +2 / -0
Я бы ещё раз проматерился, но располажение функций в редакторах разный.
lentinant #23 - 9 years ago 2
Голосов: +2 / -0
FYAN:
LLlypuK, да, спасибо) глупая ошибка)
Зачем «подлинный автор»? Лучше просто «автор».
чтобы не путаться.
просто автор - это автор ресурса, то есть перевода
подлинный автор - автор подлинной английской статьи
А "Автор оригинала" и "перевел" не лучше?
FYAN #24 - 9 years ago 2
Голосов: +2 / -0
"Автор оригинала"
см. подлинник, третье значение
"перевел"
тот, кто перевел явл. автором ресурса. Зачем же об этом лишний раз упомянать
Кет #25 - 9 years ago 2
Голосов: +2 / -0
FYAN, «подлинник» и «подлинный» таки два разных слова.
А то так получается, будто подлинный автор — вот он, а ты сам — самозванец.
Я конечно за использование исконно русских слов, но в пределах разумного.
FYAN #26 - 9 years ago (изм. ) 2
Голосов: +2 / -0
Кет, ладно, так уж и быть