Добавлен chimera
Описание способности: Находясь 3 секунды вне боя, не нанося и не получая урона, вы можете войти в состояние незаметности на 1 минуту. Скорость вашего передвижения снижается на 30%, а следующий удар нанесет дополнительно 48 урона. Чтобы выйти из режима незаметности нажмите "escape". Перезарядка 7 секунд.
У данной способности 2 уровня, отличающихся друг от друга тем что второй требует 9999 маны, а первый требует нормальное количество. Как только герой наносит или получает урон способность становится 2го уровня что делает ее недоступной к использованию как будто не хватает маны, спустя же 3 секунды уровень снова понижается делая абилу доступной.
Проблема в том что постоянно находясь в бою, сразу по прошествию этих 3 секунд, на долю секунды абила становиться доступной, хотя герой находится в бою. Никак не могу придумать как это исправить. Триггерно это выглядит так:
- триггер
Событие
-периодическое событие - каждые 0.1 сек.-
Условие
нет
Действие -
-боевая единица - понизить уровень способности "незаметность" для "герой" до 1
- триггер
Событие
-боевая единица - юнит атакован
Условие
-Атакующий юнит=герой или Атакованный юнит=герой
Действие
-Триггер-выключить триггер номер 1
-Триггер-выключить триггер номер 2
-боевая единица - повысить уровень способности "незаметность" для "герой" до 2
-ждать 3 секунды
-Триггер-включить триггер номер 2
-Триггер-включить триггер номер 1
Вот и мелькает на долю секунды абила после этих 3 секунд... ничего в голову не идет
Принятый ответ
не стоит использовать ждать
создаём для юнита целочисленную переменную time
создаём для юнита целочисленную переменную time
1 триггер
Событие
периодическое событие - каждые 0.1 сек.-
Условие
time > 0
Действие
set time = time - 1
если time == 0 то понизить уровень способности "незаметность" для "герой" до 1
2 триггер
Событие
боевая единица - юнит атакован
Условие
Атакующий юнит=герой или Атакованный юнит=герой
Действие
set time=30
боевая единица - повысить уровень способности "незаметность" для "герой" до 2
не забудь закрыть вопрос (для этого выбери лучший ответ)
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Событие
-периодическое событие - каждые 0.1 сек.-
Условие
нет
Действие -
-боевая единица - понизить уровень способности "незаметность" для "герой" до 1
Событие
-боевая единица - юнит атакован
Условие
-Атакующий юнит=герой или Атакованный юнит=герой
Действие
-логическая переменная = ДА
-Триггер-выключить триггер номер 1
-Триггер-выключить триггер номер 2
-боевая единица - повысить уровень способности "незаметность" для "герой" до 2
-ждать 2 секунды
-логическая переменная=НЕТ
-Триггер-включить триггер номер 2
-ждать 2 секунды
-ЕСЛИ логическая переменная = НЕТ, то включить триггер 1
Отредактирован PROSHELDOTU
Делаешь событие Юнит - Получает урон
Условие DamageSource == твой юнит OR TriggerUnit == твой юнит THEN
Делаешь переменную типа Real, Time = 3.00
Включаешь второй триггер: Событие каждые 0.1 с Time=Time - 0.1
Условие, если Time <= 0.00 Then
Делаешь переход в состояние незаметности и т.д.
Третий триггер:
событие Игрок нажимает Escape
Условие TriggerPlayer == владелец твоего юнита AND выбран твою юнит THEN
Делаешь выход из скрытности
Отредактирован nvc123
создаём для юнита целочисленную переменную time