Okay, but for example, I posted a real trigger (see attached screenshot ^ on this page) that I plan to use for my 4-team CTF map, where it doesn't matter which team is in which corner, just that the players stay in their teams from the lobby. This trigger assigns them to user groups which you CAN reference as teams. This is more than checking alliance...
But again, only suited if you were to start all teams on equal footing. I'm sure there's a way to do exactly what you're requesting, but you might consider having all the teams start in the exact same manner in a staging area, where they then choose attacker or defender.
Not the best solution there, but just a thought.
----
Not all games have same number of players in their teams, it's the inconvenient reality of map making. There is already a simple workaround I posted in this thread. It does limit amount of players by amount of teams you need. However I don't think we'll be seeing 13+ map anytime soon.
What if you skip checking the players at first, and just check if each player is allied or enemied with the computer players on each team. If I remember, you said you had a computer player on each team. I'm not sure if the lobby works correctly in this manner, but if you set Player 1 to be the computer on team 1, and say... Player 7 to be the team 2 computer, would the lobby not look like Team1:P1(Computer),P2,P3,P4,P5,P6 Team2:P7(Computer),P8,P9,P10,P11,P12.
If so, just line it up so you check if Players 2-6 are allied with P1, if so, they lobbied themselves to be on team 1. Same goes for team 2. But again, this would only work if the lobbies run this way, but I haven't done any testing with it, I was actually suprised to find that player number is labeled by when you joined.
Quote from 7MM3:
What if you skip checking the players at first, and just check if each player is allied or enemied with the computer players on each team. If I remember, you said you had a computer player on each team. I'm not sure if the lobby works correctly in this manner, but if you set Player 1 to be the computer on team 1, and say... Player 7 to be the team 2 computer, would the lobby not look like Team1:P1(Computer),P2,P3,P4,P5,P6 Team2:P7(Computer),P8,P9,P10,P11,P12.
If so, just line it up so you check if Players 2-6 are allied with P1, if so, they lobbied themselves to be on team 1. Same goes for team 2. But again, this would only work if the lobbies run this way, but I haven't done any testing with it, I was actually suprised to find that player number is labeled by when you joined.
----
Yeah... wish you read the thread. Or the post above... Man I even posted a map as example. =0=
I was looking back at the game variants in my custom map and it seems I had set up all of the teams and players already and have set them to locked - I'm not exactly sure what the locked option does but would hope it does the obvious and keep the players in the teams they were in at the lobby. See attached...
Locking these types of data gave me heinous header failures when I tried to publish the map. I haven't touched them since, but if you can get it to work, please confirm.
Has this been figured out without using a comp player?
I have a CTF map with two teams, six players on each team. I really don't want to add another comp player on each team cause I think the max player size is 12. I don't want to make it 5v5, but would rather leave it @ 6v6.
Don't you need only (Number of Teams)-1 computers to know the different teams? You only gotta check the first few teams and put them in a group and then put the remaining players into the last group. So for example if you want two teams:
P1 Computer
P2 - P12 (or whatever) Players
Put all players allied with P1 Computer into playergroup 1
Put all enemy players into playergroup 2
I know this wont work for every application of this type of thing, but if you are solidifying teams into attack vs defense, I assume the maps also help determine this?
Player = (Owner of (Closest unit to AttackersPoint in (Any units in (Entire map) owned by player Any Player matching No Unit Filter, with at most Any Amount))) <Integer>
This would provide a player that is on the attacking team, you just have to label the start positions with points.
Has anyone come up with a solution to this yet? I would really like to publish my map on bnet, but the team you pick from the lobby doesn't reflect in game...
Has anyone come up with a solution to this yet? I would really like to publish my map on bnet, but the team you pick from the lobby doesn't reflect in game...
The best solution is to use the "Game Attribute for Player" function. Select ANY of the team game variants (there are all the team[2 teams], team[3 teams]..doesn't matter, returns the same for any of them), let the game put it into string (you'll have to use Galaxy here, GUI doesn't have any function for this). It returns "Tx", where x is the team ID (e.g. T1, T2, T3...)
Btw. you can't use the GUI game attribute values (screen below), they are messed up. (Their galaxy transcription is some random number, same for anything you select, that has no actual meaning in game)
I made a tutorial that handles teams with triggers. Starting units for human players must not be preplaced via the terrain editor though, and must be placed via triggers/action definitions.
Quote from kozm0naut:
@zifoon: Go
Okay, but for example, I posted a real trigger (see attached screenshot ^ on this page) that I plan to use for my 4-team CTF map, where it doesn't matter which team is in which corner, just that the players stay in their teams from the lobby. This trigger assigns them to user groups which you CAN reference as teams. This is more than checking alliance...
But again, only suited if you were to start all teams on equal footing. I'm sure there's a way to do exactly what you're requesting, but you might consider having all the teams start in the exact same manner in a staging area, where they then choose attacker or defender.
Not the best solution there, but just a thought.
----
Not all games have same number of players in their teams, it's the inconvenient reality of map making. There is already a simple workaround I posted in this thread. It does limit amount of players by amount of teams you need. However I don't think we'll be seeing 13+ map anytime soon.
What if you skip checking the players at first, and just check if each player is allied or enemied with the computer players on each team. If I remember, you said you had a computer player on each team. I'm not sure if the lobby works correctly in this manner, but if you set Player 1 to be the computer on team 1, and say... Player 7 to be the team 2 computer, would the lobby not look like Team1:P1(Computer),P2,P3,P4,P5,P6 Team2:P7(Computer),P8,P9,P10,P11,P12.
If so, just line it up so you check if Players 2-6 are allied with P1, if so, they lobbied themselves to be on team 1. Same goes for team 2. But again, this would only work if the lobbies run this way, but I haven't done any testing with it, I was actually suprised to find that player number is labeled by when you joined.
Quote from 7MM3:
What if you skip checking the players at first, and just check if each player is allied or enemied with the computer players on each team. If I remember, you said you had a computer player on each team. I'm not sure if the lobby works correctly in this manner, but if you set Player 1 to be the computer on team 1, and say... Player 7 to be the team 2 computer, would the lobby not look like Team1:P1(Computer),P2,P3,P4,P5,P6 Team2:P7(Computer),P8,P9,P10,P11,P12.
If so, just line it up so you check if Players 2-6 are allied with P1, if so, they lobbied themselves to be on team 1. Same goes for team 2. But again, this would only work if the lobbies run this way, but I haven't done any testing with it, I was actually suprised to find that player number is labeled by when you joined.
----
Yeah... wish you read the thread. Or the post above... Man I even posted a map as example. =0=
I was looking back at the game variants in my custom map and it seems I had set up all of the teams and players already and have set them to locked - I'm not exactly sure what the locked option does but would hope it does the obvious and keep the players in the teams they were in at the lobby. See attached...
Let me know what you think
@Vophsix: Go
Locking these types of data gave me heinous header failures when I tried to publish the map. I haven't touched them since, but if you can get it to work, please confirm.
@kozm0naut: Go
Locking team assignments prevents players from switching teams at the lobby screen.
Has this been figured out without using a comp player?
I have a CTF map with two teams, six players on each team. I really don't want to add another comp player on each team cause I think the max player size is 12. I don't want to make it 5v5, but would rather leave it @ 6v6.
Don't you need only (Number of Teams)-1 computers to know the different teams? You only gotta check the first few teams and put them in a group and then put the remaining players into the last group. So for example if you want two teams:
P1 Computer
P2 - P12 (or whatever) Players
Put all players allied with P1 Computer into playergroup 1
Put all enemy players into playergroup 2
Get what i mean?
I know this wont work for every application of this type of thing, but if you are solidifying teams into attack vs defense, I assume the maps also help determine this?
Player = (Owner of (Closest unit to AttackersPoint in (Any units in (Entire map) owned by player Any Player matching No Unit Filter, with at most Any Amount))) <Integer>
This would provide a player that is on the attacking team, you just have to label the start positions with points.
Has anyone come up with a solution to this yet? I would really like to publish my map on bnet, but the team you pick from the lobby doesn't reflect in game...
http://www.sc2mapster.com/maps/bridgetest/files/6-lobby-template-sc2map/
The best solution is to use the "Game Attribute for Player" function. Select ANY of the team game variants (there are all the team[2 teams], team[3 teams]..doesn't matter, returns the same for any of them), let the game put it into string (you'll have to use Galaxy here, GUI doesn't have any function for this). It returns "Tx", where x is the team ID (e.g. T1, T2, T3...)
Btw. you can't use the GUI game attribute values (screen below), they are messed up. (Their galaxy transcription is some random number, same for anything you select, that has no actual meaning in game)
I made a tutorial that handles teams with triggers. Starting units for human players must not be preplaced via the terrain editor though, and must be placed via triggers/action definitions.
http://forums.sc2mapster.com/resources/tutorials/8902-trigger-placing-identical-teams-made-from-lobbies/#p1