• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

[Trigger] /[JASS]Multi-player multiboard desync

Status
Not open for further replies.
Level 15
Joined
Oct 18, 2008
Messages
1,588
Hy guys!

I just solved my multiboard problem, and i thought everything is fine... It works even in multiplayer, everyone has his own multiboard. But when anyone changes his own multiboard, everyone except the host gots DC!
The code:
  • Init
    • Events
      • Time - Elapsed game time is 0.00 seconds
    • Conditions
    • Actions
      • For each (Integer A) from 1 to 12, do (Actions)
        • Loop - Actions
          • Set X = (X + 1)
          • Game - Display to (All players) the text: (String(X))
          • Custom script: if ( GetLocalPlayer() == Player(( udg_X-1)) ) then
          • Multiboard - Create a multiboard with 6 columns and 20 rows, titled Skills
          • Set Abi_Table[X] = (Last created multiboard)
          • Multiboard - Hide (Last created multiboard)
          • For each (Integer B) from 1 to 1, do (Actions)
            • Loop - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                • Then - Actions
                  • For each (Integer C) from 1 to 20, do (Actions)
                    • Loop - Actions
                      • Multiboard - Set the text for (Last created multiboard) item in column 2, row C to (Name of Necro_Abilitys[C])
                      • Multiboard - Set the text for (Last created multiboard) item in column 4, row C to (Name of Necro_Abilitys[(C + 20)])
                      • Multiboard - Set the text for (Last created multiboard) item in column 6, row C to (Name of Necro_Abilitys[(C + 40)])
                • Else - Actions
          • For each (Integer C) from 1 to 20, do (Actions)
            • Loop - Actions
              • For each (Integer B) from 1 to 6, do (Actions)
                • Loop - Actions
                  • Multiboard - Set the display style for (Last created multiboard) item in column (Integer B), row C to Show text and Show icons
              • Multiboard - Set the width for (Last created multiboard) item in column 1, row C to 1.00% of the total screen width
              • Multiboard - Set the width for (Last created multiboard) item in column 3, row C to 1.00% of the total screen width
              • Multiboard - Set the width for (Last created multiboard) item in column 5, row C to 1.00% of the total screen width
              • Multiboard - Set the width for (Last created multiboard) item in column 2, row C to 10.00% of the total screen width
              • Multiboard - Set the width for (Last created multiboard) item in column 4, row C to 10.00% of the total screen width
              • Multiboard - Set the width for (Last created multiboard) item in column 6, row C to 10.00% of the total screen width
          • For each (Integer B) from 1 to 6, do (Actions)
            • Loop - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • Or - Any (Conditions) are true
                    • Conditions
                      • (Integer B) Equal to 1
                      • (Integer B) Equal to 3
                      • (Integer B) Equal to 5
                • Then - Actions
                  • For each (Integer C) from 1 to 20, do (Actions)
                    • Loop - Actions
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • SkillSelect[(Integer A)] Not equal to (((Integer B) x 10) + C)
                        • Then - Actions
                          • Multiboard - Set the display style for (Last created multiboard) item in column (Integer B), row C to Show text and Hide icons
                        • Else - Actions
                          • Multiboard - Set the display style for (Last created multiboard) item in column (Integer B), row C to Show text and Show icons
                          • Multiboard - Set the icon for (Last created multiboard) item in column (Integer B), row C to ReplaceableTextures\CommandButtons\BTNWispSplode.blp
                • Else - Actions
          • Trigger - Run Loops <gen> (ignoring conditions)
          • Wait 0.01 seconds
          • Game - Display to (All players) the text: Still works...
          • Game - Display to (All players) the text: Does it work?
          • Multiboard - Show Abi_Table[X]
          • Custom script: endif
 
Level 19
Joined
Aug 16, 2007
Messages
881
I don't know if this will solve the problem, but I think that you should not: Create a multiboard within GetLocalPlayer(), use waits within GetLocalPlayer(), change any random values (in this case the multiboard) within GetLocalPlayer() and assign some random (in this case the multiboard) variables within GetLocalPlayer(). The way I do when I'll have to show a different multiboard for everyplayer, I just have
  • Multiboard - Show (Last created multiboard)
within GetLocalPlayer() and it does not cause a desync for me. So, you should declare and create every multiboard OUTSIDE GetLocalPlayer() and only have the action I said before within it.
 
Level 15
Joined
Oct 18, 2008
Messages
1,588
It'll be a skill system similar to the one in Dark Invasion 2 if you know it... Anyway, it'll be a skill system VERY similar to the one used in MMOs... All of this in a multiboard. So I have to give every player their own one... But when I move the "selecter" just a row down (generally refresh the multiboard) it's a mass DC...
 
Level 15
Joined
Oct 18, 2008
Messages
1,588
I don't know if this will solve the problem, but I think that you should not: Create a multiboard within GetLocalPlayer(), use waits within GetLocalPlayer(), change any random values (in this case the multiboard) within GetLocalPlayer() and assign some random (in this case the multiboard) variables within GetLocalPlayer(). The way I do when I'll have to show a different multiboard for everyplayer, I just have
  • Multiboard - Show (Last created multiboard)
within GetLocalPlayer() and it does not cause a desync for me. So, you should declare and create every multiboard OUTSIDE GetLocalPlayer() and only have the action I said before within it.

Yeah I tried that way before (see my older thread, maybe 5 threads down :D), but somehow it only works like this Oo Also waits are a MUST... I use a hard MASS of loops when I create the multiboards but WC3 ignores too much loops in the same moment...

Oh and the most strange thing is that it doesn't work this way(doesn't show the multiboard):
  • Init
    • Events
      • Time - Elapsed game time is 0.00 seconds
    • Conditions
    • Actions
      • For each (Integer A) from 1 to 12, do (Actions)
        • Loop - Actions
          • Set X = (X + 1)
          • Multiboard - Create a multiboard with 6 columns and 20 rows, titled Skills
          • Set Abi_Table[X] = (Last created multiboard)
          • For each (Integer B) from 1 to 1, do (Actions)
            • Loop - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                • Then - Actions
                  • For each (Integer C) from 1 to 20, do (Actions)
                    • Loop - Actions
                      • Multiboard - Set the text for (Last created multiboard) item in column 2, row C to (Name of Necro_Abilitys[C])
                      • Multiboard - Set the text for (Last created multiboard) item in column 4, row C to (Name of Necro_Abilitys[(C + 20)])
                      • Multiboard - Set the text for (Last created multiboard) item in column 6, row C to (Name of Necro_Abilitys[(C + 40)])
                • Else - Actions
          • For each (Integer C) from 1 to 20, do (Actions)
            • Loop - Actions
              • For each (Integer B) from 1 to 6, do (Actions)
                • Loop - Actions
                  • Multiboard - Set the display style for (Last created multiboard) item in column (Integer B), row C to Show text and Show icons
              • Multiboard - Set the width for (Last created multiboard) item in column 1, row C to 1.00% of the total screen width
              • Multiboard - Set the width for (Last created multiboard) item in column 3, row C to 1.00% of the total screen width
              • Multiboard - Set the width for (Last created multiboard) item in column 5, row C to 1.00% of the total screen width
              • Multiboard - Set the width for (Last created multiboard) item in column 2, row C to 10.00% of the total screen width
              • Multiboard - Set the width for (Last created multiboard) item in column 4, row C to 10.00% of the total screen width
              • Multiboard - Set the width for (Last created multiboard) item in column 6, row C to 10.00% of the total screen width
          • For each (Integer B) from 1 to 6, do (Actions)
            • Loop - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • Or - Any (Conditions) are true
                    • Conditions
                      • (Integer B) Equal to 1
                      • (Integer B) Equal to 3
                      • (Integer B) Equal to 5
                • Then - Actions
                  • For each (Integer C) from 1 to 20, do (Actions)
                    • Loop - Actions
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • SkillSelect[(Integer A)] Not equal to (((Integer B) x 10) + C)
                        • Then - Actions
                          • Multiboard - Set the display style for (Last created multiboard) item in column (Integer B), row C to Show text and Hide icons
                        • Else - Actions
                          • Multiboard - Set the display style for (Last created multiboard) item in column (Integer B), row C to Show text and Show icons
                          • Multiboard - Set the icon for (Last created multiboard) item in column (Integer B), row C to ReplaceableTextures\CommandButtons\BTNWispSplode.blp
                • Else - Actions
          • Multiboard - Hide Abi_Table[X]
          • Wait 0.01 seconds
          • Custom script: if ( GetLocalPlayer() == Player(( udg_X-1)) ) then
          • Multiboard - Show Abi_Table[X]
          • Custom script: endif
 
Last edited:
Level 15
Joined
Oct 18, 2008
Messages
1,588
tryed without waits, still desync xD
EDIT: Another experiment result:
  • Init
    • Events
      • Time - Elapsed game time is 0.00 seconds
    • Conditions
    • Actions
      • For each (Integer A) from 1 to 12, do (Actions)
        • Loop - Actions
          • Game - Display to (All players) the text: aa
          • Set X = (X + 1)
          • Multiboard - Create a multiboard with 6 columns and 20 rows, titled Skills
          • Set Abi_Table[X] = (Last created multiboard)
          • Multiboard - Hide Abi_Table[X]
          • For each (Integer B) from 1 to 1, do (Actions)
            • Loop - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                • Then - Actions
                  • For each (Integer C) from 1 to 20, do (Actions)
                    • Loop - Actions
                      • Multiboard - Set the text for (Last created multiboard) item in column 2, row C to (Name of Necro_Abilitys[C])
                      • Multiboard - Set the text for (Last created multiboard) item in column 4, row C to (Name of Necro_Abilitys[(C + 20)])
                      • Multiboard - Set the text for (Last created multiboard) item in column 6, row C to (Name of Necro_Abilitys[(C + 40)])
                • Else - Actions
          • For each (Integer C) from 1 to 20, do (Actions)
            • Loop - Actions
              • For each (Integer B) from 1 to 6, do (Actions)
                • Loop - Actions
                  • Multiboard - Set the display style for (Last created multiboard) item in column (Integer B), row C to Show text and Show icons
              • Multiboard - Set the width for (Last created multiboard) item in column 1, row C to 1.00% of the total screen width
              • Multiboard - Set the width for (Last created multiboard) item in column 3, row C to 1.00% of the total screen width
              • Multiboard - Set the width for (Last created multiboard) item in column 5, row C to 1.00% of the total screen width
              • Multiboard - Set the width for (Last created multiboard) item in column 2, row C to 10.00% of the total screen width
              • Multiboard - Set the width for (Last created multiboard) item in column 4, row C to 10.00% of the total screen width
              • Multiboard - Set the width for (Last created multiboard) item in column 6, row C to 10.00% of the total screen width
          • For each (Integer B) from 1 to 6, do (Actions)
            • Loop - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • Or - Any (Conditions) are true
                    • Conditions
                      • (Integer B) Equal to 1
                      • (Integer B) Equal to 3
                      • (Integer B) Equal to 5
                • Then - Actions
                  • For each (Integer C) from 1 to 20, do (Actions)
                    • Loop - Actions
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • SkillSelect[(Integer A)] Not equal to (((Integer B) x 10) + C)
                        • Then - Actions
                          • Multiboard - Set the display style for (Last created multiboard) item in column (Integer B), row C to Show text and Hide icons
                        • Else - Actions
                          • Multiboard - Set the display style for (Last created multiboard) item in column (Integer B), row C to Show text and Show icons
                          • Multiboard - Set the icon for (Last created multiboard) item in column (Integer B), row C to ReplaceableTextures\CommandButtons\BTNWispSplode.blp
                • Else - Actions
      • Trigger - Run AA <gen> (ignoring conditions)
The DEBUG message "AA" only showed itself 2 times and the multiboard didn't show (now multiboard show in Trigger "AA"-just the plain custom scripts and the "show") so it seems like it totally stops at this ammount ot loops after the 2nd one...
 
Level 19
Joined
Aug 16, 2007
Messages
881
No, you doesn't have to and should not use waits. Waits in a loop causes it to bug. Also you should not use Integer A and Integer B, create custom ones for those. Don't use Last created multiboard, use the variable you assigned for your last created multiboard instead (Abi_Table[X] = (Last created multiboard)), just to make it a little more safe. Also, this could be done a lot more simpler.
 
Level 21
Joined
Mar 19, 2009
Messages
444
About the desync you get with your first code (first message), that's normal:
You use several things into the if/then/else with the local player.

Please note:

1-Local player = thing displayed only on the computer of a player.
2-To avoid descyn you are only able to use inside a GetLocalPlayer() functions displaying things about the interface, sounds etc.
3-In your case, you CREATE multiboard locally. That's definitely not what you are supposed to do.
4-To make a multiboard per player, you have to create (NOT locally) X multiboard for your X players, and then to LOCALLY display/hide the multiboard N for the player N.

Way:

Multiboard array variable.

Then, to update all multiboards, just use a loop with integer.

And to display the multiboard N for the Player(N), just do inside a loop:
JASS:
loop
    exitwhen i > 11//dunno how much player you get.
    if GetLocalPlayer() == Player(i)
        call HideMultiboard(YourMultiboardArrayVariable[i],true)
    endif
    set i = i + 1
endloop

Hint: I do not remember if boards are visible per defaut or hidden. Thus, if they are visible per defaut, you have to HIDE them for all players except the one you want.
 
Level 15
Joined
Oct 18, 2008
Messages
1,588
About the desync you get with your first code (first message), that's normal:
You use several things into the if/then/else with the local player.

Please note:

1-Local player = thing displayed only on the computer of a player.
2-To avoid descyn you are only able to use inside a GetLocalPlayer() functions displaying things about the interface, sounds etc.
3-In your case, you CREATE multiboard locally. That's definitely not what you are supposed to do.
4-To make a multiboard per player, you have to create (NOT locally) X multiboard for your X players, and then to LOCALLY display/hide the multiboard N for the player N.

Way:

Multiboard array variable.

Then, to update all multiboards, just use a loop with integer.

And to display the multiboard N for the Player(N), just do inside a loop:
JASS:
loop
    exitwhen i > 11//dunno how much player you get.
    if GetLocalPlayer() == Player(i)
        call HideMultiboard(YourMultiboardArrayVariable[i],true)
    endif
    set i = i + 1
endloop

Hint: I do not remember if boards are visible per defaut or hidden. Thus, if they are visible per defaut, you have to HIDE them for all players except the one you want.

Errm... If you read my last post, you'll find out that this IS what I tried to do...
  • Init
    • Events
      • Time - Elapsed game time is 0.00 seconds
    • Conditions
    • Actions
      • For each (Integer X) from 1 to 12, do (Actions)
        • Loop - Actions
          • Game - Display to (All players) the text: aa
          • Multiboard - Create a multiboard with 6 columns and 20 rows, titled Skills
          • Set Abi_Table[X] = (Last created multiboard)
          • Multiboard - Hide Abi_Table[X]
          • For each (Integer B) from 1 to 1, do (Actions)
            • Loop - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                • Then - Actions
                  • For each (Integer C) from 1 to 20, do (Actions)
                    • Loop - Actions
                      • Multiboard - Set the text for (Last created multiboard) item in column 2, row C to (Name of Necro_Abilitys[C])
                      • Multiboard - Set the text for (Last created multiboard) item in column 4, row C to (Name of Necro_Abilitys[(C + 20)])
                      • Multiboard - Set the text for (Last created multiboard) item in column 6, row C to (Name of Necro_Abilitys[(C + 40)])
                • Else - Actions
          • For each (Integer H) from 1 to 20, do (Actions)
            • Loop - Actions
              • For each (Integer Z) from 1 to 6, do (Actions)
                • Loop - Actions
                  • Multiboard - Set the display style for (Last created multiboard) item in column Z, row H to Show text and Show icons
              • Multiboard - Set the width for (Last created multiboard) item in column 1, row Z to 1.00% of the total screen width
              • Multiboard - Set the width for (Last created multiboard) item in column 3, row Z to 1.00% of the total screen width
              • Multiboard - Set the width for (Last created multiboard) item in column 5, row Z to 1.00% of the total screen width
              • Multiboard - Set the width for (Last created multiboard) item in column 2, row Z to 10.00% of the total screen width
              • Multiboard - Set the width for (Last created multiboard) item in column 4, row Z to 10.00% of the total screen width
              • Multiboard - Set the width for (Last created multiboard) item in column 6, row Z to 10.00% of the total screen width
          • For each (Integer Y) from 1 to 6, do (Actions)
            • Loop - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • Or - Any (Conditions) are true
                    • Conditions
                      • Y Equal to 1
                      • Y Equal to 3
                      • Y Equal to 5
                • Then - Actions
                  • For each (Integer D) from 1 to 20, do (Actions)
                    • Loop - Actions
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • SkillSelect[(Integer A)] Not equal to ((Y x 10) + D)
                        • Then - Actions
                          • Multiboard - Set the display style for (Last created multiboard) item in column Y, row D to Show text and Hide icons
                        • Else - Actions
                          • Multiboard - Set the display style for (Last created multiboard) item in column Y, row D to Show text and Show icons
                          • Multiboard - Set the icon for (Last created multiboard) item in column Y, row D to ReplaceableTextures\CommandButtons\BTNWispSplode.blp
                • Else - Actions
          • Custom script: if ( GetLocalPlayer() == Player(( udg_X-1)) ) then
          • Multiboard - Show Abi_Table[X]
          • Multiboard - Maximize Abi_Table[X]
          • Custom script: endif
          • Wait 0.00 seconds
This is the new code... The problem is, I use many loops, which are totally like 5000*2 or 3 actions at the same moment... If I don't put a wait there to let the game finish the loops, it'll deny to start new ones and stops after the 2nd one. Also this way it should work but it doesn't show the multiboard Oo

EDIT:Oooookay so... Now it's like this, with custom variables and etc., the problem is it stops at halfway Oo Only shows "DEBUG" message once and changes the until the half of them is not showed...
  • Init
    • Events
      • Time - Elapsed game time is 0.00 seconds
    • Conditions
    • Actions
      • For each (Integer X) from 1 to 12, do (Actions)
        • Loop - Actions
          • Game - Display to (All players) the text: DEBUG
          • Multiboard - Create a multiboard with 6 columns and 20 rows, titled Skills
          • Set Abi_Table[X] = (Last created multiboard)
          • For each (Integer C) from 1 to 20, do (Actions)
            • Loop - Actions
              • Multiboard - Set the text for Abi_Table[X] item in column 2, row C to (Name of Necro_Abilitys[C])
              • Multiboard - Set the text for Abi_Table[X] item in column 4, row C to (Name of Necro_Abilitys[(C + 20)])
              • Multiboard - Set the text for Abi_Table[X] item in column 6, row C to (Name of Necro_Abilitys[(C + 40)])
          • For each (Integer Z) from 1 to 6, do (Actions)
            • Loop - Actions
              • For each (Integer H) from 1 to 20, do (Actions)
                • Loop - Actions
                  • Multiboard - Set the display style for Abi_Table[X] item in column Z, row H to Show text and Show icons
                  • Multiboard - Set the width for Abi_Table[X] item in column 1, row H to 1.00% of the total screen width
                  • Multiboard - Set the width for Abi_Table[X] item in column 3, row H to 1.00% of the total screen width
                  • Multiboard - Set the width for Abi_Table[X] item in column 5, row H to 1.00% of the total screen width
                  • Multiboard - Set the width for Abi_Table[X] item in column 2, row H to 20.00% of the total screen width
                  • Multiboard - Set the width for Abi_Table[X] item in column 4, row H to 20.00% of the total screen width
                  • Multiboard - Set the width for Abi_Table[X] item in column 6, row H to 20.00% of the total screen width
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • Or - Any (Conditions) are true
                        • Conditions
                          • Z Equal to 1
                          • Z Equal to 3
                          • Z Equal to 5
                    • Then - Actions
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • SkillSelect[X] Not equal to ((Z x 10) + H)
                        • Then - Actions
                          • Multiboard - Set the display style for Abi_Table[X] item in column Z, row H to Show text and Hide icons
                        • Else - Actions
                          • Multiboard - Set the display style for Abi_Table[X] item in column Z, row H to Show text and Show icons
                          • Multiboard - Set the icon for Abi_Table[X] item in column Z, row H to ReplaceableTextures\CommandButtons\BTNWispSplode.blp
                    • Else - Actions
          • Multiboard - Hide Abi_Table[X]
          • Custom script: if ( GetLocalPlayer() == Player(( udg_X-1)) ) then
          • Multiboard - Show Abi_Table[X]
          • Custom script: endif
          • Wait 0.00 seconds
Oh and if I'm there... Why does this not work? :)
  • Game - Display to (All players) the text: (Game Loading: + ((|cFF0000FF + ((Substring(||||||||||||, 1, X)) + |r)) + (|cFFFF0000 + ((Substring(||||||||||||, 1, (12 - X))) + |r))))
EDIT: SOLVED

Solution:
  • Init
    • Events
      • Time - Elapsed game time is 0.00 seconds
    • Conditions
    • Actions
      • Game - Display to (All players) for 1.00 seconds the text: Game Loading:|cFFFF...
      • Cinematic - Fade out over 0.00 seconds using texture Black Mask and color (0.00%, 0.00%, 0.00%) with 0.00% transparency
      • Cinematic - Disable user control for (All players)
      • For each (Integer X) from 1 to 12, do (Actions)
        • Loop - Actions
          • Multiboard - Create a multiboard with 7 columns and 20 rows, titled Skills
          • Set Abi_Table[X] = (Last created multiboard)
          • Multiboard - Hide Abi_Table[X]
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
            • Then - Actions
              • Multiboard - Set the icon for Abi_Table[X] item in column 2, row 1 to ReplaceableTextures\CommandButtons\BTNAnimateDead.blp
              • Multiboard - Set the icon for Abi_Table[X] item in column 2, row 2 to ReplaceableTextures\CommandButtons\BTNCarrionSwarm.blp
              • Multiboard - Set the icon for Abi_Table[X] item in column 2, row 3 to ReplaceableTextures\CommandButtons\BTNWoomanGhost.blp
              • For each (Integer C) from 1 to 20, do (Actions)
                • Loop - Actions
                  • Multiboard - Set the text for Abi_Table[X] item in column 2, row C to (Name of Necro_Abilitys[C])
                  • Multiboard - Set the text for Abi_Table[X] item in column 4, row C to (Name of Necro_Abilitys[(C + 20)])
                  • Multiboard - Set the text for Abi_Table[X] item in column 6, row C to (Name of Necro_Abilitys[(C + 40)])
            • Else - Actions
          • For each (Integer Z) from 1 to 6, do (Actions)
            • Loop - Actions
              • Wait 0.00 seconds
              • For each (Integer H) from 1 to 20, do (Actions)
                • Loop - Actions
                  • Multiboard - Set the display style for Abi_Table[X] item in column Z, row H to Show text and Show icons
                  • Multiboard - Set the width for Abi_Table[X] item in column 1, row H to 4.00% of the total screen width
                  • Multiboard - Set the width for Abi_Table[X] item in column 3, row H to 4.00% of the total screen width
                  • Multiboard - Set the width for Abi_Table[X] item in column 5, row H to 4.00% of the total screen width
                  • Multiboard - Set the width for Abi_Table[X] item in column 2, row H to 28.00% of the total screen width
                  • Multiboard - Set the width for Abi_Table[X] item in column 4, row H to 28.00% of the total screen width
                  • Multiboard - Set the width for Abi_Table[X] item in column 6, row H to 28.00% of the total screen width
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • Or - Any (Conditions) are true
                        • Conditions
                          • Z Equal to 1
                          • Z Equal to 3
                          • Z Equal to 5
                    • Then - Actions
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • SkillSelect[X] Not equal to ((Z x 10) + H)
                        • Then - Actions
                          • Multiboard - Set the icon for Abi_Table[X] item in column Z, row H to war3mapImported\empty.blp
                          • Multiboard - Set the display style for Abi_Table[X] item in column Z, row H to Show text and Show icons
                        • Else - Actions
                          • Multiboard - Set the display style for Abi_Table[X] item in column Z, row H to Show text and Show icons
                          • Multiboard - Set the icon for Abi_Table[X] item in column Z, row H to ReplaceableTextures\CommandButtons\BTNWispSplode.blp
                    • Else - Actions
          • Custom script: if ( GetLocalPlayer() == Player(( udg_X-1)) ) then
          • Multiboard - Show Abi_Table[X]
          • Custom script: endif
          • Cinematic - Clear the screen of text messages for (All players)
          • Game - Display to (All players) for 1.00 seconds the text: (Game Loading: + ((|cFF0000FF + ((Substring(IIIIIIIIIIII, 1, X)) + |r)) + (|cFFFF0000 + ((Substring(IIIIIIIIIIII, 1, (12 - X))) + |r))))
      • For each (Integer A) from 1 to 20, do (Actions)
        • Loop - Actions
          • Multiboard - Set the text for Abi_Table[X] item in column 1, row (Integer A) to (Lvl: + (String((Level of Necro_Abilitys[(Integer A)] for Heroes[X]))))
          • Multiboard - Set the text for Abi_Table[X] item in column 3, row (Integer A) to (Lvl: + (String((Level of Necro_Abilitys[((Integer A) + 20)] for Heroes[X]))))
          • Multiboard - Set the text for Abi_Table[X] item in column 5, row (Integer A) to (Lvl: + (String((Level of Necro_Abilitys[((Integer A) + 40)] for Heroes[X]))))
      • Cinematic - Enable user control for (All players)
      • Cinematic - Fade in over 1.00 seconds using texture Black Mask and color (0.00%, 0.00%, 0.00%) with 0.00% transparency
Also there was a problem with my update triggers-they tryed to update locally, which caused desync :) Now totally works :)
 
Last edited:
Status
Not open for further replies.
Top