Добавлен
Как лучше сделать, свойство как у ульты Урсы из доты, а именно 80% уменьшение любого урона?

Принятый ответ

Кристофер, способность потом убирать надо
TeX13, умножаем полученный урон на 0,2 и получаем сниженный урон
проверяем хватает ли этого чтобы убить юнита (сниженный урон >= хп юнита)
если хватает то ничего не делаем
если не хватает то запоминаем (текущие хп юнита - сниженный урон)
даём камень и полностью хилим юнита
запускаем таймер на 0,0 секунд
по окончанию таймера удаляем камень и устанавливаем хп юнита равное запомненному значению
а вообще тема поднималась 1000 раз и есть куча готовых систем
0
2
7 лет назад
0
Взять похожую способность, например "Ледяной щит", и задать ему нужные параметры. Да, конечно, в данном случае идет увеличение брони, но это самый простой способ
1
28
7 лет назад
1
любого это и магического и физического?
тогда триггерно
отлавливаем полученный урон и восстанавливаем 80% хп от полученного урона
5
18
7 лет назад
5
nvc123, таким образом, юнит с 10 хп погибает от 20 урона, хотя должен выдержать ещё 2 удара, и только с 3-го погибнуть.
Легче при касте способности добавлять два стандартных скилла: защита от магии и защита от физ.урона (точные названия не помню) и запускать таймер. После её окончания убирать способности у юнита.
1
26
7 лет назад
1
Кристофер:
nvc123, таким образом, юнит с 10 хп погибает от 20 урона, хотя должен выдержать ещё 2 удара, и только с 3-го погибнуть.
Легче при касте способности добавлять два стандартных скилла: защита от магии и защита от физ.урона (точные названия не помню) и запускать таймер. После её окончания убирать способности у юнита.
Во-первых, это лишь указание на то каким образом нужно делать данный скилл, остальное - уже мелочи которые нужно уточнять.
Во-вторых, на физ.урон работает нормально только каменный доспех, но он блокирует урон не в %. А в % только хитиновый панцирь, который работает только против ближнего боя...
Так что либо полностью, либо не так как надо...
В итоге мы имеет геморрой с другой стороны вопроса.
В-третьих, можно заставить юнита впитать более 999999 урона (любого), имея всего 1 хп как максимальное. Для этого надо использовать другой инструмент. Точно так же как и правильное блокирование урона в случае с превышением лимита хп...
0
16
7 лет назад
0
nvc123:
любого это и магического и физического?
тогда триггерно
отлавливаем полученный урон и восстанавливаем 80% хп от полученного урона
разве он не может умереть при таком событии?
Extremator:
Во-вторых, на физ.урон работает нормально только каменный доспех, но он блокирует урон не в %. А в % только хитиновый панцирь, который работает только против ближнего боя...
Так что либо полностью, либо не так как надо...
В итоге мы имеет геморрой с другой стороны вопроса.
физ урон можно контролировать с помощью защиты. узнаем формулу влияния защиты и добавляем нужное значение
0
17
7 лет назад
Отредактирован GetLocalPlayer
0
nvc123, таким образом, юнит с 10 хп погибает от 20 урона, хотя должен выдержать ещё 2 удара, и только с 3-го погибнуть.
Дай способность камня здоровья на 99999 хп, исцели юнита и запусти таймер на 0.0 сек, по истечению которого эту способность отбираешь.
0
16
7 лет назад
0
GetLocalPlayer, надо будет попробовать
GetLocalPlayer:
nvc123, таким образом, юнит с 10 хп погибает от 20 урона, хотя должен выдержать ещё 2 удара, и только с 3-го погибнуть.
Дай способность камня здоровья на 99999 хп, исцели юнита и запусти таймер на 0.0 сек, по истечению которого эту способность отбираешь.
но тут возникает другая проблема, юнит теперь не может умереть, хотя можно, я думаю, это можно подсчитать
0
18
7 лет назад
0
GetLocalPlayer, тогда уж, не на 99999 хп, а на 80% от полученного урона. И целить ничего не надо.
2
28
7 лет назад
Отредактирован nvc123
2
Кристофер, способность потом убирать надо
TeX13, умножаем полученный урон на 0,2 и получаем сниженный урон
проверяем хватает ли этого чтобы убить юнита (сниженный урон >= хп юнита)
если хватает то ничего не делаем
если не хватает то запоминаем (текущие хп юнита - сниженный урон)
даём камень и полностью хилим юнита
запускаем таймер на 0,0 секунд
по окончанию таймера удаляем камень и устанавливаем хп юнита равное запомненному значению
а вообще тема поднималась 1000 раз и есть куча готовых систем
Принятый ответ
0
26
7 лет назад
0
физ урон можно контролировать с помощью защиты. узнаем формулу влияния защиты и добавляем нужное значение
такой себе вариант... поверь
0
16
7 лет назад
0
nvc123, боже вы хоть проверяете что говорите? доверился вам и в результате:
  1. юнит не выхиливается сразу после добавления способности (хп)
  2. таймер за 0.00 не срабатывает
Загруженные файлы
0
18
7 лет назад
0
TeX13, юзай мемхак ставь на 0.01.
0
16
7 лет назад
0
Кристофер:
TeX13, юзай мемхак ставь на 0.01.
да фиг с ним, с таймером, если юнит до этого не отхиливается, значит этот таймер и во все не нужен
0
28
7 лет назад
Отредактирован nvc123
0
TeX13, у всех работает у одного тебя проблемы и сразу виноват весь мир
дебаг добавь
и да
на гуи такие системы не стоит делать
юзай джасс
либо скачай готовую систему если сам написать не можешь
специально глянул свой старый код
всё работает так как я написал
так что ошибка либо в условии либо ты не смог правильно создать абилку
хотя я и не понимаю как можно было не правильно заменить число 300 на число 99999
в любом случае нужен дебаг
первый в самом начале действий (чтобы проверить что выполняется общее условие)
второй в ифе
третий после хила выводит максимальное и текущее хп юнита
0
16
7 лет назад
0
так что ошибка либо в условии либо ты не смог правильно создать абилку
хотя я и не понимаю как можно было не правильно заменить число 300 на число 99999
не хочу тебя обидеть, но довольно странно, что из моих слов:
TeX13:
юнит не выхиливается сразу после добавления способности (хп)
таймер за 0.00 не срабатывает
ты не смог понять, что дело не в абилке, а в выхиливание, не знаю, как там у тебя все работает, но явно некорректно при таком же алгоритме. ты просто не тестил на моментальном уроне, превышающем макс. запас здоровья
9
26
7 лет назад
9
А я тестил. И могу точно сказать - всё должно работать, если сделать правильно.
2
28
7 лет назад
2
ты просто не тестил на моментальном уроне, превышающем макс. запас здоровья
для этого абилка и нужна
чтобы атаки которые больше макс хп не убивали цель
добавь дебаг и кинь результат
0
16
7 лет назад
0
Extremator, я не понимаю, как здесь что-то можно сделать неправильно( можете дать ссылку на наработку?
вот еще раза гуи кидаю
о, одну ошибку нашел, во 2ом триггере вместо переменной обращение к переключающему юниту. осталось только с выхиливанием разобраться
nvc123, Extremator, прошу прощения парни за то, что сомневался в ваших словах. все моя рукожопость. алгоритм работает корректно, только теперь здоровье совсем не уменьшается(
виной всему была способность перст смерти, которая наносит сразу 2 моментальных урона, из-за чего триггер работает не правильно
Загруженные файлы
0
28
7 лет назад
0
только теперь здоровье совсем не уменьшается(
добавь дебаг
я вообще не понимаю как ты пытаешься чтото делать без дебага
и лучше не beshur < здоровье а beshur + 1 < здоровье
т.к. числа дробные и может быть баг с тем что юнит должен был умереть но система считает что он жив
Чтобы оставить комментарий, пожалуйста, войдите на сайт.