• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

Arrow Key Hero Selection System v 0.5

This bundle is marked as useful / simple. Simplicity is bliss, low effort and/or may contain minor bugs.
a system that you can use in your map for a hero selection system.
- type -new to start selection.
- press left and right arrow keys to move among heroes.
- press esc to pick the hero your centered on.
- type -repick to select a different hero.

CHANGELOG:
========V 0.6========
made coding more efficient.
added documentation.
removed leaks.
added better customization.
====================


Keywords:
Hero, Selection, System, GUI, real138, Arrows, Left, Right, Keys, New, Repick, Esc.
Contents

Just another Warcraft III map (Map)

Reviews
4 November 2015 Bribe: Rejecting due to the status of this resource being "needs fix" for years. 14:21, 3rd Jan 2010 TriggerHappy: We already have one of these, why should yours be approved over the other?

Moderator

M

Moderator

4 November 2015
Bribe: Rejecting due to the status of this resource being "needs fix" for years.

14:21, 3rd Jan 2010
TriggerHappy:

We already have one of these, why should yours be approved over the other?
 
Level 15
Joined
Sep 3, 2009
Messages
1,521
ok put triggers in description. plz comment :)
  • init
    • Events
      • Map initialization
    • Conditions
    • Actions
      • Visibility - Create an initially Enabled visibility modifier for Player 1 (Red) emitting Visibility across (Playable map area)
      • -------- Set heroes for selection here --------
      • Set Hero_For_Selection[1] = Hero1 0000 <gen>
      • Set Hero_For_Selection[2] = Hero2 0001 <gen>
      • Set Hero_For_Selection[3] = Hero3 0002 <gen>
      • Set Hero_For_Selection[4] = Hero4 0003 <gen>
      • Set Hero_For_Selection[5] = Hero5 0004 <gen>
      • Set Hero_For_Selection[6] = Hero6 0005 <gen>
      • Set Hero_For_Selection[7] = Hero7 0006 <gen>
      • -------- -------------------------------------------------------- --------
      • -------- Set rotation angle --------
      • Set HS_Angle[1] = 225
      • Set HS_Angle[2] = 180
      • Set HS_Angle[3] = 135
      • Set HS_Angle[4] = 90
      • Set HS_Angle[5] = 45
      • Set HS_Angle[6] = 0
      • Set HS_Angle[7] = 315
      • -------- -------------------------------------------------------- --------
      • -------- Set Hero's Name --------
      • Set HS_Text_Name[1] = (|cffFFCC00Hero Name: + (|cffFFFFFF |r + (Name of Hero1 0000 <gen>)))
      • Set HS_Text_Name[2] = (|cffFFCC00Hero Name: + (|cffFFFFFF |r + (Name of Hero2 0001 <gen>)))
      • Set HS_Text_Name[3] = (|cffFFCC00Hero Name: + (|cffFFFFFF |r + (Name of Hero3 0002 <gen>)))
      • Set HS_Text_Name[4] = (|cffFFCC00Hero Name: + (|cffFFFFFF |r + (Name of Hero4 0003 <gen>)))
      • Set HS_Text_Name[5] = (|cffFFCC00Hero Name: + (|cffFFFFFF |r + (Name of Hero5 0004 <gen>)))
      • Set HS_Text_Name[6] = (|cffFFCC00Hero Name: + (|cffFFFFFF |r + (Name of Hero6 0005 <gen>)))
      • Set HS_Text_Name[7] = (|cffFFCC00Hero Name: + (|cffFFFFFF |r + (Name of Hero7 0006 <gen>)))
      • -------- -------------------------------------------------------- --------
      • -------- Set Hero's Type --------
      • Set HS_Text_Type[1] = |cffFFCC00Hero Type: |rTank
      • Set HS_Text_Type[2] = |cffFFCC00Hero Type: |rTank
      • Set HS_Text_Type[3] = |cffFFCC00Hero Type: |rTank
      • Set HS_Text_Type[4] = |cffFFCC00Hero Type: |rTank
      • Set HS_Text_Type[5] = |cffFFCC00Hero Type: |rTank
      • Set HS_Text_Type[6] = |cffFFCC00Hero Type: |rTank
      • Set HS_Text_Type[7] = |cffFFCC00Hero Type: |rTank
      • -------- -------------------------------------------------------- --------
      • -------- Set Hero's Abilities --------
      • Set HS_Text_Abilities[1] = ((((|cffFFCC00Abilities: |r + (Name of Storm Bolt)) + , ) + ((Name of Thunder Clap) + , )) + (((Name of Bash) + , ) + (Name of Avatar)))
      • Set HS_Text_Abilities[2] = ((((|cffFFCC00Abilities: |r + (Name of Storm Bolt)) + , ) + ((Name of Thunder Clap) + , )) + (((Name of Bash) + , ) + (Name of Avatar)))
      • Set HS_Text_Abilities[3] = ((((|cffFFCC00Abilities: |r + (Name of Storm Bolt)) + , ) + ((Name of Thunder Clap) + , )) + (((Name of Bash) + , ) + (Name of Avatar)))
      • Set HS_Text_Abilities[4] = ((((|cffFFCC00Abilities: |r + (Name of Storm Bolt)) + , ) + ((Name of Thunder Clap) + , )) + (((Name of Bash) + , ) + (Name of Avatar)))
      • Set HS_Text_Abilities[5] = ((((|cffFFCC00Abilities: |r + (Name of Storm Bolt)) + , ) + ((Name of Thunder Clap) + , )) + (((Name of Bash) + , ) + (Name of Avatar)))
      • Set HS_Text_Abilities[6] = ((((|cffFFCC00Abilities: |r + (Name of Storm Bolt)) + , ) + ((Name of Thunder Clap) + , )) + (((Name of Bash) + , ) + (Name of Avatar)))
      • Set HS_Text_Abilities[7] = ((((|cffFFCC00Abilities: |r + (Name of Storm Bolt)) + , ) + ((Name of Thunder Clap) + , )) + (((Name of Bash) + , ) + (Name of Avatar)))
      • -------- -------------------------------------------------------- --------
      • -------- Set Hero's Description --------
      • Set HS_Text_Description[1] = |cffFFCC00Hero Description: |rInsert Description Here.
      • Set HS_Text_Description[2] = |cffFFCC00Hero Description: |rInsert Description Here.
      • Set HS_Text_Description[3] = |cffFFCC00Hero Description: |rInsert Description Here.
      • Set HS_Text_Description[4] = |cffFFCC00Hero Description: |rInsert Description Here.
      • Set HS_Text_Description[5] = |cffFFCC00Hero Description: |rInsert Description Here.
      • Set HS_Text_Description[6] = |cffFFCC00Hero Description: |rInsert Description Here.
      • Set HS_Text_Description[7] = |cffFFCC00Hero Description: |rInsert Description Here.
      • -------- -------------------------------------------------------- --------
      • -------- Freezes selection heroes. --------
      • For each (Integer A) from 1 to 7, do (Actions)
        • Loop - Actions
          • Unit - Change ownership of Hero_For_Selection[(Integer A)] to Neutral Passive and Change color
      • Game - Display to (All players) for 30.00 seconds the text: To pick a new hero ...
      • Custom script: call DestroyTrigger(GetTriggeringTrigger())


  • Set up
    • Events
      • Player - Player 1 (Red) types a chat message containing -new as An exact match
      • Player - Player 2 (Blue) types a chat message containing -new as An exact match
      • Player - Player 3 (Teal) types a chat message containing -new as An exact match
      • Player - Player 4 (Purple) types a chat message containing -new as An exact match
    • Conditions
      • Hero_Selected[(Player number of (Triggering player))] Equal to False
      • Picking_Hero[(Player number of (Triggering player))] Equal to False
    • Actions
      • Player Group - Add (Triggering player) to Hero_Selecting_Group
      • Camera - Lock camera target for (Triggering player) to Hero Select Center 0008 <gen>, offset by (0.00, 0.00) using Default rotation
      • Camera - Set (Triggering player)'s camera Rotation to 225.00 over 0.00 seconds
      • Selection - Select Hero1 0000 <gen> for (Triggering player)
      • Cinematic - Clear the screen of text messages for (Player group((Triggering player)))
      • Game - Display to (Player group((Triggering player))) for 30.00 seconds the text: HS_Text_Name[1]
      • Game - Display to (Player group((Triggering player))) for 30.00 seconds the text: HS_Text_Type[1]
      • Game - Display to (Player group((Triggering player))) for 30.00 seconds the text: HS_Text_Abilities[1]
      • Game - Display to (Player group((Triggering player))) for 30.00 seconds the text: HS_Text_Description[1]
      • Set Hero_Selector[(Player number of (Triggering player))] = 1
      • Set Current_Hero[(Player number of (Triggering player))] = Hero1
      • Set Picking_Hero[(Player number of (Triggering player))] = True

  • Hero Select
    • Events
      • Player - Player 1 (Red) skips a cinematic sequence
      • Player - Player 2 (Blue) skips a cinematic sequence
      • Player - Player 3 (Teal) skips a cinematic sequence
      • Player - Player 4 (Purple) skips a cinematic sequence
    • Conditions
      • Hero_Selected[(Player number of (Triggering player))] Equal to False
      • Picking_Hero[(Player number of (Triggering player))] Equal to True
    • Actions
      • Set tmp_point = (Random point in Region 000 <gen>)
      • Unit - Create 1 Current_Hero[(Player number of (Triggering player))] for (Triggering player) at tmp_point facing Default building facing degrees
      • Camera - Pan camera for (Triggering player) to (Position of (Last created unit)) over 0.00 seconds
      • Player Group - Remove (Triggering player) from Hero_Selecting_Group
      • Camera - Reset camera for (Triggering player) to standard game-view over 0.00 seconds
      • Cinematic - Clear the screen of text messages for (Player group((Triggering player)))
      • Set Players_Heroes[(Player number of (Triggering player))] = (Last created unit)
      • Set Hero_Selected[(Player number of (Triggering player))] = True
      • Set Picking_Hero[(Player number of (Triggering player))] = False
      • Custom script: call RemoveLocation( udg_tmp_point )
  • repick
    • Events
      • Player - Player 1 (Red) types a chat message containing -repick as An exact match
      • Player - Player 2 (Blue) types a chat message containing -repick as An exact match
      • Player - Player 3 (Teal) types a chat message containing -repick as An exact match
      • Player - Player 4 (Purple) types a chat message containing -repick as An exact match
    • Conditions
      • Hero_Selected[(Player number of (Triggering player))] Equal to True
      • Picking_Hero[(Player number of (Triggering player))] Equal to False
    • Actions
      • Unit - Remove Players_Heroes[(Player number of (Triggering player))] from the game
      • Player Group - Add (Triggering player) to Hero_Selecting_Group
      • Camera - Lock camera target for (Triggering player) to Hero Select Center 0008 <gen>, offset by (0.00, 0.00) using Default rotation
      • Camera - Set (Triggering player)'s camera Rotation to 225.00 over 0.00 seconds
      • Selection - Select Hero1 0000 <gen> for (Triggering player)
      • Cinematic - Clear the screen of text messages for (Player group((Triggering player)))
      • Game - Display to (Player group((Triggering player))) for 30.00 seconds the text: HS_Text_Name[1]
      • Game - Display to (Player group((Triggering player))) for 30.00 seconds the text: HS_Text_Type[1]
      • Game - Display to (Player group((Triggering player))) for 30.00 seconds the text: HS_Text_Abilities[1]
      • Game - Display to (Player group((Triggering player))) for 30.00 seconds the text: HS_Text_Description[1]
      • Set Hero_Selector[(Player number of (Triggering player))] = 1
      • Set Current_Hero[(Player number of (Triggering player))] = Hero1
      • Set Picking_Hero[(Player number of (Triggering player))] = True
      • Set Hero_Selected[(Player number of (Triggering player))] = False
  • freeze loop
    • Events
      • Time - Every 0.20 seconds of game time
    • Conditions
    • Actions
      • Player Group - Pick every player in Hero_Selecting_Group and do (Actions)
        • Loop - Actions
          • Camera - Set (Picked player)'s camera Angle of attack to 360.00 over 0.00 seconds
          • Camera - Set (Picked player)'s camera Distance to target to 100.00 over 0.00 seconds
          • Camera - Set (Picked player)'s camera Height Offset to 150.00 over 0.00 seconds
  • right arrow
    • Events
      • Player - Player 1 (Red) Presses the Right Arrow key
      • Player - Player 2 (Blue) Presses the Right Arrow key
      • Player - Player 3 (Teal) Presses the Right Arrow key
      • Player - Player 4 (Purple) Presses the Right Arrow key
    • Conditions
      • Hero_Selected[(Player number of (Triggering player))] Equal to False
      • Picking_Hero[(Player number of (Triggering player))] Equal to True
    • Actions
      • Set Hero_Selector[(Player number of (Triggering player))] = (Hero_Selector[(Player number of (Triggering player))] + 1)
      • For each (Integer B) from 2 to 7, do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • Hero_Selector[(Player number of (Triggering player))] Equal to (Integer B)
            • Then - Actions
              • Camera - Lock camera target for (Triggering player) to Hero Select Center 0008 <gen>, offset by (0.00, 0.00) using Default rotation
              • Camera - Set (Triggering player)'s camera Rotation to (Real(HS_Angle[(Integer B)])) over 0.00 seconds
              • Selection - Select Hero_For_Selection[(Integer B)] for (Triggering player)
              • Set Current_Hero[(Player number of (Triggering player))] = (Unit-type of Hero_For_Selection[(Integer B)])
              • Cinematic - Clear the screen of text messages for (Player group((Triggering player)))
              • Game - Display to (Player group((Triggering player))) for 30.00 seconds the text: HS_Text_Name[(Integer B)]
              • Game - Display to (Player group((Triggering player))) for 30.00 seconds the text: HS_Text_Type[(Integer B)]
              • Game - Display to (Player group((Triggering player))) for 30.00 seconds the text: HS_Text_Abilities[(Integer B)]
              • Game - Display to (Player group((Triggering player))) for 30.00 seconds the text: HS_Text_Description[(Integer B)]
              • Skip remaining actions
            • Else - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • Hero_Selector[(Player number of (Triggering player))] Equal to 8
                • Then - Actions
                  • Camera - Lock camera target for (Triggering player) to Hero Select Center 0008 <gen>, offset by (0.00, 0.00) using Default rotation
                  • Camera - Set (Triggering player)'s camera Rotation to 225.00 over 0.00 seconds
                  • Selection - Select Hero1 0000 <gen> for (Triggering player)
                  • Set Hero_Selector[(Player number of (Triggering player))] = 1
                  • Set Current_Hero[(Player number of (Triggering player))] = Hero1
                  • Cinematic - Clear the screen of text messages for (Player group((Triggering player)))
                  • Game - Display to (Player group((Triggering player))) for 30.00 seconds the text: HS_Text_Name[1]
                  • Game - Display to (Player group((Triggering player))) for 30.00 seconds the text: HS_Text_Type[1]
                  • Game - Display to (Player group((Triggering player))) for 30.00 seconds the text: HS_Text_Abilities[1]
                  • Game - Display to (Player group((Triggering player))) for 30.00 seconds the text: HS_Text_Description[1]
                  • Skip remaining actions
                • Else - Actions
  • left arrow
    • Events
      • Player - Player 1 (Red) Presses the Left Arrow key
      • Player - Player 2 (Blue) Presses the Left Arrow key
      • Player - Player 3 (Teal) Presses the Left Arrow key
      • Player - Player 4 (Purple) Presses the Left Arrow key
    • Conditions
      • Hero_Selected[(Player number of (Triggering player))] Equal to False
      • Picking_Hero[(Player number of (Triggering player))] Equal to True
    • Actions
      • Set Hero_Selector[(Player number of (Triggering player))] = (Hero_Selector[(Player number of (Triggering player))] - 1)
      • For each (Integer B) from 1 to 6, do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • Hero_Selector[(Player number of (Triggering player))] Equal to (Integer B)
            • Then - Actions
              • Camera - Lock camera target for (Triggering player) to Hero Select Center 0008 <gen>, offset by (0.00, 0.00) using Default rotation
              • Camera - Set (Triggering player)'s camera Rotation to (Real(HS_Angle[(Integer B)])) over 0.00 seconds
              • Selection - Select Hero_For_Selection[(Integer B)] for (Triggering player)
              • Set Current_Hero[(Player number of (Triggering player))] = (Unit-type of Hero_For_Selection[(Integer B)])
              • Cinematic - Clear the screen of text messages for (Player group((Triggering player)))
              • Game - Display to (Player group((Triggering player))) for 30.00 seconds the text: HS_Text_Name[(Integer B)]
              • Game - Display to (Player group((Triggering player))) for 30.00 seconds the text: HS_Text_Type[(Integer B)]
              • Game - Display to (Player group((Triggering player))) for 30.00 seconds the text: HS_Text_Abilities[(Integer B)]
              • Game - Display to (Player group((Triggering player))) for 30.00 seconds the text: HS_Text_Description[(Integer B)]
              • Skip remaining actions
            • Else - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • Hero_Selector[(Player number of (Triggering player))] Equal to 0
                • Then - Actions
                  • Camera - Lock camera target for (Triggering player) to Hero Select Center 0008 <gen>, offset by (0.00, 0.00) using Default rotation
                  • Camera - Set (Triggering player)'s camera Rotation to 315.00 over 0.00 seconds
                  • Selection - Select Hero7 0006 <gen> for (Triggering player)
                  • Set Hero_Selector[(Player number of (Triggering player))] = 7
                  • Set Current_Hero[(Player number of (Triggering player))] = Hero7
                  • Cinematic - Clear the screen of text messages for (Player group((Triggering player)))
                  • Game - Display to (Player group((Triggering player))) for 30.00 seconds the text: HS_Text_Name[7]
                  • Game - Display to (Player group((Triggering player))) for 30.00 seconds the text: HS_Text_Type[7]
                  • Game - Display to (Player group((Triggering player))) for 30.00 seconds the text: HS_Text_Abilities[7]
                  • Game - Display to (Player group((Triggering player))) for 30.00 seconds the text: HS_Text_Description[7]
                  • Skip remaining actions
                • Else - Actions
 
Last edited:
Level 31
Joined
Sep 11, 2009
Messages
1,812
lol.. how did u post ur triggers? they are rly wierd (they are confuzing me lol) (im not talking about the coding is bad are not cuz i dont know.. cant understand it cuz of the way its posted)... to post the trigger u just have to Copy the name that is on the top of the Events
 
Level 18
Joined
Feb 28, 2009
Messages
1,970
There is not much to comment. It`s the simpliest hero arrow choosing system. The only thing you should fix is
  • Game - Display to (All players) for 30.00 seconds the text: |cffFFCC00Hero: Cl...
Change this "all players".
 
Level 15
Joined
Sep 3, 2009
Messages
1,521
o dang must of happened when i modified the text. thanks for pointing that out.
well could you tell me if there are any ways of improving the triggering.
CHANGE LOG:
all players - triggering player. --FIXED--
set variables for each hero for better readability. --FIXED--
set variables for angles. --FIXED--
add documentation. --FIXED--
 
Last edited:
ok put triggers in description. plz comment :)
  • init
    • Events
      • Map initialization
    • Conditions
    • Actions
      • Visibility - Create an initially Enabled visibility modifier for Player 1 (Red) emitting Visibility across (Playable map area)
      • -------- Set heroes for selection here --------
      • Set Hero_For_Selection[1] = Hero1 0000 <gen>
      • Set Hero_For_Selection[2] = Hero2 0001 <gen>
      • Set Hero_For_Selection[3] = Hero3 0002 <gen>
      • Set Hero_For_Selection[4] = Hero4 0003 <gen>
      • Set Hero_For_Selection[5] = Hero5 0004 <gen>
      • Set Hero_For_Selection[6] = Hero6 0005 <gen>
      • Set Hero_For_Selection[7] = Hero7 0006 <gen>
      • -------- -------------------------------------------------------- --------
      • -------- Set rotation angle --------
      • Set HS_Angle[1] = 225
      • Set HS_Angle[2] = 180
      • Set HS_Angle[3] = 135
      • Set HS_Angle[4] = 90
      • Set HS_Angle[5] = 45
      • Set HS_Angle[6] = 0
      • Set HS_Angle[7] = 315
      • -------- -------------------------------------------------------- --------
      • -------- Set Hero's Name --------
      • Set HS_Text_Name[1] = (|cffFFCC00Hero Name: + (|cffFFFFFF |r + (Name of Hero1 0000 <gen>)))
      • Set HS_Text_Name[2] = (|cffFFCC00Hero Name: + (|cffFFFFFF |r + (Name of Hero2 0001 <gen>)))
      • Set HS_Text_Name[3] = (|cffFFCC00Hero Name: + (|cffFFFFFF |r + (Name of Hero3 0002 <gen>)))
      • Set HS_Text_Name[4] = (|cffFFCC00Hero Name: + (|cffFFFFFF |r + (Name of Hero4 0003 <gen>)))
      • Set HS_Text_Name[5] = (|cffFFCC00Hero Name: + (|cffFFFFFF |r + (Name of Hero5 0004 <gen>)))
      • Set HS_Text_Name[6] = (|cffFFCC00Hero Name: + (|cffFFFFFF |r + (Name of Hero6 0005 <gen>)))
      • Set HS_Text_Name[7] = (|cffFFCC00Hero Name: + (|cffFFFFFF |r + (Name of Hero7 0006 <gen>)))
      • -------- -------------------------------------------------------- --------
      • -------- Set Hero's Type --------
      • Set HS_Text_Type[1] = |cffFFCC00Hero Type: |rTank
      • Set HS_Text_Type[2] = |cffFFCC00Hero Type: |rTank
      • Set HS_Text_Type[3] = |cffFFCC00Hero Type: |rTank
      • Set HS_Text_Type[4] = |cffFFCC00Hero Type: |rTank
      • Set HS_Text_Type[5] = |cffFFCC00Hero Type: |rTank
      • Set HS_Text_Type[6] = |cffFFCC00Hero Type: |rTank
      • Set HS_Text_Type[7] = |cffFFCC00Hero Type: |rTank
      • -------- -------------------------------------------------------- --------
      • -------- Set Hero's Abilities --------
      • Set HS_Text_Abilities[1] = ((((|cffFFCC00Abilities: |r + (Name of Storm Bolt)) + , ) + ((Name of Thunder Clap) + , )) + (((Name of Bash) + , ) + (Name of Avatar)))
      • Set HS_Text_Abilities[2] = ((((|cffFFCC00Abilities: |r + (Name of Storm Bolt)) + , ) + ((Name of Thunder Clap) + , )) + (((Name of Bash) + , ) + (Name of Avatar)))
      • Set HS_Text_Abilities[3] = ((((|cffFFCC00Abilities: |r + (Name of Storm Bolt)) + , ) + ((Name of Thunder Clap) + , )) + (((Name of Bash) + , ) + (Name of Avatar)))
      • Set HS_Text_Abilities[4] = ((((|cffFFCC00Abilities: |r + (Name of Storm Bolt)) + , ) + ((Name of Thunder Clap) + , )) + (((Name of Bash) + , ) + (Name of Avatar)))
      • Set HS_Text_Abilities[5] = ((((|cffFFCC00Abilities: |r + (Name of Storm Bolt)) + , ) + ((Name of Thunder Clap) + , )) + (((Name of Bash) + , ) + (Name of Avatar)))
      • Set HS_Text_Abilities[6] = ((((|cffFFCC00Abilities: |r + (Name of Storm Bolt)) + , ) + ((Name of Thunder Clap) + , )) + (((Name of Bash) + , ) + (Name of Avatar)))
      • Set HS_Text_Abilities[7] = ((((|cffFFCC00Abilities: |r + (Name of Storm Bolt)) + , ) + ((Name of Thunder Clap) + , )) + (((Name of Bash) + , ) + (Name of Avatar)))
      • -------- -------------------------------------------------------- --------
      • -------- Set Hero's Description --------
      • Set HS_Text_Description[1] = |cffFFCC00Hero Description: |rInsert Description Here.
      • Set HS_Text_Description[2] = |cffFFCC00Hero Description: |rInsert Description Here.
      • Set HS_Text_Description[3] = |cffFFCC00Hero Description: |rInsert Description Here.
      • Set HS_Text_Description[4] = |cffFFCC00Hero Description: |rInsert Description Here.
      • Set HS_Text_Description[5] = |cffFFCC00Hero Description: |rInsert Description Here.
      • Set HS_Text_Description[6] = |cffFFCC00Hero Description: |rInsert Description Here.
      • Set HS_Text_Description[7] = |cffFFCC00Hero Description: |rInsert Description Here.
      • -------- -------------------------------------------------------- --------
      • -------- Freezes selection heroes. --------
      • For each (Integer A) from 1 to 7, do (Actions)
        • Loop - Actions
          • Unit - Change ownership of Hero_For_Selection[(Integer A)] to Neutral Passive and Change color
      • Game - Display to (All players) for 30.00 seconds the text: To pick a new hero ...
      • Custom script: call DestroyTrigger(GetTriggeringTrigger())


  • Set up
    • Events
      • Player - Player 1 (Red) types a chat message containing -new as An exact match
      • Player - Player 2 (Blue) types a chat message containing -new as An exact match
      • Player - Player 3 (Teal) types a chat message containing -new as An exact match
      • Player - Player 4 (Purple) types a chat message containing -new as An exact match
    • Conditions
      • Hero_Selected[(Player number of (Triggering player))] Equal to False
      • Picking_Hero[(Player number of (Triggering player))] Equal to False
    • Actions
      • Player Group - Add (Triggering player) to Hero_Selecting_Group
      • Camera - Lock camera target for (Triggering player) to Hero Select Center 0008 <gen>, offset by (0.00, 0.00) using Default rotation
      • Camera - Set (Triggering player)'s camera Rotation to 225.00 over 0.00 seconds
      • Selection - Select Hero1 0000 <gen> for (Triggering player)
      • Cinematic - Clear the screen of text messages for (Player group((Triggering player)))
      • Game - Display to (Player group((Triggering player))) for 30.00 seconds the text: HS_Text_Name[1]
      • Game - Display to (Player group((Triggering player))) for 30.00 seconds the text: HS_Text_Type[1]
      • Game - Display to (Player group((Triggering player))) for 30.00 seconds the text: HS_Text_Abilities[1]
      • Game - Display to (Player group((Triggering player))) for 30.00 seconds the text: HS_Text_Description[1]
      • Set Hero_Selector[(Player number of (Triggering player))] = 1
      • Set Current_Hero[(Player number of (Triggering player))] = Hero1
      • Set Picking_Hero[(Player number of (Triggering player))] = True

  • Hero Select
    • Events
      • Player - Player 1 (Red) skips a cinematic sequence
      • Player - Player 2 (Blue) skips a cinematic sequence
      • Player - Player 3 (Teal) skips a cinematic sequence
      • Player - Player 4 (Purple) skips a cinematic sequence
    • Conditions
      • Hero_Selected[(Player number of (Triggering player))] Equal to False
      • Picking_Hero[(Player number of (Triggering player))] Equal to True
    • Actions
      • Set tmp_point = (Random point in Region 000 <gen>)
      • Unit - Create 1 Current_Hero[(Player number of (Triggering player))] for (Triggering player) at tmp_point facing Default building facing degrees
      • Camera - Pan camera for (Triggering player) to (Position of (Last created unit)) over 0.00 seconds
      • Player Group - Remove (Triggering player) from Hero_Selecting_Group
      • Camera - Reset camera for (Triggering player) to standard game-view over 0.00 seconds
      • Cinematic - Clear the screen of text messages for (Player group((Triggering player)))
      • Set Players_Heroes[(Player number of (Triggering player))] = (Last created unit)
      • Set Hero_Selected[(Player number of (Triggering player))] = True
      • Set Picking_Hero[(Player number of (Triggering player))] = False
      • Custom script: call RemoveLocation( udg_tmp_point )
  • repick
    • Events
      • Player - Player 1 (Red) types a chat message containing -repick as An exact match
      • Player - Player 2 (Blue) types a chat message containing -repick as An exact match
      • Player - Player 3 (Teal) types a chat message containing -repick as An exact match
      • Player - Player 4 (Purple) types a chat message containing -repick as An exact match
    • Conditions
      • Hero_Selected[(Player number of (Triggering player))] Equal to True
      • Picking_Hero[(Player number of (Triggering player))] Equal to False
    • Actions
      • Unit - Remove Players_Heroes[(Player number of (Triggering player))] from the game
      • Player Group - Add (Triggering player) to Hero_Selecting_Group
      • Camera - Lock camera target for (Triggering player) to Hero Select Center 0008 <gen>, offset by (0.00, 0.00) using Default rotation
      • Camera - Set (Triggering player)'s camera Rotation to 225.00 over 0.00 seconds
      • Selection - Select Hero1 0000 <gen> for (Triggering player)
      • Cinematic - Clear the screen of text messages for (Player group((Triggering player)))
      • Game - Display to (Player group((Triggering player))) for 30.00 seconds the text: HS_Text_Name[1]
      • Game - Display to (Player group((Triggering player))) for 30.00 seconds the text: HS_Text_Type[1]
      • Game - Display to (Player group((Triggering player))) for 30.00 seconds the text: HS_Text_Abilities[1]
      • Game - Display to (Player group((Triggering player))) for 30.00 seconds the text: HS_Text_Description[1]
      • Set Hero_Selector[(Player number of (Triggering player))] = 1
      • Set Current_Hero[(Player number of (Triggering player))] = Hero1
      • Set Picking_Hero[(Player number of (Triggering player))] = True
      • Set Hero_Selected[(Player number of (Triggering player))] = False
  • freeze loop
    • Events
      • Time - Every 0.20 seconds of game time
    • Conditions
    • Actions
      • Player Group - Pick every player in Hero_Selecting_Group and do (Actions)
        • Loop - Actions
          • Camera - Set (Picked player)'s camera Angle of attack to 360.00 over 0.00 seconds
          • Camera - Set (Picked player)'s camera Distance to target to 100.00 over 0.00 seconds
          • Camera - Set (Picked player)'s camera Height Offset to 150.00 over 0.00 seconds
  • right arrow
    • Events
      • Player - Player 1 (Red) Presses the Right Arrow key
      • Player - Player 2 (Blue) Presses the Right Arrow key
      • Player - Player 3 (Teal) Presses the Right Arrow key
      • Player - Player 4 (Purple) Presses the Right Arrow key
    • Conditions
      • Hero_Selected[(Player number of (Triggering player))] Equal to False
      • Picking_Hero[(Player number of (Triggering player))] Equal to True
    • Actions
      • Set Hero_Selector[(Player number of (Triggering player))] = (Hero_Selector[(Player number of (Triggering player))] + 1)
      • For each (Integer B) from 2 to 7, do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • Hero_Selector[(Player number of (Triggering player))] Equal to (Integer B)
            • Then - Actions
              • Camera - Lock camera target for (Triggering player) to Hero Select Center 0008 <gen>, offset by (0.00, 0.00) using Default rotation
              • Camera - Set (Triggering player)'s camera Rotation to (Real(HS_Angle[(Integer B)])) over 0.00 seconds
              • Selection - Select Hero_For_Selection[(Integer B)] for (Triggering player)
              • Set Current_Hero[(Player number of (Triggering player))] = (Unit-type of Hero_For_Selection[(Integer B)])
              • Cinematic - Clear the screen of text messages for (Player group((Triggering player)))
              • Game - Display to (Player group((Triggering player))) for 30.00 seconds the text: HS_Text_Name[(Integer B)]
              • Game - Display to (Player group((Triggering player))) for 30.00 seconds the text: HS_Text_Type[(Integer B)]
              • Game - Display to (Player group((Triggering player))) for 30.00 seconds the text: HS_Text_Abilities[(Integer B)]
              • Game - Display to (Player group((Triggering player))) for 30.00 seconds the text: HS_Text_Description[(Integer B)]
              • Skip remaining actions
            • Else - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • Hero_Selector[(Player number of (Triggering player))] Equal to 8
                • Then - Actions
                  • Camera - Lock camera target for (Triggering player) to Hero Select Center 0008 <gen>, offset by (0.00, 0.00) using Default rotation
                  • Camera - Set (Triggering player)'s camera Rotation to 225.00 over 0.00 seconds
                  • Selection - Select Hero1 0000 <gen> for (Triggering player)
                  • Set Hero_Selector[(Player number of (Triggering player))] = 1
                  • Set Current_Hero[(Player number of (Triggering player))] = Hero1
                  • Cinematic - Clear the screen of text messages for (Player group((Triggering player)))
                  • Game - Display to (Player group((Triggering player))) for 30.00 seconds the text: HS_Text_Name[1]
                  • Game - Display to (Player group((Triggering player))) for 30.00 seconds the text: HS_Text_Type[1]
                  • Game - Display to (Player group((Triggering player))) for 30.00 seconds the text: HS_Text_Abilities[1]
                  • Game - Display to (Player group((Triggering player))) for 30.00 seconds the text: HS_Text_Description[1]
                  • Skip remaining actions
                • Else - Actions
  • left arrow
    • Events
      • Player - Player 1 (Red) Presses the Left Arrow key
      • Player - Player 2 (Blue) Presses the Left Arrow key
      • Player - Player 3 (Teal) Presses the Left Arrow key
      • Player - Player 4 (Purple) Presses the Left Arrow key
    • Conditions
      • Hero_Selected[(Player number of (Triggering player))] Equal to False
      • Picking_Hero[(Player number of (Triggering player))] Equal to True
    • Actions
      • Set Hero_Selector[(Player number of (Triggering player))] = (Hero_Selector[(Player number of (Triggering player))] - 1)
      • For each (Integer B) from 1 to 6, do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • Hero_Selector[(Player number of (Triggering player))] Equal to (Integer B)
            • Then - Actions
              • Camera - Lock camera target for (Triggering player) to Hero Select Center 0008 <gen>, offset by (0.00, 0.00) using Default rotation
              • Camera - Set (Triggering player)'s camera Rotation to (Real(HS_Angle[(Integer B)])) over 0.00 seconds
              • Selection - Select Hero_For_Selection[(Integer B)] for (Triggering player)
              • Set Current_Hero[(Player number of (Triggering player))] = (Unit-type of Hero_For_Selection[(Integer B)])
              • Cinematic - Clear the screen of text messages for (Player group((Triggering player)))
              • Game - Display to (Player group((Triggering player))) for 30.00 seconds the text: HS_Text_Name[(Integer B)]
              • Game - Display to (Player group((Triggering player))) for 30.00 seconds the text: HS_Text_Type[(Integer B)]
              • Game - Display to (Player group((Triggering player))) for 30.00 seconds the text: HS_Text_Abilities[(Integer B)]
              • Game - Display to (Player group((Triggering player))) for 30.00 seconds the text: HS_Text_Description[(Integer B)]
              • Skip remaining actions
            • Else - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • Hero_Selector[(Player number of (Triggering player))] Equal to 0
                • Then - Actions
                  • Camera - Lock camera target for (Triggering player) to Hero Select Center 0008 <gen>, offset by (0.00, 0.00) using Default rotation
                  • Camera - Set (Triggering player)'s camera Rotation to 315.00 over 0.00 seconds
                  • Selection - Select Hero7 0006 <gen> for (Triggering player)
                  • Set Hero_Selector[(Player number of (Triggering player))] = 7
                  • Set Current_Hero[(Player number of (Triggering player))] = Hero7
                  • Cinematic - Clear the screen of text messages for (Player group((Triggering player)))
                  • Game - Display to (Player group((Triggering player))) for 30.00 seconds the text: HS_Text_Name[7]
                  • Game - Display to (Player group((Triggering player))) for 30.00 seconds the text: HS_Text_Type[7]
                  • Game - Display to (Player group((Triggering player))) for 30.00 seconds the text: HS_Text_Abilities[7]
                  • Game - Display to (Player group((Triggering player))) for 30.00 seconds the text: HS_Text_Description[7]
                  • Skip remaining actions
                • Else - Actions

looks like a better version of mine lol

Suggjestions
double-click system to chose
Select hero when you have chosen
and pan camera to hereo
 
Top