I need some help with setting up my multiboard, I'm just loosing myself in lots of if's and I can't seem to find out how to setup my multiboard the way I want it. Hopefully someone can help me.
This is how it's supposed to look: (the pink should always be there but lets say if theres no one in team one it just has to say Northeast and then directly under it the next team Southeast.
Examples are in attachments.
This is my trigger:
This is how it's supposed to look: (the pink should always be there but lets say if theres no one in team one it just has to say Northeast and then directly under it the next team Southeast.
Examples are in attachments.
This is my trigger:
JASS:
globals
integer NErow = 2
integer SErow
integer SWrow
integer NWrow
boolean plays0
boolean plays1
boolean plays2
boolean plays3
boolean plays4
boolean plays5
boolean plays6
boolean plays7
boolean plays8
boolean plays9
boolean plays10
boolean plays11
endglobals
function CountPlayers takes nothing returns integer//counts all players who are playing and are users(not computers)
local integer i = 0
local integer p = 0
loop
exitwhen i > 12
if((GetPlayerSlotState(Player(i)) == PLAYER_SLOT_STATE_PLAYING)and(GetPlayerController(Player(i)) == MAP_CONTROL_USER))then
set p = p + 1
endif
set i = i + 1
endloop
return p
endfunction
function IsPlaying takes player p returns boolean//checks if the player is playing
local integer i = GetPlayerId(p)
return(((GetPlayerSlotState(Player(i)) == PLAYER_SLOT_STATE_PLAYING)and(GetPlayerController(Player(i)) == MAP_CONTROL_USER)) == true)
endfunction
function SetUpMultiboard takes nothing returns nothing
local integer i = 0
local multiboard m = CreateMultiboard()//from here
call MultiboardSetRowCount(m, 5 + CountPlayers())
call MultiboardSetColumnCount(m, 4)
call MultiboardSetTitleText(m, "title")
call MultiboardDisplay(m, true)//to here is in gui create multiboard with title,rows,columns blablabla
call MultiboardSetItemValueBJ(m, 2, 1, "[copper]")
call MultiboardSetItemValueBJ(m, 3, 1, "[silver]")
call MultiboardSetItemValueBJ(m, 4, 1, "[gold]")
//Norhteast team
call MultiboardSetItemValueBJ(m, 1, NErow, "[North East]")
if(IsPlaying(Player(0)))then
set plays0 = true
call MultiboardSetItemValueBJ(m, 1,NErow + 1, GetPlayerName(Player(0)))
elseif(IsPlaying(Player(1)))then
set plays0 = false
set plays1 = true
call MultiboardSetItemValueBJ(m, 1,NErow + 1, GetPlayerName(Player(1)))
elseif(IsPlaying(Player(2)))then
set plays0 = false
set plays1 = false
set plays2 = true
call MultiboardSetItemValueBJ(m, 1,NErow + 1, GetPlayerName(Player(2)))
else
set plays0 = false
set plays1 = false
set plays2 = false
set SErow = NErow + 1
endif
if(plays0)then
if(IsPlaying(Player(1)))then
set plays1 = true
call MultiboardSetItemValueBJ(m, 1, NErow + 2, GetPlayerName(Player(1)))
elseif(IsPlaying(Player(2)))then
set plays1 = false
set plays2 = true
call MultiboardSetItemValueBJ(m, 1, NErow + 2, GetPlayerName(Player(2)))
else
set plays1 = false
set plays2 = false
set SErow = NErow + 2
endif
elseif(plays1)then
if(IsPlaying(Player(2)))then
call MultiboardSetItemValueBJ(m, 1, NErow + 3, GetPlayerName(Player(2)))
set plays2 = true
else
set plays2 = false
set SErow = NErow + 3
endif
endif
//Southeast team
call MultiboardSetItemValueBJ(m, 1, SErow, "[South East]")
if(IsPlaying(Player(3)))then
set plays3 = true
call MultiboardSetItemValueBJ(m, 1,SErow + 1, GetPlayerName(Player(3)))
elseif(IsPlaying(Player(4)))then
set plays3 = false
set plays4 = true
call MultiboardSetItemValueBJ(m, 1, SErow +1, GetPlayerName(Player(4)))
elseif(IsPlaying(Player(5)))then
set plays3 = false
set plays4 = false
set plays5 = true
call MultiboardSetItemValueBJ(m, 1,SErow + 1, GetPlayerName(Player(5)))
else
set plays3 = false
set plays4 = false
set plays5 = false
set SWrow = SErow + 1
endif
if(plays3)then
if(IsPlaying(Player(4)))then
set plays4 = true
call MultiboardSetItemValueBJ(m, 1, SErow + 2, GetPlayerName(Player(4)))
elseif(IsPlaying(Player(5)))then
set plays4 = false
set plays5 = true
call MultiboardSetItemValueBJ(m, 1, SErow + 2, GetPlayerName(Player(5)))
else
set plays4 = false
set plays5 = false
set SWrow = SErow + 2
endif
elseif(plays4)then
if(IsPlaying(Player(5)))then
set plays5 = true
call MultiboardSetItemValueBJ(m, 1, SErow + 3, GetPlayerName(Player(5)))
else
set plays5 = false
set SWrow = SErow + 3
endif
endif
////////////////
loop// turns off all icons and sets width
exitwhen i > 17
call MultiboardSetItemStyleBJ( m, i, i, true, false )
call MultiboardSetItemStyleBJ( m, i, i, true, false )
call MultiboardSetItemStyleBJ( m, i, i, true, false )
call MultiboardSetItemStyleBJ( m, i, i, true, false )
call MultiboardSetItemWidthBJ(m, i, 1, 8.0)
call MultiboardSetItemWidthBJ(m, i, 2, 5.0)
call MultiboardSetItemWidthBJ(m, i, 3, 5.0)
call MultiboardSetItemWidthBJ(m, i, 4, 5.0)
endloop
endfunction
//===========================================================================
function InitTrig_Multiboard takes nothing returns nothing
local trigger t = CreateTrigger( )
call TriggerRegisterTimerEvent(t, 0.01, false)
call TriggerAddAction( t, function SetUpMultiboard )
endfunction