Добавлен 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 поможет.
Так же некоторые баффы можно патчить мемхаком, но это слишком не универсально и геморно.
Короче, ятп, текста выше кроме меня никто не понял, ну я и самостоятельно не оч понимаю сейчас с первого взгляда =) , но в код его, попотев, превратить смогу (если моя идея верна, то и триггерный периодик урон, и не триггерный отследит, в принципе любой).
Тебе же нужно обнаружить любой переодический урон от способностей, а их может быть много, разных при разных. Дефольт отслеживать оч. геморно, нужно все делать кастом.
ещё вопрос насчет действия ждать..если присутствует ждать Х время.это уже не муи скил?
Отредактирован Hate