При касте способности создаётся эффект на боссе, но если атаковать этого босса или другого юнита, то этот эффект с каждым ударом рандомно может прерваться или начать анимацию заново. В ранних версиях карты такого не было, анимация не прерывалась и не начиналась заново. Из за чего такое может происходить? Хелп

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

DarkLigthing, только 1 раз проверял? этот баг не всегда и у меня срабатывал

Всем большое спасибо за помощь. Удаляя триггеры по несколько папок, методом исключения нашёл триггеры из за которых всё это происходило, не знаю откуда там это действие в триггере, но я валерий меладзе получается

DarkLigthing, спасибо большое что подсказал проверить триггеры с событием юнит атакован)
Загруженные файлы
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
0
19
4 года назад
0
Похожие вопросы:

ответ
~8gabriel8:
Это жесть, что ты сделал) Этот русификатор триггеров уж такую муть содержит, что ты просто какую-то белиберду сотворил. Исправил до рабочего вида, но чтобы совсем красиво было, это не ко мне, а к джассерам. Просто времени мало на всё, а исправление этих триггеров затратило его довольно много.
ответ
чесн, в этом триггере прекрасно все
от точки, которая создается, не используется, но удаляется
пика группы юнитов, которые все суммарно сколько их на карте нанесут бедной цели урон
и до атакованного юнита, которого вообще здесь не может быть)

что по сути, так я хз как можно прозевать "Цель способности", или как оно у вас называется в русифицированных триггерах. на стандартной версии это target of ability being cast
цикл здесь скорее всего не нужен, если конечно только смысл действительно в том что бы брать всех огров на карте и наносить цели урон.
ответ
Остальные не помню, откуда.
Сборку игры я спрашивал.
WAGARAX:
Время - 1.1 сек
Верни 5 секунд в игровых константах.
А ещё перезагрузи компьютер.

0
13
4 года назад
0
Сюда карта не загружается почему то
0
18
4 года назад
0
Проблема в действии "Wait".
2
32
4 года назад
2
Нуу.. Wait на таймере конечно плохое решение, но я сам так делал, и это не вызывало никаких проблем, главное чтобы wait не был выше чем, период таймера. Но тут кажется, что дело в чем-то другом. easypeasy, может нам видео проходящего запишешь?
2
18
4 года назад
2
Пауза тоже может всё сломать. Можно вместо паузы паладина триггерно заставить его кастовать непрерываемую channel-способность (пустышку), которая длится 3 секунды. И создать триггер с событием "Юнит завершает применение способности" (или применяет способность - точно не помню, там этих типов событий несколько штук), в котором уже удалять спецэффект и кастовать "Удар грома".
0
13
4 года назад
0

Bergi_Bear, Maniac_91, в более ранних версиях карты этого косяка не было, не смотря на то что триггеры не менялись конкретно для этого босса. Баг срабатывает не всегда, вообще не понятно что его триггерит. У меня есть предположения что это из за того что в карте добавилось больше триггеров с событиями Юнит атакован (всего их около 30), также были случаи когда открывал карту в других редакторах и сохранял.

Maniac_91, делал босса неуязвимым и в этот момент атаковал другого юнита - это всё равно триггерило баг, вообще что в варике может вызвать прерывание или самопроизвольный запуск анимации эффекта?
2
18
4 года назад
2
На прикреплённом видео видно, как заклинание (основанное на "Огненном ударе" Чародея крови, полагаю) наносит периодический урон, и при каждом получении урона на паладина цепляется эффект. Чтобы избежать этого, можно ввести логическую переменную. Например, назовём её Fire_Effect. При атаке делаем проверку. "Если Fire_Effect = Да", то не запускаем действия. "Если Fire_Effect = Нет", то устанавливаем "Fire_Effect = Да" и продолжаем все оставшиеся действия, в конце устанавливаем "Fire_Effect = Нет". Также в условия нужно добавить, что "Атакованный юнит = Огненный паладин 0043", чтобы триггер не реагировал на атаки по другим юнитам.
триггеров с событиями Юнит атакован (всего их около 30)
На мой взгляд, лучше сделать одним триггером с несколькими событиями "Юнит получает урон" (не "атакован") и проверкой условиями "Триггерный юнит равно ...".
что в варике может вызвать прерывание или самопроизвольный запуск анимации эффекта?
На ум приходят только триггеры.
2
15
4 года назад
Отредактирован DarkLigthing
2
Переписал триггер без Wait, спецэффект перестал сбиваться.
function EndEffect takes nothing returns nothing
    call DestroyEffect(udg_FirePalladinEffect01)
    call PauseUnit(gg_unit_E000_0043, false)
    call IssueImmediateOrder( gg_unit_E000_0043, "thunderclap" )
    call PauseTimer(GetExpiredTimer())
    call DestroyTimer(GetExpiredTimer())
endfunction

function Trig_FirePalladin04_Actions takes nothing returns nothing
    local timer t = CreateTimer()
    if GetRandomInt(1,2) == 1 then
     else
     set udg_FirePalladinEffect01 = AddSpecialEffectTarget("war3mapImported\\File00802.mdx", gg_unit_E000_0043, "origin")
     call PauseUnit(gg_unit_E000_0043,true)
     call SetUnitAnimation( gg_unit_E000_0043, "Stand Channel" )
     call TimerStart(t,3.00,false,function EndEffect)
     endif
     set t = null
endfunction

//===========================================================================
function InitTrig_FirePalladin04 takes nothing returns nothing
    set gg_trg_FirePalladin04 = CreateTrigger(  )
    call TriggerRegisterTimerEventPeriodic( gg_trg_FirePalladin04, 13.00 )
    call TriggerAddAction( gg_trg_FirePalladin04, function Trig_FirePalladin04_Actions )
endfunction

Нужно избавляться от wait. Вместо wait тебе нужно будет запустить таймер, который по окончанию вызовет функцию, продолжающую необходимые действия. В эту функцию значения локально не передать, только через хэш-таболицу, либо через глобалки. И вообще надо взять за правило всегда избегать wait если это возможно.
0
13
4 года назад
Отредактирован easypeasy
0
На прикреплённом видео видно, как заклинание (основанное на "Огненном ударе" Чародея крови, полагаю) наносит периодический урон, и при каждом получении урона на паладина цепляется эффект
Способность на основе удара грома, кастуется в самом конце действий триггера, после спецэффекта. Видимо не ту способность посмотрел, в вопросе я прикрепил скриншот с триггерами для этой способности

Нужно избавляться от wait. Вместо wait тебе нужно будет запустить таймер, который по окончанию вызовет функцию, продолжающую необходимые действия.
Вместо wait я пробовал запускать таймер, и через событие когда этот таймер закончится - совершал остальные действия триггера(анпаузил босса, удалял эффект, и кастовал Удар грома) но при этом всё равно эффект прерывался. Я может что то не так делаю, можно ли на гуи через обычный таймер этот пофиксить?

DarkLigthing, у тебя точно работает без прерывания эффекта?
Вот я даже просто создаю эффект на боссе и эффект при атаке этого босса всё равно начинает прерываться и даже пропадает
походу дело не в действии wait
Загруженные файлы
2
15
4 года назад
2
easypeasy:
Вместо wait я пробовал запускать таймер, и через событие когда этот таймер закончится - совершал остальные действия триггера(анпаузил босса, удалял эффект, и кастовал Удар грома) но при этом всё равно эффект прерывался. Я может что то не так делаю, можно ли на гуи через обычный таймер этот пофиксить?
Если ты всё сделал правильно с таймером, то возможно это не wait. Единственное отличие моего кода от того что в GUI это отсутствие BJ функций, таймер точно такой же. Может это BJ конфликтует с чем-то в другой части триггеров. А такое пофиксить без вмешательства Jass... проблематично. Пока что идей нет, но ты можешь убедиться что мой код работает если конвертируешь свой триггер Paladin04 в текст и заменишь его содержимое, тем что я дал выше.
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.