Good'old well thought questionnairy would be nice to make and share to see the status of mapmaking. Sharing across mapster, teamliquid, blizzard's forum, hiveworkshop, and even in-game when playing to get people that are not necessairly interested into mapmaking already. Someone that is on mapsters is there for a reason. The more I think of it, the more I see a well made questionnary with google doc or something so people can leave comments, etc.
How could we reach more people to get into mapmaking? Starcraft 2 really need more people to get involved into this... we should make some sort of questionary about why people does not do mapmaking, and why they should and how they could.
With this example with the trigger Game Initialization you can then pick eatch player and create their unit based on the race they choosed (the variable "Player Has Choosed")
Feel free to PM me if you need so. You can also write back here and hopefully I'll get the notice. Dialogs is one part in the triggers that I'm very familiar with, except for custom dialogs appearance. But I guess at that point it would be easy to learn.
Hummm... not sure. I guess you might be able to get what the player variant was picked in data but I don't know how. Someone more experienced in data could probably answer that question.
I made one example of how you could do it. There are probably better ways, more efficient, etc. But it still gives you a first glimpse and can improve it as you go.
2: Create a Player Attribute and add the value of your races
3: Create a Game Variant.
You can hide the default race selection in top right and you can choose the Player Attribute you created in the bottom. At that point I think it should show up in the lobby. Might still have to mess around with it, that part is kinda annoying, to have to login to galaxy, upload, loging to sc2, test, repeat if its not like you want.. Then you can track in triggers which Player attribute a player picked.
The variable Player has voted would be the number of players for your map.
So now, you have a new triggers, let's call it "Player choosing". As event you would have, dialog item used, as condition which dialog item was used (the button).
In the actions, you would have a set variable for "Player has voted [triggering player]" == true.
Then something along the lines of a For eatch int from 1 to (your number of players). (You could add a local variable for temporary counting, say "Votes")
If Player has voted [int] == true
Then set variable votes +1
Else (nothing)
Then another if then else:
If number of active players == Votes (which means all active players voted)
Then do the actions to start the game and stop the timer.
So everytime a player votes, it will cycle through the array and see if everyone voted. It probably not "the most efficient way" but its not a big enough trigger to have any noticeable lags or issues. It's not trying to cycle through thousands of stuff you know...
1: If something is created, it means you might still have on map initialization the actions that creates the starting structures for all players (you know the default triggers you can see when making a new map) Then, if nothing appears other than your dialogs to pick a faction / race, you create the unit for it when voting is finish.
2: There are many ways of doing this, the examples I give might not be the "optimal" ones, but ones that can work. There are always better or different ways of doing thing based on your needs. To make what you wish here you need at least:
Some sort of Timer. Can be the default one that can be found in the action list about timers or you can make your own using dialogs and dialog items Label and variables and some basic mathematics such as
Set X = 30
Repeat forever: (Note: Could also be repeat X number of times)
If: X > 30
Then: set the dialog item text to X
wait 1 sec
set variable X -1.
Else: Timer is over.
A condition that checks if all players voted when a player votes. So the last player that votes will make the game starts. Using variable, like an Boolean (True/False) Array "Player has voted". When a player votes it sets that player to true. Then you run a loop to check if eatch value is an active player (to prevent leavers) and if it's set to true. Then this means all players voted and the trigger can continue on making the game start.
About the end of the timer, you check if eatch player is an active player, and if it has voted to true, if not, you can do a simple local variable integer that you can do "Set variable random integer between X and Y" based on the number of races you have. Then you assign that race based on the random int.
Note:
You might enconter some minor bugs. For example: make sure that if all players votes and the game starts, to stop the timer, otherwise it will keep going down and spawn once again the starting structures.
You might want to have an action that disables the triggers about winning/losing conditions for example if a player has no building end game. Since during voting in the beginning no players have structure it would end right there.
You will most likely go through some stupid / annoying bugs just like anyone ;) If you need a more specefic example using the editor just ask. But I think you might be able to understand the idea. Hopefully my explainations are clear enough.
One and a half year later, I'm still at that point where I'm thrilled to continue, but lack time to invest... so it did not advance as much as I would have hoped. Yesterday, I went back into it and fixed some bugs again. Feel Great. Would anyone be interested with some decent trigger and data knowledge in helping out?
0
In short it could look like this. Just create your dialog and dialog items and do something along these lines:
https://www.sc2mapster.com/forums/development/triggers/230046-how-to-create-a-faction-customization-screen?comment=8
Its not a tutorial properly speaking, but it gives an idea.
0
You can read through this thread to have a global idea of how to do that, but you will need some tweaks to fit your needs.
https://www.sc2mapster.com/forums/development/triggers/230046-how-to-create-a-faction-customization-screen
0
Short recap:
What happends is: The cooldown is only for the use of the button and not the charges themself.
What you want: The cooldown to finish then get charges.
0
0
Good'old well thought questionnairy would be nice to make and share to see the status of mapmaking. Sharing across mapster, teamliquid, blizzard's forum, hiveworkshop, and even in-game when playing to get people that are not necessairly interested into mapmaking already. Someone that is on mapsters is there for a reason. The more I think of it, the more I see a well made questionnary with google doc or something so people can leave comments, etc.
0
How could we reach more people to get into mapmaking? Starcraft 2 really need more people to get involved into this... we should make some sort of questionary about why people does not do mapmaking, and why they should and how they could.
0
0.963343108504399
With this example with the trigger Game Initialization you can then pick eatch player and create their unit based on the race they choosed (the variable "Player Has Choosed")
Feel free to PM me if you need so. You can also write back here and hopefully I'll get the notice. Dialogs is one part in the triggers that I'm very familiar with, except for custom dialogs appearance. But I guess at that point it would be easy to learn.
0
Hummm... not sure. I guess you might be able to get what the player variant was picked in data but I don't know how. Someone more experienced in data could probably answer that question.
0.962962962962963
I made one example of how you could do it. There are probably better ways, more efficient, etc. But it still gives you a first glimpse and can improve it as you go.
Map example:
https://ufile.io/cuhi3
0
1: Open Game Attributes
2: Create a Player Attribute and add the value of your races
3: Create a Game Variant.
You can hide the default race selection in top right and you can choose the Player Attribute you created in the bottom. At that point I think it should show up in the lobby. Might still have to mess around with it, that part is kinda annoying, to have to login to galaxy, upload, loging to sc2, test, repeat if its not like you want.. Then you can track in triggers which Player attribute a player picked.
0.963289280469897
I'll elaborate a bit.
The variable Player has voted would be the number of players for your map.
So now, you have a new triggers, let's call it "Player choosing". As event you would have, dialog item used, as condition which dialog item was used (the button).
In the actions, you would have a set variable for "Player has voted [triggering player]" == true.
Then something along the lines of a For eatch int from 1 to (your number of players). (You could add a local variable for temporary counting, say "Votes")
If Player has voted [int] == true
Then set variable votes +1
Else (nothing)
Then another if then else:
If number of active players == Votes (which means all active players voted)
Then do the actions to start the game and stop the timer.
So everytime a player votes, it will cycle through the array and see if everyone voted. It probably not "the most efficient way" but its not a big enough trigger to have any noticeable lags or issues. It's not trying to cycle through thousands of stuff you know...
Is that better?
0.962686567164179
It's kind of tricky to know why the default units spawn without seeing the triggers.
I want to point out though that in the trigger you show here there is:
You could simply keep one of those two and it should still work fine.
0.962630792227205
1: If something is created, it means you might still have on map initialization the actions that creates the starting structures for all players (you know the default triggers you can see when making a new map) Then, if nothing appears other than your dialogs to pick a faction / race, you create the unit for it when voting is finish.
2: There are many ways of doing this, the examples I give might not be the "optimal" ones, but ones that can work. There are always better or different ways of doing thing based on your needs. To make what you wish here you need at least:
Note:
You will most likely go through some stupid / annoying bugs just like anyone ;) If you need a more specefic example using the editor just ask. But I think you might be able to understand the idea. Hopefully my explainations are clear enough.
Note: Are you on discord? I'm Fenix there. https://www.sc2mapster.com/forums/general/general-chat/184298-sc2mapster-discord
0
One and a half year later, I'm still at that point where I'm thrilled to continue, but lack time to invest... so it did not advance as much as I would have hoped. Yesterday, I went back into it and fixed some bugs again. Feel Great. Would anyone be interested with some decent trigger and data knowledge in helping out?