Пытаюсь сделать сворачивание-разворачивание мультборда для конкретного игрока, нажавшего Esc, но при проверке карты игра фаталит, даже не запустив её. Мультиборд в карте всего один общий, создаваемый через 15 секунд после инициализации.
function Trig_Toggle_Multiboard_Actions takes nothing returns nothing
local player p = GetTriggerPlayer()
local integer n = GetConvertedPlayerId(p)
local multiboard m = GetLastCreatedMultiboard()
if udg_toggle[n] == false then
if GetLocalPlayer() == p then
call MultiboardMinimizeBJ( false, m )
endif
set udg_toggle[n] = true
else
if GetLocalPlayer() == p then
call MultiboardMinimizeBJ( true, m )
endif
set udg_toggle[n] = false
endif
set m = null
endfunction
//===========================================================================
function InitTrig_Toggle_Multiboard takes nothing returns nothing
set gg_trg_Toggle_Multiboard = CreateTrigger( )
call TriggerRegisterPlayerEventEndCinematic( gg_trg_Toggle_Multiboard, Player(0) )
call TriggerRegisterPlayerEventEndCinematic( gg_trg_Toggle_Multiboard, Player(1) )
call TriggerRegisterPlayerEventEndCinematic( gg_trg_Toggle_Multiboard, Player(2) )
call TriggerRegisterPlayerEventEndCinematic( gg_trg_Toggle_Multiboard, Player(3) )
call TriggerRegisterPlayerEventEndCinematic( gg_trg_Toggle_Multiboard, Player(4) )
call TriggerRegisterPlayerEventEndCinematic( gg_trg_Toggle_Multiboard, Player(5) )
call TriggerRegisterPlayerEventEndCinematic( gg_trg_Toggle_Multiboard, Player(6) )
call TriggerRegisterPlayerEventEndCinematic( gg_trg_Toggle_Multiboard, Player(7) )
call TriggerRegisterPlayerEventEndCinematic( gg_trg_Toggle_Multiboard, Player(8) )
call TriggerRegisterPlayerEventEndCinematic( gg_trg_Toggle_Multiboard, Player(9) )
call TriggerRegisterPlayerEventEndCinematic( gg_trg_Toggle_Multiboard, Player(10) )
call TriggerRegisterPlayerEventEndCinematic( gg_trg_Toggle_Multiboard, Player(11) )
call TriggerAddAction( gg_trg_Toggle_Multiboard, function Trig_Toggle_Multiboard_Actions )
endfunction
udg_toggle - массив boolean размером 12, изначально вроде как должен быть false (дефолт)
Принятый ответ
Хз. Вставил твой скрипт- все работает. Может быть у тебя сбилась переменная bj_lastCreatedMultiboard или она ссылается на другой мультиборд? Или у тебя индексы криво иницализированы (0-11), а GetConvertedPlayerId(p) возвращает 1-12. Или может у тебя событие кривое или оно вообще отсутсвует? Короче скинь целиком скрипт.
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Отредактирован EnergyFrost
очень странно, сама карта в целом фаталила в следствии каких-то последних изменений.
откатил до предыдущего состояния и проблема исчезла, триггер работает.