• 🏆 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!

[Solved] My random pick system does not work...

Status
Not open for further replies.
Level 14
Joined
Jul 25, 2011
Messages
1,065
Hello. I want this triggers to pick random players and sent it to the "Colosseum". But it's not working properly.... Is any action I using buggy?
  • Int
    • Events
      • Map initialization
    • Conditions
    • Actions
      • Sound - Stop music Immediately
      • Sound - Clear the music list
      • Sound - Play DarkAgents <gen>
      • Destructible - Pick every destructible in (Playable map area) and do (Actions)
        • Loop - Actions
          • Destructible - Make (Picked destructible) Invulnerable
          • Destructible - Open (Picked destructible)
      • Destructible - Close Dungeon Gate (Vertical) 0001 <gen>
      • Destructible - Close Dungeon Gate (Vertical) 0000 <gen>
      • Set GT[1] = Dual Sword Man
      • Set GT[2] = Long Sword Man
      • Set GT[3] = Mage
      • Set GT[4] = Sword Man
      • Set PC[1] = |c00ff0202
      • Set PC[2] = |c000041ff
      • Set PC[3] = |c001be5b8
      • Set PC[4] = |c00530080
      • Set PC[5] = |c00ffff00
      • Set PC[6] = |c00fe890d
      • Set PC[7] = |c001FBF00
      • Set PC[8] = |c00E45AAA
      • Set PC[9] = |c00949596
      • Set PC[10] = |c007DBEF1
      • Set PC[11] = |c000F6145
      • Set PC[12] = |c004D2903
      • Set TSP[1] = (Center of T1S <gen>)
      • Set TSP[2] = (Center of T2S <gen>)
      • Set TG = (Units owned by Neutral Passive)
      • Unit Group - Pick every unit in TG and do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • ((Picked unit) is A structure) Equal to False
            • Then - Actions
              • Unit - Make (Picked unit) Invulnerable
              • Unit - Pause (Picked unit)
            • Else - Actions
      • Custom script: call DestroyGroup(udg_TG)
      • Wait 0.01 seconds
      • Player Group - Pick every player in (All players) and do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • Or - Any (Conditions) are true
                • Conditions
                  • ((Picked player) controller) Equal to User
                  • ((Picked player) controller) Equal to Computer
            • Then - Actions
              • Set TI = (TI + 1)
              • Player Group - Add (Picked player) to PT[(Team number of (Picked player))]
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • ((Picked player) controller) Equal to Computer
                • Then - Actions
                  • Set TP = ((Picked player) start location)
                  • Unit - Create 1 GT[(Random integer number between 1 and 4)] for (Picked player) at TP facing Default building facing degrees
                  • Set Gladiator[(Player number of (Owner of (Last created unit)))] = (Last created unit)
                  • Unit - Make (Last created unit) Invulnerable
                  • Game - Display to (All players) the text: (PC[(Player number of (Owner of (Last created unit)))] + ((Name of (Owner of (Last created unit))) + (|r has chosen + (Name of (Last created unit)))))
                  • Custom script: call RemoveLocation(udg_TP)
                • Else - Actions
            • Else - Actions
      • Multiboard - Create a multiboard with 4 columns and 12 rows, titled (|c00640000The Dark Colosseum 2|r Round: 0/ + (String((TI x 25))))
      • Multiboard - Set the display style for (Last created multiboard) item in column 0, row 0 to Show text and Hide icons
      • Multiboard - Set the width for (Last created multiboard) item in column 1, row 0 to 8.00% of the total screen width
      • Multiboard - Set the width for (Last created multiboard) item in column 2, row 0 to 3.00% of the total screen width
      • Multiboard - Set the width for (Last created multiboard) item in column 3, row 0 to 5.00% of the total screen width
      • Multiboard - Set the width for (Last created multiboard) item in column 4, row 0 to 8.00% of the total screen width
      • For each (Integer A) from 1 to 12, do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • Or - Any (Conditions) are true
                • Conditions
                  • ((Player((Integer A))) controller) Equal to User
                  • ((Player((Integer A))) controller) Equal to Computer
            • Then - Actions
              • Multiboard - Set the text for (Last created multiboard) item in column 1, row (Integer A) to (PC[(Integer A)] + ((Name of (Player((Integer A)))) + |r))
              • Multiboard - Set the text for (Last created multiboard) item in column 2, row (Integer A) to Level: 0
              • Multiboard - Set the text for (Last created multiboard) item in column 3, row (Integer A) to Fights: 0/0
              • Multiboard - Set the text for (Last created multiboard) item in column 4, row (Integer A) to No Hero
            • Else - Actions
      • Multiboard - Minimize (Last created multiboard)
      • Multiboard - Maximize (Last created multiboard)
      • Sound - Play Hint <gen>
      • Game - Display to (All players) for 60.00 seconds the text: (Dark Lord : Welcome to my Dark Colosseum!!! The fight will start in 60 seconds. After + ((String((TI x 25))) + rounds you will fight me!!!))
      • Cinematic - Flash a speech indicator for Mannoroth 0104 <gen> of color (100.00%, 100.00%, 100.00%) with 0.00% transparency
      • Wait 60.00 seconds
      • Set TG = (Units of type Select Your Hero)
      • Unit Group - Pick every unit in TG and do (Actions)
        • Loop - Actions
          • Unit - Remove (Picked unit) from the game
      • Custom script: call DestroyGroup(udg_TG)
      • Sound - Play ClanInvitation <gen>
      • Game - Display to (All players) the text: Dark Lord : Let the...
      • Cinematic - Flash a speech indicator for Mannoroth 0104 <gen> of color (100.00%, 100.00%, 100.00%) with 0.00% transparency
      • Wait 4.29 seconds
      • Sound - Play GameFound <gen>
      • Wait 7.48 seconds
      • Trigger - Run SF <gen> (checking conditions)
  • USU
    • Events
      • Unit - A unit Sells a unit
    • Conditions
    • Actions
      • Set Gladiator[(Player number of (Owner of (Sold unit)))] = (Sold unit)
      • Unit - Make (Sold unit) Invulnerable
      • Unit - Remove (Triggering unit) from the game
      • Game - Display to (All players) the text: (PC[(Player number of (Owner of (Sold unit)))] + ((Name of (Owner of (Sold unit))) + (|r has chosen + (Name of (Sold unit)))))
      • Selection - Select (Sold unit) for (Owner of (Sold unit))
  • SF
    • Events
    • Conditions
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • And - All (Conditions) are true
            • Conditions
              • (Number of players in PT[1]) Greater than 0
              • (Number of players in PT[2]) Greater than 0
        • Then - Actions
          • For each (Integer A) from 1 to 2, do (Actions)
            • Loop - Actions
              • Set FG[(Integer A)] = Gladiator[(Player number of (Random player from PT[(Integer A)]))]
              • Player Group - Remove (Owner of FG[(Integer A)]) from PT[(Integer A)]
              • Unit - Make FG[(Integer A)] Vulnerable
              • Unit - Move FG[(Integer A)] instantly to TSP[(Integer A)]
          • Sound - Play Hint <gen>
          • Game - Display to (All players) the text: (Dark Lord : + (PC[(Player number of (Owner of FG[1]))] + ((Name of (Owner of FG[1])) + (|r VS + (PC[(Player number of (Owner of FG[2]))] + ((Name of (Owner of FG[2])) + |r!!!))))))
          • Cinematic - Flash a speech indicator for Mannoroth 0104 <gen> of color (100.00%, 100.00%, 100.00%) with 0.00% transparency
          • Wait 1.00 seconds
          • Sound - Play Lever <gen>
          • Destructible - Open Dungeon Gate (Vertical) 0000 <gen>
          • Destructible - Open Dungeon Gate (Vertical) 0001 <gen>
          • Wait 1.00 seconds
          • Sound - Play Warning <gen>
          • Game - Display to (All players) the text: Dark Lord : Fight!!...
          • Cinematic - Flash a speech indicator for Mannoroth 0104 <gen> of color (100.00%, 100.00%, 100.00%) with 0.00% transparency
          • Unit - Order FG[1] to Attack FG[2]
          • Unit - Order FG[2] to Attack FG[1]
        • Else - Actions
          • For each (Integer A) from 1 to 2, do (Actions)
            • Loop - Actions
              • Player Group - Pick every player in PT[(Integer A)] and do (Actions)
                • Loop - Actions
                  • Hero - Set Gladiator[(Player number of (Picked player))] Hero-level to ((Hero level of Gladiator[(Player number of (Picked player))]) + 1), Show level-up graphics
          • Player Group - Pick every player in (All players) and do (Actions)
            • Loop - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • Or - Any (Conditions) are true
                    • Conditions
                      • ((Picked player) controller) Equal to User
                      • ((Picked player) controller) Equal to Computer
                • Then - Actions
                  • Player Group - Add (Picked player) to PT[(Team number of (Picked player))]
                • Else - Actions
          • For each (Integer A) from 1 to 2, do (Actions)
            • Loop - Actions
              • Player Group - Pick every player in PT[(Integer A)] and do (Actions)
                • Loop - Actions
                  • Unit - Move Gladiator[(Player number of (Picked player))] instantly to TSP[(Team number of (Picked player))]
          • Sound - Play Hint <gen>
          • Game - Display to (All players) the text: Dark Lord : Haha......
          • Cinematic - Flash a speech indicator for Mannoroth 0104 <gen> of color (100.00%, 100.00%, 100.00%) with 0.00% transparency
          • Wait 1.00 seconds
          • Sound - Play Lever <gen>
          • Destructible - Open Dungeon Gate (Vertical) 0000 <gen>
          • Destructible - Open Dungeon Gate (Vertical) 0001 <gen>
          • Wait 1.00 seconds
          • Sound - Play Warning <gen>
          • Game - Display to (All players) the text: Dark Lord : Fight!!...
          • Cinematic - Flash a speech indicator for Mannoroth 0104 <gen> of color (100.00%, 100.00%, 100.00%) with 0.00% transparency
          • Set TP = (Center of CF <gen>)
          • For each (Integer A) from 1 to 2, do (Actions)
            • Loop - Actions
              • Player Group - Pick every player in PT[(Integer A)] and do (Actions)
                • Loop - Actions
                  • Unit - Order Gladiator[(Player number of (Picked player))] to Attack-Move To TP
          • Custom script: call RemoveLocation(udg_TP)
          • Trigger - Turn off FF <gen>
          • Wait 50.00 seconds
          • Trigger - Turn on FF <gen>
          • Sound - Play Hint <gen>
          • Game - Display to (All players) the text: Dark Lord : Stop th...
          • Cinematic - Flash a speech indicator for Mannoroth 0104 <gen> of color (100.00%, 100.00%, 100.00%) with 0.00% transparency
          • Set TI = 0
          • Set TI2 = 0
          • Player Group - Pick every player in PT[1] and do (Actions)
            • Loop - Actions
              • Unit - Make Gladiator[(Player number of (Picked player))] Invulnerable
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (Gladiator[(Player number of (Picked player))] is alive) Equal to True
                • Then - Actions
                  • Set TI = (TI + 1)
                • Else - Actions
          • Player Group - Pick every player in PT[2] and do (Actions)
            • Loop - Actions
              • Unit - Make Gladiator[(Player number of (Picked player))] Invulnerable
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (Gladiator[(Player number of (Picked player))] is alive) Equal to True
                • Then - Actions
                  • Set TI2 = (TI2 + 1)
                • Else - Actions
          • Wait 1.00 seconds
          • For each (Integer A) from 1 to 2, do (Actions)
            • Loop - Actions
              • Player Group - Pick every player in PT[(Integer A)] and do (Actions)
                • Loop - Actions
                  • Player - Add 1 to (Picked player) Food cap
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • TI Equal to TI2
            • Then - Actions
              • Sound - Play Hint <gen>
              • Game - Display to (All players) the text: Dark Lord : It's a ...
              • Cinematic - Flash a speech indicator for Mannoroth 0104 <gen> of color (100.00%, 100.00%, 100.00%) with 0.00% transparency
            • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • TI Greater than TI2
            • Then - Actions
              • Sound - Play Hint <gen>
              • Game - Display to (All players) the text: Dark Lord : Team 1 ...
              • Cinematic - Flash a speech indicator for Mannoroth 0104 <gen> of color (100.00%, 100.00%, 100.00%) with 0.00% transparency
              • Player Group - Pick every player in PT[1] and do (Actions)
                • Loop - Actions
                  • Player - Add 1 to (Picked player) Food used
            • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • TI Less than TI2
            • Then - Actions
              • Sound - Play Hint <gen>
              • Game - Display to (All players) the text: Dark Lord : Team 2 ...
              • Cinematic - Flash a speech indicator for Mannoroth 0104 <gen> of color (100.00%, 100.00%, 100.00%) with 0.00% transparency
              • Player Group - Pick every player in PT[2] and do (Actions)
                • Loop - Actions
                  • Player - Add 1 to (Picked player) Food used
            • Else - Actions
          • Wait 1.00 seconds
          • For each (Integer A) from 1 to 2, do (Actions)
            • Loop - Actions
              • Player Group - Pick every player in PT[(Integer A)] and do (Actions)
                • Loop - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • (Gladiator[(Player number of (Picked player))] is alive) Equal to True
                    • Then - Actions
                      • Set TP = ((Picked player) start location)
                      • Unit - Move Gladiator[(Player number of (Picked player))] instantly to TP
                      • Unit - Make Gladiator[(Player number of (Picked player))] Invulnerable
                      • Unit - Set life of Gladiator[(Player number of (Picked player))] to 100.00%
                      • Unit - Set mana of Gladiator[(Player number of (Picked player))] to 100.00%
                      • Custom script: call RemoveLocation(udg_TP)
                    • Else - Actions
                      • Set TP = ((Picked player) start location)
                      • Hero - Instantly revive Gladiator[(Player number of (Picked player))] at TP, Show revival graphics
                      • Unit - Make Gladiator[(Player number of (Picked player))] Invulnerable
                      • Unit - Set mana of Gladiator[(Player number of (Picked player))] to 100.00%
                      • Custom script: call RemoveLocation(udg_TP)
          • Trigger - Turn on (This trigger)
          • Trigger - Run SF <gen> (checking conditions)
  • FF
    • Events
      • Unit - A unit Dies
    • Conditions
      • ((Triggering unit) is A Hero) Equal to True
    • Actions
      • Set TG = (Units in CF <gen>)
      • Unit Group - Pick every unit in TG and do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • Or - Any (Conditions) are true
                • Conditions
                  • ((Picked unit) is an illusion) Equal to True
                  • ((Picked unit) is Summoned) Equal to True
            • Then - Actions
              • Unit - Remove (Picked unit) from the game
            • Else - Actions
      • Custom script: call DestroyGroup(udg_TG)
      • Hero - Set Gladiator[(Player number of (Owner of (Killing unit)))] Hero-level to ((Hero level of Gladiator[(Player number of (Owner of (Killing unit)))]) + 1), Show level-up graphics
      • Set TP = (Position of (Triggering unit))
      • Unit - Create a permanent Skeletal (Unit-type of (Triggering unit)) corpse for (Owner of (Triggering unit)) at TP facing (Facing of (Triggering unit)) degrees
      • Custom script: call RemoveLocation(udg_TP)
      • Sound - Play GoodJob <gen>
      • Game - Display to (All players) the text: (Dark Lord : + (PC[(Player number of (Owner of (Killing unit)))] + ((Name of (Owner of (Killing unit))) + |r wins!!)))
      • Cinematic - Flash a speech indicator for Mannoroth 0104 <gen> of color (100.00%, 100.00%, 100.00%) with 0.00% transparency
      • Player - Add (400 + (100 x (Hero level of (Triggering unit)))) to (Owner of (Killing unit)) Current gold
      • Player - Add 1 to (Owner of (Triggering unit)) Food cap
      • Player - Add 1 to (Owner of (Killing unit)) Food cap
      • Player - Add 1 to (Owner of (Killing unit)) Food used
      • Player Group - Pick every player in (All players) and do (Actions)
        • Loop - Actions
          • Player - Add 2 to (Picked player) Current lumber
      • Wait 1.00 seconds
      • Set TP = ((Owner of (Killing unit)) start location)
      • Unit - Move Gladiator[(Player number of (Owner of (Killing unit)))] instantly to TP
      • Unit - Make Gladiator[(Player number of (Owner of (Killing unit)))] Invulnerable
      • Unit - Set life of Gladiator[(Player number of (Owner of (Killing unit)))] to 100.00%
      • Unit - Set mana of Gladiator[(Player number of (Owner of (Killing unit)))] to 100.00%
      • Custom script: call RemoveLocation(udg_TP)
      • Set TP = ((Owner of (Triggering unit)) start location)
      • Hero - Instantly revive Gladiator[(Player number of (Owner of (Triggering unit)))] at TP, Show revival graphics
      • Hero - Set Gladiator[(Player number of (Owner of (Triggering unit)))] Hero-level to ((Hero level of Gladiator[(Player number of (Owner of (Triggering unit)))]) + 1), Show level-up graphics
      • Unit - Make Gladiator[(Player number of (Owner of (Triggering unit)))] Invulnerable
      • Unit - Set mana of Gladiator[(Player number of (Owner of (Triggering unit)))] to 100.00%
      • Custom script: call RemoveLocation(udg_TP)
      • Wait 1.00 seconds
      • Trigger - Run SF <gen> (checking conditions)
 
Level 9
Joined
Apr 23, 2011
Messages
460
In the first trigger why do you pick all destructables in the map, invul them, and open all of them? I understand the invul but not the open. Trees don't open.

Also, you may be experiencing problems with various variables, because this is on map init, also I'm not certain you should or even CAN wait on map init... that just seems wrong. Try doing this at something like .05 seconds after init.

I can't really correct much more, GUI hurts my eyes...
 
Level 14
Joined
Jul 25, 2011
Messages
1,065
In the first trigger why do you pick all destructables in the map, invul them, and open all of them? I understand the invul but not the open. Trees don't open.

Also, you may be experiencing problems with various variables, because this is on map init, also I'm not certain you should or even CAN wait on map init... that just seems wrong. Try doing this at something like .05 seconds after init.

I can't really correct much more, GUI hurts my eyes...

Well do you know what went wrong with the random pick system?
 
Status
Not open for further replies.
Top