Привет всем, может кто помочь со такой способностью, которая отнимала бы у героя 50% от текущего запаса здоровья, и в течении 10 сек. восстанавливала бы их обратно.
Вкратце это способность героя Зул'джин из Heroes of the Storm.
Думал как это реализовать на гуи, в голову ничего не лезет, могу только отнять здоровье, не знаю как это же количество восстанавливать обратно.
Описание скилла из хотса:
"При использовании Зул'джин мгновенно теряет 50% текущего запаса здоровья и восполняет такой же объем здоровья в течение 10 сек."
Делаю на рефордже последней версии.
Буду благодарен за любую помощь.

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

Не обязательно. Карта.
Загруженные файлы
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
1
29
4 года назад
1
Я уже не помню есть ли абилка с регеном не в %, а в абсолютных значениях.
Кажись у фонтана можно выбирать в каких значениях лечить.
2
3
4 года назад
2
prog:
Я уже не помню есть ли абилка с регеном не в %, а в абсолютных значениях. Если есть - появляется вариант как сделать дешево и сердито. Делаем кастомную абилку, триггером выдаем её юниту и нативкой для манипуляции с полями абилок меняем кол-во регена на рассчитаное исходя из кол-ва отнятого здоровья и длительности эффекта, ждем время длительности эффекта, удаляем абилку.
Более сложный, но более красивый вариант - то-же самое, но через даммика и абилку типа зелья омоложения. Минус - нужен даммик. Плюс - наличие визуальной индикации эффекта и не нужен таймер.
При условии, что нужные поля доступны для изменения, естественно.
Это весьма может подойти, оба варианта, спасибо за помощь.
Как появится время, попробую реализовать и закрыть тему соответственно.

NazarPunk:
Боюсь это невозможно, слишком много триггеров.
Мой внутренний экстрасенс говорит, что если переписать на lua, то их станет в разы меньше.
Я бы с радостью переписал, если бы знал луа.
Может мне и правда стоит заняться его изучением раз там так всё просто можно реализовать.
3
32
4 года назад
3
Может мне и правда стоит заняться его изучением раз там так всё просто можно реализовать.
а вот это правильный подход
1
26
4 года назад
1
юнит, реалка, число, таймер
записываешь юнита, в реалку 0.5 от текущего хп юнита
уменьшает хп юнита на реалку, число 10, запускаешь таймер
по таймеру уменьшаешь число на 1, если дошло до нуля - паузишь таймер
увеличиваешь хп юнита на 0.1 от реалки
готово
1
32
4 года назад
1
по таймеру уменьшаешь число на 1, если дошло до нуля - паузишь таймер
нужна хештаблица или структура, чтобы юнита через таймер передать, ты упустил самое важное
1
29
4 года назад
1
нужна хештаблица или структура, чтобы юнита через таймер передать, ты упустил самое важное
Если один герой на игрока, то 24 таймера и массив)
3
26
4 года назад
Отредактирован PT153
3
Не обязательно. Карта.
Загруженные файлы
Принятый ответ
1
29
4 года назад
1
Не обязательно.
Варкрафта нет, что там?
1
32
4 года назад
Отредактирован Берги
1
Extremator, так не муи же, но тоже будет работать мб новичку более полезно чем мой пример
Загруженные файлы
0
3
4 года назад
0
Extremator:
Не обязательно.
Ух ты, да ты гений. Спасибо большое.
1
29
4 года назад
1
так не муи же
Дык берём индексер, запускаем таймер и при касте записываем в массив нужное количество хп, добавляем в группу героя и перебираем на каждый тик)
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.