UnitAlive(c) and (not IsUnitIllusion(u))
или
(not IsUnitDead(c)) and (not IsUnitIllusion(u))
или
(not (IsUnitDead(c) or IsUnitIllusion(u)))
Да и зачем проверять, что получатель урона жив? Получатель урона всегда жив, ведь урон нанесётся после окончания триггера, а мёртвые не могут получить урон.
И давно их можно уничтожать? o_O Вот это внезапная новость для меня. Всегда был уверен что нет возможности их уничтожить и в итоге даже не искал нативки для этого...
Castiel, как я уже сказал, можно даже ничего не передавать, а использовать GetTriggerUnit и прочее в самом фильтре. Можно передавать глобалками (или через таблицы Lua), тоже будет верно.
Циклом будет быстрее, удобнее и порой надёжнее, если операции внутри цикла короткие. Лично я фильтр использую там, где операции долгие, так как фильтр создаёт поток на каждого юнита.
BladeInDoom, самый простой конечно через замену оригинала, в Game Interface просто выбираешь тот звук, что заменил. Но если нужны оригиналы, или нужно звук вообще убрать (варианта None нет), то нужно делать моим способом.
не будет ли фарша, когда глобалка перебивается другим игроком вызвавшим таймер, вот к примеру
Не будет, на этом построен vJass.
А так да, при занесении в глобалку фильтр пне может быть кложуром.
Можно так, но тут снова каждый раз будет создаваться новый объект.
function u (p, id)
B = Condition(function()
if p == GetOwningPlayer(GetFilterUnit()) and id == GetUnitId(GetFilterUnit()) then
end
end)
GroupEnumUnitsInRange(group, 500, 500, 500, B)
end
А ещё в фильтрах групп работает всякие GetTriggerUnit и так далее, их даже передавать не надо.
В Lua текут, в JASS нет, выясняли уже.
И лучше заносить фильтры в глобалки, тогда они доступны везде, даже до место определения фильтра. А вместо Condition советую использовать Filter, букв меньше.
» WarCraft 3 / Не срабатывает точно условие сравнения
» WarCraft 3 / Не срабатывает точно условие сравнения
» WarCraft 3 / как сделать привязку предмета к классу
Ред. PT153
» Btooom / Btooom
» Btooom / Btooom
» Btooom / Btooom
Reforged будет повторять последний патч классики, потому ничего кардинально нового там не будет.
» WarCraft 3 / Депротект сотдрп, сотфрп и т.д. И их нереальность запуска в игре
» WarCraft 3 / Сущность Льда
» WarCraft 3 / Проверка кто нанёс урон
» WarCraft 3 / Проверка кто нанёс урон
» WarCraft 3 / Проверка кто нанёс урон
» WarCraft 3 / Изменение юнита
Ред. PT153
» WarCraft 3 / Проверка кто нанёс урон
» WarCraft 3 / Проверка кто нанёс урон
» WarCraft 3 / wc3 1.31 и lua
» WarCraft 3 / wc3 1.31 и lua
» WarCraft 3 / wc3 1.31 и lua
Циклом будет быстрее, удобнее и порой надёжнее, если операции внутри цикла короткие. Лично я фильтр использую там, где операции долгие, так как фильтр создаёт поток на каждого юнита.
Ред. PT153
» WarCraft 3 / Кампания
» WarCraft 3 / Кампания
Ред. PT153
» WarCraft 3 / wc3 1.31 и lua
А так да, при занесении в глобалку фильтр пне может быть кложуром.
Можно так, но тут снова каждый раз будет создаваться новый объект.
Ред. PT153
» WarCraft 3 / wc3 1.31 и lua
И лучше заносить фильтры в глобалки, тогда они доступны везде, даже до место определения фильтра. А вместо Condition советую использовать Filter, букв меньше.
» WarCraft 3 / Синхронизация строк в 1.26
Ред. PT153
» WarCraft 3 / Кампания
» WarCraft 3 / Синхронизация строк в 1.26