Новые сообщения · Участники · Правила форума · Поиск · RSS
Страница 1 из 11
Модератор форума: MEGA 
Форум » Warcraft III » Триггеры и Jass » Баги в триггерах и Jass (Находки можно постить в этой теме)
Баги в триггерах и Jass
[DUОS] Дата: Четверг, 25.04.13, 13:05 | Сообщение # 1
Нельзя предать мечту.
V.I.P.
Сообщения: 698
Репутация: 734
Ознакомлю вас с небольшим списком моих "находок" в языке Jass. Находки очень любопытные.

  • Баг: В событии "боевая единица получает урон" (EVENT_UNIT_DAMAGED) не работает действие Wait (TriggerSleepAction).
    Решение: Похоже, что только таймерами или помещением действия Wait в отдельную функцию и вызовом её через ExecuteFunc. Они там работают нормально.

  • Баг: После первой реакции на событие "боевая единица получает урон" (EVENT_UNIT_DAMAGED) даже если захотеть компенсировать урон, это не будет сделано (жизни первый раз не восполнятся).
    Решение: Нужно создать таймер, который запускается одноразово на 0.001 сек., затем уже менять жизни боевой единицы. Сработает на ура. Даже если у юнита одна единица здоровья, он не умрёт, останется в живых.

  • Баг: Почти все стандартные способности WarCraft 3 регистрируют двойное, тройное и даже учетверённое событие получения урона. Из-за этого авторы некоторых карт могут рвать на себе волосы, не понимая, откуда взялся вылет в карте из-за зацикливания урона. С обычной атакой такого не происходит.
    Решение: Во всех триггерах карты с подобным событием нужно всегда ставить условие, которое будет проверять, что полученный урон больше нуля (либо не равен нулю, если вы используете отрицательный урон). В Jass оно выглядит как GetEventDamage() > 0. Не пренебрегайте этим.


Школа - это место, где шлифуют булыжники и портят алмазы. © Роберт Ингерсолл
 
Obi-Wanya Дата: Четверг, 25.04.13, 19:30 | Сообщение # 2
V.I.P.
Сообщения: 2226
Репутация: 482
Цитата (|DUOS|)
авторы нескольких карт

некоторых*




"У меня нет совести. У меня есть только нервы." Рюноскэ Акутагава.
"Человек всегда бывает в чем-то немножко виноват." Альбер Камю.
 
Форум » Warcraft III » Триггеры и Jass » Баги в триггерах и Jass (Находки можно постить в этой теме)
Страница 1 из 11
Поиск: