As I saw more and more mappers having problems with lobby players = ingame players, I decided to make a little tutorial for a specific setup:
2 teams, each has 7 players and one player of each team is a computer.
There it is:
First, check your "Player Properties":
The only thing you have to edit here is the "Control" Tab: in this setup, player 1-14 must be set to "User" (also the computer-controlled players)
Leave everything else as it is. So for other team setups: always set it to "User" if it is player or computer controlled.
Then go to the "Game Variants" Tab.
Set the "Game Type Tab" to:
Game Type: Custom*
Mode: Custom
Max Team Size: 2 (change it to something else if you have more than 2 teams)
Set the "Game Attributes Tab" to:
Locked Alliances: "Yes" and "Locked"
Set the "Player Attributes Tab" to:
Teams: 2 Teams and Locked Teams (also here, change it to more than 2 teams, if you have more)
You should have 14 players in total showing up in this screen. Change all the controller slots to "Open".
Now you need variable of type "Integer" called "OnTeam" with an array of 14 (number of players, included computer controlled).
Then create a new variable of type "player group" with the name "Player Group Terran Leaderboard" and another one with the name "Player Group Protoss Leaderboard", both with an array of 6 (User-players per team, also shown in the ingame-leaderboard).
Then you need another "Integer" variable called "Teams" with the initial value of "2" (or total number of your teams) and two more "Integer" variables called
"Player Integer Team 1 Terran" and "Player Integer Team 2 Protoss", both with an initial value of "1". If you have more than 2 teams, again, create more integers of that type.
With this trigger, you can save the lobby setup in the game.
TeamTriggerEventsGame-MapinitializationLocalVariablesTeam=0<Integer>Player=0<Integer>ConditionsActionsGeneral-ForeachintegerTeamfrom1toTeamswithincrement1,do(Actions)ActionsPlayerGroup-ForeachplayerPlayerin(PlayersonteamTeam)do(Actions)ActionsVariable-SetOnTeam[Player] = Team
Player Group - For each player Player in (Active Players) do (Actions)
Actions
General - If (Conditions) then do (Actions) else do (Actions)
If
OnTeam[Player] == 1
Then
Player Group - Add player Player to Player Group Terran Leaderboard[PlayerIntegerTeam1Terran]
Camera - Apply Hero Selection - Ranger for player Player over 0.0 seconds with Existing Velocity% initial velocity, 10% deceleration, and Include Target
Variable - Set Player Integer Team 1 Terran = (Player Integer Team 1 Terran + 1)
Else
Player Group - Add player Player to Player Group Protoss Leaderboard[PlayerIntegerTeam2Protoss]
Camera - Apply Hero Selection - Assassin for player Player over 0.0 seconds with Existing Velocity% initial velocity, 10% deceleration, and Include Target
Variable - Set Player Integer Team 2 Protoss = (Player Integer Team 2 Protoss + 1)
Player - Make player (Player 1 from Player Group Protoss Leaderboard[1]) and player (Player 1 from Player Group Protoss Leaderboard[2]) treat each other as Ally With Shared Vision
Player - Make player (Player 1 from Player Group Protoss Leaderboard[1]) and player (Player 1 from Player Group Protoss Leaderboard[3]) treat each other as Ally With Shared Vision
Player - Make player (Player 1 from Player Group Protoss Leaderboard[1]) and player (Player 1 from Player Group Protoss Leaderboard[4]) treat each other as Ally With Shared Vision
Player - Make player (Player 1 from Player Group Protoss Leaderboard[1]) and player (Player 1 from Player Group Protoss Leaderboard[5]) treat each other as Ally With Shared Vision
Player - Make player (Player 1 from Player Group Protoss Leaderboard[1]) and player (Player 1 from Player Group Protoss Leaderboard[6]) treat each other as Ally With Shared Vision
Player - Make player (Player 1 from Player Group Protoss Leaderboard[2]) and player (Player 1 from Player Group Protoss Leaderboard[3]) treat each other as Ally With Shared Vision
Player - Make player (Player 1 from Player Group Protoss Leaderboard[2]) and player (Player 1 from Player Group Protoss Leaderboard[4]) treat each other as Ally With Shared Vision
Player - Make player (Player 1 from Player Group Protoss Leaderboard[2]) and player (Player 1 from Player Group Protoss Leaderboard[5]) treat each other as Ally With Shared Vision
Player - Make player (Player 1 from Player Group Protoss Leaderboard[2]) and player (Player 1 from Player Group Protoss Leaderboard[6]) treat each other as Ally With Shared Vision
Player - Make player (Player 1 from Player Group Protoss Leaderboard[3]) and player (Player 1 from Player Group Protoss Leaderboard[4]) treat each other as Ally With Shared Vision
Player - Make player (Player 1 from Player Group Protoss Leaderboard[3]) and player (Player 1 from Player Group Protoss Leaderboard[5]) treat each other as Ally With Shared Vision
Player - Make player (Player 1 from Player Group Protoss Leaderboard[3]) and player (Player 1 from Player Group Protoss Leaderboard[6]) treat each other as Ally With Shared Vision
Player - Make player (Player 1 from Player Group Protoss Leaderboard[4]) and player (Player 1 from Player Group Protoss Leaderboard[5]) treat each other as Ally With Shared Vision
Player - Make player (Player 1 from Player Group Protoss Leaderboard[4]) and player (Player 1 from Player Group Protoss Leaderboard[6]) treat each other as Ally With Shared Vision
Player - Make player (Player 1 from Player Group Protoss Leaderboard[5]) and player (Player 1 from Player Group Protoss Leaderboard[6]) treat each other as Ally With Shared Vision
Player - Make player (Player 1 from Player Group Terran Leaderboard[1]) and player (Player 1 from Player Group Terran Leaderboard[2]) treat each other as Ally With Shared Vision
Player - Make player (Player 1 from Player Group Terran Leaderboard[1]) and player (Player 1 from Player Group Terran Leaderboard[3]) treat each other as Ally With Shared Vision
Player - Make player (Player 1 from Player Group Terran Leaderboard[1]) and player (Player 1 from Player Group Terran Leaderboard[4]) treat each other as Ally With Shared Vision
Player - Make player (Player 1 from Player Group Terran Leaderboard[1]) and player (Player 1 from Player Group Terran Leaderboard[5]) treat each other as Ally With Shared Vision
Player - Make player (Player 1 from Player Group Terran Leaderboard[1]) and player (Player 1 from Player Group Terran Leaderboard[6]) treat each other as Ally With Shared Vision
Player - Make player (Player 1 from Player Group Terran Leaderboard[2]) and player (Player 1 from Player Group Terran Leaderboard[3]) treat each other as Ally With Shared Vision
Player - Make player (Player 1 from Player Group Terran Leaderboard[2]) and player (Player 1 from Player Group Terran Leaderboard[4]) treat each other as Ally With Shared Vision
Player - Make player (Player 1 from Player Group Terran Leaderboard[2]) and player (Player 1 from Player Group Terran Leaderboard[5]) treat each other as Ally With Shared Vision
Player - Make player (Player 1 from Player Group Terran Leaderboard[2]) and player (Player 1 from Player Group Terran Leaderboard[6]) treat each other as Ally With Shared Vision
Player - Make player (Player 1 from Player Group Terran Leaderboard[3]) and player (Player 1 from Player Group Terran Leaderboard[4]) treat each other as Ally With Shared Vision
Player - Make player (Player 1 from Player Group Terran Leaderboard[3]) and player (Player 1 from Player Group Terran Leaderboard[5]) treat each other as Ally With Shared Vision
Player - Make player (Player 1 from Player Group Terran Leaderboard[3]) and player (Player 1 from Player Group Terran Leaderboard[6]) treat each other as Ally With Shared Vision
Player - Make player (Player 1 from Player Group Terran Leaderboard[4]) and player (Player 1 from Player Group Terran Leaderboard[5]) treat each other as Ally With Shared Vision
Player - Make player (Player 1 from Player Group Terran Leaderboard[4]) and player (Player 1 from Player Group Terran Leaderboard[6]) treat each other as Ally With Shared Vision
Player - Make player (Player 1 from Player Group Terran Leaderboard[5]) and player (Player 1 from Player Group Terran Leaderboard[6]) treat each other as Ally With Shared Vision
Player - Make player 13 and player (Player 1 from Player Group Terran Leaderboard[1]) treat each other as Ally With Shared Vision
Player - Make player 13 and player (Player 1 from Player Group Terran Leaderboard[2]) treat each other as Ally With Shared Vision
Player - Make player 13 and player (Player 1 from Player Group Terran Leaderboard[3]) treat each other as Ally With Shared Vision
Player - Make player 13 and player (Player 1 from Player Group Terran Leaderboard[4]) treat each other as Ally With Shared Vision
Player - Make player 13 and player (Player 1 from Player Group Terran Leaderboard[5]) treat each other as Ally With Shared Vision
Player - Make player 13 and player (Player 1 from Player Group Terran Leaderboard[6]) treat each other as Ally With Shared Vision
Player - Make player 14 and player (Player 1 from Player Group Protoss Leaderboard[1]) treat each other as Ally With Shared Vision
Player - Make player 14 and player (Player 1 from Player Group Protoss Leaderboard[2]) treat each other as Ally With Shared Vision
Player - Make player 14 and player (Player 1 from Player Group Protoss Leaderboard[3]) treat each other as Ally With Shared Vision
Player - Make player 14 and player (Player 1 from Player Group Protoss Leaderboard[4]) treat each other as Ally With Shared Vision
Player - Make player 14 and player (Player 1 from Player Group Protoss Leaderboard[5]) treat each other as Ally With Shared Vision
Player - Make player 14 and player (Player 1 from Player Group Protoss Leaderboard[6]) treat each other as Ally With Shared Vision
Player - Make player (Player 1 from Player Group Protoss Leaderboard[1]) and player (Player 1 from Player Group Terran Leaderboard[1]) treat each other as Enemy
Player - Make player (Player 1 from Player Group Protoss Leaderboard[1]) and player (Player 1 from Player Group Terran Leaderboard[2]) treat each other as Enemy
Player - Make player (Player 1 from Player Group Protoss Leaderboard[1]) and player (Player 1 from Player Group Terran Leaderboard[3]) treat each other as Enemy
Player - Make player (Player 1 from Player Group Protoss Leaderboard[1]) and player (Player 1 from Player Group Terran Leaderboard[4]) treat each other as Enemy
Player - Make player (Player 1 from Player Group Protoss Leaderboard[1]) and player (Player 1 from Player Group Terran Leaderboard[5]) treat each other as Enemy
Player - Make player (Player 1 from Player Group Protoss Leaderboard[1]) and player (Player 1 from Player Group Terran Leaderboard[6]) treat each other as Enemy
Player - Make player (Player 1 from Player Group Protoss Leaderboard[1]) and player 13 treat each other as Enemy
Player - Make player (Player 1 from Player Group Protoss Leaderboard[2]) and player (Player 1 from Player Group Terran Leaderboard[1]) treat each other as Enemy
Player - Make player (Player 1 from Player Group Protoss Leaderboard[2]) and player (Player 1 from Player Group Terran Leaderboard[2]) treat each other as Enemy
Player - Make player (Player 1 from Player Group Protoss Leaderboard[2]) and player (Player 1 from Player Group Terran Leaderboard[3]) treat each other as Enemy
Player - Make player (Player 1 from Player Group Protoss Leaderboard[2]) and player (Player 1 from Player Group Terran Leaderboard[4]) treat each other as Enemy
Player - Make player (Player 1 from Player Group Protoss Leaderboard[2]) and player (Player 1 from Player Group Terran Leaderboard[5]) treat each other as Enemy
Player - Make player (Player 1 from Player Group Protoss Leaderboard[2]) and player (Player 1 from Player Group Terran Leaderboard[6]) treat each other as Enemy
Player - Make player (Player 1 from Player Group Protoss Leaderboard[2]) and player 13 treat each other as Enemy
Player - Make player (Player 1 from Player Group Protoss Leaderboard[3]) and player (Player 1 from Player Group Terran Leaderboard[1]) treat each other as Enemy
Player - Make player (Player 1 from Player Group Protoss Leaderboard[3]) and player (Player 1 from Player Group Terran Leaderboard[2]) treat each other as Enemy
Player - Make player (Player 1 from Player Group Protoss Leaderboard[3]) and player (Player 1 from Player Group Terran Leaderboard[3]) treat each other as Enemy
Player - Make player (Player 1 from Player Group Protoss Leaderboard[3]) and player (Player 1 from Player Group Terran Leaderboard[4]) treat each other as Enemy
Player - Make player (Player 1 from Player Group Protoss Leaderboard[3]) and player (Player 1 from Player Group Terran Leaderboard[5]) treat each other as Enemy
Player - Make player (Player 1 from Player Group Protoss Leaderboard[3]) and player (Player 1 from Player Group Terran Leaderboard[6]) treat each other as Enemy
Player - Make player (Player 1 from Player Group Protoss Leaderboard[3]) and player 13 treat each other as Enemy
Player - Make player (Player 1 from Player Group Protoss Leaderboard[4]) and player (Player 1 from Player Group Terran Leaderboard[1]) treat each other as Enemy
Player - Make player (Player 1 from Player Group Protoss Leaderboard[4]) and player (Player 1 from Player Group Terran Leaderboard[2]) treat each other as Enemy
Player - Make player (Player 1 from Player Group Protoss Leaderboard[4]) and player (Player 1 from Player Group Terran Leaderboard[3]) treat each other as Enemy
Player - Make player (Player 1 from Player Group Protoss Leaderboard[4]) and player (Player 1 from Player Group Terran Leaderboard[4]) treat each other as Enemy
Player - Make player (Player 1 from Player Group Protoss Leaderboard[4]) and player (Player 1 from Player Group Terran Leaderboard[5]) treat each other as Enemy
Player - Make player (Player 1 from Player Group Protoss Leaderboard[4]) and player (Player 1 from Player Group Terran Leaderboard[6]) treat each other as Enemy
Player - Make player (Player 1 from Player Group Protoss Leaderboard[4]) and player 13 treat each other as Enemy
Player - Make player (Player 1 from Player Group Protoss Leaderboard[5]) and player (Player 1 from Player Group Terran Leaderboard[1]) treat each other as Enemy
Player - Make player (Player 1 from Player Group Protoss Leaderboard[5]) and player (Player 1 from Player Group Terran Leaderboard[2]) treat each other as Enemy
Player - Make player (Player 1 from Player Group Protoss Leaderboard[5]) and player (Player 1 from Player Group Terran Leaderboard[3]) treat each other as Enemy
Player - Make player (Player 1 from Player Group Protoss Leaderboard[5]) and player (Player 1 from Player Group Terran Leaderboard[4]) treat each other as Enemy
Player - Make player (Player 1 from Player Group Protoss Leaderboard[5]) and player (Player 1 from Player Group Terran Leaderboard[5]) treat each other as Enemy
Player - Make player (Player 1 from Player Group Protoss Leaderboard[5]) and player (Player 1 from Player Group Terran Leaderboard[6]) treat each other as Enemy
Player - Make player (Player 1 from Player Group Protoss Leaderboard[5]) and player 13 treat each other as Enemy
Player - Make player (Player 1 from Player Group Protoss Leaderboard[6]) and player (Player 1 from Player Group Terran Leaderboard[1]) treat each other as Enemy
Player - Make player (Player 1 from Player Group Protoss Leaderboard[6]) and player (Player 1 from Player Group Terran Leaderboard[2]) treat each other as Enemy
Player - Make player (Player 1 from Player Group Protoss Leaderboard[6]) and player (Player 1 from Player Group Terran Leaderboard[3]) treat each other as Enemy
Player - Make player (Player 1 from Player Group Protoss Leaderboard[6]) and player (Player 1 from Player Group Terran Leaderboard[4]) treat each other as Enemy
Player - Make player (Player 1 from Player Group Protoss Leaderboard[6]) and player (Player 1 from Player Group Terran Leaderboard[5]) treat each other as Enemy
Player - Make player (Player 1 from Player Group Protoss Leaderboard[6]) and player (Player 1 from Player Group Terran Leaderboard[6]) treat each other as Enemy
Player - Make player (Player 1 from Player Group Protoss Leaderboard[6]) and player 13 treat each other as Enemy
Player - Make player 14 and player (Player 1 from Player Group Terran Leaderboard[1]) treat each other as Enemy
Player - Make player 14 and player (Player 1 from Player Group Terran Leaderboard[2]) treat each other as Enemy
Player - Make player 14 and player (Player 1 from Player Group Terran Leaderboard[3]) treat each other as Enemy
Player - Make player 14 and player (Player 1 from Player Group Terran Leaderboard[4]) treat each other as Enemy
Player - Make player 14 and player (Player 1 from Player Group Terran Leaderboard[5]) treat each other as Enemy
Player - Make player 14 and player (Player 1 from Player Group Terran Leaderboard[6]) treat each other as Enemy
Player - Make player 14 and player 13 treat each other as Enemy
What I did: Player Group Terran Leaderboard [1] is always treated as the first player in the game lobby.
So the game lobby is the same as this player list:
Team 1:
Player Group Terran Leaderboard [1]
Player Group Terran Leaderboard [2]
Player Group Terran Leaderboard [3]
Player Group Terran Leaderboard [4]
Player Group Terran Leaderboard [5]
Player Group Terran Leaderboard [6]
Team 2:
Player Group Protoss Leaderboard [1]
Player Group Protoss Leaderboard [2]
Player Group Protoss Leaderboard [3]
Player Group Protoss Leaderboard [4]
Player Group Protoss Leaderboard [5]
Player Group Protoss Leaderboard [6]
As you can see, all players in team one in the lobby will be taken to the terran hero camera, and all other players apply the protoss hero camera.
Best thing is: as host you can drag players to other slots in the lobby and the computer players are hidden. If you unhide them, the host could drag the computer player from team 2 to team 1 and thats...bad. So, better hide them. I also know that this trigger is very long and checks every alliance treatment of each player. But I tried it with a simple "Treat each player in player group as" Trigger and it didn´t work ! So I had to do this, sorry guys :P
Note that triggers that influence specific players, have to be setup for every single player (in this case 1-12 (13 and 14 are Computer controlled)), as you can´t know who is who in the game lobby. Each player gets his player number in the order they join the lobby. This means that you have to change the owner of specific units or buildings, that are already built on map initialization by using the player variables "Player Group Terran Leaderboard [1] " and so on. (always remember that and work with them !)
I know, it´s complicated and I´m sure that I could shorten this trigger a bit. But I tried every single compilation of active players and it works like a charm. So give it a try. :) Feel free to ask me, if you need help.
Thanks to Grimshad for his help, as he showed me this method !!!
Don't understand why use leaderboard (weren't those for tables of, for example, kills of each player?) but well, still not used the SC2 editor as a whole. Guess you use it in purpose because you want one of those tables.
Don't understand why need to use computers (no recycling slots 0 and 15? or that's becuase they must be active?).
Also, loops would make that code shorter :P.
I saw some maps where you could use color and race to choose, but I guess those worked without pre-placed stuff inside the map.
Edit: Also, I thought "Max Team Size" was for max players in each time, not max teams o_o.
Edit2: I made my own version, I didn't know I could detect the lobby team, so now I was able to make my own trigger. I'll post it later :).
i think you should post link to download the map with those triggers. so people can save their times. but i dont understand this thread. 1 player, 2 player, 3 player must spawn in team A zone. 1-3 players must not spawn in team B zone. does this work on my map?
As I saw more and more mappers having problems with lobby players = ingame players, I decided to make a little tutorial for a specific setup:
2 teams, each has 7 players and one player of each team is a computer.
There it is:
First, check your "Player Properties": The only thing you have to edit here is the "Control" Tab: in this setup, player 1-14 must be set to "User" (also the computer-controlled players) Leave everything else as it is. So for other team setups: always set it to "User" if it is player or computer controlled.
Then go to the "Game Variants" Tab.
Set the "Game Type Tab" to:
Game Type: Custom*
Mode: Custom
Max Team Size: 2 (change it to something else if you have more than 2 teams)
Set the "Game Attributes Tab" to:
Locked Alliances: "Yes" and "Locked"
Set the "Player Attributes Tab" to:
Teams: 2 Teams and Locked Teams (also here, change it to more than 2 teams, if you have more)
You should have 14 players in total showing up in this screen. Change all the controller slots to "Open".
Now you need variable of type "Integer" called "OnTeam" with an array of 14 (number of players, included computer controlled).
Then create a new variable of type "player group" with the name "Player Group Terran Leaderboard" and another one with the name "Player Group Protoss Leaderboard", both with an array of 6 (User-players per team, also shown in the ingame-leaderboard).
Then you need another "Integer" variable called "Teams" with the initial value of "2" (or total number of your teams) and two more "Integer" variables called "Player Integer Team 1 Terran" and "Player Integer Team 2 Protoss", both with an initial value of "1". If you have more than 2 teams, again, create more integers of that type.
With this trigger, you can save the lobby setup in the game.
What I did: Player Group Terran Leaderboard [1] is always treated as the first player in the game lobby.
So the game lobby is the same as this player list:
Team 1:
Player Group Terran Leaderboard [1]
Player Group Terran Leaderboard [2]
Player Group Terran Leaderboard [3]
Player Group Terran Leaderboard [4]
Player Group Terran Leaderboard [5]
Player Group Terran Leaderboard [6]
Team 2:
Player Group Protoss Leaderboard [1]
Player Group Protoss Leaderboard [2]
Player Group Protoss Leaderboard [3]
Player Group Protoss Leaderboard [4]
Player Group Protoss Leaderboard [5]
Player Group Protoss Leaderboard [6]
As you can see, all players in team one in the lobby will be taken to the terran hero camera, and all other players apply the protoss hero camera.
Best thing is: as host you can drag players to other slots in the lobby and the computer players are hidden. If you unhide them, the host could drag the computer player from team 2 to team 1 and thats...bad. So, better hide them. I also know that this trigger is very long and checks every alliance treatment of each player. But I tried it with a simple "Treat each player in player group as" Trigger and it didn´t work ! So I had to do this, sorry guys :P
Note that triggers that influence specific players, have to be setup for every single player (in this case 1-12 (13 and 14 are Computer controlled)), as you can´t know who is who in the game lobby. Each player gets his player number in the order they join the lobby. This means that you have to change the owner of specific units or buildings, that are already built on map initialization by using the player variables "Player Group Terran Leaderboard [1] " and so on. (always remember that and work with them !)
I know, it´s complicated and I´m sure that I could shorten this trigger a bit. But I tried every single compilation of active players and it works like a charm. So give it a try. :) Feel free to ask me, if you need help.
Thanks to Grimshad for his help, as he showed me this method !!!
Thanks for the tutorial, testing it right now.
Don't understand why use leaderboard (weren't those for tables of, for example, kills of each player?) but well, still not used the SC2 editor as a whole. Guess you use it in purpose because you want one of those tables.
Don't understand why need to use computers (no recycling slots 0 and 15? or that's becuase they must be active?).
Also, loops would make that code shorter :P.
I saw some maps where you could use color and race to choose, but I guess those worked without pre-placed stuff inside the map.
Edit: Also, I thought "Max Team Size" was for max players in each time, not max teams o_o.
Edit2: I made my own version, I didn't know I could detect the lobby team, so now I was able to make my own trigger. I'll post it later :).
@Lonami: Go
Can you post your version Lonami ? or your testmap ?
Because I tried with Oneiros33 version's (but with loops) and I have lots of error and that didn't work
i think you should post link to download the map with those triggers. so people can save their times. but i dont understand this thread. 1 player, 2 player, 3 player must spawn in team A zone. 1-3 players must not spawn in team B zone. does this work on my map?
Since you said something about "Locked Alliance" something sparked my Curiosity.