Каждому из нас наверно хочется сделать карту, не похожую на остальные, нечто особенное, не повторяющееся. На написание этого текста меня натолкнула статья Ал. (Химик)’а про создание заклинаний, а конкретнее строка “без применения триггеров и джасса”. Да безусловно это путь к балансу, но никак не к оригинальности. Все красивые способности, используемые в известных картах, были написаны используя GUI или же Jass. Это позволяет либо значительно расширить возможности заклинаний, либо создать совершенно новые. Определение типа заклинания Заклинания имеют несколько разных видов, конкретнее типов воздействия: * 1) Цель - Точка – заклинания, у которых в качестве цели используется любая точка “земли” (location) * 2) Цель - Боевая единица – в качестве цели используется боевая единица (unit) * 3) Цель - Точка или Боевая единица – целью заклинания является положение юнита на момент произношения заклинания * 4) Мгновенное (Нет цели) – заклинание начинает действовать сразу, как его только применили * 5) Ауры – заклинание действует постоянно на те объекты, которые указаны в настройках заклинания Также некоторые действуют на целую область, но тем не менее они относятся к типу Цель - Точка. Перед созданием заклинания вам необходимо выбрать один из этих типов и найти представителя этого заклинания. Например, для ауры-пустышки (заклинание, которое не совершает никаких действий) отлично подойдёт “Аура выносливости “ (Орда -> Герои), так как там можно убрать все спецэффекты и воздействия на юнитов. Универсальным заклинанием является способность “Канал” (Нейтрально-враждебные -> Герои). Основными его преимуществами является гибкость настройки. Можно выбрать тип цели (Данные – Тип Цели), отображение иконки в списке заклинаний и так далее (Данные - Параметры). Начиная с патча 1.18 и выше “Канал” без проблем работает в спеллбуках и сочетается с улучшениями. Единственная проблема способностей на основе “Канала” – они могут быть отменены оглушающими способностями. Для предотвращения этого замените Ваши оглушающие способности способностями на основе ANab (Кислотная бомба). (Часть текста, про эту способность взята с http://xgm.ru/forum/showthread.php?t=21369) От теории к практике Так что же такое триггерные заклинания и как создавать? – Делается это очень просто. Смысл в том, что действие триггера начинается при использовании нужного вам заклинания и выполнения необходимых действий. Например, нам необходимо создать способность пустышку, которое выполняется мгновенно. Для этого создаём нестандартное заклинание, на основе канала. Далее начинаем его настраивать: * Характеристики - Уровни – изменяем на единицу * Данные - Следовать в течении времени и Данные - Длительность графики – ставим 0.01 (Заклинание произносится очень быстро) * Очищаем пункты: Графика - Цель, Графика - Эффект, Графика - Маг (Убираем все спецэффекты) * Данные - Тип цели – Мгновенное (Нет цели) (Меняем тип заклинания, для того, что бы оно выполнялось сразу) * Данные - Параметры – ставим галочку рядом с пунктом “Изображение” (Это делаем для отображения иконки в списке способностей) * Текст - Название – изменяем на “Spell Test” После настройки мы переходим к главной части создания заклинаний, написание кода. Для этого мы открываем редактор триггеров (F4) и создаём в нём новый триггер. Назовём его “Spell Test” и сделаем его следующего содержания (Если вам непонятен код, то вы можете скачать файл прикрепление к данной статье. Категория “Lesson 1”, триггер “Spell Test”): Code [color=red]Событие: Боевая единица - A unit Начинает применять способность Условие: (Ability being cast) равно Spell Test Действия: Игра - Display to (All players) the text: Spell Test[/color] Если дать эту способность любому герою и запустить проверку карты, то при использовании заклинания у вас на экране появится сообщение “Spell Test”. Поздравляю, это ваше первое триггерное заклинание! Но и тут есть небольшая проблемка, если создать несколько заклинаний, на остове 1 способности и дать их юниту, то будет выполняться только первое в списке заклинаний, для избежания этого советую делать заклинания на основе разных способностей. И опять на помощь картостроителям пришла способность “Канал”. Если изучать его настройки, то можно обнаружить строку “Данные - Базовый ID приказа”, меняя этот параметр можно изменить ID приказа и по этому будет выполняться именно то заклинание, которое вы задействовали (Категория “Lesson 2”, триггер “Spell Test 2”). Теперь осталось разобраться как можно взаимодействовать с другими объектами. Если вы создаёте заклинание, целью которого является точка (Цель – Точка или Цель - Точка или Боевая единица), то для получения этой точки вставьте следующий код: Code [color=red]Set Spell_Test_5_Location = (Target point of ability being cast) //Где Spell_Test_5_Location это переменна типа “Точка (location)”[/color] И тогда вы получите точку, в которую юнит начал применять заклинание. Аналогично и с юнитами: Code [color=red]Set Spell_Test_6_Unit = (Target unit of ability being cast) //Где Spell_Test_6_Unit это переменна типа “Боевая единица (Unit)”[/color] А юнит, который начинает применять заклинание называется “Casting Unit” Code [color=red]Set Spell_Test_7_Unit = (Target unit of ability being cast) //Где Spell_Test_7_Unit это переменна типа “Боевая единица (Unit)”[/color] Примеры применения таких заклинаний вы найдёте в категории “Lesson 3”, триггеры “ Spell Test 3 ” и “ Spell Test 4 ”. Ну а дальше я могу лишь пожелать вам удачи в новом начинании спелмэйкера. Также если возникнут какие-либо вопросы по статье, то не стесняйтесь, задавайте!
|