Как лучше сделать, свойство как у ульты Урсы из доты, а именно 80% уменьшение любого урона?
Принятый ответ
Кристофер, способность потом убирать надо
TeX13, умножаем полученный урон на 0,2 и получаем сниженный урон
проверяем хватает ли этого чтобы убить юнита (сниженный урон >= хп юнита)
если хватает то ничего не делаем
если не хватает то запоминаем (текущие хп юнита - сниженный урон)
даём камень и полностью хилим юнита
запускаем таймер на 0,0 секунд
по окончанию таймера удаляем камень и устанавливаем хп юнита равное запомненному значению
а вообще тема поднималась 1000 раз и есть куча готовых систем
TeX13, умножаем полученный урон на 0,2 и получаем сниженный урон
проверяем хватает ли этого чтобы убить юнита (сниженный урон >= хп юнита)
если хватает то ничего не делаем
если не хватает то запоминаем (текущие хп юнита - сниженный урон)
даём камень и полностью хилим юнита
запускаем таймер на 0,0 секунд
по окончанию таймера удаляем камень и устанавливаем хп юнита равное запомненному значению
а вообще тема поднималась 1000 раз и есть куча готовых систем
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
тогда триггерно
отлавливаем полученный урон и восстанавливаем 80% хп от полученного урона
Легче при касте способности добавлять два стандартных скилла: защита от магии и защита от физ.урона (точные названия не помню) и запускать таймер. После её окончания убирать способности у юнита.
Так что либо полностью, либо не так как надо...
В итоге мы имеет геморрой с другой стороны вопроса.
Extremator:
Отредактирован GetLocalPlayer
GetLocalPlayer: но тут возникает другая проблема, юнит теперь не может умереть, хотя можно, я думаю, это можно подсчитать
Отредактирован nvc123
TeX13, умножаем полученный урон на 0,2 и получаем сниженный урон
проверяем хватает ли этого чтобы убить юнита (сниженный урон >= хп юнита)
если хватает то ничего не делаем
если не хватает то запоминаем (текущие хп юнита - сниженный урон)
даём камень и полностью хилим юнита
запускаем таймер на 0,0 секунд
по окончанию таймера удаляем камень и устанавливаем хп юнита равное запомненному значению
а вообще тема поднималась 1000 раз и есть куча готовых систем
юзай мемхакставь на 0.01.Отредактирован nvc123
дебаг добавь
и да
на гуи такие системы не стоит делать
юзай джасс
либо скачай готовую систему если сам написать не можешь
специально глянул свой старый код
всё работает так как я написал
так что ошибка либо в условии либо ты не смог правильно создать абилку
хотя я и не понимаю как можно было не правильно заменить число 300 на число 99999
в любом случае нужен дебаг
первый в самом начале действий (чтобы проверить что выполняется общее условие)
второй в ифе
третий после хила выводит максимальное и текущее хп юнита
TeX13:
чтобы атаки которые больше макс хп не убивали цель
добавь дебаг и кинь результат
вот еще раза гуи кидаю
о, одну ошибку нашел, во 2ом триггере вместо переменной обращение к переключающему юниту. осталось только с выхиливанием разобраться
nvc123, Extremator, прошу прощения парни за то, что сомневался в ваших словах. все моя рукожопость. алгоритм работает корректно, только теперь здоровье совсем не уменьшается(
виной всему была способность перст смерти, которая наносит сразу 2 моментальных урона, из-за чего триггер работает не правильно
я вообще не понимаю как ты пытаешься чтото делать без дебага
и лучше не beshur < здоровье а beshur + 1 < здоровье
т.к. числа дробные и может быть баг с тем что юнит должен был умереть но система считает что он жив