- Joined
- Apr 4, 2020
- Messages
- 31
Currently working on a basic hero picking system for my map, where you switch in between heroes with arrow keys and chose your hero with esc. Setup looking like this:
It's looking like this (quite identical for right arrow key)
Any help is much appreciated
-
HS Setup
-
Events
- Time - Elapsed game time is 0.10 seconds
- Conditions
-
Actions
- Set VariableSet HS_Heroes[1] = Lira Windrun 0036 <gen>
- Set VariableSet HS_Heroes[2] = Captain of the Guard 0325 <gen>
- Set VariableSet HS_Heroes[3] = Dagren der Orcschlächter 0056 <gen>
- Set VariableSet HS_Heroes[4] = Gul'dan 0030 <gen>
- Set VariableSet HS_Heroes[5] = Bladedancer 0026 <gen>
- Set VariableSet HS_Heroes[6] = Bestienmeister 0032 <gen>
- Set VariableSet HS_Heroes[7] = Sylvanas Windrunner 0048 <gen>
- Set VariableSet HS_Heroes[8] = Chen Sturmbräu 0201 <gen>
- Set VariableSet HS_Heroes[9] = Ashenvale Protector 0271 <gen>
- Custom script: set udg_HS_Hero_Descrip[1] = "Stormchaser\n\nStr: 17 (+1,9)\nAgi: 35 (|cff808000+3,8|r)\nInt 24 (+2,9)"
- Custom script: set udg_HS_Hero_Descrip[2] = "Captain of the Guard\n\nStr: 17 (+1,9)\nAgi: 35 (|cff808000+3,8|r)\nInt 24 (+2,9)"
- Custom script: set udg_HS_Hero_Descrip[2] = "Captain of the Guard\n\nStr: 17 (+1,9)\nAgi: 35 (|cff808000+3,8|r)\nInt 24 (+2,9)"
- Custom script: set udg_HS_Hero_Descrip[3] = "Paladin(WIP)\n\nStr: 17 (+1,9)\nAgi: 35 (|cff808000+3,8|r)\n\nInt 24 (+2,9)"
- Custom script: set udg_HS_Hero_Descrip[4] = "Warlock\n\nStr: 17 (+1,9)\nAgi: 35 (|cff808000+3,8|r)\n\nInt 24 (+2,9)"
- Custom script: set udg_HS_Hero_Descrip[5] = "Bladedancer\n\nStr: 17 (+1,9)\nAgi: 35 (|cff808000+3,8|r)\n\nInt 24 (+2,9)"
- Custom script: set udg_HS_Hero_Descrip[6] = "Beastmaster(WIP)\n\nStr: 17 (+1,9)\nAgi: 35 (|cff808000+3,8|r)\n\nInt 24 (+2,9)"
- Custom script: set udg_HS_Hero_Descrip[7] = "Sylvanas\n\nStr: 17 (+1,9)\nAgi: 35 (|cff808000+3,8|r)\n\nInt 24 (+2,9)"
- Custom script: set udg_HS_Hero_Descrip[8] = "Panda(WIP)\n\nStr: 17 (+1,9)\nAgi: 35 (|cff808000+3,8|r)\n\nInt 24 (+2,9)"
- Custom script: set udg_HS_Hero_Descrip[9] = "Ashenvale Protector(WIP)\n\nStr: 17 (+1,9)\nAgi: 35 (|cff808000+3,8|r)\n\nInt 24 (+2,9)"
- Set VariableSet Camera[1] = HPArcher <gen>
- Set VariableSet Camera[2] = HPGuard <gen>
- Set VariableSet Camera[3] = HPPaladin <gen>
- Set VariableSet Camera[4] = HPWarlock <gen>
- Set VariableSet Camera[5] = HPBladedancer <gen>
- Set VariableSet Camera[6] = HPBeast <gen>
- Set VariableSet Camera[7] = HPDarkArcher <gen>
- Set VariableSet Camera[8] = HPPanda <gen>
- Set VariableSet Camera[9] = HPGolem <gen>
- -------- --------
- Set VariableSet HS_Heroes_Total = 9
- -------- --------
- Set VariableSet HS_Players = (All players matching ((((Matching player) controller) Equal to User) and (((Matching player) slot status) Equal to Is playing)).)
- -------- --------
-
Player Group - Pick every player in HS_Players and do (Actions)
-
Loop - Actions
- Set VariableSet PN = (Player number of (Picked player))
- -------- --------
- Set VariableSet HS_Selected[PN] = 1
- Selection - Select HS_Heroes[1]
- Camera - Apply Camera[1] for (Picked player) over 0.20 seconds
- Game - Display to (All players) for 70.00 seconds the text: HS_Hero_Descrip[1]
- -------- --------
- Trigger - Add to HS Left Arrow <gen> the event (Player - (Picked player) Presses the Left Arrow key)
- Trigger - Add to HS Right Arrow <gen> the event (Player - (Picked player) Presses the Right Arrow key)
- Trigger - Add to HS Select Hero <gen> the event (Player - (Picked player) skips a cinematic sequence)
-
Loop - Actions
- Trigger - Turn on HS Camera <gen>
- -------- --------
- Countdown Timer - Start HS_Timer as a One-shot timer that will expire in 120.00 seconds
-
Events
It's looking like this (quite identical for right arrow key)
-
HS Left Arrow
- Events
-
Conditions
- HS_Selected[(Player number of (Triggering player))] Not equal to 0
-
Actions
- Set VariableSet PN = (Player number of (Triggering player))
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- HS_Selected[PN] Equal to 1
-
Then - Actions
- Set VariableSet HS_Selected[PN] = HS_Heroes_Total
- Cinematic - Clear the screen of text messages for HS_Players.
- Camera - Lock camera target for (Triggering player) to HS_Heroes[HS_Selected[PN]], offset by (0.00, 0.00) using Default rotation
- Selection - Select HS_Heroes[HS_Selected[PN]] for (Triggering player)
- Game - Display to HS_Players for 70.00 seconds the text: HS_Hero_Descrip[HS_Selected[PN]]
-
Else - Actions
- Set VariableSet HS_Selected[PN] = (HS_Selected[PN] - 1)
- Cinematic - Clear the screen of text messages for HS_Players.
- Camera - Lock camera target for (Triggering player) to HS_Heroes[HS_Selected[PN]], offset by (0.00, 0.00) using Default rotation
- Selection - Select HS_Heroes[HS_Selected[PN]] for (Triggering player)
- Game - Display to (All players) for 70.00 seconds the text: HS_Hero_Descrip[HS_Selected[PN]]
-
If - Conditions
-
HS Select Hero
- Events
-
Conditions
- HS_Selected[(Player number of (Triggering player))] Not equal to 0
- HS_Hero_Check[HS_Selected[PN]] Not equal to 1.00
-
Actions
- Set VariableSet PN = (Player number of (Triggering player))
- Set VariableSet HS_Point = (Position of HS_Heroes[HS_Selected[PN]])
- Set VariableSet HS_Heroes_Total = (HS_Heroes_Total - 1)
- Set VariableSet HS_Hero_Check[HS_Selected[PN]] = (HS_Hero_Check[HS_Selected[PN]] + 1.00)
- Unit - Remove HS_Heroes[HS_Selected[PN]] from the game
- -------- --------
- Unit - Create 1 (Unit-type of HS_Heroes[HS_Selected[PN]]) for (Triggering player) at HS_Point facing (Facing of HS_Heroes[HS_Selected[PN]]) degrees
- Hero - Create Ankh der Reinkarnation and give it to (Last created unit)
- Unit Group - Add (Last created unit) to RealHero
- Player - Make Player 20 (Lavender) treat (Owner of (Last created unit)) as an Ally with shared vision
- Player - Make (Owner of (Last created unit)) treat Player 20 (Lavender) as an Ally with shared vision
- Selection - Clear selection for (Triggering player).
- Selection - Select (Last created unit) for (Triggering player)
- Cinematic - Clear the screen of text messages for (All players matching (HS_Hero_Check[HS_Selected[PN]] Equal to 1.00).).
- Camera - Reset camera for (Triggering player) to standard game-view over 0.00 seconds
- Camera - Pan camera for (Triggering player) to HS_Point over 0.00 seconds
- Set VariableSet HS_Selected[PN] = 0
- -------- Clean up Point memory leak --------
- Custom script: call RemoveLocation(udg_HS_Point)
- Set VariableSet HS_Selected[0] = 0
- Set VariableSet AmountOfHeroes = (AmountOfHeroes + 1)
-
Player Group - Pick every player in HS_Players and do (Actions)
-
Loop - Actions
- Set VariableSet PN = (Player number of (Picked player))
- Set VariableSet HS_Selected[0] = (HS_Selected[0] + HS_Selected[PN])
-
Loop - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- HS_Selected[0] Equal to 0
-
Then - Actions
-
Unit Group - Pick every unit in (Units owned by Player 20 (Lavender) matching (((Matching unit) is A Hero) Equal to Wahr).) and do (Actions)
-
Loop - Actions
- Unit - Remove (Picked unit) from the game
- Trigger - Turn on GoodMid 1 <gen>
- Trigger - Turn on GoodLeft1 <gen>
- Trigger - Turn on GoodRight 1 <gen>
- Trigger - Turn on BadLeft 1 <gen>
- Trigger - Turn on BadRight 1 <gen>
- Trigger - Turn on BadMid 1 <gen>
- Trigger - Turn off (This trigger)
-
Loop - Actions
- Trigger - Turn off HS Camera <gen>
- Trigger - Turn off HS Left Arrow <gen>
- Trigger - Turn off HS Right Arrow <gen>
- Countdown Timer - Pause HS_Timer
- Custom script: call DestroyTimer(udg_HS_Timer)
-
Unit Group - Pick every unit in (Units owned by Player 20 (Lavender) matching (((Matching unit) is A Hero) Equal to Wahr).) and do (Actions)
- Else - Actions
-
If - Conditions
Any help is much appreciated