Добавлен
Столкнулся с очень интересной ситуацией.
Есть 2 дамми:
Стенка, которая защищает от урона юнитов, находящихся в секторе "защиты".
Снаряд, который наносит урон при поражении врага и рушит стенку.
А теперь сама ситуация.
Если снаряд поражает стенку, то у нее отыгрывается 1 секунда смерти и в это время снаряд продолжает сталкиваться с умирающей стенкой, пока она полностью не будет удалена из игры. Но если снаряд поражает не даммика (стенку), то все нормально.
P.S. условие используется UnitAlive, юниты заносятся в группу и отсеиваются тоже условиями (ибо в 1.26 версии булэкспры часто багуются даже с минимальным кол-вом условий).
Как это лечится? Время смерти у того же работника 3.34 сек., у стенки 1 сек., но работник нормально проходит условия.

PT153:
Да, летающий.
Тем более странно, летающие не могут ни с кем столкнуться.
Я, наверное, забыл сказать, что все сделано с помощью cJass.
8gabriel8:
Atesla, приложи карту со своими стенкой и снарядом.
Мой косяк: забыл поставить для стенки условие UnitAlive. Теперь все работает как надо. Спасибо за соучастие)
Загруженные файлы
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
28
С каких пор боолэкспры багуются? Использую их и всё работает хорошо.
Стенка же юнит? Во время смерти убери поставь в SetUnitPathing на false.
8
PT153:
С каких пор боолэкспры багуются? Использую их и всё работает хорошо.
Стенка же юнит? Во время смерти убери поставь в SetUnitPathing на false.
Это странно, ибо у меня из-за двух условий булэкспр "сдувался" (или их как-то по-другому использовать?), из-за чего на одной версии все шло нормально, на другой все через одно место.
SetUnitPathing не помог, но спасибо за попытку решить проблему.
28
А стенка - здание?
При попадании можно стенку сразу удалять RemoveUnit, а для проигрывания анимации нужно в позиции стенки создавать и сразу удалять эффект, который использует модель стенки.
Atesla:
у меня из-за двух условий булэкспр "сдувался"
Что это значит? Распиши поподробнее, можешь код кинуть.
8
PT153:
А стенка - здание?
При попадании можно стенку сразу удалять RemoveUnit, а для проигрывания анимации нужно в позиции стенки создавать и сразу удалять эффект, который использует модель стенки.
Стенка юнит, но не здание (хотя подумывал насчет того, чтобы сделать ее зданием).
Можно удалять дамми и созданный эффект, но все же хочется понять, почему проверка работает по-разному для дамми и обычных юнитов.
Что это значит? Распиши поподробнее, можешь код кинуть.
Та же проверка сектора. Использовал формулу из одной темы (скриншот прилагается). Добавил свое условие (юнит – враг, сравнивая игроков) и тогда формула переставала корректно работать (условия вообще перестали работать и отлавливались все юниты).
Загруженные файлы
28
юнит – враг, сравнивая игроков
Есть такая функция
constant native IsUnitEnemy takes unit whichUnit, player whichPlayer returns boolean
Используй её.
А куда условие добавил? В той формуле не передаются юниты или игроки.
В boolexpr точно работает GetFilterUnit(), насчёт остальных таких нативок сказать не могу, но они точно не работают в boolexpr у событий.
8
Собственно, этой функцией и пользуюсь.
Формулу я в то время подредактировал для булэкспра и выглядела она так: передаются юниты (кастер из хэша, проверяемый юнит (GetFilterUnit())), находится угол и расстояние между точками (x1,x2,y1,y2). Ретурн, кроме угла и расстояния, возвращал IsUnitEnemy, однако так функция, как я писал выше, работала коряво или вообще не работала, а иногда даже создавала утечки (почему, я так и не выяснил, но это уже не интересует).
28
А сейчас эта функция есть? Я не могу найти эту наработку.
8
PT153:
А сейчас эта функция есть? Я не могу найти эту наработку.
Какая?
28
Какая?
Принадлежность точки сектору. Я не смог найти эту наработку в поиске, почему-то.
8
На XGM она не выложена, поэтому я переписывал со скрина.
28
Снаряд летающий? Ещё может быть у стенки есть какие-то настройки, которые не позволяют ей пропускать через себя снаряд.
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.