Добавлен Enemy1PK
Нужно сделать эффекты замедления как у мага льда в вовке.
Например, добавить замедление для Blizzard.
Например, добавить замедление для Blizzard.
Какие вижу варианты:
- Даммик-кастер.
- Дать ауру торнадо.
- Вычислять скорость и потом выставлять.
Any ideas?
Принятый ответ
тут надо при нанесении урона цели
- на цель вешаем бафф (даем ауру)
- создаем для цели таймер, запускаем. привязываем таймер к юниту хт, юнита к твймеру хт. хт - хэш-таблица. Нужно сохранить инфу в хт, чтобы получать инфу. Пример, когда повторно бьем цель, можно проверить есть ли у него таймер. нам не нужно создавать новый таймер. Достаточно перезапустить таймер. Или юнит умер, все удалить надо, хт чистим. Таймер истек, надо почистить хт с двух концов (с юнита/с таймера).
- юнит умирает, можно таймер удалить. получаем ссылку на таймер. хт чистим. таймер уничтожаем
- когда таймер истечет, удаляем бафф. удаляем таймер. Получаем ссылку на юнита. Чистим хт, дабы память не засорять.
- по идее, у каждой цели будет свой таймер. при истечении он удаляется. Общий таймер можно сделать, тогда все цели запихиваем в группу, и ежесекудно перебираем в ней каждую цель. Можно счетчик времени каждой цели задать, и ежесекудно вычитать -1. Когда время истечет, <=0 цель выпиливается из группы и хт. Использовать общий или отдельно для каждого таймер - это ваш выбор
На гуи сидите?
Похожим эффектом продления обладает ядовитое облако.
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Ред. Enemy1PK
Тут нужен какой-то условный таймер для удаления замедла, чтобы когда юнит уже замедлен и снова получает замедление то этот таймер обнулялся и заново шел пока не перестанут кастовать и он не достигнет своей цели - очистить юнита.
Я вот не знаю как это нормально сделать, пробовал циклу обнулять переменную - работает конечно, но только пока цель - один юнит, видимо потому что цикл не отдельный каждый раз создается.
У меня всегда после добавления и удаления юнитов прибавляется число Handle.
ArhiMEN:
Вообще не понятно, как 1 глобальный таймер может помочь где даже локальные таймеры каждому юниту не до конца помогают т.к не понятно как им сбрасывать время.
Ред. MpW
Ред. Enemy1PK
МрачныйВорон: Звучит хорошо, но без примера будет конечно сложновато. Я могу сохранить и выгрузить данные из таблицы, но не знаю как связать таймер и юнита, как потом проверить наличие таймера и даже не представляю как таймер перезапускается, потому что никогда таких функций не видел, есть создание, удаление, но не перезапуск.
Ред. Enemy1PK
Не зря же существует фраза "Скажи мне – и я забуду, покажи мне – и я запомню, дай мне сделать – и я пойму"
Бтв читать старые статьи про jass в конце 2021 года это вообще забей, вот примеры от FadeS изи понимаются, да даже от китайцев с их YDWE нормально залетают.