Добавлен CaptainFox
Вот захотел перевести триггер в код. Получил следующее:
function Trig_TR_F01 takes nothing returns boolean
return ( IsPlayerEnemy(GetOwningPlayer(GetTriggerUnit()), GetOwningPlayer(GetFilterUnit())) == true )
endfunctionfunction Trig_TR_Actions takes nothing returns nothing
set udg_Ot = GetUnitsInRangeOfLocMatching(350.00, GetUnitLoc(GetTriggerUnit()), Condition(function Trig_TR_F01))
endfunction
Суть в том, что конвертер создал специальную функцию "Trig_TR_F01" для реализации условия при формировании отряда. Естественно, хочется избавится от этой функции и просто записать условие там, где написано "Condition(function Trig_TR_F01)". Я пытался менять аргумент у функции Condition(), но выдавало ошибку, т.е. её аргументам может быть только функция... Потом пытался полностью заменить аргумент в функции GetUnitsInRangeOfLocMatching() и написать там само условие вместо Condition() - выдал ошибку о несоответствии типов. Вопрос: как сформулировать и записать условие, чтобы избавится от функции "Trig_TR_F01"?
Принятый ответ
через иф в действие записывать но это не кул
EnergyFrost, не угадал)
и чем тебе функция не нравится?
функция Condition берёт функцию и возвращает условие
EnergyFrost, не угадал)
и чем тебе функция не нравится?
функция Condition берёт функцию и возвращает условие
native Condition takes code func returns conditionfunc
native TriggerAddCondition takes trigger whichTrigger, boolexpr condition returns triggercondition
а вобще это написано в статье
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Отредактирован nvc123
EnergyFrost, не угадал)
и чем тебе функция не нравится?
функция Condition берёт функцию и возвращает условие
Отредактирован prog
Отредактирован CaptainFox
юзать координаты и нативки
так быстрее будет работать
и утечек 0
вместо
call DestroyBoolExpr(filter)
Steal nerves:
удалять булексп это бред как и обнуление интов