Вы находитесь на сайте модмейкеров.
Четверг, 21.11.2024, 21:05
Участники · Правила форума · ПОИСК!
  • Страница 1 из 1
  • 1
Как воскрешать нейтрально враждебных крипов?
EvgexaДата: Пятница, 01.10.2010, 19:22 | Сообщение # 1



Сообщений: 1204

Как воскрешать нейтрально враждебных крипов? этот вопрос мне неоднократно задавали, тогда я решил написать статью об этом...

В этой статье, я расскажу вам о том, как сделать систему воскрешения нейтралов через определённый промежуток времени после их смерти. Чтобы изучать данную статью, требуются знания основ 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, задаём его созданному крипу.

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

ССЫЛКА на карту - пример...


--
UZzipДата: Пятница, 01.10.2010, 21:03 | Сообщение # 2
Noize mc



Сообщений: 6078

За статью + добавь карту наработку ещё=)

--
qwertyuiopДата: Среда, 25.01.2012, 22:30 | Сообщение # 3



Сообщений: 51

кстати , тут есть маленькая не доработка ,секунды я поставил 70 а спаунятся через 40 , ставлю 100 фиг дождешься, и крипы спаунятся очень не удобно , допустим 4 крипа в зоне , пока замочил 3х , неуспеваешь добить или уйти с места так уже появляются те что сдохли, если поставить больше ждать больше 100 сек , то многих это не устраивает , а что если сделать доработкку как в доте пока игрок находится в зоне спауна крипов (или территории обзора спауна) крипы не воскрешались,это бы все остальные мелочи затмило (я видел такую же статью на ХГМ)

Есть два вида шпор мой друг, одни входят через дверь , другие через окно...
--
Night_Sta1kerДата: Четверг, 26.01.2012, 00:02 | Сообщение # 4



Сообщений: 1164

спс пригодится может ;)

КЛОУНФИЕСТА
--
  • Страница 1 из 1
  • 1
Поиск:

W3 - Всё для картостроения. 2024-2010 |