There were some function problems in the code I posted, actually. I was using IsMultiboardDisplayed instead of IsMultiboardMinimized. I can test the code from here but only in Single Player scenarios. You're going to have to test it yourself. Try this though:
scope test initializer init
public function run takes nothing returns nothing
local boolean b = IsMultiboardMinimized(udg_Menu_Inventory)
if GetLocalPlayer() == GetTriggerPlayer() then
set b = not b
endif
call MultiboardMinimize(udg_Menu_Inventory, b)
endfunction
public function init takes nothing returns nothing
local trigger t = CreateTrigger()
local integer i = 0
loop
exitwhen i == 12
call TriggerRegisterPlayerEvent(t, Player(i), EVENT_PLAYER_END_CINEMATIC)
set i = i + 1
endloop
call TriggerAddAction(t, function run)
endfunction
endscope
scope test initializer init
public function run takes nothing returns nothing
local boolean b = IsMultiboardMinimized(udg_Menu_Inventory)
if GetLocalPlayer() == GetTriggerPlayer() then
set b = not b
endif
call MultiboardMinimize(udg_Menu_Inventory, b)
endfunction
public function init takes nothing returns nothing
local trigger t = CreateTrigger()
local integer i = 0
loop
exitwhen i == 12
call TriggerRegisterPlayerEvent(t, Player(i), EVENT_PLAYER_END_CINEMATIC)
set i = i + 1
endloop
call TriggerAddAction(t, function run)
endfunction
endscope