Добавлен MATRITSA
Мне нужно чтобы одной командай можно было вызвать нужный мне метод
function Vrag takes nothing returns boolean
return ( IsUnitEnemy(GetFilterUnit(), GetOwningPlayer(udg_TrigerUnitMass[Index])) == true )
endfunction
return ( IsUnitEnemy(GetFilterUnit(), GetOwningPlayer(udg_TrigerUnitMass[Index])) == true )
endfunction
set udg_Otrat = GetUnitsInRangeOfLocMatching(r, udg_Move1, call Vrag())
как сделать чтоб это работало
как сделать чтоб это работало
Принятый ответ
function Vrag takes nothing returns boolean
return ( IsUnitEnemy(GetFilterUnit(), GetOwningPlayer(udg_TrigerUnitMass[Index])) == true )
endfunction
//Действие
//Это boolexpr, поэтому надо через "function название функции" без скобок
//+ не забудь потом очистить и удалить группу перед тем как снова вызовешь GetUnitsInRangeOfLocMatching
set udg_Otrat = GetUnitsInRangeOfLocMatching(r, udg_Move1, function Vrag)
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Ред. Hodor
И функцию и процедуру можно вызвать через call название функции (аргументы)
Ну или через ExecuteFunc в качестве аргумента у ExecuteFunc идёт название функции в виде строки
Там где скобки - это аргументы которые идут через запятую, если их нету то просто ()
Возвращаемое функцией можно использовать примерно так:
это как? В аргументе boolean, а возвращает что?
ну чтоб это укомплектовать код поплатнее
Ред. Hodor
Ред. Raised