- 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)
-
-
-


Trigger - Turn on HS Camera <gen>
-


-------- --------
-


Countdown Timer - Start HS_Timer as a One-shot timer that will expire in 120.00 seconds
-
-
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]]
-
-
-
-
-
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])
-
-
-


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)
-
-
-




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)
-
-



Else - Actions
-
-
-
Any help is much appreciated
