Как сделать респаун крипов в варкрафт 3

Обновлено: 30.06.2024

Довольно таки простой триггер но его тоже частенько спрашивали. "А ларчик просто открывался" и состоит он из 2х триггеров и одной переменной:

Основные используемые объекты в примере:
"Переменная Отряд" - содержит монстров

Космети.

Не забываем украсить. Поэтому в конце триггеров на появления монстров Добавим какого-нибудь спецэффекта, и тут все поправимо:
-Спецэффект - Create a special effect attach to the original\head\chest of (Last created unit) using Abilities\Spells\Human\ReviveHuman\ReviveHuman.mdl

и наконец установить уровень маны и здоровья.
-Боевая единица - Set Life of (Triggering unit) to 120.00%

Как сделать респаун крипов в варкрафт 3



Плюсы :
Очень быстро сделать.
Прост для понятия (Даже нубам) .
Минусы :
Задействуется огромное значение переменных.

Переменные (Массив(От него зависит максимальное количество записанных юнитов)) :

Этот триггер приписывает каждому юниту свою переменную. условия могут легко меняться/добавляться, если вам не нужен респаун абсолютно всех юнитов игрока/карты . . .














Задать вопрос по редактору


Модели


Карты


Звуки


Иконки


Картинки


Курсоры


Наработки


Патчи


Способности из Dota


Утилиты (Программы)


Энциклопедия по WarCraft3

Как сделать респаун крипов в варкрафт 3



Нам потребуются следующие переменные:


Creep_X - переменная типа "Реальная" , массив размером 1.
Creep_Y - переменная типа "Реальная" , массив размером 1.
Integer - переменная типа "Целочисленная" .

Лучший способ инициализации стартовых точек нейтралов - создание триггера с событием "Иниц. карты" (Map Initialization) и при помощи ранее созданных нами переменных сохранять данные об этих точках. Нам это нужно для того, чтобы потом воскресить нейтрала на его изначальной позиции.

"Creep_X" сохраняет координату X точки, где находится каждый нейтрал, а "Creep_Y" - сохраняет координату Y этой точки. Х и Y работают, как точки, но не вызывают утечек.

"Integer" тоже очень важен. Почему - я скоро объясню.

Итак, откройте Редактор триггеров, создайте триггер под названием "Creep Revival System Initialization" , ну, или подобным, затем добавьте в него следующее:

Итак, что же мы сделали до этого момента? Мы занесли в отряд всех нейтралов на карте, задали каждому крипу его Custom Value , равное целочисленной Integer . Это очень важно для того, чтобы мы могли обращаться к определённому элементу массива Х или Y.

Теперь при помощи Custom Script -кода зададим значения X и Y стартовых точек каждого нейтрала.


После инициализации создадим ещё один триггер, который будет воскрешать нейтралов. Событие - A unit Dies . В условии мы проверяем, что умирающий принадлежал Нейтрально-враждебному игроку, владельцу крипов, и ещё, что он не вызванный. Ведь крипы, которые были вызваны, не были поставлены на карте, зачем же их воскрешать?

Как сделать респаун крипов в варкрафт 3

Эта статья расскажет вам о том, как сделать систему воскрешения нейтралов через определённый промежуток времени после их смерти. Чтобы изучать данную статью, требуются знания основ WE и триггеров, в частности переменных.
Если у вас есть какие-то проблемы с воскрешением нейтралов или просто хотите узнать, как сделать подобную систему, внимательно прочитайте и откройте WE - эта статья послужит вашим помощником в таком деле.

Нам потребуются следующие переменные:

Creep_X - переменная типа "Реальная", массив размером 1.
Creep_Y - переменная типа "Реальная", массив размером 1.
Integer - переменная типа "Целочисленная".


Лучший способ инициализации стартовых точек нейтралов - создание триггера с событием "Иниц. карты" (Map Initialization) и при помощи ранее созданных нами переменных сохранять данные об этих точках. Нам это нужно для того, чтобы потом воскресить нейтрала на его изначальной позиции.

"Creep_X" сохраняет координату X точки, где находится каждый нейтрал, а "Creep_Y" - сохраняет координату Y этой точки. Х и Y работают, как точки, но не вызывают утечек.

"Integer" тоже очень важен. Почему - я скоро объясню.


Итак, откройте Редактор триггеров, создайте триггер под названием "Creep Revival System Initialization", ну, или подобным, затем добавьте в него следующее:

Итак, что же мы сделали до этого момента? Мы занесли в отряд всех нейтралов на карте, задали каждому крипу его Custom Value, равное целочисленной Integer. Это очень важно для того, чтобы мы могли обращаться к определённому элементу массива Х или Y.

Теперь при помощи Custom Script-кода зададим значения X и Y стартовых точек каждого нейтрала.


После инициализации создадим ещё один триггер, который будет воскрешать нейтралов. Событие - A unit Dies. В условии мы проверяем, что умирающий принадлежал Нейтрально-враждебному игроку, владельцу крипов, и ещё, что он не вызванный. Ведь крипы, которые были вызваны, не были поставлены на карте, зачем же их воскрешать?
Итак, смотрим:

Я не использовал Dying Unit, так как эта переменная при каждом запуске триггера имеет неприятное свойство перезаписывать значение. Я думаю, вы сможете убрать лёгкую утечку в триггере.
Чтобы воскрешать крипа не через 5 секунд, поменяйте значение в Wait.
Ну, для того чтобы не потерять Custom Value, задаём его созданному крипу.

Читайте также: