[НАРАБОТКА] Веер стрел своими руками
|
|
Zzepish | Дата: Вторник, 28 Февраля 2012, 22:57:43 | Сообщение # 1 |
7 уровень
Группа: Проверенные
Сообщений: 331
Награды: 0
Репутация: 64
Блокировки:
| Веер стрел Что такое веер стрел (для тех, кто не знает)- это когда герой пускает по определенной дуге, или радиусу много стрел с определенной дистанцией между ними! Тоесть чет типа такого:
А именно такое и будем делать! Для этого нам надо создать 2 способности! 1-пустышка, для героя (Я назвал ее “Мультишот”), и 1 реальная (“Мультишот2”). Я сделал обе на основе темной стаи (способности Повелителя ужаса). В “Мультишот” выставляем урон на 0 и заменяем текстуру способности на любую другую! А также выставляем “Время подготовки заклинания – 0.01”(это сделано для того, чтоб дамми юниты, кастующие “Мультишот2” не появлялись раньше времени). Текстуру я заменил на пустую.
Далее в “Мультишот2” задаем параметры, какие мы хотим! Но меняем текстуру на любую другую:
Далее создаем дамми-юнита! Создаем его на основе рыцаря(как мне кажется- самый оптимальный вариант):
Итак! Это наш дамми-юнит! Желательно все указать, как есть, ибо может получится не то, что вы хотели потом! Далее создаем триггер! Вот скрин:
Переменная Angle- Реальная.
Задаем переменную, далее отнимаем так, чтоб стрелы начинали лететь в левый верхний угол! Для этого нам понадобится отнять 45 градусов от значения Angle! Тоесть, если вы хотите, чтоб стрелы начинали лететь , начиная с лева, то вам понадобится отнять 90 градусов. Далее создаем цикл! У меня цикл на 18 стрел! Далее, с дамми-юнитом, думаю, все понятно! Мы его создаем, далее делаем так, чтоб он мог налазить на других. Далее задаем параметр, когда юнит умрет (чтоб избежать утечек и нагромождения, которые будут тормозить игру). Далее даем ему способность “Мультишот2”. Далее заставляем его пулять его способностью “Мультишот2”(512- постоянный параметр, просто выставьте его. Можно не выставлять, но тогда даммики будут палить в вашу сторону)). Далее задаем угол между стрелами(я задал угол-5(так как у меня 18 стрел на 90 градусов! 90/18=5))! Это надо брать расчет от начала до конца вашей дуги (то есть самому смотреть и считать) у меня под рукой всегда круг с углами, с осью смещения в 22.5 градусов). Вот и все, господа).
Надеюсь, что все было понятно.
Все недочеты пишите сюда! Попытаюсь исправить! Надеюсь, что кому нибудь помог!
Тригерщик (средней руки)
Сообщение отредактировал Zzepish - Вторник, 28 Февраля 2012, 23:06:04 |
|
|
|
oleg_best_oleg | Дата: Вторник, 28 Февраля 2012, 23:20:15 | Сообщение # 2 |
Группа: Заблокированные
Сообщений: 1726
Награды: 0
Репутация: 654
Блокировки:
| Casting unit ==> Triggeting unit.
И много утечек (всего три, но цикл...) Установить переменную: Point[1] = Позиция Triggering unit --НАЧАЛО ЦИКЛА Установить переменную: Point[2] = Point[1] offset by 100 towards Angle degrees Установить переменную: Point[3] = Point[1] offset by 512 towards Angle degrees --ОСТАЛЬНЫЕ ДЕЙСТВИЯ, но уже вместо позиции со смещением используем точки call RemoveLocation(udg_Point[1]) call RemoveLocation(udg_Point[2]) call RemoveLocation(udg_Point[3]) --КОНЕЦ ЦИКЛА
Сообщение отредактировал oleg_best_oleg - Вторник, 28 Февраля 2012, 23:21:05 |
|
|
|
Zzepish | Дата: Вторник, 28 Февраля 2012, 23:40:26 | Сообщение # 3 |
7 уровень
Группа: Проверенные
Сообщений: 331
Награды: 0
Репутация: 64
Блокировки:
| Quote (oleg_best_oleg) call RemoveLocation(udg_Point[2]) call RemoveLocation(udg_Point[3]) --КОНЕЦ ЦИКЛА Я в упор не вижу утечек! Ведь переменная перезаписывается!
Тригерщик (средней руки)
|
|
|
|
Borodach | Дата: Среда, 29 Февраля 2012, 01:24:33 | Сообщение # 4 |
9 уровень
Группа: Проверенные
Сообщений: 930
Награды: 0
Репутация: 422
Блокировки:
| Zzepish, Точки, области, группы, таймеры надо удалять,так они все равно висят в памяти. И за основу лучше брать летающего из нейтрально пассивных, там мало что менять надо и летающие не оставляют трупики (которые так же занимают место памяти).
Karamba
|
|
|
|
Zzepish | Дата: Среда, 29 Февраля 2012, 01:47:17 | Сообщение # 5 |
7 уровень
Группа: Проверенные
Сообщений: 331
Награды: 0
Репутация: 64
Блокировки:
| Quote (Borodach) И за основу лучше брать летающего из нейтрально пассивных, там мало что менять надо и летающие не оставляют трупик Спс! Учту
Тригерщик (средней руки)
|
|
|
|
Novice998 | Дата: Среда, 29 Февраля 2012, 07:52:29 | Сообщение # 6 |
8 уровень
Группа: Проверенные
Сообщений: 693
Награды: 0
Репутация: 86
Блокировки:
| Zzepish, пфффф...Ну ты и идиот.Quote (Zzepish) Переменная Angle- Реальная. Зачем она? Ты так уверен, что у тебя они летят на 90 градусов?
Сообщение отредактировал Novice998 - Среда, 29 Февраля 2012, 07:52:39 |
|
|
|
Zzepish | Дата: Среда, 29 Февраля 2012, 10:45:41 | Сообщение # 7 |
7 уровень
Группа: Проверенные
Сообщений: 331
Награды: 0
Репутация: 64
Блокировки:
| Quote (Novice998) Он в личку спрашивал, потом сказал что я дурак, и у меня неправильное решение, а потом выложил его сюда с ошибками Во первых- ты дал мне инфу, когда она мне НЕ была уже нужна! Во вторых- Angel мне понадобилась для удобства работы!
Добавлено (29 Февраль 2012, 10:45:41) --------------------------------------------- Ты вообще способность на двигающихся юнитах предложил! В то время, как ее можно сделать на основе другой! Имхо- полный бред!
Тригерщик (средней руки)
Сообщение отредактировал Zzepish - Среда, 29 Февраля 2012, 13:10:05 |
|
|
|
Dreii | Дата: Среда, 29 Февраля 2012, 21:29:37 | Сообщение # 8 |
10 уровень
Группа: Проверенные
Сообщений: 4991
Награды: 0
Репутация: 603
Блокировки:
| Баян. Предогаю делит
|
|
|
|
Zzepish | Дата: Среда, 29 Февраля 2012, 23:28:48 | Сообщение # 9 |
7 уровень
Группа: Проверенные
Сообщений: 331
Награды: 0
Репутация: 64
Блокировки:
| Quote (Dreii) Баян. Предогаю делит В каком месте? На форуме такого не нашел
Тригерщик (средней руки)
|
|
|
|
SirNikolas | Дата: Четверг, 01 Марта 2012, 11:43:12 | Сообщение # 10 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| Quote (Dreii) Предогаю делит Нет, в цикле надо было умножать сколько-то градусов на (Integer A), а не делить и уж тем более не вводить еще один счетчик.
В предыдущей теме (кстати, где она?) писал, что в триггере 18 * 4 = 72 утечных точки. Ну и еще несколько недоработок по мелочи.
|
|
|
|
Ty3uK | Дата: Четверг, 01 Марта 2012, 15:47:19 | Сообщение # 11 |
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
| 72 точки утекает за каждый каст- мелочи
|
|
|
|
Zzepish | Дата: Четверг, 01 Марта 2012, 17:48:10 | Сообщение # 12 |
7 уровень
Группа: Проверенные
Сообщений: 331
Награды: 0
Репутация: 64
Блокировки:
| ДА БЛИН! ВЕ ТАКИЕ УМНЫЕ! Момогли б!
Тригерщик (средней руки)
|
|
|
|
Dreii | Дата: Четверг, 01 Марта 2012, 19:32:58 | Сообщение # 13 |
10 уровень
Группа: Проверенные
Сообщений: 4991
Награды: 0
Репутация: 603
Блокировки:
| Quote (SirNikolas) Нет, в цикле надо было умножать сколько-то градусов на (Integer A), а не делить и уж тем более не вводить еще один счетчик. В предыдущей теме (кстати, где она?) писал, что в триггере 18 * 4 = 72 утечных точки. Ну и еще несколько недоработок по мелочи. Я предлогаю delete темы)
|
|
|
|
SirNikolas | Дата: Пятница, 02 Марта 2012, 14:08:38 | Сообщение # 14 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| Предложение принято.
Наработка элементарная, это может сделать каждый. В этой статье описываются более общие случаи, так что тема сразу становится ненужной. Closed.
|
|
|
|