StarCraft 2: Создаем предметы для новичков

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

Вступление

Разобравшись наконец с редактором объектов решил написать самую подробную и простую статью для новичков. Эта первая моя статья по редактору объектов, и я хочу рассказать о такой вещи как предметы и инвентарь.
Прежде всего хочу сказать что статья очень подробная, и дабы её понять нужно не только читать но и прямо сейчас открыть редактор и создать там новую карту. Да сделайте это прямо сейчас..

Инвентарь

Откройте редактор объектов и перейдите во вкладку ItemContainers.
Выберите там Wow Character.
Пояснение: Контейнер это некий «ящик» в котором можно хранить предметы. Каждый предмет занимает одну ячейку контейнера. Сами ячейки могут ограничивать свое содержимое классом. Например в первую ячейку можно положить только оружие а во вторую шлем. Забегая вперед скажу что каждый предмет привязан только к одному классу, а ячейки могут хранить предметы любых выбранных классов.
Ячейки имеют несколько примитивных свойств. Первое и главное это положение в ящике. Положение определяется по строкам и столбцам ящика. Например, командная панель с приказами и способностями тоже состоит из такой сетки. Самая верхняя ячейка находится на нулевой строке и нулевом столбце.
Когда вы добавите в ящик новую ячейку вы можете определить не только где она будет находится относительно левого верхнего угла ящика, ну и что в неё можно будет положить.

Итак переходим к практике.

Поставьте в поля Model Width и Model Height значение 0. Это ширина и высота модели персонажа вокруг которого располагаются ячейки. Таким образом, по умолчанию окно инвентаря похоже на его аналог из WoW.
Теперь зайдем в меню slots+
В этом меню можно создать ячейки для нашего ящика (инвентаря).
  • Сначала нужно удалить все уже существующие ячейки.
  • Теперь можно создать первую из них.
Немного отойдя скажу сразу что мы сделаем инвентарь из 6 ячеек, 3 в высоту и 2 в ширину.
У нас получиться такой сундук:
1 2
3 4
5 6
для предметов с классом head (шлем)
для предметов с классом weapon (оружие)
В остальные 4 ячейки можно будет положить любой предмет.
Создайте первую ячейку.
В поле column (колонка) укажите 0.
В поле row (строка) тоже укажите 0.
В поле classes (классы ячейки) нажмите add value и выберите там head.
Это значит что в эту ячейку можно будет положить предметы с классом head, и никаких другие.
Вторая ячейка будет находится в положение column=1, row=0. (т.е правее на одну позицию чем первая).
Третья и четвертая имеют параметры, как и у первой и второй соответственно, но поле row у них равно 1. Это значит что они на одну позицию ниже первой и второй ячейки.
Аналогично создадим и пятую с шестой. Параметры row будут равны 2.
Как вы видите он идентичен тому что есть в варкрафте, за исключением использования классов (которые мы используем чуть позже). На данный момент давайте первой ячейке установим класс head (уже установили ранее), а второй класс (weapon). Остальные оставьте без явного указания класса, тогда в них можно будет положить любом предмет.
Итак, контейнер (сундук) у нас создан. Давайте теперь добавим его герою. Инвентарь в редакторе объектов является способностью.

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

Перейдите во вкладку Abilitys (способности). Нажмите Add Ability. В поле имя укажите "Инвентарь", в поле Id поставьте HeroInventory.
Найдите значение Ability: Info.
Там у нас хранится информация о используемых сумках. Т.е у одного героя может быть несколько сумок или как я раньше назвал их сундуком с ячейками в которых содержатся предметы.
Удалим там все и добавим только одно поле.
Conteiner – Тут укажите ранее созданный или измененный контейнер (например WoW Character).
Empty Face – здесь можно указать кнопку. Кнопки создаются в соответствующей вкладке. Она отвечает за отображение кнопки с соответствующей иконкой в игре по нажатию на которую откроется наш инвентарь. (предварительно я создал кнопку hero – Инвентарь).
Дайте эту способность (инвентарь) любому юниту и протестируйте в игре.
Если вы все сделали правильно на этом этапе то у вас получится это:

Предметы

С инвентарем вроде разобрались, в него можно помещать любые предметы и все будет работать. Но есть одна проблема у нас нет предметов..
Перед тем как сделать предмет вдумчиво посмотрите на этот рисунок.
Как видно из рисунка предмет состоит с кучи разных составляющих. Но чтобы было понятно, четко разделим, как и что работает.
Все что описано выше создает предмет пустышку. А наделяет его свойствами следующие виды объектов:
  • Эффект – Эффект основной тип объектов в starcraft2, обычно используется для создания всяких способностей.
  • Алгоритм – Некий постоянный эффект. Проще говоря, бафф. Можно сделать общие алгоритмы для предметов и комбинировать их в свойствах предмета. Например, Алгоритм +10 к атаке и Алгоритм +10 к здоровью.
  • Оружие – Оружие это тип атаки боевой единицы. Можно вообще убрать атаку у героя, и добавлять её через это свойство. Например, герой подбирает огненный меч и получает соответствующую стандартную атаку.
Все это только теория, теперь шаг за шагом реализуем первый предмет дающий герою 20 единиц здоровья.

Реализуем наш предмет, шаг-1.

Подготовка

Перед работой установите для удобства отображение данных только из ресурсов карты.

Предмет

Сам предмет это невидимый игровой объект, которые может модифицировать любые свойства героя носящего этот предмет. Предмет содержит список эффектов и алгоритмов в виде списка, которые получит герой сразу после того как наденет этот предмет.
Перейдите во вкладку Items. Создайте новый объект.
В поле name (имя) укажите «Нано Броня».
В поле id укажите nanoarmor
В поле ItemType (тип предмета) укажите Generic
В поле itemclass (класс предмета) можно указать chest (туловище).

Кнопка

Второй объект эта кнопка. Она отвечает за иконку и описание предмета, отображается в инвентаре героя. Кнопка можно привязать к предмету через свойства предмета, для этого есть специальное поле.
Теперь создайте в разделе buttons (кнопки) новый объект. Укажите тоже имя и тот же индификатор. Если id у предмета и кнопки будет один, то игра автоматически привяжет этот объект к предмету.
Установите любую иконку, в поле описание можно добавить что-нибудь вроде такого «Дает 10 ед. здоровья.»

Юнит

Третий объект это юнит. Юнит отвечает за то как предмет будет отображаться в игровом мире, например если герой выкинет его из инвентаря. Причем важно знать, что это не юнит привязывается к предмету, а наоборот. Указать какой предмет вы хотите привязать к юниту можно в свойствах юнита (Stats: Item). Также если вы создадите юнит и предмет с одинаковым индификатором то предмет автоматически будет привязан к юниту.
Создавать юнита желательно с таким же id и именем. В поле based on (основан на) нужно указать Default Settings (Item). Это создаст юнита с изначальным наклоном под настройку предмета и со специальными полями. Теперь в поле object type установите Item. Нажмите OK и увидите только что созданный юнит пустышку.
Если вы указали тот же id что и у предмета то сразу увидите связь между ними. В поле описание у юнита автоматически скопируется описание из кнопки.

Актер

Ну и конечно сам юнит это только логика игры, для отображения в мире нужно еще создать актера. В качестве модели для актера можно указать сундук. Юнит к актеру привязывается через актера. В самом верху свойств актера есть поле Unit Token. Именно там нужно указать к какому юниту, вы хотите привязать этого актера.
Создавая актера для юнита (предмет) можно указать тоже имя и id что и везде (в предмете, юните, кнопке). Не смотря на тот же id актер в отличие от остального не будет привязан к юниту автоматически. В самом верху свойств актера найдите поле Unit Token и укажите нашего юнита «Нано Броня».
В поле actor type укажите Unit.
В поле based on укажите GenericUnitStandart
После создания актера в поле art model (модель) можно указать сундук (ShapeTreasureChestOpen).
В поле unit icon скопируйте текстуру иконки из кнопки для предмета.

Заключение первой части

У нас готов полностью рабочий предмет, но он вообще ничего не делает. Можете запустить игру и проверить.
Так как раньше мы уже сделали инвентарь, можно будет взаимодействовать с этим предметом и взять его герою.
Осталось добавить предмету некоторые свойства, так как эта статья затрагивает только создание предметов, вам придется догадываться о работе алгоритмов, эффектов, и орудий самостоятельно.
Мы затронем только алгоритм, дающий герою 10 ед. здоровья.

Алгоритм

Перейдите во вкладку Behaviors (Алгоритмы) и создайте новый алгоритм.
В поле имя укажите Health +10
В поле id укажите itemHealth10
Based on (основан на) укажите buff.
В поле behavior modifications+ найдите Unit -> Vital Max Bonus -> Life и установите значение 10.
Теперь если дать этот алгоритм любому юниту его здоровье увеличится на 10, но мы дадим наш алгоритм предмету.
Перейдите во вкладку Items (предметы), найдите наш предмет Нано Броня и в поле behaviors+ добавьте только что созданный алгоритм.
Пробуем в игре. Без предмета у героя 310 ед. здоровья
Теперь подбираем предмет:
Как вы увидели у героя прибавилось 10 ед. здоровья. Кстати обратите внимание на небольшую иконку, она убирается в свойствах алгоритма. Нужно просто поставить галочку «скрытый». (Flags: Hidden)

Классы предметов

Классы это просто группа предметов. Указать класс можно как предмету, так и ячейку в сундуке (инвентаре героя). Нельзя поместить предмет одного класса в ячейку другого класса, но можно помещать предметы любых классов в ячейки без указания класса у ячейки.
Класс предмета выбирает при создание самого предмета в поле item class. А класс ячейки при создание инвентаря (мы разобрали это в самом начале).
При желание можно создать свои классы предметов, для этого есть специальная вкладка item classes. Хоть в большинстве случаев это не нужно. По умолчанию классы в игре нигде не отображаются и нужны только для правильной работы системы предметов и инвентаря.

Готовая карта

Прикрепляю готовый результат, там есть 3 предмета. первый это наша броня, второй также дает здоровье и третий добавляет атаку герою.

Просмотров: 8 910

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


Харгард #1 - 7 лет назад 1
Нормальный гайд.
Добавлю что внешний вид инвентаря/сумок и размеры/пропорции ячеек можно как угодно изменить, покопавшись в соответствующем SC2Layout файле.
А еще - предмет может и не иметь юнита/актера, отвечающего за его внешний вид в мире. Как например в ВоВке.
И нигде не указан автор :)
H #2 - 7 лет назад 0
Добавлю что внешний вид инвентаря/сумок и размеры/пропорции ячеек можно как угодно изменить, покопавшись в соответствующем SC2Layout файле.
полезно, до этого там не копался )
И нигде не указан автор :)
почему
Авторы: Hellcore
deathruler #3 - 7 лет назад -3
Вот почему и модмейкинг стара не развевается. Чтобы сделать простой предмет нужно целый гайд.
H #4 - 7 лет назад 0
deathruler:
Вот почему и модмейкинг стара не развевается. Чтобы сделать простой предмет нужно целый гайд.
больше возможностей подразумевает сложность редактора.
Да сложнее, но не настолько что бы нельзя было вообще понять. Я кстати еще неделю назад по всему рунету такую статью искал, ничего не нашел. Пришлось самому во всем разобраться и написать для остальных.
Если набить руку то предметы создавать не дольше чем в варе, только возможности гораздо шире.
ScorpioT1000 #5 - 7 лет назад 2
Как всё просто.
Doc #6 - 7 лет назад 1
Все дело в том, что вк3 начинался с модификаций типа "ОЛОЛО СДЕЛАЮ КОГТИ +100500 АТАКИ И ПОСМОТРЮ ЧТО БУДЕТ". И это было просто. Я в 10 лет считал себя богом РО. Те кто хотели больше - шли дальше и занимались кодом. А в ск2 редакторе порог вхождения намного выше, все эти сотни параметров вызывают только отторжение, короче сложно для новичков. Поэтому его модмейкинг так туго развивается - его держат сплошные энтузиасты и нет вливаний новой крови.
H #7 - 7 лет назад 0
его держат сплошные энтузиасты и нет вливаний новой крови.
ну если ты шарил в wc3, тут проблем не будет. С триггерами вообще.
Что касается РО, то это уже упирается в лень каждого конкретного человека, разобраться не так сложно. В первый раз да, но потом все очень просто и прозрачно. Еще позавчера я не имел понятия как создаются примеры, а сегодня могу спокойно делать любые уникальные предметы. Причем не дольше чем в варе.
Doc #8 - 7 лет назад 1
Hellcore, у меня и нет проблем, я же писал статью. Мне лично просто не нравится ск2. Другое дело что не все могут в код, многие даже не понимают основ программирования, т.е. логики. Им проще значения в менюшках поменять. А как поменять, если ничего непонятно?
sashoc #9 - 7 лет назад (отредактировано ) 0
Hellcore, Doc, Просто у некоторых вобще нет возможности поиграть в СК2, а тем более заняться там модмекейкингом, в виду их слабых компов.
А статья годная)
FYAN #10 - 7 лет назад 0
Создаем предметы для новичков
мб "для новичков" в скобки?
А вот скажите, сборки в галакси быстрее делаются, чем в ворлд едиторе, или нет? В WE довольно долго...
И нигде не указан автор :)
автор указывается только при переводе
кстати, отличная работа
Харгард #11 - 7 лет назад (отредактировано ) 0
sashoc:
Hellcore, Doc, Просто у некоторых вобще нет возможности поиграть в СК2, а тем более заняться там модмекейкингом, в виду их слабых компов.
Не в компе дело. Я 1й раз прошел ск2 на Атлоне 1500мгц с Ати 9550. ВК3 правда со скрипом заводится и на Пентиуме 2 400мГц и 16мб ТнТ2.
Дело в двух причинах:
  1. Отсуствие в СК2 нестандартных карт. Для людей которым плевать на игры "на расстрой".
  2. И самое главное - чтобы на пиратке поиграть в мультиплеере, нужно иметь сисадминские навыки владения компом.
Кстати, редактор СК2 отлично работает через удаленный рабочий стол (rpd). Только террейн эдитор лагает люто.
ScorpioT1000 #12 - 7 лет назад 0
Мне тоже не нравится, что чтобы дать юниту способность ходить, надо сначала создать способность ходить, для этого надо найти актор ходьбы, скопировать его на свой, присвоить актору этого юнита и еще у самого юнита что-то настроить
lentinant #13 - 7 лет назад 1
ItemConteiners
Containers же.
H #14 - 7 лет назад 0
lentinant:
ItemConteiners
Containers же.
fxd
NixEon #15 - 7 лет назад 0
Однако функционал очень большой. Да и потенциал у Galaxy огромен, но увы, не у всех есть лицензия, что очень печально.
2 комментария удалено
Hares #18 - 7 лет назад 0
Неплохо бы статью на подстатьи разбить. А то слишком большая какая-то.
Mud_Flow #19 - 7 лет назад 0
NixEon, а на кой черт нужна лицензия?У меня редактор пашет и на пиратке,а прямые руки мультиплеер прикрутят.
orioshQaaaa #20 - 7 лет назад 0
Местами трудновато на практике, особенно таким странным людям, которые используют русский редактор О_о (Про меня)
H #21 - 7 лет назад 0
используют русский редактор О_о (Про меня)
что мешает его не использовать? )
orioshQaaaa #22 - 7 лет назад 0
Hellcore:
используют русский редактор О_о (Про меня)
что мешает его не использовать? )
Плохо владею англ. :)
Харгард #23 - 7 лет назад 0
Может это нюанс 1.5, но мне пришлось связывать группы Юнит-Актер и Предмет-Кнопка-Алгоритм вручную, указав предмет в поле Stats:Item у Unit'а.
Без этого предмет был неликвидным.
H #24 - 7 лет назад 0
указав предмет в поле Stats:Item у Unit'а.
так и есть.
Обычно остальное связывается автоматически при одинаковых ид.
Харгард #25 - 7 лет назад 0
Еще нюанс:
Если нужно класть в одну ячейку предметы разных классов (например оружие в правую руку), то при создании Item Container'a делается несколько ячеек с одинаковыми координатами (row и cow), но для разных классов вещей.
В игре, если герой будет экипирован мечом, и ему дать топор, то последний экипируется, а меч окажется в курсоре.
CRYbit #26 - 7 лет назад 0
так все работает, только модель предмета не отобраэается, когда он земле. в общем сундука открытого нет на земле.
H #27 - 7 лет назад 0
CRYbit:
так все работает, только модель предмета не отобраэается, когда он земле. в общем сундука открытого нет на земле.
значит не правильно настроен актер, либо вообще он не присвоен юниту-предмету.
Steal nerves #28 - 6 лет назад (отредактировано ) 0
статья гуд. Я не люблю старкрафт 2 по многим причинам. Возможно повзрослел.
  1. Лаги. Поиграл в кампанию за протосов (любимую расу), играл в одну миссию, она глючить начала. Очень долго грузится иногда.
  2. Мне не понравились промежуточные кампании, где ты бегаешь по кораблю и так далее. Не вдохновило.
  3. Мне не нравится качать весом 200 мб одну карту
  4. Эта игра для меня платная. Но не знаю как сейчас, но тогда мне это очень не понравилось. И не нравилось, что хорошие игры требуют подключения к интернету, и вдобавок они стоят много денег.
  5. Я занимался варкрафтом очень долгое время и знаю как это затягивает. Тем более требует заново обучаться новому
Пока я не увидел в ск2 новых интересных карт
Вот все 5 аргументов
Это сообщение удалено