Главная » Статьи » Создание карт » Генеральный Учебники карт

Как воскрешать нейтрально-враждебных крипов

05-12-2016Эта статья расскажет вам о том, как сделать систему воскрешения нейтралов через определённый промежуток времени после их смерти. Чтобы изучать данную статью, требуются знания основ 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. В условии мы проверяем, что умирающий принадлежал Нейтрально-враждебному игроку, владельцу крипов, и ещё, что он не вызванный. Ведь крипы, которые были вызваны, не были поставлены на карте, зачем же их воскрешать?
Итак, смотрим:

http://s58.radikal.ru/i159/1005/16/0d24c5143807.jpg

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

Собственно, вот и всё. Спасибо за внимание.



Категория: Генеральный Учебники карт | Добавил: Razor (05-12-2016 в 15:25:57)
Просмотров: 3955 | Комментарии: 14 | Рейтинг: 4.0/6
Всего комментариев: 141 2 »
avatar
1
Сори за последнюю картинку, ссылку забыл поставить. Вот ссылка на кртинку в полном размере: ссылка
avatar
2
дык если на неё жмакнуть ана и так в полном розмере будет)
avatar
3
Можно вопрос?)
"Теперь при помощи Custom Script-кода зададим значения X и Y стартовых точек каждого нейтрала."
Это делает сам триггер или прописывать надо самому?)) Я новичок в WE)
avatar
4
О, отлично, ато раньше видел обычный респ крипов без сохранения позиции. Спасибо!
avatar
5
Кул! спс автору biggrin biggrin biggrin
avatar
6
я не знаю что сделал, но у меня вместо того чтоб воскрешались мобы они после убийства воскрешаются в двойном размере т.е. убиваю моба а потом появляются 2 моба убиваю их появляются 4 моба. biggrin
avatar
7
А как сделать Set inegger=(Integger +1)
И у меня пишет ошибку с Custom Script кодом sad
avatar
8
есть более легкий способ на респ монстров на тех местах где они стояли. и это можно сделать с одним триггером и несколько функций.
avatar
9
народ а как сделать чтобы ошибку не выдовало
где нужно прописывать код там мне пишет что не найдено название триггера wacko wacko wacko
avatar
10
Никак не могу найти в триггерах хеш таблица - Set ... там есть только save и clear. может я что-то не так делаю?
1-10 11-14
avatar
Рейтинг@Mail.ru
Яндекс.Метрика

Copyright © 2010-2017
Вакансии :: Контакты
Мобильная версия сайта