Добавлен
function nahogdenie takes nothing returns boolean
return ( IsPlayerAlly(GetOwningPlayer(GetFilterUnit()), udg_pl[1]) == true )
endfunction
function nahogdenie2 takes nothing returns boolean
return ( IsPlayerEnemy(GetOwningPlayer(GetFilterUnit()), udg_pl[1]) == true )
endfunction
function Trig_paldin_1skils_Actions takes nothing returns nothing
local location p
local location p1
local unit u
local effect e
local integer i =0
local integer j =0
local group array g
set p = GetSpellTargetLoc()
set u = GetSpellAbilityUnit()
set udg_pl[1] = GetOwningPlayer(u)

set g[1] = GetUnitsInRangeOfLocMatching(256.00, p, Condition(function nahogdenie))
set g[2] = GetUnitsInRangeOfLocMatching(256.00, p, Condition(function nahogdenie2))
endfunction
возможно это запилить в 1 функцию и убрать глобальные переменные, если перебором то как

Принятый ответ

Можешь использовать вместо своей глобалки bj, можешь сделать group loop:
unit u
loop
set u = FirstOfGroup(g)
exitwhen u == null
GroupRemoveUnit(g, u)
...
endloop
Ещё лучше сделать ещё варианты функций и проверять udg_pl в вызывающей функции и выбирать нужный фильтр.
function nahogdenie3 takes nothing returns boolean
return ( IsPlayerEnemy(GetOwningPlayer(GetFilterUnit()), true)
endfunction
function nahogdenie3 takes nothing returns boolean
return ( IsPlayerEnemy(GetOwningPlayer(GetFilterUnit()), false)
endfunction
1
7
9 лет назад
1
Можешь использовать вместо своей глобалки bj, можешь сделать group loop:
unit u
loop
set u = FirstOfGroup(g)
exitwhen u == null
GroupRemoveUnit(g, u)
...
endloop
Ещё лучше сделать ещё варианты функций и проверять udg_pl в вызывающей функции и выбирать нужный фильтр.
function nahogdenie3 takes nothing returns boolean
return ( IsPlayerEnemy(GetOwningPlayer(GetFilterUnit()), true)
endfunction
function nahogdenie3 takes nothing returns boolean
return ( IsPlayerEnemy(GetOwningPlayer(GetFilterUnit()), false)
endfunction
Принятый ответ
Чтобы оставить комментарий, пожалуйста, войдите на сайт.