Пытаюсь сделать сворачивание-разворачивание мультборда для конкретного игрока, нажавшего 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. Или может у тебя событие кривое или оно вообще отсутсвует? Короче скинь целиком скрипт.
`
ОЖИДАНИЕ РЕКЛАМЫ...
0
20
8 лет назад
0
ничерта не понял из твоего кода
0
5
8 лет назад
0
ssbbssc, думаешь это важно?
2
15
8 лет назад
Отредактирован EnergyFrost
2
Хз. Вставил твой скрипт- все работает. Может быть у тебя сбилась переменная bj_lastCreatedMultiboard или она ссылается на другой мультиборд? Или у тебя индексы криво иницализированы (0-11), а GetConvertedPlayerId(p) возвращает 1-12. Или может у тебя событие кривое или оно вообще отсутсвует? Короче скинь целиком скрипт.
Принятый ответ
0
5
8 лет назад
0
EnergyFrost, отредактировал пост.
очень странно, сама карта в целом фаталила в следствии каких-то последних изменений.
откатил до предыдущего состояния и проблема исчезла, триггер работает.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.