B100D E1F
Scarecrow
offline
Опыт:
4,869Активность: |
Пара вопросов.
У меня вот вопросы есть: 1)Как замутить несколько рокет (missile) чтоб они летели (управление полетом триггером - вопрос не об этом) и коцали всех врагов на пути на опр. дмж НО - максимум каждого врага один раз! 2)Как узнать, что юнит погиб от такого-то спелла, но не от руки спеллкастера вообще, а конкретно от спелла? причем нанесение дмж может быть и триггером. |
21.07.2006, 20:02 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Olorin
offline
Опыт:
11,841Активность: |
1)хз
|
21.07.2006, 20:08 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Elianth
Черный Кот
offline
Опыт:
2,636Активность: |
Т.к. я нахожусь в маразме, мое предложение:
1/Делать спелл на основе Волны Силы, а ракеты и все остальное делать триггерно. 2/Смерть юнита есть состояние его life меньше или равно 0, т.е. после триггерного повреждения можно отследить уровень жизни юнита, и, к примеру, внести нужную информацию в переменную. Elianth добавил: Или сделать ракеты отдельными юнитами, которые самоубийцы-комикадзе без сплэш-атаки. |
21.07.2006, 20:46 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
DioD
offline
Опыт:
45,134Активность: |
|
22.07.2006, 06:46 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
XFaNT
Злобный Модер
offline
Опыт:
4,328Активность: |
B100D E1F
1) создаёшь две группы g1 и g2, создаешь триггер с периодическим событием, ставишь туда действия Отряд - Add all units of (Units within 200.00 of (Position of (Ракета)) matching (((Matching unit) is in g1) равно Нет)) to g2 For each (Integer A) from 1 to (Number of units in g2), do (Actions) Цикл - Действия Set unit = (Random unit from g2) Боевая единица - Cause (Рокета) to damage unit, dealing 100.00 damage of attack type Заклинание and damage type Обычное Отряд - Remove unit from g2 Отряд - Add unit to g1 в итоге, у тебя все юниты вокруг рокеты выбираются в группу 2, с условием, что они не в группе 1, затем выбираем случайного юнита из группы 2, дамачим его, выкидываем из 2 и пихаем в 1. И так с каждым юнитом из 2. При следующем выборе, все продемаченные юниты будут в группе 1, и триггер их отсеит. |
22.07.2006, 10:50 | #5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Elianth
Черный Кот
offline
Опыт:
2,636Активность: |
XFaNT, хитро придумано, хороший метод, я его у себя поюзаю.
|
22.07.2006, 11:18 | #6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
B100D E1F
Scarecrow
offline
Опыт:
4,869Активность: |
Пасиба, XFaNT - за 1), а Элиант - за 2). Все так и сделаю. Тока вот трабла. В первом. У меня там спелл до 10(!) таких рокет. И что, мутить 20 групп? |
22.07.2006, 17:45 | #7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
DioD
offline
Опыт:
45,134Активность: |
Зачем 20 групп? Отдельный тригер для каждой рокеты... |
22.07.2006, 18:04 | #8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
B100D E1F
Scarecrow
offline
Опыт:
4,869Активность: |
Гы, а если они одновременно летают? Если я чо-то не понял, то разъясни поподробнее. |
22.07.2006, 18:15 | #9
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
DioD
offline
Опыт:
45,134Активность: |
Создаёшь луп по рокетам и для каждой вызываешь функцию запуска
loop
exitwhen set 1= 1+1 call CreateRocet(Target,sourse,damager,damage speed) endloop Вот таким образом это может быть сделано иначе никак, каждая рокета в отдельном тригере, если заинтересовало прошу в джаз роздел для дальнейшего обсуждения... |
22.07.2006, 18:20 | #10
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
XFaNT
Злобный Модер
offline
Опыт:
4,328Активность: |
DioD ты неправ
B100D E1F создаешь группы с массивом и ракеты тоже в массив, и если ракет определённое число, то пишешь цикл: для каждого А от 1 до *число ракет* ду актионс Отряд - Add all units of (Units within 200.00 of (Position of (Ракета[A])) matching (((Matching unit) is in g1[A]) равно Нет)) to g2[A] For each (Integer B) from 1 to (Number of units in g2[A]), do (Actions) Цикл - Действия Set unit = (Random unit from g2[A]) Боевая единица - Cause (Рокета[A]) to damage unit, dealing 100.00 damage of attack type Заклинание and damage type Обычное Отряд - Remove unit from g2[A] Отряд - Add unit to g1[A] unit"а можно не массивить,он может быть во многих группах сразу. НО!! после окончания действия спела надо вводить фильтр, для каждого А от 1 до *число ракет* ду актионс Отряд - Remove all units of g1[A] from g1[A] Отряд - Remove all units of g2[A] from g2[A] это очистит группы это нужно чтобы при следующем касте атаковались юниты, атакованные в предыдущем. |
22.07.2006, 20:51 | #11
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Korneliy
DMF
offline
Опыт:
23,443Активность: |
А че не использовать "Стадо ящериц"??? |
23.07.2006, 05:46 | #12
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
DioD
offline
Опыт:
45,134Активность: |
Для одно инстантного спелла сойдёт, хотя то что тут было гениально написано работать будет очень сомнительно |
23.07.2006, 08:46 | #13
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|