I solved my problem by completely deleting my current variants and making them from scratch. It's possible I'd messed up somewhere, or maybe it's just because I made this map with the beta editor originally. Either way, if you're having the same problem, it might help to just delete your variants and recreate them.
It is possible that I've set the lobby up wrong, but I believe I've done it right. So, what I'm about to ask, I believe is broken. However, if you know what might cause the problem, I'd love to know:
Lobby players aren't transferred to the game properly. For example, if player 2 is moved to player 4, he is still player 2 in game, even if people join after him and fill up the spots (but it would be nice if it worked, imho, even when nobody else joins, so you can do a 1v1 game).
I have the very same problem.Someone know how to solve it?
Is it possible to prevent players from choosing the same attributes? Like there is at most 1 attribute for a player but players are free to choose ones that are not taken.
Is there anyway to 'delete' the original game mode? The problem I've got with my map (which isn't my map, but a map from the US servers that I'm uploading to the EU servers) is that there's two game modes - normal and 'AoS'. If you put it to AoS, everything works fine. If you put it to normal, you ALWAYS end up playing a 5vs3 match. The problem is, the 'normal' mode does not exist in the game variants in the map editor - it only shows the AoS mode.
All this effectively means that the only way to get a balanced game going is if I host the map personally, then set the game mode to AoS, and THEN make the game public to other players. By default, the map is set to 'normal' mode, which means that if you just click 'join game' rather than hosting it yourself, you always end up in a lobby with a 5vs3 match (unless you end up in the game I created and manually set to AoS).
Hi there, thanks for the tutorial it cleared up some things.
However I have not yet been able to finish what I started. My idea is to have the game host decide on the supply limit for the game.
Now I want the game to adjust the supply limit for all players according to the value chosen by the game host. But I do not understand how to set a integer variable with the value selected for the game attribute.
For example I can't just set my "Supply limit lobby" variable with the attribute value. At least to me it seems to act like a constant value if I set it to:
Attribute: Supply Limit
Value: 200
I doubt that if I set it like this I will have any way of picking the value I want.
Second problem I am running into is that even if this would work the variable isn't an integer. And I can only select an integer variable for the action I want to use to set the supply limit:
Player - Modify player Player Supplies Limit: Set to "Supply limit Lobby"
I made an extra variable "Supply Limit Lobby integer" as I thought I might be able to convert the "Supply Limit Lobby" to an integer. But that didn't work either or I don't know how.
Also I have only half a clue of most of the things I am doing here. I have included a couple of screenies here so you can see what I have done. I hope you can help me to see what I am doing wrong.
You can set up an if-then-else statement for it: something like If "your attribute value" = 200 then set "your integer variable" to 200, and do that for all the options.
It is possible that I've set the lobby up wrong, but I believe I've done it right. So, what I'm about to ask, I believe is broken. However, if you know what might cause the problem, I'd love to know:
Lobby players aren't transferred to the game properly. For example, if player 2 is moved to player 4, he is still player 2 in game, even if people join after him and fill up the spots (but it would be nice if it worked, imho, even when nobody else joins, so you can do a 1v1 game).
I have this same problem. How do you allow players to move from team to team and then know which team a player is on when you're working with triggers?
I don't want to just lock it so the host is always player 1 and he's forced to be on team 1.
Can anyone help? I'm really new to map making and when I try to change the map attributes for my custom game mode they are all grayed out and I can't change them. I followed the directions but can't seem to figure it out.
Edit: Nevermind I didnt realize I could use the drop down tab XD.
Thanks for tutorial but I still have something to ask.
Sometimes I can see my map on single player menu and sometimes not. Possible reason may be custom trigger about lighting or wrong default mode. Not sure.
Editor also has "Generate defaults button" which seems very useful in some situations.
I have this same problem. How do you allow players to move from team to team and then know which team a player is on when you're working with triggers?
I don't want to just lock it so the host is always player 1 and he's forced to be on team 1.
Add me to the very long list of people who are having this problem.
Someone help us out, please!!!!
All I want is to be able to set up my map so that slots 1, 2, 3, 4, in the editor map exactly to players 1, 2, 3, 4 in the game, and players (1, 2) are on one team and (3, 4) are on the other team.
It was intuitively obvious to me that that's what should happen when I selected the Melee 2v2 mode as my game variant, but no matter what I do, I cannot get it working such that putting myself in "team 2" in the lobby actually puts me on team 2. When I host the game, I always end up as player 1, no matter what.
Add me to the very long list of people who are having this problem. Someone help us out, please!!!!
All I want is to be able to set up my map so that slots 1, 2, 3, 4, in the editor map exactly to players 1, 2, 3, 4 in the game, and players (1, 2) are on one team and (3, 4) are on the other team.
It was intuitively obvious to me that that's what should happen when I selected the Melee 2v2 mode as my game variant, but no matter what I do, I cannot get it working such that putting myself in "team 2" in the lobby actually puts me on team 2. When I host the game, I always end up as player 1, no matter what.
Count me in.........I've tried just about every combination, but no matter what they wind up playing on the team in the order they joined:
e.g. Host is always player 1 team 1. 2nd person to join is player 2 team 1. etc....
There has to be an easy solution to this! I've seen other maps have draggable teams that reflect the setup ingame
Question: Is there any way to have a set of different help texts (loading screen tips) that the game displays randomly?
I think I saw this somewhere but can't remember where, not sure if it's even possible
I've been having the same problems with associating players with their slots as well. I think I saw one game get around this with each player picking his slot from a drop-down menu and then letting the in-game triggers do most of the work. If anyone has a solution or workaround for this problem let us know!
It is possible that I've set the lobby up wrong, but I believe I've done it right. So, what I'm about to ask, I believe is broken. However, if you know what might cause the problem, I'd love to know:
Lobby players aren't transferred to the game properly. For example, if player 2 is moved to player 4, he is still player 2 in game, even if people join after him and fill up the spots (but it would be nice if it worked, imho, even when nobody else joins, so you can do a 1v1 game).
Same problem, it is so frustating for me since i based most of my triggers on player numbers before i even realized that it wasn't a warcraft III like lobby where lobby slots matters :/
I fear i need to create an advanced in-game lobby to avoid this problem :(
If anyone find a good solution please let me know!
I have this same problem. How do you allow players to move from team to team and then know which team a player is on when you're working with triggers?
I don't want to just lock it so the host is always player 1 and he's forced to be on team 1.
I spent a weekend messing around with variants and triggers. I should have wrote them down as I learned how it worked but here is what I remember.
1. A computer player in the lobby ignores start location assignments that you setup in player properties in galaxy when initialized with InitMeleeAI()
I'm still trying to figure out how to initialize an AI to start at a specified location and still use the melee AI.
2. Player numbers are not slot numbers. I think players get numbered as they join and may even skip if a player leaves and a new one joins. Best thing to do about player numbers is pretend they dont exist. They are completly useless unless you want to bind players to start locations and not let them move around in the lobby.
3. There is no way to get what player is in what slot that I know of.
4. Confusing things happen with slots left open. For example when you have a 4v4 map and you put 3 computers on team 2 and just yourself on team 1 you can forget about trying to figure out which player goes where. Also the AI just start going to random locations and random allies itself with the wrong team. Open slots = bad ai. So always fill the slots in the lobby or make a game variant that has the specific number of slots for what you want to do. Again OPEN SLOTS = BAD AI.
5. Player colors are unique and they match in game with triggers. This is important because with any mode where there all players and no AI you can use player colors to set start locations. I've done this and it works. Then I just made the map preview picture show that purple starts at X. There is also the benefit of letting players select a temporary color to move out of the way for someone that wants the color you have. You need to create a failsafe though if a player picks a color you dont have tied to a start location.
6. The player properties window, where you setup alliances and start locations is useless. I don't know if its bugged, but start locations and alliances don't work completly for AI. Melee AI will override player properties window and find the first available slots and start locations.
Player properties = "what does my map allow"
Game Variants = "a more specific mode of whats allowed"
7. Header failures and failures to publish are caused by when you make a game variant that has something that allows players to select something that is not allowed in Player properties.
For example if you change the player properties to force players 1-8 to Terran race and generate default modes in the game variants you will cause a error because you are allowing players to select their race in the game variants but your map player properties doesn't allow that. The same errors can be caused by not allowing colors or whatever. The easiest way to avoid publish errors is to allow everything in player properties and setup game variants as you wish.
Todo:
1. Figure out a way to detect lobby teams (this should be doable with alliance comparisons)
2. Initialize an AI to a specified location
There is some settown functions and initmeleeai for specific players but I havent figured out the sequence to get the ai going. They just stand there doing nothing.
I solved part of it. I am able to get the players lobby team now after a lot of custom scripting. Here is a function anyone can put in their map and it will tell you the players team they were on from the lobby. I still dont know if getting the team slot is possible.
I solved my problem by completely deleting my current variants and making them from scratch. It's possible I'd messed up somewhere, or maybe it's just because I made this map with the beta editor originally. Either way, if you're having the same problem, it might help to just delete your variants and recreate them.
I have the very same problem.Someone know how to solve it?
Is it possible to prevent players from choosing the same attributes? Like there is at most 1 attribute for a player but players are free to choose ones that are not taken.
awesome confusing options...
thanks
Is there anyway to 'delete' the original game mode? The problem I've got with my map (which isn't my map, but a map from the US servers that I'm uploading to the EU servers) is that there's two game modes - normal and 'AoS'. If you put it to AoS, everything works fine. If you put it to normal, you ALWAYS end up playing a 5vs3 match. The problem is, the 'normal' mode does not exist in the game variants in the map editor - it only shows the AoS mode.
All this effectively means that the only way to get a balanced game going is if I host the map personally, then set the game mode to AoS, and THEN make the game public to other players. By default, the map is set to 'normal' mode, which means that if you just click 'join game' rather than hosting it yourself, you always end up in a lobby with a 5vs3 match (unless you end up in the game I created and manually set to AoS).
Rather confused about how to fix this...
Hi there, thanks for the tutorial it cleared up some things.
However I have not yet been able to finish what I started. My idea is to have the game host decide on the supply limit for the game.
Now I want the game to adjust the supply limit for all players according to the value chosen by the game host. But I do not understand how to set a integer variable with the value selected for the game attribute.
For example I can't just set my "Supply limit lobby" variable with the attribute value. At least to me it seems to act like a constant value if I set it to: Attribute: Supply Limit Value: 200 I doubt that if I set it like this I will have any way of picking the value I want.
Second problem I am running into is that even if this would work the variable isn't an integer. And I can only select an integer variable for the action I want to use to set the supply limit: Player - Modify player Player Supplies Limit: Set to "Supply limit Lobby"
I made an extra variable "Supply Limit Lobby integer" as I thought I might be able to convert the "Supply Limit Lobby" to an integer. But that didn't work either or I don't know how.
Also I have only half a clue of most of the things I am doing here. I have included a couple of screenies here so you can see what I have done. I hope you can help me to see what I am doing wrong.
You can set up an if-then-else statement for it: something like If "your attribute value" = 200 then set "your integer variable" to 200, and do that for all the options.
I have this same problem. How do you allow players to move from team to team and then know which team a player is on when you're working with triggers?
I don't want to just lock it so the host is always player 1 and he's forced to be on team 1.
Can anyone help? I'm really new to map making and when I try to change the map attributes for my custom game mode they are all grayed out and I can't change them. I followed the directions but can't seem to figure it out.
Edit: Nevermind I didnt realize I could use the drop down tab XD.
Thanks for tutorial but I still have something to ask.
Sometimes I can see my map on single player menu and sometimes not. Possible reason may be custom trigger about lighting or wrong default mode. Not sure.
Editor also has "Generate defaults button" which seems very useful in some situations.
Add me to the very long list of people who are having this problem.
Someone help us out, please!!!!
All I want is to be able to set up my map so that slots 1, 2, 3, 4, in the editor map exactly to players 1, 2, 3, 4 in the game, and players (1, 2) are on one team and (3, 4) are on the other team.
It was intuitively obvious to me that that's what should happen when I selected the Melee 2v2 mode as my game variant, but no matter what I do, I cannot get it working such that putting myself in "team 2" in the lobby actually puts me on team 2. When I host the game, I always end up as player 1, no matter what.
Count me in.........I've tried just about every combination, but no matter what they wind up playing on the team in the order they joined:
e.g. Host is always player 1 team 1. 2nd person to join is player 2 team 1. etc....
There has to be an easy solution to this! I've seen other maps have draggable teams that reflect the setup ingame
Very nice thread for reference.
Question: Is there any way to have a set of different help texts (loading screen tips) that the game displays randomly? I think I saw this somewhere but can't remember where, not sure if it's even possible
I don't think this is possible. What maps did you see it in? I'm making a complicated in-game lobby system just to get around this.
I've been having the same problems with associating players with their slots as well. I think I saw one game get around this with each player picking his slot from a drop-down menu and then letting the in-game triggers do most of the work. If anyone has a solution or workaround for this problem let us know!
@goofoffjw: Go
Thanks for the tip. Also got an other one. I managed to work it out after your suggestion though.
The attached map shows how to implement custom supply limit to be set in the lobby. Eventually I came out using a Switch rather then an if-then.
Supply can be set to 200, 300(default), 400, 500, 600
If you want lag hehe pick the last one and play 12 ppl ffa ;-)
Same problem, it is so frustating for me since i based most of my triggers on player numbers before i even realized that it wasn't a warcraft III like lobby where lobby slots matters :/
I fear i need to create an advanced in-game lobby to avoid this problem :(
If anyone find a good solution please let me know!
I spent a weekend messing around with variants and triggers. I should have wrote them down as I learned how it worked but here is what I remember.
1. A computer player in the lobby ignores start location assignments that you setup in player properties in galaxy when initialized with InitMeleeAI()
I'm still trying to figure out how to initialize an AI to start at a specified location and still use the melee AI.
2. Player numbers are not slot numbers. I think players get numbered as they join and may even skip if a player leaves and a new one joins. Best thing to do about player numbers is pretend they dont exist. They are completly useless unless you want to bind players to start locations and not let them move around in the lobby.
3. There is no way to get what player is in what slot that I know of.
4. Confusing things happen with slots left open. For example when you have a 4v4 map and you put 3 computers on team 2 and just yourself on team 1 you can forget about trying to figure out which player goes where. Also the AI just start going to random locations and random allies itself with the wrong team. Open slots = bad ai. So always fill the slots in the lobby or make a game variant that has the specific number of slots for what you want to do. Again OPEN SLOTS = BAD AI.
5. Player colors are unique and they match in game with triggers. This is important because with any mode where there all players and no AI you can use player colors to set start locations. I've done this and it works. Then I just made the map preview picture show that purple starts at X. There is also the benefit of letting players select a temporary color to move out of the way for someone that wants the color you have. You need to create a failsafe though if a player picks a color you dont have tied to a start location.
6. The player properties window, where you setup alliances and start locations is useless. I don't know if its bugged, but start locations and alliances don't work completly for AI. Melee AI will override player properties window and find the first available slots and start locations.
Player properties = "what does my map allow"
Game Variants = "a more specific mode of whats allowed"
7. Header failures and failures to publish are caused by when you make a game variant that has something that allows players to select something that is not allowed in Player properties.
For example if you change the player properties to force players 1-8 to Terran race and generate default modes in the game variants you will cause a error because you are allowing players to select their race in the game variants but your map player properties doesn't allow that. The same errors can be caused by not allowing colors or whatever. The easiest way to avoid publish errors is to allow everything in player properties and setup game variants as you wish.
Todo:
1. Figure out a way to detect lobby teams (this should be doable with alliance comparisons)
2. Initialize an AI to a specified location
There is some settown functions and initmeleeai for specific players but I havent figured out the sequence to get the ai going. They just stand there doing nothing.
great info thanks soul
I solved part of it. I am able to get the players lobby team now after a lot of custom scripting. Here is a function anyone can put in their map and it will tell you the players team they were on from the lobby. I still dont know if getting the team slot is possible.