Добавлен Joma
Что я делаю не так? Мне нужно использовать массив регионов.
Юнит входит в область ---> дальшей действия. Но что то не работает:
Юнит входит в область ---> дальшей действия. Но что то не работает:
function EnterUnit_Actions takes nothing returns nothing
call BJDebugMsg("Welcome!")
endfunction
function InitTrig_EnterUnit takes nothing returns nothing
local integer i = 0
set gg_trg_EnterUnit = CreateTrigger()
loop
set i = i + 1
exitwhen i > 3
set REGION[i] = CreateRegion()
call RegionAddRect(REGION[i], RCT[i])
call TriggerRegisterEnterRegion(gg_trg_EnterUnit, REGION[i], null)
endloop
call TriggerAddAction(gg_trg_EnterUnit, function EnterUnit_Actions)
endfunction
Принятый ответ
В общем странно. Если событие "юнит входит в регион", а этот регион сохранен в массиве - то такое событие придется инициализировать не при инициализации карты, а в другом месте. Например в действиях триггера или же через 0 секунд например.
Вот пример:
Вот пример:
globals
rect array RCT
region array REGION
trigger TRG = null
endglobals
function ZeroSec_Actions2 takes nothing returns nothing
call BJDebugMsg("Welcome!")
endfunction
function ZeroSec_Actions takes nothing returns nothing
local integer i = 0
loop
set i = i + 1
exitwhen i > 3
set REGION[i] = CreateRegion()
call RegionAddRect(REGION[i], RCT[i])
endloop
set TRG = CreateTrigger()
call TriggerRegisterEnterRegion(TRG, REGION[1], null)
call TriggerRegisterEnterRegion(TRG, REGION[2], null)
call TriggerRegisterEnterRegion(TRG, REGION[3], null)
call TriggerAddAction(TRG, function ZeroSec_Actions2)
endfunction
function InitTrig_ZeroSec takes nothing returns nothing
set RCT[1] = gg_rct_Zona1
set RCT[2] = gg_rct_Zona2
set RCT[3] = gg_rct_Zona3
set gg_trg_ZeroSec = CreateTrigger()
call TriggerRegisterTimerEventSingle(gg_trg_ZeroSec, 0.00)
call TriggerAddAction(gg_trg_ZeroSec, function ZeroSec_Actions)
endfunction
Загруженные файлы
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Вот пример:
Ред. PT153