felix_ff
offline
Опыт:
757Активность: |
Абилка Multy arrows на JASS
Доброго времени суток.
Делаю абилку мульти-стрел на джассе... суть просто при атаке герой атакует сразу несколько целей. конечно я бы мог не гемороится и взять за основу "Ракеты" но: мне надо что бы урон наносимый всем целям мульти стрел, кроме юнита которого я непосредственно дал приказ атаковать, наносился меньше. допустим на 1 уровне 20% от наносимого урона , на 2 24%, на 3 27% и.т.д. вообщем это пока реализовать я смог...но одна довольно большая загвоздка.. я никак не могу высчитать время через которое мне надо наносить урон "целям"... т.е. сейчас у меня наносится урон всем целям за время равное DistanceBetweenPoints(l1,l2)/900 l1 - GetUnitLoc(GetAttacker()); l2 - GetUnitLoc(GetTriggerUnit()) экак видите выглядеть это красиво просто не может.. потому как некоторые юниты могут находится дальше атакованного юнита, следовательно стрела до них не долетает а урон они получают... я думал замутить чтонибудь с таймерами и даже начал.. но потом понял что нифига не могу выстроить алгоритм что я буду делать.... если в таймере даже заносить всех целей в кеш и создавать 4 таймера (целей всего 4.. и ни на грамм больше :) ) и сравнивать позиции атакера с их позициями я все равно не пойму как мне узнать когда стрела попадет по ним... Вообщем если у кого есть идея то высказывайтесь. |
16.05.2006, 15:29 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
dk
offline
Опыт:
60,293Активность: |
А если найти наименьшее расстояние, наибольшее и автоматически средние. Потом ждем наименьшее наносим урон, ждем разность между средним и наименьшим, атакуем и ждем разность между наибольшим и средним и опять атакуем. Только получается wait с короткими промежутками а это может глючить. Вобщем попробуй! |
16.05.2006, 15:43 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
exploder
iOS zealot
offline
Опыт:
19,394Активность: |
felix_ff можно на базе ракет сделать, но главной цели по больше наносить... Т.е. ждать каста, смотреть кто стал целью и ему в нагрузку еще 60% дамагов...
|
16.05.2006, 17:10 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
felix_ff
offline
Опыт:
757Активность: |
ммм... кстати а это выход :) сенкс |
16.05.2006, 17:45 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
exAres
I love magic :)
offline
Опыт:
7,788Активность: |
felix_ff если ето не автокаст то легко а если автокаст то разве что так как "сказал" exploder.
|
16.05.2006, 18:10 | #5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
felix_ff
offline
Опыт:
757Активность: |
MrSmiLe нет это не автокаст.. это пассивка.. наподобие критикал страйка или баша.. ну ты понял я думаю. :)
|
16.05.2006, 18:13 | #6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
exploder
iOS zealot
offline
Опыт:
19,394Активность: |
Цитата:
Тогда надо отлавливать событие атаки... |
|
16.05.2006, 18:16 | #7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
exAres
I love magic :)
offline
Опыт:
7,788Активность: |
felix_ff пассивка в етом случае, почти, то же ,что и автокаст : (. Я пробовал с автокастом, если не с помощю "ракет" то невозможно из-за тупости близзов(т.е. невозможно узнать запустил юнит снаряд или нет).
|
16.05.2006, 20:21 | #8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
felix_ff
offline
Опыт:
757Активность: |
я конечно сделал.. и вроде работает.. но помоему там какие то баги возникают... :mad: щяс буду мутить с помощью ракет |
16.05.2006, 21:36 | #9
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
NETRAT
offline
Опыт:
83,712Активность: |
А не проще ли взять реализацию, к примеру, с Доты? |
17.05.2006, 11:10 | #10
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
0pJl9lTa
offline
Опыт:
3,397Активность: |
хз, я бы отлавливал атаку на юнита, после чего создавал бы триг - юнит поврежден, и в нем бы наносил дамаг. |
17.05.2006, 14:06 | #11
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
felix_ff
offline
Опыт:
757Активность: |
ну я и так знаю как там сделанно... принцип довольно простой: у юнита есть "переделанная" способность пехотинца "укрыться за щитом" при активации абилки он "режет" дамаг юниту и добавляет ракеты НО: в доте 1 минус... там при сплитшоте дамаг равный... т.е. всем трем целям наносится дамаг урезанный... а мне надо что бы 3 целям наносился дамаг урезанный а той цели по которой герой получил команду атаковать наносился полный дамаг... вот в чем пробла... я вообщем уже замутил этот спелл.. сделан практически как в доте тока я тригерно еще наношу урон атакованному юниту (главному)...как и советовал exploder
|
17.05.2006, 16:25 | #12
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Toadcop
offline
Опыт:
54,313Активность: |
NETRAT у меня система иакая есть я типа пишу:
call UnitAddTcAttackEnhancerBR(...) и всё =) даю свои Custom Func (как в ТРС) для двух евентов могу и не давать =) ! короче так надо это делать ! ;) |
17.05.2006, 16:49 | #13
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
0pJl9lTa
offline
Опыт:
3,397Активность: |
felix_ff см мой вариант. Имхо для твоего типа это самое лучшее. Хотя не точна.
|
17.05.2006, 19:01 | #14
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|