- Joined
- Jan 9, 2024
- Messages
- 92
Rise of the Horde
Theramore Hero Defense
Hello map making community.
I need some help with the trigger I made. So the idea is to have a timed PvP event which picks 2 random players to fight against each other in one out of 3 arenas.
When I tested it with another player (the map is for 2-6 players) it ported me and the other player to different arenas.
The issue is that I can't test it that often because I need another player obviously, so I want it to work next time.
This is the trigger I made:
Is there a better way for picking random players and if - lets say there are only 3 players, the third player has to be a spectator of the PvP match between player 1 and 2?
I'm glad for any answer and help!
I need some help with the trigger I made. So the idea is to have a timed PvP event which picks 2 random players to fight against each other in one out of 3 arenas.
When I tested it with another player (the map is for 2-6 players) it ported me and the other player to different arenas.
The issue is that I can't test it that often because I need another player obviously, so I want it to work next time.
This is the trigger I made:
-
PvP Event
-

Events
-


Time - PvP_Timer expires
-
-

Conditions
-

Actions
-


If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-



If - Conditions
-




(Number of players in Player_Group_Playing) Greater than or equal to 2
-
-



Then - Actions
-




Trigger - Turn off player dies <gen>
-




Countdown Timer - Destroy PvP_Timer_Window
-




Sound - Play ClanInvitation <gen>
-




Game - Display to Player_Group_Playing the text: PvP Event!
-




Player Group - Pick every player in Player_Group_Playing and do (Actions)
-





Loop - Actions
-






Set VariableSet PvP_PN = (Player number of (Picked player))
-






Player Group - Add (Picked player) to Player_Group_PvP
-






Unit - Remove All except expiration timer buffs from player_unit[PvP_PN]
-






Unit - Set life of player_unit[PvP_PN] to 100.00%
-






Unit - Set mana of player_unit[PvP_PN] to 100.00%
-






Unit - Reset ability cooldowns for player_unit[PvP_PN].
-
-
-




Wait 2.00 seconds
-




Unit - Pause all units
-




Set VariableSet Random_Player_PvP = (Random player from Player_Group_PvP)
-




Player Group - Add Random_Player_PvP to PvP_Group1
-




Player Group - Remove Random_Player_PvP from Player_Group_PvP.
-




Set VariableSet PvP_Rnd_PN = (Player number of Random_Player_PvP)
-




Set VariableSet PvP_Fighter = player_unit[PvP_Rnd_PN]
-




Set VariableSet Random_Player_PvP_2 = (Random player from Player_Group_PvP)
-




Player Group - Add Random_Player_PvP_2 to PvP_Group1
-




Player Group - Remove Random_Player_PvP_2 from Player_Group_PvP.
-




Set VariableSet PvP_Rnd_PN_2 = (Player number of Random_Player_PvP_2)
-




Set VariableSet PvP_Fighter_2 = player_unit[PvP_Rnd_PN_2]
-




Player Group - Pick every player in PvP_Group1 and do (Actions)
-





Loop - Actions
-






Player - Make Random_Player_PvP treat Random_Player_PvP_2 as an Enemy with shared vision
-






Player - Make Random_Player_PvP_2 treat Random_Player_PvP as an Enemy with shared vision
-






Unit - Move PvP_Fighter instantly to (Center of Arena_Region[1]), facing (Center of Arena_Region[2])
-






Camera - Pan camera for (Owner of PvP_Fighter) to (Center of Arena_Region[7]) over 0.00 seconds
-






Unit - Move PvP_Fighter_2 instantly to (Center of Arena_Region[2]), facing (Center of Arena_Region[1])
-






Camera - Pan camera for (Owner of PvP_Fighter_2) to (Center of Arena_Region[7]) over 0.00 seconds
-
-
-




Set VariableSet Random_Player_PvP_3 = (Random player from Player_Group_PvP)
-




Player Group - Add Random_Player_PvP_3 to PvP_Group2
-




Player Group - Remove Random_Player_PvP_3 from Player_Group_PvP.
-




Set VariableSet PvP_Rnd_PN_3 = (Player number of Random_Player_PvP_3)
-




Set VariableSet PvP_Fighter_3 = player_unit[PvP_Rnd_PN_3]
-




Set VariableSet Random_Player_PvP_4 = (Random player from Player_Group_PvP)
-




Player Group - Add Random_Player_PvP_4 to PvP_Group2
-




Player Group - Remove Random_Player_PvP_4 from Player_Group_PvP.
-




Set VariableSet PvP_Rnd_PN_4 = (Player number of Random_Player_PvP_4)
-




Set VariableSet PvP_Fighter_4 = player_unit[PvP_Rnd_PN_4]
-




Player Group - Pick every player in PvP_Group2 and do (Actions)
-





Loop - Actions
-






Player - Make Random_Player_PvP_3 treat Random_Player_PvP_4 as an Enemy with shared vision
-






Player - Make Random_Player_PvP_4 treat Random_Player_PvP_3 as an Enemy with shared vision
-






Unit - Move PvP_Fighter_3 instantly to (Center of Arena_Region[3]), facing (Center of Arena_Region[4])
-






Camera - Pan camera for (Owner of PvP_Fighter_3) to (Center of Arena_Region[8]) over 0.00 seconds
-






Unit - Move PvP_Fighter_4 instantly to (Center of Arena_Region[4]), facing (Center of Arena_Region[3])
-






Camera - Pan camera for (Owner of PvP_Fighter_4) to (Center of Arena_Region[8]) over 0.00 seconds
-
-
-




Set VariableSet Random_Player_PvP_5 = (Random player from Player_Group_PvP)
-




Player Group - Add Random_Player_PvP_5 to PvP_Group3
-




Player Group - Remove Random_Player_PvP_5 from Player_Group_PvP.
-




Set VariableSet PvP_Rnd_PN_5 = (Player number of Random_Player_PvP_5)
-




Set VariableSet PvP_Fighter_5 = player_unit[PvP_Rnd_PN_5]
-




Set VariableSet Random_Player_PvP_6 = (Random player from Player_Group_PvP)
-




Player Group - Add Random_Player_PvP_6 to PvP_Group3
-




Player Group - Remove Random_Player_PvP_6 from Player_Group_PvP.
-




Set VariableSet PvP_Rnd_PN_6 = (Player number of Random_Player_PvP_6)
-




Set VariableSet PvP_Fighter_6 = player_unit[PvP_Rnd_PN_6]
-




Player Group - Pick every player in PvP_Group3 and do (Actions)
-





Loop - Actions
-






Player - Make Random_Player_PvP_5 treat Random_Player_PvP_6 as an Enemy with shared vision
-






Player - Make Random_Player_PvP_6 treat Random_Player_PvP_5 as an Enemy with shared vision
-






Unit - Move PvP_Fighter_5 instantly to (Center of Arena_Region[5]), facing (Center of Arena_Region[6])
-






Camera - Pan camera for (Owner of PvP_Fighter_5) to (Center of Arena_Region[9]) over 0.00 seconds
-






Unit - Move PvP_Fighter_6 instantly to (Center of Arena_Region[6]), facing (Center of Arena_Region[5])
-






Camera - Pan camera for (Owner of PvP_Fighter_6) to (Center of Arena_Region[9]) over 0.00 seconds
-
-
-




Game - Display to (All players) the text: |cffffc519PvP start...
-




Wait 1.00 seconds
-




For each (Integer Sec_5) from 1 to 5, do (Actions)
-





Loop - Actions
-






Game - Display to (All players) the text: (|cffffc519 + (String(((Sec_5 - 6) x -1))))
-






Sound - Play BattleNetTick <gen>
-






Wait 1.00 seconds
-
-
-




Sound - Play ArrangedTeamInvitation <gen>
-




Unit - Unpause PvP_Fighter
-




Unit - Unpause PvP_Fighter_2
-




Unit - Unpause PvP_Fighter_3
-




Unit - Unpause PvP_Fighter_4
-




Unit - Unpause PvP_Fighter_5
-




Unit - Unpause PvP_Fighter_6
-




Countdown Timer - Start wavesDecay_timer as a One-shot timer that will expire in 120.00 seconds
-




Countdown Timer - Start Waves_Timer_PvP as a One-shot timer that will expire in 150.00 seconds
-




Countdown Timer - Create a timer window for Waves_Timer_PvP with title PvP Event Ending in...
-




Set VariableSet PvP_End_Window = (Last created timer window)
-




Trigger - Turn on PvP Hero Dies <gen>
-
-



Else - Actions
-




Countdown Timer - Destroy PvP_Timer_Window
-




Sound - Play Error <gen>
-




Game - Display to Player_Group_Playing the text: Not enough Players ...
-




Countdown Timer - Start waves_timer as a One-shot timer that will expire in 30.00 seconds
-




Set VariableSet waves_lvl = (waves_lvl + 1)
-




Countdown Timer - Create a timer window for waves_timer with title (Wave + (String(waves_lvl)))
-




Set VariableSet waves_timer_window = (Last created timer window)
-
-
-
-
Is there a better way for picking random players and if - lets say there are only 3 players, the third player has to be a spectator of the PvP match between player 1 and 2?
I'm glad for any answer and help!


