Lightstalker
New Member
- Reaction score
- 55
Foreword: I decided to make this tutorial because it seems a few people have asked on how to do this lately, and many others don't know how to do it. In this tutorial, I will be assuming you are making an AoS with 2 teams of 5 human players each. Players 6 & 12 will be our "invisible" computer players. Of course, after reading the tutorial you'll be able to figure out for yourself how to make it work for any map for any number of players.
Hint: DotA does not use Neutral players!
Chapter 1: Player Properties
1. Go to Scenario > Player Properties.
2. For every human player you'll have in your map, change "Controller" to "User''. For Player 6 & 12 (our Computer players), change "Controller" to "None". When you're done, it should look something like this:
3. Now, go to the next tab, "Forces", and check "Use Custom Forces". Create a 2nd Force and divide your players into 2 teams.
Like this:
Hint: Another benefit of not having Computer players show-up in lobby is that you don't have to check "Use Fixed Player Settings", allowing players to choose their race for UI and Music purposes (and possibly others).
Chapter 2: The Triggers
1. Go to your Map Initialization trigger and add the following 2 actions:
These actions will "create" and add Computer players to the Computer Player Force.
2. Next, add those actions:
The loop runs from 1-5 because Team 1 is made-up of human players 1-5. The condition saves performance and only sets-up that player if s/he is playing.
As of now, we've finished setting-up Team 1. Setting Team 2 is just the same, except you're going to make the loop run from 7-11 instead of 1-5:
There! We're done! A demo map is attached to give you an idea of how it is done.
Hint: DotA does not use Neutral players!
Chapter 1: Player Properties
1. Go to Scenario > Player Properties.
2. For every human player you'll have in your map, change "Controller" to "User''. For Player 6 & 12 (our Computer players), change "Controller" to "None". When you're done, it should look something like this:
3. Now, go to the next tab, "Forces", and check "Use Custom Forces". Create a 2nd Force and divide your players into 2 teams.
Like this:
Hint: Another benefit of not having Computer players show-up in lobby is that you don't have to check "Use Fixed Player Settings", allowing players to choose their race for UI and Music purposes (and possibly others).
Chapter 2: The Triggers
1. Go to your Map Initialization trigger and add the following 2 actions:
Trigger:
- Player Group - Add Player 6 (Orange) to CPU_Force
- Player Group - Add Player 12 (Brown) to CPU_Force
These actions will "create" and add Computer players to the Computer Player Force.
2. Next, add those actions:
Trigger:
- For each (Integer A) from 1 to 5, do (Actions)
- Loop - Actions
- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- If - Conditions
- ((Player((Integer A))) slot status) Not equal to Is playing
- Then - Actions
- Else - Actions
- Player - Make (Player((Integer A))) treat Player 6 (Orange) as an Ally with shared vision
- Player - Make Player 6 (Orange) treat (Player((Integer A))) as an Ally with shared vision
- If - Conditions
- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- Loop - Actions
The loop runs from 1-5 because Team 1 is made-up of human players 1-5. The condition saves performance and only sets-up that player if s/he is playing.
As of now, we've finished setting-up Team 1. Setting Team 2 is just the same, except you're going to make the loop run from 7-11 instead of 1-5:
Trigger:
- For each (Integer A) from 7 to 11, do (Actions)
- Loop - Actions
- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- If - Conditions
- ((Player((Integer A))) slot status) Not equal to Is playing
- Then - Actions
- Else - Actions
- Player - Make (Player((Integer A))) treat Player 12 (Brown) as an Ally with shared vision
- Player - Make Player 12 (Brown) treat (Player((Integer A))) as an Ally with shared vision
- If - Conditions
- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- Loop - Actions
There! We're done! A demo map is attached to give you an idea of how it is done.