База примеров на GUI

Содержание:
Все знают что варовские заклинания всем надоели. Хотите как-нибудь украсить свой спел, но не знаете как. Да и вообще хотите узнать как сделать триггерное заклинание?
Вам сюда.
Пожалуй начну эту подстатью с объяснения, что такое триггерный спел, а позже подойдем и к примерам, так как они друг от друга неразрывны.

Теория

В своей основе все заклинания делятся на 2 типа:
  1. Используемые мгновенно
  2. Указываемые на цель
В первом варианте нажал на кнопку и заклинание активировалось.
Во втором помимо нажатия на кнопку, надо указать на цель и только после этого заклинание активировалось.
Но все триггерные заклинания объединяет одно - это "Дамми Спелл" или "Пустышка". Спелл при использовании которого ничего не происходит, объяснять как делать "дамми" спелы не буду вы и так это знаете. Теперь перейдем к Теоритическим примерам.
.

Теоритические Примеры

И так мы захотели спел для этого посмотрим в триггеры, а точнее на события которые нам нужны Ведь без понимания что делают события мы не сможем сделать приличный спелл:
> -Боевая единица - A unit Начинает направлять способность
> -Боевая единица - A unit Начинает применять способность
> -Боевая единица - A unit Прекращает применение способности
> -Боевая единица - A unit Приводит способность в действие
> -Боевая единица - A unit Завершает применение способности
> -Боевая единица - A unit Приобретает способность
> -Время - Every 10.00 seconds of game time
Начнем вгрызаться в знания.
=== События
> -Боевая единица - A unit Начинает направлять способность
Это событие относится к заклинаниям 2го типа. Вы нажимаете спелл, и пока вы не укажите место применения заклинания триггер не сработает.
> -Боевая единица - A unit Начинает применять способность
Это событие относится к заклинаниям 1го типа. Вы только нажали кнопку спелла, а триггер уже срабатывает.
Так же можно и отнести ко 2му типу, пока вы выбираете цель, триггер работает.
> -Боевая единица - A unit Прекращает применение способности
Принадлежит как к заклинаниям 1го типа так и 2го. Вы нажали на спелл и начали искать цель но не нашли и отменили. Или же вы уже используете спел по типа "Звездопад" и по какой-то вашей причине его отменили. В обоих случаях триггер срабатывает.
> -Боевая единица - A unit Приводит способность в действие
Это событие У заклинаний 1го типа. У заклинаний бывает указано "время подготовки" как тока подготовка закончится триггер сработает.
У заклинаний 2го типа. Указал на цель, триггер сработал.
Помимо выше перечисленных условий иногда будем использовать:
> -Время - Every 10.00 seconds of game time
Это событие запускает триггер каждый раз через указанное нами время
Событие
> -Боевая единица - A unit Приобретает способность
Даже в объяснении не нуждается.
Теперь.
=== Условия
Мы же не хотим чтобы триггер срабатывал при любом заклинании, для этого в условии надо указать:
> -(Ability being cast) равно "Дамми Спелл"
Идем дальше.
=== Действия
Спелы так же надо разделить на действия и их уже 3:
  1. Действие вокруг чего-то
  2. Действие от чего-то до чего-то
  3. Действие на чем-то
Не забываем что, чтобы они были нужны уже переменные, а действия я покажу через триггеры эффектов.
Первое означает что при активации заклинания, все или часть действий будут вокруг юнита или точки. И выглядеть это будет примерно так:
> ??Действие??
> -Set "переменная Точка1" = (Position of (Triggering unit))
> -For each (integral "переменная Целочисленная") from 1 to 20, do (Actions)
> --Цикл - действия:
> ---Set "переменная Точка2" = ("переменная Точка1" offset by 500.00 towards (18.00 x (Real("переменная Целочисленная"))) degrees)
Второе означает что между юнитом и юнитом, или точкой и точкой, или юнитом и точкой, будет какое-то действие. И выглядеть это будет примерно так:
> ??Действие??
> -Set "переменная Точка1" = (Position of (Triggering unit))
> -Set "переменная Точка2" = (Position of (Target unit of ability being cast))
> -Set "переменная Реальная" = (Distance between "переменная Точка1" and "переменная Точка2")
> -For each (integral "переменная Целочисленная") from 1 to 10, do (Actions)
> --Цикл - действия:
> ---Set "переменная Точка3" = ("переменная Точка1" offset by (("переменная Реальная"/10) x (Real("переменная Целочисленная")) towards (Angle from "переменная Точка1" and "переменная Точка2") degrees)
И третье это просто действие на юните\точке, а вид у него таков:
> -Спецэффект - Create a special effect attach to the original\head\chest of (Triggering unit) using Abilities\Spells\Human\ReviveHuman\ReviveHuman.mdl
Ну вроде основы я разъяснил, остальное это производные от выше написанного и почти всех триггеров содержащихся в "WE".
Перейдем к наши вожделенным примерам.

Примеры

И так определимся со спелом а они бывают, видов:
  1. Вызов
  2. Аура
  3. Мгновенное заклинание
  4. Направляемое
  5. Кастуемое определенное время
  6. Пассивка
Основные используемые объекты заклинаний:
"Дамми Спелл" - пустое заклинание при использовании которого ничего не происходит.

-+=Вызов=+-

Это заклинание при котором появляется миньон, один или боле, на время или постоянно. Так же надо пояснить что миньоны могут появляться как в заклинании "Джайны" "Дух Воды", то есть 1 миньон у нас есть и еще не исчез, а мы уже призвали второго. Для создания нам потребуется создать Миньона, "Дамми Спелл",
Дополнительно используемые объекты заклинаний "Вызов":
"Миньон" - юнит которого вы призываете себе на помощь.
Разделим его на 3 типа
а) Миньон не пропадает, но при повторном касте он заменяется
б) Миньон на время, но при повторном касте он заменяется
в) Миньон на время, но при повторном касте появляется второй миньон

а) Миньон не пропадает, но при повторном касте он заменяется


> ??Событие:??
> -Боевая единица - A unit Начинает применять способность
> ??Условие:??
> -(Ability being cast) равно "Дамми Спелл"
> ??Действие:??
> -Отряд - Pick every unit in (Units owned by (Triggering unit)) of type "Миньон" and do (Actions)
> --Цикл - действия:
> ---Боевая единица - Remove (Picked unit) from game
> -Боевая единица - Create 1 "Миньон" for (Triggering player) at (Position of (Triggering unit)) facing Стандартная ориентация зданий degrees

б) Миньон на время, но при повторном касте он заменяетcя

После некоторых экспериментов, это заклинание состоит из 1го тригера а не из 2х как раньше.

> ??Событие:??
> -Боевая единица - A unit Начинает применять способность
> ??Условие:??
> -(Ability being cast) равно "Дамми Спелл"
> ??Действие:??
> -Отряд - Pick every unit in (Units owned by (Triggering unit)) of type "Миньон" and do (Actions)
> --Цикл - действия:
> ---Боевая единица - Remove (Picked unit) from game
> -Боевая единица - Create 1 "Миньон" for (Triggering player) at (Position of (Triggering unit)) facing Стандартная ориентация зданий degrees
> -Боевая единица - Add a 10.00 seconds Общий expiration timer to (Last created unit)

Все, теперь у нас при касте появляется юнит на 10 сек, по истечении которых он исчезает. И при повторном касте тоже исчезает но появляется другой.

в) Миньон на время, но при повторном касте появляется второй миньон

Вот и 3й пример, работает как заклинание "Дух Воды"

> ??Событие:??
> -Боевая единица - A unit Начинает применять способность
> ??Условие:??
> -(Ability being cast) равно "Дамми Спелл"
> ??Действие:??
> -Боевая единица - Create 1 "Миньон" for (Triggering player) at (Position of (Triggering unit)) facing Стандартная ориентация зданий degrees
> -Боевая единица - Add a 5.00 seconds Общий expiration timer to (Last created unit)

При первом касте появляется миньон на 5 сек. по истечении которых он исчезает. При повторном касте первый миньон не исчезает, но появляется второй миньон на 5 сек.


Аура

С аурой проще так как основная часть работы лежит в "РО". И как всегда НО, когда переходим на триггер тут уже все становится хоть и не неимоверно, но не менее сложно.
Итак 2 вида аур:
а) Аура Жизни
б) Аура Маны

а) Аура Жизни

Аура действует на дружественных юнитов, повышает им максимальное значение ХП на 500 ед. и от владельца ауры к юнитам на которых она действует идет эффект. Сделал я ее на основе "Доспехи Веры". И еще одну способность на основе предмета увеличивающее жизни "Аура увеличения жизни".
Создаем 1 триггер который запишет юнита изучившего способность "Доспехи Веры" в переменную массив:

> ??Событие:??
> -Боевая единица - A unit Приобретает способность
> ??Условие:??
> -(Ability being cast) равно "Доспехи Веры"
> ??Действие:??
> -Set "переменная Боевая единица(массив)"[(Player number of (Triggering unit))] = (Triggering unit)

Первое готово теперь 2е. Это само действие триггерного заклинание при воздействии на юнита. На русский язык "способность подействовала на юнит - триггер сработал".

> ??Событие:??
> -Время - Every 10.00 seconds of game time
> ??Условие:??
> ??Действие:??
> -For each (Integer A) from 1 to 12, fo (Actions)
> --Цикл - действия:
> ---Отряд - Pick every unit in (Units owned by (Player (Integer A))) and do (Actions)
> ----Цикл - действия:
> -----If\Then\Else, multiple function
> ------Если - условие:
> -------((Picked unit) has baff "Доспехи Веры") равно Да
> ------То - Действие:
> -------Боевая единица - Add "Аура увеличения жизни" to (Picked unit)
> -------Set "переменная Точка1" = (Position of "переменная Боева единица(массив)"[(Player number of (Picked unit))])
> -------Set "переменная Точка2" = (Position of (Picked unit))
> -------Set "переменная Реальная" = (Distance between "переменная Точка1" and "переменная Точка2")
> -------For each (integral "переменная Целочисленная") from 1 to 10, do (Actions)
> --------Цикл - действия:
> ---------Set "переменная Точка3" = ("переменная Точка1" offset by (("переменная Реальная"/10) x (Real("переменная Целочисленная")) towards (Angle from "переменная Точка1" and "переменная Точка2") degrees)
> ---------Спецэффект - Create a special effect attach to the "переменная Точка3" of (Triggering unit) using Abilities\Weapons\VengeanceMissile\VengeanceMissile.mdl
> ---------Спецэффект - Destroy (Last created special effect)
> ------Иначе - Действие:
> -------Боевая единица - Remove "Аура увеличения жизни" from (Picked unit)

б) Аура Маны

И простенькая аура на увеличения маны на 250 ед. созданная на основе "Чародейская Аура". У Юнитов на которых она действует будет свой эффект. Дополнительное что мы создадим это "Аура увеличения маны"
Вся аура состоит из 1го триггера6

> ??Событие:??
> -Время - Every 10.00 seconds of game time
> ??Условие:??
> ??Действие:??
> -For each (Integer A) from 1 to 12, fo (Actions)
> --Цикл - действия:
> ---Отряд - Pick every unit in (Units owned by (Player (Integer A))) and do (Actions)
> ----Цикл - действия:
> -----If\Then\Else, multiple function
> ------Если - условие:
> -------((Picked unit) has baff "Чародейская Аура") равно Да
> ------То - Действие:
> -------Боевая единица - Add "Аура увеличения маны" to (Picked unit)
> ---------For each (integral "переменная Целочисленная") from 1 to 10, do (Actions)
> ----------Цикл - действия:
> -----------Set "переменная Точка3" = ((Position of (Picked unit)) offset by 100 towards 120.00 x (Real("переменная Целочисленная"))) degrees)
> -----------Спецэффект - Create a special effect attach to the "переменная Точка3" of (Triggering unit) using Abilities\Spells\Orc\LightningBolt\LightningBoltMissile.mdl
> -----------Спецэффект - Destroy (Last created special effect)
> ------Иначе - Действие:
> -------Боевая единица - Remove "Аура увеличения маны" from (Picked unit)

для аур выкладываю два примера в одной карте.


Мгновенное заклинание

Сделаем простое заклинание "Громовая Поступь" как у «Кэрна» но с другим эффектом:

> ??Событие:??
> -Боевая единица - A unit Начинает применять способность
> ??Условие:??
> -(Ability being cast) равно "Громовая Поступь"
> ??Действие:??
> -Wait 0.05 seconds
> -Set "переменная Точка1" = (Position of (Triggering unit))
> -For each (integral "переменная Целочисленная") from 1 to 10, do (Actions)
> --Цикл - действия:
> ---Set "переменная Точка2" = ("переменная Точка1" offset by 250.00 towards (36.00 x (Real("переменная Целочисленная"))) degrees)
> -Спецэффект - Create a special effect attach to the "переменная Точка2" of (Triggering unit) using Abilities\Spells\Orc\WarStomp\WarStompCaster.mdl
> -Спецэффект - Destroy (Last created special effect)

Как видно необязательно делать урон и радиус урона триггерно, достаточно воспользоваться стандартными спеллами и всего лишь добавить другой эффект.


Направляемое

Изменим стандартный "Молот Бурь". Будет эффект от кастующего до атакованного юнита и вокруг атакованного юнита.

> ??Событие:??
> -Боевая единица - A unit Начинает применять способность
> ??Условие:??
> -(Ability being cast) равно "Молот Бурь"
> ??Действие:??
> -Set "переменная Точка1" = (Position of (Target unit of ability being cast))
> -Set "переменная Точка2" = (Position of (Triggering unit))
> -Set "переменная Точка3" = (Position of (Target unit of ability being cast))
> -Set "переменная Реальная" = (Distance between "переменная Точка2" and "переменная Точка3")
> -For each (integral "переменная Целочисленная") from 1 to 10, do (Actions)
> --Цикл - действия:
> ---Set "переменная Точка4" = ("переменная Точка2" offset by (("переменная Реальная"/10) x (Real("переменная Целочисленная")) towards (Angle from "переменная Точка2" and "переменная Точка3") degrees)
> -Спецэффект - Create a special effect attach to the "переменная Точка4" of (Triggering unit) using Abilities\Weapons\VengeanceMissile\VengeanceMissile.mdl
> -Спецэффект - Destroy (Last created special effect)
> -Wait 0.05 seconds
> -For each (integral "переменная Целочисленная") from 1 to 9, do (Actions)
> --Цикл - действия:
> ---Set "переменная Точка4" = ("переменная Точка1" offset by 200.00 towards (40.00 x (Real("переменная Целочисленная"))) degrees)
> -Спецэффект - Create a special effect attach to the "переменная Точка4" of (Triggering unit) using Abilities\Weapons\Bolt\BoltImpact.mdl
> -Спецэффект - Destroy (Last created special effect)



Кастуемое определенное время

Пассивка

И так пассивно заклинание это проще простого для этого нам потребуется создать:
  1. придумать пассивку
  2. дамми спел
  3. спеллы из которых она будет состоять
в моем случае создадим пассивку при которой нам будет даваться вампиризм и + к атаке.


`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
1
17
11 лет назад
1
Добавил пример написания аур, и карту к ним.
0
9
11 лет назад
0
чтото я спать хочу))теме +,хорошая стать
автор,допиши статью
1
17
11 лет назад
Отредактирован Sergant1000
1
Изменил триггер "б) Миньон на время, но при повторном касте он заменяетcя" в описании заклинания "Вызов" и добавил "в) Миньон на время, но при повторном касте появляется второй". Так же изменен пример.
0
12
11 лет назад
0
Sergant1000, научи спец эффекты циклом создавать мне не понятно
0
17
11 лет назад
Отредактирован Sergant1000
0
Daro, ты имешь ввиду этот отрезок?
-For each (integral "переменная Целочисленная") from 1 to 10, do (Actions)
--Цикл - действия:
---Set "переменная Точка2" = ("переменная Точка1" offset by 250.00 towards (36.00 x (Real("переменная Целочисленная"))) degrees)
-Спецэффект - Create a special effect attach to the "переменная Точка2" of (Triggering unit) using Abilities\Spells\Orc\WarStomp\WarStompCaster.mdl
-Спецэффект - Destroy (Last created special effect)
0
5
11 лет назад
0
Добавь пассивки, пожалуйста!
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.