Плохо еще с джассом, поэтому не особо понимаю как это сделать.
Вот попытка.
Вот попытка.
void FuncSwitchAttack() {
BJDebugMsg(GetUnitName(GetEnumUnit()))
}
void CreekKeepersSwitchAttack (unit u) {
group g = CreateGroup()
ForGroup( GroupEnumUnitsSelected(g, GetOwningPlayer(u), (GetUnitTypeId(GetFilterUnit()) == 'n005')), function FuncSwitchAttack) //Выводит ошибку, как я понял там, где я задаю условие.
DestroyGroup(g)
g = null
}
Принятый ответ
Потому что для группы сначала нужно сделать фильтр, у вас же написано GroupEnumUnitsSelected takes group grp, player pl. boolexpr filter функция принимает группу куда попадут все юниты для перебора, игрока чьи юниты выбраны и бульекспр - отдельный тип.
function No_Dummy_Filter takes nothing returns boolean
set bj_lastFilterUnit = GetFilterUnit( )
return not ( IsUnitWard( bj_lastFilterUnit ) or IsUnitType( bj_lastFilterUnit, UNIT_TYPE_MECHANICAL ) )
endfunction
...
local group grp = CreateGroup()
call GroupEnumUnitsInRange( grp, pl, Conition(function No_Dummy_Filter))
call ForGroup( grp, function callback )
..
Это работает только таким образом.
Если функция требует Condition или Code это вовсе незначит что можно в качестве аргумента написать кусок кода, в данном случае нужна ссылка на обьект, которым является и boolexpr и code, ваша кастомная функция внезапно хендл вроде юнита.
Если функция требует Condition или Code это вовсе незначит что можно в качестве аргумента написать кусок кода, в данном случае нужна ссылка на обьект, которым является и boolexpr и code, ваша кастомная функция внезапно хендл вроде юнита.
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Если функция требует Condition или Code это вовсе незначит что можно в качестве аргумента написать кусок кода, в данном случае нужна ссылка на обьект, которым является и boolexpr и code, ваша кастомная функция внезапно хендл вроде юнита.
Все исправил, спасибо.
Зачем в фильтре if then else? Return твое условие и все.
Я написал пример кода, всеравно какой то свой видосипед делает сударь...
Я же написал, что уже все исправил.
Отредактирован PT153