Сейчас 16:09:15 Четверг, 28 марта, 2024 год
[ x ] Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Картинки В о й т и   или   з а р е г и с т р и р о в а т ь с я


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: PUVer, SirNikolas, Ty3uK  
Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » Респон мобов на карте (GUI)
Респон мобов на карте (GUI)
SH0CkДата: Среда, 08 Февраля 2012, 23:49:43 | Сообщение # 1
3 уровень
Группа: Проверенные
Сообщений: 46
Награды: 0
Репутация: -9
Блокировки:
В триггере по началу игры задаю каждому нейтрально-враждебному мобу позицию в массиве и аналогично делаю массив с точками стартовых позиций этих мобов.
По следующему триггеру:
Условие: Боевая единица умирает (нейтрально-враждебная)
Действие: в цикле перебираю всех юнитов из массива и сравниваю с погибшем юнитом, если они равены, после 10 секунд моб ресается в соответствующей точке...
Все работает, если юнитов убивать по одиночки, а если сразу нескольких одним спеллом, то ресается только последний по своему стартовому индексу.

Может ли кто предложить рациональный способ реализации данной задачи (юнит умирает и через заданное время ресается в своей стартовой позиции).
Желательно на GUI, но, если JASS, то, пожалуйста^_^, с комментариям, как это реализовать на GUI.
Заранее спасибо ^_^

Предупреждение: красный цвет только для администрации.


Сообщение отредактировал Kartoha - Четверг, 09 Февраля 2012, 14:30:22
 

ExtrematorДата: Четверг, 09 Февраля 2012, 04:18:52 | Сообщение # 2
10 уровень
Группа: Проверенные
Сообщений: 3199
Награды: 0
Репутация: 1018
Блокировки:
условие - каждые 60.00 сек
действия:

в области 1 живых юнитов = 0
то создать ещё пачку юнитов

в области 2 живых юнитов = 0
то создать ещё пачку юнитов

в области 3 живых юнитов = 0
то создать ещё пачку юнитов
 

totti20Дата: Четверг, 09 Февраля 2012, 12:08:34 | Сообщение # 3
5 уровень
Группа: Проверенные
Сообщений: 138
Награды: 0
Репутация: 0
Блокировки:
Extremator,
Quote (Extremator)
в области 1 живых юнитов = 0
то создать ещё пачку юнитов

покажи ка мне это условие

Добавлено (09 Февраль 2012, 12:08:34)
---------------------------------------------
вот


http://s018.radikal.ru/i511/1202/ee/c0231acc9b51.jpg
 

ExtrematorДата: Четверг, 09 Февраля 2012, 13:00:13 | Сообщение # 4
10 уровень
Группа: Проверенные
Сообщений: 3199
Награды: 0
Репутация: 1018
Блокировки:
Quote (totti20)
покажи ка мне это условие

сравнение - целое число
число ((юнитов в группе (юниты в области)) подходящих по условию (подбераемый юнит мёртв = нет)) = 0

как то так
 

Brut@lusДата: Четверг, 09 Февраля 2012, 13:10:17 | Сообщение # 5
Группа: Заблокированные
Сообщений: 2496
Награды: 1
Репутация: 924
Блокировки:
Просто в условия:
Code
return IsUnitGroupDeadBJ(ТВОЯ ГРУППА)

Добавлено (09 Февраль 2012, 13:08:48)
---------------------------------------------
правда bj

Добавлено (09 Февраль 2012, 13:10:17)
---------------------------------------------
или в ГУИ boolean comparsion "(All units of "ТВОЯ ГРУППА") are dead = true"


 

vov68Дата: Четверг, 09 Февраля 2012, 13:48:33 | Сообщение # 6
10 уровень
Группа: Проверенные
Сообщений: 1329
Награды: 3
Блокировки:
с отрядами у вас не пойдёт
одно из решений
создаёшь челочисленную переменную ЮНИТ, которую приравниваешь к номеру убитого, после чего в цикле сразу после присвоения запускаешь триггер по системе - игнорирование внешних условий
в этом триггере сначало ставишь задержку на 10 секунд, потом создаёшь юнита с номером ЮНИТ в точке с номером ЮНИТ
скриптами не забудь зачистить точку. ;) :D

кстати, если перебор осуществлять по глобальной переменной, то данный перебор после нахождения номера убитого можно обрывать, что есть хорошо :)


Зачем делать для других новые карты...
... лучше устроить коту божественный почесон. :)
 

SH0CkДата: Четверг, 09 Февраля 2012, 15:50:50 | Сообщение # 7
3 уровень
Группа: Проверенные
Сообщений: 46
Награды: 0
Репутация: -9
Блокировки:
Quote
http://s018.radikal.ru/i511/1202/ee/c0231acc9b51.jpg

totti20, это не то, что нужно, тут моб будет ресаться там, где он умер, а надо в стартовой позиции.

Quote
условие - каждые 60.00 сек
действия:
в области 1 живых юнитов = 0
то создать ещё пачку юнитов

Extremator, это тоже не подходит, надо чтобы юнит ресался через заданное время после его смерти, а не проверь жив ли он каждые 60 секунд, да и для каждой группы мобов делать область и подгонять в триггере - это unreal.

Quote
создаёшь челочисленную переменную ЮНИТ, которую приравниваешь к номеру убитого, после чего в цикле сразу после присвоения запускаешь триггер по системе - игнорирование внешних условий
в этом триггере сначало ставишь задержку на 10 секунд, потом создаёшь юнита с номером ЮНИТ в точке с номером ЮНИТ
скриптами не забудь зачистить точку.

vov68, это тоже не подходит, нужно чтобы каждый юнит знал свою стартовую позицию до того как он умрет, иначе он у тебя получает позицию там, где он умер.

Добавлено (09 Февраль 2012, 15:50:50)
---------------------------------------------
Либо я вас неправильно понял, либо вы меня неправильно поняли)

 

Brut@lusДата: Четверг, 09 Февраля 2012, 15:51:41 | Сообщение # 8
Группа: Заблокированные
Сообщений: 2496
Награды: 1
Репутация: 924
Блокировки:
SH0Ck,
Quote (Brut@lus)
Сообщение # 5


 

SH0CkДата: Четверг, 09 Февраля 2012, 15:54:25 | Сообщение # 9
3 уровень
Группа: Проверенные
Сообщений: 46
Награды: 0
Репутация: -9
Блокировки:
Quote
в ГУИ boolean comparsion "(All units of "ТВОЯ ГРУППА") are dead = true"

Brut@lus, я несовсем понимаю как это реализовать(, если можешь, объясни поподробнее
 

vov68Дата: Четверг, 09 Февраля 2012, 15:55:11 | Сообщение # 10
10 уровень
Группа: Проверенные
Сообщений: 1329
Награды: 3
Блокировки:
Quote (SH0Ck)
аналогично делаю массив с точками стартовых позиций

Quote (vov68)
точке с номером ЮНИТ

аналогичная
Quote (SH0Ck)
Либо я вас неправильно понял, либо вы меня неправильно поняли)

либо с триггерами у тя не очнь


Зачем делать для других новые карты...
... лучше устроить коту божественный почесон. :)
 

SH0CkДата: Четверг, 09 Февраля 2012, 16:06:13 | Сообщение # 11
3 уровень
Группа: Проверенные
Сообщений: 46
Награды: 0
Репутация: -9
Блокировки:
Quote
Quote (SH0Ck)
аналогично делаю массив с точками стартовых позиций

Quote (vov68)
точке с номером ЮНИТ

аналогичная
Quote (SH0Ck)
Либо я вас неправильно понял, либо вы меня неправильно поняли)

либо с триггерами у тя не очнь

vov68, у тебя нигде не сказано, как получает мертвый юнит координаты своей стартовой позиции и нет ни слова, или эт чё, надо делать столько стриггеров, сколько мобов:D?

Добавлено (09 Февраль 2012, 16:06:13)
---------------------------------------------

Quote
http://s018.radikal.ru/i511/1202/ee/c0231acc9b51.jpg

я,кстати, не так сказал, тут просто умирает Берон и ресается в области, а какой именно из беронов умер неизвестно.
 

CancelДата: Четверг, 09 Февраля 2012, 17:04:35 | Сообщение # 12
8 уровень
Группа: Проверенные
Сообщений: 634
Награды: 0
Репутация: 158
Блокировки:
Сделал наработку на скорую руку. По мне - очень хороший вариант.

Скачать
 

SH0CkДата: Четверг, 09 Февраля 2012, 17:19:58 | Сообщение # 13
3 уровень
Группа: Проверенные
Сообщений: 46
Награды: 0
Репутация: -9
Блокировки:
Cancel, хорош, то что нужно), спасибо тебе большое,
да и всем остальным тоже^_^
 

Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » Респон мобов на карте (GUI)
  • Страница 1 из 1
  • 1
Поиск:

Copyright © 2006 - 2024 Warcraft3FT.info При копировании материалов c сайта ставьте, пожалуйста, активную обратную ссылку на нас • Design by gReeB04ki ©
Хостинг от uCoz