Сейчас 23:51:01 Среда, 2 июля, 2014 год
Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Картинки В о й т и   или   з а р е г и с т р и р о в а т ь с я

Меню сайта

Категории

Наш опрос
Какой тип карт вам нравится больше всего?
Проголосовало: 140603

Сейчас на сайте
На сайте всего: 25
Гостей: 22
Пользователей: 3

Реклама

Главная » Статьи по WarCraft 3 » Создание карт » Jass
Триггерные заклинания посредством Jass
Статья рассчитана на новичков в Jass, которые хотели бы научиться создавать триггерные заклинания.
Если вы не знакомы с Jass'ом, рекомендую ознакомиться с данным материалом.
Начнём с теории.
Также не помешает ознакомление с данным материалом.

Из чего состоит триггерное заклинание?
- Это, собственно, триггер с событием применения этого заклинания и действия, составляющие суть нашего заклинания.
- Отличие триггерного заклинания от обычного (созданного в редакторе объектов) заключается в свободе действий - в редакторе объектов (далее р.о.) вы не сможете сделать заклинание, которое бы одновременно нанесло врагу урон, наложило заклинание исцеления на героя и создало красивый эффект в точке между героем и целью заклинания, для этого и нужны триггеры.

Прежде всего нужно продумать наше заклинание. Какие юниты нужны для его исполнения, может быть, стоит создать dummy (опишу их позже) для наложения заклинаний, придумать описание. Лично я сначала описываю заклинание в редакторе объектов, то есть создаю нестандартную способность, заполняю описание, требования и всё в этом духе, а уже потом приступаю к созданию триггеров и прочего.

Вроде, всё ясно? Придумали сложное заклинание, создали способность (рекомендую делать на основе способности Канал, у которой нет побочных эффектов)? Самое время приступить к триггерам.

Для примера создадим триггерное заклинание, которое бы при выборе цели испускало в неё молнию и отскакивало на других врагов, как Chain Lighting, создавая рядом с поражёнными врагами их клонов, атакующих их, причём клоны брали бы часть здоровья монстра (пример: у монстра с 500 хп станет 400 хп и появится клон с 100 хп), а по происшествию некоторого времени клоны бы исчезали, возвращая их жизнь монстрам, если и первые и вторые живы.
Звучит сложно, но зато мы много чему научимся.
Далее будет следовать код на Jass2 (стандартный jass, не vJass/cJass). Для комфортного написания кода, очень рекомендую установить JNGP, так как без него печатать код, по моему скромному мнению, невозможно.
Чтобы не нарушить читаемость статьи, картинки буду класть под спойлеры. Чтобы не возникало массы вопросов, разжую всё, начиная с установки JNGP.
1. Ставим Jass New Gen Pack 5d (не обязательно)
В этой части будет описана загрузка JNGP


2. Приступая к делу
В этой части мы создадим условия для успешного теста нашей способности.
Делаем, как на картинках:


3. Способность в Р.О.
В этой части мы создадим нашу способность в редакторе объектов.
Примечание: На картинках изменялась стандартная способность Канал, в то время, т.к. таких способностей может быть много, рекомендуется создавать нестандартную способность на основе канала и менять её.
Делаем как на картинках:


4. Триггеры
В этой части мы приступим к триггерам: создадим молнии и добавим звуковой эффект
Тут будет уже более подробное описание


5. Триггеры, часть вторая
В этой части мы создадим клонов и всё что с ними связано.


6. Вместо заключения
Ну вот и всё, на выходе должен получится такой код:

Надеюсь, вам понравилась статья, если что-то плохо объяснил или ошибся, прошу милости писать в комментариях или в личные сообщения, буду регулярно следить за Вашими ответами.
Признаюсь, я мало времени уделил handle, и, если вы с ним не знакомы, советую почитать это.
Кстати, некоторые опытные jass'еры советуют вместо Save(Unit/Lightning/...)Handle использовать SaveAgentHandle, чего я не сделал, чтобы наглядно показать типы переменных, которые мы вытаскивали из хэша.
Также рекоммендуется использовать SetWidgetX/Y вместо GetUnitX/Y, первое вроде как работает быстрее, однако тут на любителя ;)

Статья написана за 4 дня, и если честно, это были 4 ужасных дня, не буду больше писать статьи :D Да и думаю, вышло ужасно, трудно найти баланс - насколько подробно что-либо описывать.
Было бы неплохо, если бы хоть кому-нибудь эта статья открыла свет хотя бы на часть вопросов, посвещённых тематике jass и триггерных заклинаний.
Код написан на jass2, а не на vJass/cJass из-за соображений, что новички пользуются первым, да и аудитория вроде как побольше получится.
Сильно строго не судите.
-------------------by Hexing-------------------
...всем cJass, пацаны...
Просмотров: 2359 Добавил: Hexing Добавлено: 11 Август 2012 в 15:40:05
Комментариев: 13 |

Всего комментариев: 131 2 »
17 Июнь 2013 Спам
12. Бруталус (Bru)
Автор обязан обновить скриншоты.
Тогда статья будет подтверждена.

06 Январь 2013 Спам
11. Юрий (19yuri98)
Обнови скрины,плз,
А то без скринов нельзя читать)

25 Декабрь 2012 Спам
10. Волчанский Волк Волкович (Волчачка)
Для новичков годна, 5\5.

09 Декабрь 2012 Спам
9. Imba (Imba_pvL)
Автор статья пригодится когда на джасс подсяду :) :)

05 Декабрь 2012 Спам
8. Dflbv (board94)
сдесь не видно ни одного скрина втф?

12 Сентябрь 2012 Спам
7. Александр (Hexing)
>джасс это я не понимаю как бы пишеш текст действий на английском?
перечитайте 2ую строку статьи, пожалуйста

31 Август 2012 Спам
6. мухамед-эми (vezetnik97)
джасс это я не понимаю как бы пишеш текст действий на английском?

28 Август 2012 Спам
5. Александр (Hexing)
>Ваще ничего нету, вроде писал все как на скринах, молний и эффектов вообще никаких в чем проблема?
либо вы не создаёте молнию
либо вы её создаёте, но почемуто в позиции 0, 0, что возможно если переменная Caster равна null, а это возможно если вы забыли присвоить ей значение
и наконец возможно действия вообще не происходят, а это может быть: неправильное сравнение raw-кода абилки, либо неправильная регистрация события

если ничего не выходит, скопируйте код из спойлера, и свертесь, желаю удачи ;)

28 Август 2012 Спам
4. rokkerok (rokkerok)
Ваще ничего нету, вроде писал все как на скринах, молний и эффектов вообще никаких в чем проблема? :(

21 Август 2012 Спам
3. Спиретский (DragoN)
няшная табуляция на скринах порадовала, не часто в наше время увидишь такое в статьях)
автор молодец, получилось вполне годно

1-10 11-12
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]

Форма входа
Логин:
Пароль:

Поиск

Случайная картинка

Случайный файл
[28 Май 2011]
Knuckles -

Всем известный Knuckles, герой легендарной игры Sonic
Автор: ElectricSaiyan

Новые карты

5 лучших по кол-ву добавленных статей
[ Duosora ] [ 58 ]
[ Messenger ] [ 52 ]
[ Bru ] [ 39 ]
[ Pand@ ] [ 35 ]
[ OrcRider ] [ 27 ]

Наша кнопка
Warcraft3FT.info - Всё для Warcraft 3 и DotA

Другие варианты

Статистика

Материалы:
Новости: 1022
Файлы: 8307
Статьи: 762
Картинки: 8202
Форум: 29792/971531
Комментарии: 58224
Copyright © 2006 - 2014 Warcraft3FT.info При копировании материалов c сайта ставьте, пожалуйста, активную обратную ссылку на нас • Design by gReeB04ki ©