- Joined
- Jun 23, 2008
- Messages
- 22
1. Intro
2. General Preparation
3. Triggers
3.1 - Variables
3.2 - Start-up
3.3 - Cameras
3.4 - Scroll Up
3.5 - Scroll down
3.6 - Select
4. Tips
1.
There are 3 basic forms of hero selection - Tavern, circle of power, and click selection.
If you've ever played Azeroth Grand Prix, you'll know that this is a very different form of hero selection from the 3 listed above.
If you haven't played it, basically this system lets you use an ability to scroll through your options of heroes using only GUI and some patients.
NOTE: This system is created to work from 1-12 players with very few changes
2.
First off, create your heroes for your game, there are many great tutorials on this take your pick of them if you need one. My favorite
NOTE: every hero you have will add approximately 4 minutes depending on how fast you are at triggers
now create a selectable unit or hero (easier with a unit) and:
-remove attack
-remove damage
-remove sight radius
-add the editor suffix "(select)"
Copy this unit and paste it until you have the same amount of it as you do heroes and:
-change the model of each one to match a different hero each time.
-rename each one to the proper class (eg. paladin, berserker etc...)
Create 3 dummy abilities (Do not use the same one 3 times)
-take (I recommend) War Stomp, Thunder Clap and Blade storm
-Remove any art, damage, AEO, mana cost and cool down.
-change the name of them to "select", "up" and "down"
-Change the descriptions to match ability, something like
-"select current hero"
-"scroll downwards"
-"scroll upwards"
-change the select icon (I used "Attribute Bonus")
-change the down and up icons (I attached some files at the bottom or you can use your own)
-Change button positions
-Down: 0, 2
-Up: 0, 0
-Select: 0, 1
-Change hotkeys
-Up: W
-Select: S
-Down: X
-Give all three abilities to every "(select)" hero
I like camera objects, you don't need them for this but I like to just to keep it organised.
Create just one camera object and label it "Hero"
there, thats all, keep it default game view.
Create one small region for each player
-Name them "Red Hero" "Blue Hero" ect...
NOTE: there should be at least a space the same size as the region between each one.
Now, if you hate working in the object editor as much as I do, that was the worst part.
3.
3.1
You only need one variable for this to work
make a: unit array called "Hero"
3.2
The starting trigger
SAME TRIGGER
Again to keep it organised, I used "if/then/else multiple functions"
Camera Effect
NOTE: Must make one for every player
Use The "Scroll up" ability
SAME TRIGGER
This one requires a bit more explanation
You must establish an order for your heroes. Mine Goes
1. Paladin
2. Archmage
3. Mountain King
4. Blood Mage
(Obviously you'd replace them with your own)
NOTE: those are all "(Select)" units
So if a paladin uses "Scroll up" it will go to a mage, if a mage uses it, it will go to mountain king and mountain king to blood mage.
for "scroll down" the order would be reverse:
1. Blood Mage
2. Mountain King
3. Archmage
4. Paladin
When the ability is cast it will replace the current unit with the next one in line and then select it.
The set variable is not necessary but will not hurt anything, that was a mistake I made when I made this system a long time ago.
So scroll down would simply be like this
okay, final trigger:
Select hero
When a paladin casts select it will make a "(real)" paladin
same goes for all heroes
once the hero is created it will set the variable to the hero you picked making the rest of your game possible.
the other functions simply return the camera back to standard depending on who selected the hero.
4.
My favorite hero tutorial
If you want to make your own Icons use this
this system works best with hero arenas
occasional bugs occur, pm me with anything you didn't understand and I
might edit my tutorial
I am not on often so be patient
Thanks for reading!
2. General Preparation
3. Triggers
3.1 - Variables
3.2 - Start-up
3.3 - Cameras
3.4 - Scroll Up
3.5 - Scroll down
3.6 - Select
4. Tips
1.
There are 3 basic forms of hero selection - Tavern, circle of power, and click selection.
If you've ever played Azeroth Grand Prix, you'll know that this is a very different form of hero selection from the 3 listed above.
If you haven't played it, basically this system lets you use an ability to scroll through your options of heroes using only GUI and some patients.
NOTE: This system is created to work from 1-12 players with very few changes
2.
First off, create your heroes for your game, there are many great tutorials on this take your pick of them if you need one. My favorite
NOTE: every hero you have will add approximately 4 minutes depending on how fast you are at triggers
now create a selectable unit or hero (easier with a unit) and:
-remove attack
-remove damage
-remove sight radius
-add the editor suffix "(select)"
Copy this unit and paste it until you have the same amount of it as you do heroes and:
-change the model of each one to match a different hero each time.
-rename each one to the proper class (eg. paladin, berserker etc...)
Create 3 dummy abilities (Do not use the same one 3 times)
-take (I recommend) War Stomp, Thunder Clap and Blade storm
-Remove any art, damage, AEO, mana cost and cool down.
-change the name of them to "select", "up" and "down"
-Change the descriptions to match ability, something like
-"select current hero"
-"scroll downwards"
-"scroll upwards"
-change the select icon (I used "Attribute Bonus")
-change the down and up icons (I attached some files at the bottom or you can use your own)
-Change button positions
-Down: 0, 2
-Up: 0, 0
-Select: 0, 1
-Change hotkeys
-Up: W
-Select: S
-Down: X
-Give all three abilities to every "(select)" hero
I like camera objects, you don't need them for this but I like to just to keep it organised.
Create just one camera object and label it "Hero"
there, thats all, keep it default game view.
Create one small region for each player
-Name them "Red Hero" "Blue Hero" ect...
NOTE: there should be at least a space the same size as the region between each one.
Now, if you hate working in the object editor as much as I do, that was the worst part.
3.
3.1
You only need one variable for this to work
make a: unit array called "Hero"
3.2
The starting trigger
-
Start Hero
-
Events
-
Time - Elapsed game time is 0.00 seconds
-
-
Conditions
-
Actions
-
Camera - Apply Hero <gen> for Player 1 (Red) over 0.00 seconds
-
Camera - Apply Hero <gen> for Player 2 (Blue) over 0.00 seconds
-
Camera - Apply Hero <gen> for Player 3 (Teal) over 0.00 seconds
-
Camera - Apply Hero <gen> for Player 4 (Purple) over 0.00 seconds
-
-------- Continue for all players --------
-
Visibility - Create an initially Enabled visibility modifier for Player 1 (Red) emitting Visibility across Red Hero <gen>
-
Visibility - Create an initially Enabled visibility modifier for Player 2 (Blue) emitting Visibility across Blue Hero <gen>
-
Visibility - Create an initially Enabled visibility modifier for Player 3 (Teal) emitting Visibility across Teal Hero <gen>
-
Visibility - Create an initially Enabled visibility modifier for Player 4 (Purple) emitting Visibility across Purple Hero <gen>
-
-------- Continue for all players --------
-
Game - Set the time of day to 12.00
-
Game - Turn the day/night cycle Off
-
-
SAME TRIGGER
-
Start Hero
-
Events
-
Time - Elapsed game time is 0.00 seconds
-
-
Conditions
-
Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Player 1 (Red) slot status) Equal to Is playing
-
-
Then - Actions
-
Unit - Create 1 Paladin for Player 1 (Red) at (Center of Red Hero <gen>) facing Default building facing degrees
-
Selection - Select (Last created unit) for Player 1 (Red)
-
-
Else - Actions
-
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Player 2 (Blue) slot status) Equal to Is playing
-
-
Then - Actions
-
Unit - Create 1 Paladin for Player 2 (Blue) at (Center of Blue Hero <gen>) facing Default building facing degrees
-
Selection - Select (Last created unit) for Player 2 (Blue)
-
-
Else - Actions
-
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Player 3 (Teal) slot status) Equal to Is playing
-
-
Then - Actions
-
Unit - Create 1 Paladin for Player 3 (Teal) at (Center of Teal Hero <gen>) facing Default building facing degrees
-
Selection - Select (Last created unit) for Player 3 (Teal)
-
-
Else - Actions
-
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Player 4 (Purple) slot status) Equal to Is playing
-
-
Then - Actions
-
Unit - Create 1 Paladin for Player 4 (Purple) at (Center of Purple Hero <gen>) facing Default building facing degrees
-
Selection - Select (Last created unit) for Player 4 (Purple)
-
-
Else - Actions
-
-
-
Again to keep it organised, I used "if/then/else multiple functions"
Camera Effect
-
Start Hero Cam1
-
Events
-
Time - Elapsed game time is 0.00 seconds
-
Time - Every 5.00 seconds of game time
-
-
Conditions
-
Actions
-
Camera - Rotate camera 360.00 degrees around (Center of Red Hero <gen>) for Player 1 (Red) over 5.00 seconds
-
-
NOTE: Must make one for every player
Use The "Scroll up" ability
-
Scroll Up
-
Events
-
Unit - A unit Begins casting an ability
-
-
Conditions
-
(Ability being cast) Equal to Scroll Up
-
-
SAME TRIGGER
-
Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Unit-type of (Triggering unit)) Equal to Paladin
-
-
Then - Actions
-
Unit - Replace (Triggering unit) with a Archmage using The old unit's relative life and mana
-
Set Hero[(Player number of (Owner of (Triggering unit)))] = (Last replaced unit)
-
Selection - Select Hero[(Player number of (Owner of (Triggering unit)))] for (Owner of (Triggering unit))
-
-
Else - Actions
-
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Unit-type of (Triggering unit)) Equal to Archmage
-
-
Then - Actions
-
Unit - Replace (Triggering unit) with a Mountain King using The old unit's relative life and mana
-
Set Hero[(Player number of (Owner of (Triggering unit)))] = (Last replaced unit)
-
Selection - Select Hero[(Player number of (Owner of (Triggering unit)))] for (Owner of (Triggering unit))
-
-
Else - Actions
-
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Unit-type of (Triggering unit)) Equal to Mountain King
-
-
Then - Actions
-
Unit - Replace (Triggering unit) with a Blood Mage using The old unit's relative life and mana
-
Set Hero[(Player number of (Owner of (Triggering unit)))] = (Last replaced unit)
-
Selection - Select Hero[(Player number of (Owner of (Triggering unit)))] for (Owner of (Triggering unit))
-
-
Else - Actions
-
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Unit-type of (Triggering unit)) Equal to Blood Mage
-
-
Then - Actions
-
Unit - Replace (Triggering unit) with a Paladin using The old unit's relative life and mana
-
Set Hero[(Player number of (Owner of (Triggering unit)))] = (Last replaced unit)
-
Selection - Select Hero[(Player number of (Owner of (Triggering unit)))] for (Owner of (Triggering unit))
-
-
Else - Actions
-
-
This one requires a bit more explanation
You must establish an order for your heroes. Mine Goes
1. Paladin
2. Archmage
3. Mountain King
4. Blood Mage
(Obviously you'd replace them with your own)
NOTE: those are all "(Select)" units
So if a paladin uses "Scroll up" it will go to a mage, if a mage uses it, it will go to mountain king and mountain king to blood mage.
for "scroll down" the order would be reverse:
1. Blood Mage
2. Mountain King
3. Archmage
4. Paladin
When the ability is cast it will replace the current unit with the next one in line and then select it.
The set variable is not necessary but will not hurt anything, that was a mistake I made when I made this system a long time ago.
So scroll down would simply be like this
-
Scroll Down
-
Events
-
Unit - A unit Begins casting an ability
-
-
Conditions
-
(Ability being cast) Equal to Scroll Down
-
-
Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Unit-type of (Triggering unit)) Equal to Paladin
-
-
Then - Actions
-
Unit - Replace (Triggering unit) with a Blood Mage using The old unit's relative life and mana
-
Set Hero[(Player number of (Owner of (Triggering unit)))] = (Last replaced unit)
-
Selection - Select Hero[(Player number of (Owner of (Triggering unit)))] for (Owner of (Triggering unit))
-
-
Else - Actions
-
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Unit-type of (Triggering unit)) Equal to Archmage
-
-
Then - Actions
-
Unit - Replace (Triggering unit) with a Paladin using The old unit's relative life and mana
-
Set Hero[(Player number of (Owner of (Triggering unit)))] = (Last replaced unit)
-
Selection - Select Hero[(Player number of (Owner of (Triggering unit)))] for (Owner of (Triggering unit))
-
-
Else - Actions
-
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Unit-type of (Triggering unit)) Equal to Mountain King
-
-
Then - Actions
-
Unit - Replace (Triggering unit) with a Archmage using The old unit's relative life and mana
-
Set Hero[(Player number of (Owner of (Triggering unit)))] = (Last replaced unit)
-
Selection - Select Hero[(Player number of (Owner of (Triggering unit)))] for (Owner of (Triggering unit))
-
-
Else - Actions
-
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Unit-type of (Triggering unit)) Equal to Blood Mage
-
-
Then - Actions
-
Unit - Replace (Triggering unit) with a Mountain King using The old unit's relative life and mana
-
Set Hero[(Player number of (Owner of (Triggering unit)))] = (Last replaced unit)
-
Selection - Select Hero[(Player number of (Owner of (Triggering unit)))] for (Owner of (Triggering unit))
-
-
Else - Actions
-
-
-
okay, final trigger:
Select hero
-
Select Hero
-
Events
-
Unit - A unit Begins casting an ability
-
-
Conditions
-
(Ability being cast) Equal to Select Hero
-
-
Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Unit-type of (Triggering unit)) Equal to Paladin
-
-
Then - Actions
-
Unit - Replace Hero[(Player number of (Owner of (Triggering unit)))] with a Paladin (Real) using The old unit's relative life and mana
-
Set Hero[(Player number of (Owner of (Triggering unit)))] = (Last replaced unit)
-
Camera - Reset camera for (Owner of (Triggering unit)) to standard game-view over 0.00 seconds
-
-
Else - Actions
-
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Unit-type of (Triggering unit)) Equal to Archmage
-
-
Then - Actions
-
Unit - Replace Hero[(Player number of (Owner of (Triggering unit)))] with a Archmage (Real) using The old unit's relative life and mana
-
Set Hero[(Player number of (Owner of (Triggering unit)))] = (Last replaced unit)
-
Camera - Reset camera for (Owner of (Triggering unit)) to standard game-view over 0.00 seconds
-
-
Else - Actions
-
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Unit-type of (Triggering unit)) Equal to Mountain King
-
-
Then - Actions
-
Unit - Replace Hero[(Player number of (Owner of (Triggering unit)))] with a Mountain King (Real) using The old unit's relative life and mana
-
Set Hero[(Player number of (Owner of (Triggering unit)))] = (Last replaced unit)
-
Camera - Reset camera for (Owner of (Triggering unit)) to standard game-view over 0.00 seconds
-
-
Else - Actions
-
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Unit-type of (Triggering unit)) Equal to Blood Mage
-
-
Then - Actions
-
Unit - Replace Hero[(Player number of (Owner of (Triggering unit)))] with a Blood Mage (Real) using The old unit's relative life and mana
-
Set Hero[(Player number of (Owner of (Triggering unit)))] = (Last replaced unit)
-
Camera - Reset camera for (Owner of (Triggering unit)) to standard game-view over 0.00 seconds
-
-
Else - Actions
-
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Owner of (Triggering unit)) Equal to Player 1 (Red)
-
-
Then - Actions
-
Trigger - Turn off Start Hero Cam1 <gen>
-
Else - Actions
-
-
-
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Owner of (Triggering unit)) Equal to Player 2 (Blue)
-
-
Then - Actions
-
Trigger - Turn off Start Hero Cam2 <gen>
-
Else - Actions
-
-
-
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Owner of (Triggering unit)) Equal to Player 3 (Teal)
-
-
Then - Actions
-
Trigger - Turn off Start Hero Cam3 <gen>
-
Else - Actions
-
-
-
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Owner of (Triggering unit)) Equal to Player 4 (Purple)
-
-
Then - Actions
-
Trigger - Turn off Start Hero Cam4 <gen>
-
Else - Actions
-
-
-
-
-
When a paladin casts select it will make a "(real)" paladin
same goes for all heroes
once the hero is created it will set the variable to the hero you picked making the rest of your game possible.
the other functions simply return the camera back to standard depending on who selected the hero.
4.
My favorite hero tutorial
If you want to make your own Icons use this
this system works best with hero arenas
occasional bugs occur, pm me with anything you didn't understand and I
might edit my tutorial
I am not on often so be patient
Thanks for reading!
Attachments
Last edited: