Доброго времени суток, знатоки. У меня возникла проблема с воскрешением героев после их смерти.
Иногда (не всегда), случается такое, что умерший герой не воскрешается (то таймер в таблице не появляется, из-за чего и не воскрешается герой, то таймер появится, пройдет до ноля, а герой не воскресится), при чем один игрок (герой) воскрешается а другой нет.
Короче есть три основных триггера которые и отвечают за воскрешение героев, см. ниже:
Тут при смерти героя, задается значение таймера (последнее действие триггера "set T[(player number of dying unit)] = (Hero level of dying unit * 5) + 10")
Тут у нас идет отчет времени (каждую секунду) до момента воскрешения (отчет записывается в таблицу, чтоб игроку было видно когда воскреснет герой), по завершении отчета, если переменная Т(номер трупа игрока =) ) равна нолю, и в то же время герой игрока еще мертв, то бежит к след. триггеру.
В этом триггере происходит само воскрешение героя.
Так вот, господа знатоки, подскажите что не так? (полюзуюсь исключительно граф интерфейсом триггеров, jass не получается осилить =(( )
За ранее благодарен, с уважением, Cardinal
Проблема решена, багов с воскрешением нет. (возможно проблема была в вейтах)

Cardinal, за такое именование переменных нужно по рукам бить.
то бежит к третьему триггеру которій и воскрешает
Не плодите триггеров, все нужные действия можно и в цикле сделать.
У вас переменная T отвечает за состояние героя, зачем проверять жив юнит или нет?
T<0 Жив
T==0 Нужно воскресить прям сейчас
T>0 Ждёт воскрешения
Cardinal:
T[номер героя] болше или равна 1
больше или равна 0 => T[] = T[] -1
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
26
Вместо действия воскрешения героя поставил бы
If ((Integer A) меньше 7) Then Воскресить в StartTeam1 Else Воскресить в StartTeam2
1
8gabriel8, я уже по переменной точке сделал, пока работает отлично, буду тестить с другом, он за другую команду будет играть, там и посмотрим вылезает ли проблема снова или уже решена.
NazarPunk, благодаря Вашим замечаниям мне получилось существенно упростить один триггер а другой и вовсе удалить)
Большое Вам обоим спасибо за советы и подсказки, после теста с другом, еще отпишусь, и обязательно скажу решилась ли проблема. А в своей карте напишу Вам благодарности)))
Возможно XGM будет первым ресурсом где опубликую карту))
26
И до кучи избавьтесь от вэйтов.
Cardinal, кстати, Wait настоятельно не рекомендуют использовать в циклах и категорически нельзя использовать в действиях с группой. Может быть из-за него проблема и возникала. Если разбирать ваш изначальный случай с тремя триггерами, Wait следовало перенести из второго триггера, где он задействован в цикле, самым первым действием в третий триггер.
1
8gabriel8, возможно и из-за него и была проблема, я раньше слышал (вернее читал), что вэйты очень проблематичные по своей природе, но как-то не обратил внимания что у меня вэйт в важном триггере находится, но с упрощенной воскрешалкой уже вэйта нету, а значит и проблемы скорее всего и не будет.. кстати а чем можно заменять вэйты, если они вдруг очень необходимы?
26
Один из наших пользователей сделал карту с примерами удаления утечек в графических триггерах, чуть-чуть её подредактировал. Может быть пригодится:
Загруженные файлы
1
8gabriel8, спасибо за карту, изучу.. потом еще напишу что да как с воскрешением и т.д.
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.