Добавлен Ghostly
Столкнулся с проблемой при нанесении урона не конкретных цифр,а от статов. Суть вопроса в том: как тригерно наносить урон к примеру раз в 3 секунды на протяжении 15 секунд.а ещё лучше помог бы пример.И 2й вопрос как заставить юнита использовать способность каждые 3 секунды на протяжении его жизни.Помогите кто шарит)
Принятый ответ
Ghostly:
Hate, мне нужен рабочий вариант чтоб меняя свои данные я понял что влияет на работоспособность,а что нет.В твоей же я увидел цифры по 15сек думал атк и будет работать,а на деле только 9 сек рабочих.Напрашивается вывод где из всех тех цифр отвечающие за продолжительность. Может у кого есть уже наработка с хотами,дотами,периодическими событиями,киньте будьте добры,буду разбираться.
это и есть рабочий вариант, слов нет.
там урон наносится каждые 5 секунд в течении 15, если бы вы потратили хоть толику внимания на гребаные триггеры вы бы заметили цифры которые там есть
раз
два
три
читать умеем? считать умеем?
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Ред. Astra
Ред. Ghostly
Триггерные способности с переодическим уроном очень легко и быстро делаются с помощью таймера\триггера и хештаблицы но не на гуи.
Суть проста, при применении мы сохраняем в некий буффер все нужные нам данные, а именно кто кастовал (источник урона) кто цель (жертва) каков урон, все это мы крепим на таймер и запускаем его, всякий раз когда он будет истекать он будет вызывать функцию где мы будем проверять а жива ли жертва, прошло ли достаточно времени или нет чтобы остановить и удалить таймер (конец время действия) а так же действия связанные с нанесением урона.
Прошу написать что конкретно вам непонятно? настоятельно рекомендую слезть с гуи и читать статьи по jass, на jass больше примеров и наработок, на jass проще и быстрее реализовать такие вещи про которые сейчас идет речь
Ред. ClotPh
Есть идея, как отловить ЕЖЕСЕКУНДНЫЙ урон от одного источника без бд?
При получении урона проверять - есть ли на наносителе абила-маркер "наносил урон секунду назад" и больше ли её уровень 1 и есть ли на получающем абила-маркер - "получал урон в ближайшую секунду" и больше ли её уровень 1.
У них должно быть по 2 уровня.
Если на первом маркер есть, а на втором нет, то добавить второму маркер, но разрушить таймер и флушить хэштейбл.
Если на первом маркера нет, а на втором есть, то добавить первому маркер и второму тоже, хоть он у него и есть, сделать перманентными и запустить таймер, заканчивающийся через 1.01 сек. и передобавляющий маркеры с перманентностью каждые 0.01 сек. в течение 1 сек., через секунду от старта увеличивающий их уровень на 1, а на 101-м тике - удаляющий и саморазрушающийся. Там локалка integer поможет.
Если маркеров нет, добавить их, сделать перманентными и запустить таймер, заканчивающийся через 1.01 сек. и передобавляющий маркеры с перманентностью каждые 0.01 сек. в течение 1 сек., через секунду от старта увеличивающий их уровень на 1, а на 101-м тике - удаляющий и саморазрушающийся. Там локалка integer поможет.
Так же некоторые баффы можно патчить мемхаком, но это слишком не универсально и геморно.
Короче, ятп, текста выше кроме меня никто не понял, ну я и самостоятельно не оч понимаю сейчас с первого взгляда =) , но в код его, попотев, превратить смогу (если моя идея верна, то и триггерный периодик урон, и не триггерный отследит, в принципе любой).