• Listen to a special audio message from Bill Roper to the Hive Workshop community (Bill is a former Vice President of Blizzard Entertainment, Producer, Designer, Musician, Voice Actor) 🔗Click here to hear his message!
  • Read Evilhog's interview with Gregory Alper, the original composer of the music for WarCraft: Orcs & Humans 🔗Click here to read the full interview.

[Trigger] Multiboard

Status
Not open for further replies.
Level 2
Joined
Jun 22, 2010
Messages
12
Hi guys, I've read your many tutorials regarding multiboards here, on worldeditors and on thehelp.net, but I still can't find anything to help resolve my issue.
There is one multiboard, with one team containing 10 players and the other containing 2 players. When I'm playing with a full house, the multiboard looks completely fine; when playing with 3 people for example, I'm missing a whole bunch of rows (please view attachments below).
This is my current setup (there are more triggers, just not relevant to the specific issue):
  • Initialization
    • Events
      • Map initialization
    • Conditions
    • Actions
      • Set Forces[1] = (All enemies of Player 11 (Dark Green))
      • Set Color_Text[1] = |cffFF0000
      • Set Color_Text[2] = |cff0000FF
      • Set Color_Text[3] = |cff00FFFF
      • Set Color_Text[4] = |cff800080
      • Set Color_Text[5] = |cffFFFF00
      • Set Color_Text[6] = |cffFF8000
      • Set Color_Text[7] = |cff00FF00
      • Set Color_Text[8] = |cffFF80C0
      • Set Color_Text[9] = |cffC0C0C0
      • Set Color_Text[10] = |cff80FFFF
      • Set Forces[2] = (All enemies of Player 2 (Blue))
      • Set Color_Text[11] = |cff008000
      • Set Color_Text[12] = |cff804000
  • Create the Multiboard
    • Events
      • Time - Elapsed game time is 0.00 seconds
    • Conditions
    • Actions
      • Set MultiBoard_Players = (Number of players in (All players matching (((Matching player) slot status) Equal to Is playing)))
      • Multiboard - Create a multiboard with 3 columns and (MultiBoard_Players + 2) rows, titled |cFFFC1803S|r|cFFFB...
      • Set MultiBoard = (Last created multiboard)
      • Multiboard - Set the text for (Last created multiboard) item in column 1, row 1 to |cFFFFCC00Kitties|r
      • Multiboard - Set the text for (Last created multiboard) item in column 2, row 1 to |cff00FF00Saves|r
      • Multiboard - Set the text for (Last created multiboard) item in column 3, row 1 to |cffFF0000Deaths|r
      • Multiboard - Set the text for (Last created multiboard) item in column 1, row 12 to |cFFFFCC00Mammoths|...
      • Multiboard - Set the text for (Last created multiboard) item in column 2, row 12 to |cff00FF00Kills|r
      • Multiboard - Set the text for (Last created multiboard) item in column 3, row 12 to |cffFF0000Deaths|r
      • For each (Integer A) from 1 to (MultiBoard_Players + 2), do (Actions)
        • Loop - Actions
          • Multiboard - Set the display style for (Last created multiboard) item in column 1, row (Integer A) to Show text and Hide icons
          • Multiboard - Set the display style for (Last created multiboard) item in column 2, row (Integer A) to Show text and Hide icons
          • Multiboard - Set the display style for (Last created multiboard) item in column 3, row (Integer A) to Show text and Hide icons
          • Multiboard - Set the width for (Last created multiboard) item in column 1, row (Integer A) to 10.00% of the total screen width
          • Multiboard - Set the width for (Last created multiboard) item in column 2, row (Integer A) to 5.00% of the total screen width
          • Multiboard - Set the width for (Last created multiboard) item in column 3, row (Integer A) to 5.00% of the total screen width
      • Set List = 2
      • Set List_Copy = 13
      • Player Group - Pick every player in Forces[1] and do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • ((Picked player) slot status) Equal to Is playing
            • Then - Actions
              • Set Multiboard_Spots[(Player number of (Picked player))] = List
              • Multiboard - Set the text for (Last created multiboard) item in column 1, row List to (Color_Text[(Player number of (Picked player))] + ((Name of (Picked player)) + |r))
              • Multiboard - Set the text for (Last created multiboard) item in column 2, row List to (|cff00FF00 + 0|r)
              • Multiboard - Set the text for (Last created multiboard) item in column 3, row List to (|cffFF0000 + 0|r)
              • Set List = (List + 1)
            • Else - Actions
      • Player Group - Pick every player in Forces[2] and do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • ((Picked player) slot status) Equal to Is playing
            • Then - Actions
              • Set Multiboard_Spots[(Player number of (Picked player))] = List_Copy
              • Multiboard - Set the text for (Last created multiboard) item in column 1, row List_Copy to (Color_Text[(Player number of (Picked player))] + ((Name of (Picked player)) + |r))
              • Multiboard - Set the text for (Last created multiboard) item in column 2, row List_Copy to (|cff00FF00 + 0|r)
              • Multiboard - Set the text for (Last created multiboard) item in column 3, row List_Copy to (|cffFF0000 + 0|r)
              • Set List_Copy = (List_Copy + 1)
            • Else - Actions
      • Multiboard - Show (Last created multiboard)
      • Multiboard - Maximize (Last created multiboard)
JASS:
function Trig_Leaving_Actions takes nothing returns nothing
    call MultiboardSetItemValueBJ( udg_MultiBoard, 1, GetConvertedPlayerId(GetTriggerPlayer()), ( ( "|cffA2B5CD" + GetPlayerName(GetTriggerPlayer()) ) + ( "<left>" + "|r" ) ) )
endfunction

//===========================================================================
function InitTrig_Multiboard_Leaver takes nothing returns nothing
    set gg_trg_Multiboard_Leaver = CreateTrigger(  )
    call TriggerRegisterPlayerEventLeave( gg_trg_Multiboard_Leaver, Player(0) )
    call TriggerRegisterPlayerEventLeave( gg_trg_Multiboard_Leaver, Player(1) )
    call TriggerRegisterPlayerEventLeave( gg_trg_Multiboard_Leaver, Player(2) )
    call TriggerRegisterPlayerEventLeave( gg_trg_Multiboard_Leaver, Player(3) )
    call TriggerRegisterPlayerEventLeave( gg_trg_Multiboard_Leaver, Player(4) )
    call TriggerRegisterPlayerEventLeave( gg_trg_Multiboard_Leaver, Player(5) )
    call TriggerRegisterPlayerEventLeave( gg_trg_Multiboard_Leaver, Player(6) )
    call TriggerRegisterPlayerEventLeave( gg_trg_Multiboard_Leaver, Player(7) )
    call TriggerRegisterPlayerEventLeave( gg_trg_Multiboard_Leaver, Player(8) )
    call TriggerRegisterPlayerEventLeave( gg_trg_Multiboard_Leaver, Player(9) )
    call TriggerRegisterPlayerEventLeave( gg_trg_Multiboard_Leaver, Player(10) )
    call TriggerRegisterPlayerEventLeave( gg_trg_Multiboard_Leaver, Player(11) )
    call TriggerAddAction( gg_trg_Multiboard_Leaver, function Trig_Leaving_Actions )
endfunction
 

Attachments

  • we1.png
    we1.png
    228 KB · Views: 152
  • we2.png
    we2.png
    63 KB · Views: 105
Last edited:
Anything used twice or more should be stored into a variable. The variable should then be used.
Never use integer A / B. They are slower and less efficient.
Don't convert to jass to post it. If you use GUI keep it as triggers.

Your check for ((Picked player) slot status) Equal to Is playing is not sufficient.
That only checks if a player is playing. For example a computer player is also playing.
You also need to check to see if that players controller status is = to user.

Were do you add players to the forces as I believe that is your problem area.

You should take a look at my tutorial things you should know when using triggers / gui. Link is in my sig.

Also please use hidden tags since your triggers are pretty big.
 
Level 2
Joined
Jun 22, 2010
Messages
12
Alright thanks man, ill try out your suggestion and Ill let you know how it goes.

Edit: After countless tries, I'm still having the same issues listed above. Could anyone help?
Edit#2: Solved.
 
Last edited:
Status
Not open for further replies.
Top