Murloc
Powered by Q
offline
Опыт:
16,977Активность: |
Спелл из доты.....
У меня такой вопрос : как сделать чтоб с растоянием полёта снаряда увеличивался наносимый урон (как у дриады).Если ЭТО сделано на джассе то просто об этом скажите (на нём я работать не умею).И можно ли сделать ЭТО на тригерах??? |
09.01.2006, 14:39 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
exploder
iOS zealot
offline
Опыт:
19,394Активность: |
Цитата:
это был тонкий намек что на этот спелл надо любоватся, а не нагло тырить :) На тригах наверно тоже мона... считаешь расстояние между атакером и жертвой, вычисляешь прибавку к урону по страшной полиномной формуле, которую можешь с спросить у NT :), ждешь время=растояние/скорость_снаряда, и вешаешь дамаг на жертву... |
|
09.01.2006, 15:45 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Murloc
Powered by Q
offline
Опыт:
16,977Активность: |
впрочем ну этот спелл на ... (куда подальше)
я ничего не понял из того что ты сказал (кроме НТ) :) Cyberface добавил: если можно то попадробнее (всё расписано,по шагам) |
09.01.2006, 15:50 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Sergey
Старейший
offline
Опыт:
44,363Активность: |
JASS. Правда Доту я давно не видел. Это делается в спеле или вообще при атаке?
Пути решения я вижу примерно 2:
|
09.01.2006, 15:53 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Mefist
Is it cocktail hour yet?
offline
Опыт:
98,240Активность: |
А как этот спелл в доте выглядит? |
09.01.2006, 15:55 | #5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
exploder
iOS zealot
offline
Опыт:
19,394Активность: |
Я не помню как это будет по-тригерному :) но попытаюсь...
п.1. Сначала надо узнать скорость снаряда в ОЕ и запомнить. п.2. Создать триггер с событием атаки. п.3. Условие на проверку атакера (далжна быть функция Unit - get attaking unit) п.4. Находишь расстояние между юнитами: атакером и жертвой (Unit - get attaked unit) п.5. Вычисляешь прибавку к урону. Сам придумаешь формулу. Типа расстояние делим на константу, но это линейно и суксь, все равно атакер не будет стрелять на пол карты. Например можно квадрат расстояния делить на константу. п.6. Ждешь (wait) расстояние/скорость_снаряда_из_п1 секунд. И молешся что жертва не перемещается (ну ее перемещениями можно пренебречь, но всежь) :) п.7. Наносишь урон жертве в виде той прибавки, которую ты вычислил в п.5. exploder добавил: Цитата:
Но ведь атакер уже совершил атаку...(тригер шелкнул уже после совершения акта атаки) есть ли смысл давать ему способность, если она не повиляет на текущую атаку? Или все таки повлияет? Т.е. когда просчитывается движком урон: в момент попадания или в момент факта атаки? |
|
09.01.2006, 16:15 | #6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
THeBloodiest
offline
Опыт:
20,881Активность: |
В том-то и дело, что расстояние берется не в момент броска а в момент попадания в цель. Т.е по идее статичиски остается начальное положение атакующего. Положение атакуемого - переменное. Страшной полиномной формулы там нет. Просто считается процент в зависимости от уровня абилы дриады. |
09.01.2006, 16:25 | #7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Sergey
Старейший
offline
Опыт:
44,363Активность: |
2exploder, событие Unit is attacked срабатывает в момент начала атаки, но еще до того, как снаряд вылетел. Поэтому если в этот момент дать способность-усилитель, она сработает так, как нужно. По-моему этот вараиант с абилами будет самым простым. Недостоверные повреждения будут происходить только в очень редких случаях, если юнит-цель движется очень быстро или куда-то телепортируется. |
09.01.2006, 16:33 | #8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
TiM
Старичок
offline
Опыт:
8,594Активность: |
Это делается довольно просто: создаешь спелл, который при попадании вешает какой-либо буфф. И делаешь триггер, который запускается каждые 0.01 секунды, который проверяет:долетел ли Impetus до цели, точнее появился ли у цели этот буфф. Как только появился, высчитывается урон: 7,14,21,28% помноженный на расстояние ОТ АТТАКУЮЩЕГО В ДАННЫЙ МОМЕНТ до ЦЕЛИ В ДАННЫЙ МОМЕНТ, или же, скорее всего, *расстояние ОТ АТТАКУЮЩЕГО В МОМЕНТ БРОСКА до ЦЕЛИ В ДАННЫЙ МОМЕНТ. |
09.01.2006, 16:37 | #9
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
exploder
iOS zealot
offline
Опыт:
19,394Активность: |
Sergey
А - понятно... дык че геморится с абилой если можно подсчитать урон напрямую. А в момент нанесеня урона проверять расстояние повторно, если сильно изменилось, то чо нить делать... |
09.01.2006, 17:22 | #10
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Murloc
Powered by Q
offline
Опыт:
16,977Активность: |
а как совершать проверку и ваще как всё это реализовать?
Cyberface добавил: само копьё представляет собой усилитель урона,чтото наподобе огненных стрел |
09.01.2006, 18:00 | #11
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Markiz
offline
Опыт:
11,432Активность: |
В доте сделано так: на стрелках этих висит некоторый бафф, то есть при долете снаряда до цели у цели этот бафф проявляется. Поэтому при касте и просто атаке дриады они ждут пока появится бафф и затем дамажат. |
09.01.2006, 19:21 | #12
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Murloc
Powered by Q
offline
Опыт:
16,977Активность: |
да но баф то всегда разный!
Cyberface добавил: и появляется баф после попадания в цели копья Cyberface добавил: тааак.....ладненько. А как зделать мины которые подрываютсь тем кто их установил(хотябы одна) и вообще как сделать чтоб мины мона было ложить через спелл? З.Ы. вопросов очень много т.к. я новичок |
09.01.2006, 19:40 | #13
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
NETRAT
offline
Опыт:
83,712Активность: |
Там однозначно бафф задействован.
Cyberface что значит разный? бафф нам нужен только чтобы отследить момент попадания, на остальное он не влияет, так что бафф везде один. Такого типа спелл не поддерживает мультиинстанс - то есть если будет две Дриады(впрочем, в Доте их быть 2 не может), то спелл будет глючить в некоторых местах |
09.01.2006, 21:00 | #14
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Murloc
Powered by Q
offline
Опыт:
16,977Активность: |
Добрый дядя Нетрат всё нам расшифровал,а теперь такой вопрос :
Как это выглядит тригерно??? Куда лепить бафф? если модно то создайте мапу с примером героя Дядя НТ тока не посылай читать статью :))) |
09.01.2006, 22:35 | #15
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
NETRAT
offline
Опыт:
83,712Активность: |
Карту нету времени делать, суть для одной Дриады примерно такова:
Если в жассе совсем не бум-бум, то локалки замени глобалками и используй аналогичные триггерные функции. Impetus - это твой спелл, ImpetusBUFF - его бафф. Код:
далее в триггере считаем расстояние между точкой pSource и текущим положением юнита uTarget Math - Get Distance Between Points и вешаем ему соответствующий дамаг с учетом уровня абилы iLevel. Эффект всплывающего текста дамага - вероятно, это двигающися TextTag |
10.01.2006, 12:16 | #16
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Van Damm
wait... what?
offline
Опыт:
22,268Активность: |
а лучше не через баф, а, как предлагал сергей, по событию Unit is attacked создавать триггер, который отлавливает событие Unit is damaged с damage source'ом - кастующим юнитом. Тогда считать и дилить дамаг. Но для этого абила сама по себе должна дилить хоть 1 дамаг. |
11.01.2006, 01:31 | #17
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
MapMan
Corey 8 Taylor
offline
Опыт:
21,554Активность: |
2 трига(см. рисунки) и 6 переменных: 2(боевая еденица), 2(реальная), 1 целочисленная, 1 сторока. |
22.01.2006, 14:54 | #18
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Iron
Листовой
offline
Опыт:
24,427Активность: |
MapMan С твоим триггером, демаг будет наносится еще до долетания копья, если атакуемый будет убегать, или после, если будет двигаться на вас.
А в доте принцип другой, там демаг считается не так как у тебя (у тебя он считается const*(расстояние от атакующего в момент выстрела до атакуемого в момент выстрела), в доте считается так const*(расстояние от атакующего в момент выстрела до атакуемого в момент ПОПАДЕНИЯ СНАРЯДА). Т.е. если атакуемый будет убегать,то его шибанет гораздо сильнее, чем если он будет бежать к атакующему. |
23.01.2006, 16:49 | #19
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
NETRAT
offline
Опыт:
83,712Активность: |
Цитата:
|
|
23.01.2006, 17:41 | #20
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|