По непонятным причинам этот код убирает всех юнитов из группы после первого срабатывания причем эта группа udg_mуGroup[] даже не фигурирует только ее хэш LoadGroupHandle(udg_hash,h,h)
function inGroup takes nothing returns boolean
local unit u = GetTriggerUnit()
    if (  IsUnitInGroup(u, udg_curGroup) == true  ) then
        GroupRemoveUnit(udg_curGroup,u)
        return false
    endif
    return true
endfunction

function Trig_group_order_Actions takes nothing returns nothing
local location l = GetOrderPointLoc()
local unit u = GetTriggerUnit()
local integer h = GetHandleId(u)
udg_curGroup = LoadGroupHandle(udg_hash,h,h)
call GroupPointOrderLoc( udg_curGroup, "smart", l )
set h = 0
call RemoveLocation(l)
endfunction

//===========================================================================
function InitTrig_group_order takes nothing returns nothing
    set gg_trg_group_order = CreateTrigger(  )
    call TriggerRegisterAnyUnitEventBJ( gg_trg_group_order, EVENT_PLAYER_UNIT_ISSUED_POINT_ORDER )
    call TriggerAddCondition( gg_trg_group_order, Condition( function inGroup ) )
    call TriggerAddAction( gg_trg_group_order, function Trig_group_order_Actions )
endfunction

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

Бж говно функции не надо юзать, там почти везде удаление группы стоит. Там еще флаг, какой то, смотрите внимательно устройство Бж функций прежде чем их юзать!
0
19
7 лет назад
0
Похожие вопросы:

ответ
Спасибо всем за ответы и пояснения! Закрываю флудильню :с

0
32
7 лет назад
0
Бж говно функции не надо юзать, там почти везде удаление группы стоит. Там еще флаг, какой то, смотрите внимательно устройство Бж функций прежде чем их юзать!
Принятый ответ
Чтобы оставить комментарий, пожалуйста, войдите на сайт.