Массив RCT[...] не был заполнен до вызова InitTrig_EnterUnit. Как уже сообщал PT153.
Кстати, массив ректов был заполнен вобщем-то, но в другом триггере:
На счет второй карты, да я тоже так подумал что сначало он перемещается по X, а затем по Y. Но юнит не касается зоны-2 если стоит например вот тут:
Тоже странно.
Ну да ладно, эт я так просто)
А все понял) Нужно ректы заполнять в этом же триггере. Все проверил, все работает:
globals
rect array RCT
region array REGION
endglobals
function EnterUnit_Actions takes nothing returns nothing
call BJDebugMsg("Welcome!")
endfunction
function InitTrig_EnterUnit takes nothing returns nothing
local integer i = 0
set RCT[1] = gg_rct_Zona1
set RCT[2] = gg_rct_Zona2
set RCT[3] = gg_rct_Zona3
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
LastUchiha, Да, мусорить, как писала Extremator, можно в кавычках написать "(архив)". Потом в дальнейшем если пригодится, использовать.
Или воспользоватся прогой w3x2lni и удалить.
Я сам лично "мусорю" пока что. Но иногда я удаляю и варик не вылетает)
Если это баг редактора - то как то неудобно. Может стоит перейти на .slk? Как думаете?
Нашел еще один способ удалять способности: конвертировать карту в формат .lni, удалить ненужные способности и обратно собрать карту в формат .obj.
Через эту прогу w3x2lni
Можно ли так? Нету ли каких либо подводных камней в таком способе?
Или при инициализации карты выключить все триггеры со способностями. И когда игрок выберет некого героя, включить триггеры способностей только выбранного героя.
Ред. Joma
» WarCraft 3 / Юнит входит в регион
Ну да ладно, эт я так просто)
» WarCraft 3 / Юнит входит в регион
» WarCraft 3 / Юнит входит в регион
» WarCraft 3 / Юнит входит в регион
Вот пример:
» WarCraft 3 / Столкновение юнитов
» WarCraft 3 / Может ли быть краш из за текста?
Ред. Joma
» WarCraft 3 / При удалении способности из РО, выходит ошибка
Или воспользоватся прогой w3x2lni и удалить.
Я сам лично "мусорю" пока что. Но иногда я удаляю и варик не вылетает)
» WarCraft 3 / Предмет: повышение характеристик героя
» WarCraft 3 / Модель WaterShell
» WarCraft 3 / MDLVIS1.40Fixed
Ред. Joma
» WarCraft 3 / Пассивные способности через сферы
» WarCraft 3 / Способность "сторожевая сова"
» WarCraft 3 / [AA_1.76b] Attack Arena
» WarCraft 3 / При удалении способности из РО, выходит ошибка
» WarCraft 3 / При удалении способности из РО, выходит ошибка
Ред. Joma
» WarCraft 3 / При удалении способности из РО, выходит ошибка
» WarCraft 3 / При удалении способности из РО, выходит ошибка
» WarCraft 3 / При удалении способности из РО, выходит ошибка
Ред. Joma
» WarCraft 3 / При удалении способности из РО, выходит ошибка
Через эту прогу w3x2lni
Можно ли так? Нету ли каких либо подводных камней в таком способе?
» WarCraft 3 / При удалении способности из РО, выходит ошибка
» WarCraft 3 / Варкрафт на вин 7
» WarCraft 3 / Прерывание внутри триггера
» WarCraft 3 / Иллюзии