Now on to the questions. I have a line in the first trigger: "Dialog - Hide Display Achievements Dialog Labels[i] for (Active Players)". If I use (Player Group (Triggering Player)) then when I click the achievement button, I get all of the labels at once on top of each other. If I just click through, then it is fine after it goes through all 4 pages. I have no idea why that is, but when I use (Active Players) it works fine.
you forget to check which page to display, or on creation to hide everything except what is on the first page.
Next question. I create all of the image files in the first trigger. Do I then need to do a show/hide with an IF THEN statement to show or hide them all depending on what "Display Achievements Current Page" is equal to, or is there an easier way?
Mark achievements per player for visible/not visible. Then just check it with a loop over the full achievements array for that page.
in the second trigger you are creating 2 images per page, but you are setting them to the same variable: e.g.
image[1] = image 1 page 1
image[2] = image 2 page 1
image[1] = image 1 page 2
image[2] = image 2 page 2
if you now try to use image[1] to hide the image on page 1 you will fail, because it is set to the image on page 2. same goes for image[2].
solution:
make the variable "Display Achievements Image Zergling" a 2 Dimensional array, first value is page, second value is image nr.:
image[1][1] = image 1 page 1
image[1][2] = image 2 page 1
image[2][1] = image 1 page 2
image[2][2] = image 2 page 2
now you can hide the images on page 1 with image[1][1] and image[1][2]
Also in the last trigger you are using (All players) several times instead of (Player group((Triggering player)).
The Hide Display Achievements .... and Show Display Achievements .... actions.
And finally you are recreating the dialogs each time the button is pressed, bit of overkill if you ask me. ain't it simpler to just create them once and then just hide/show that single dialog for the specific player that presses the button?
Ah, tutorials... If you think about the problem for a while, you'll definitely figure out a good solution that makes sense to you.
I have no idea how you coded up the thing but in your case I would manage each dialog independently per-player. That means an array of 16 dialogs, and other arrays of 16 dialog items for buttons and such. Each dialog would only be visible to the corresponding player and only he could interact with it.
Beyond that, it doesn't sound too complex. If it works for a single player, it will work in multiplayer with each player having his dialog.
no need to create it 16 times. As long as the structure is the same, the displayed info can be managed on a per player basis. e.g. show/hide dialog item for player X (or was it for player group (Convert player X to player group))
you forget to check which page to display, or on creation to hide everything except what is on the first page.
Mark achievements per player for visible/not visible. Then just check it with a loop over the full achievements array for that page.
Yes.
Action Definition examples: (not all might be useful for you to implement)
in the second trigger you are creating 2 images per page, but you are setting them to the same variable: e.g.
image[1] = image 1 page 1
image[2] = image 2 page 1
image[1] = image 1 page 2
image[2] = image 2 page 2
if you now try to use image[1] to hide the image on page 1 you will fail, because it is set to the image on page 2. same goes for image[2].
solution:
make the variable "Display Achievements Image Zergling" a 2 Dimensional array, first value is page, second value is image nr.:
image[1][1] = image 1 page 1
image[1][2] = image 2 page 1
image[2][1] = image 1 page 2
image[2][2] = image 2 page 2
now you can hide the images on page 1 with image[1][1] and image[1][2]
Also in the last trigger you are using (All players) several times instead of (Player group((Triggering player)). The Hide Display Achievements .... and Show Display Achievements .... actions.
And finally you are recreating the dialogs each time the button is pressed, bit of overkill if you ask me. ain't it simpler to just create them once and then just hide/show that single dialog for the specific player that presses the button?
Moved Thread: this is about dialogs and not about UI (SC2Layout)
no need to create it 16 times. As long as the structure is the same, the displayed info can be managed on a per player basis. e.g. show/hide dialog item for player X (or was it for player group (Convert player X to player group))