Question I cant describe in title

Giantpanda

New Member
Reaction score
1
Okay so here's the deal. After 1500 seconds of map playing time, i want to pick the player (who is still in the game) with the least lumber and kill them. So far i've come to the conclusion that i dont know how to do it.

Here's what ive wasted my time doing so far

Trigger:
  • Random
    • Events
      • Time - Elapsed game time is 1500.00 seconds
    • Conditions
    • Actions
      • Game - Display to (All players) for 20.00 seconds the text: |cffA52A2AWhichever...
      • Wait 60.00 seconds
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Builder 0012 <gen> is alive) Equal to True
        • Then - Actions
          • Set Wood[1] = (Player 1 (Red) Current lumber)
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Builder 0013 <gen> is alive) Equal to True
        • Then - Actions
          • Set Wood[2] = (Player 2 (Blue) Current lumber)
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Builder 0014 <gen> is alive) Equal to True
        • Then - Actions
          • Set Wood[3] = (Player 3 (Teal) Current lumber)
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Builder 0015 <gen> is alive) Equal to True
        • Then - Actions
          • Set Wood[4] = (Player 4 (Purple) Current lumber)
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Builder 0016 <gen> is alive) Equal to True
        • Then - Actions
          • Set Wood[5] = (Player 5 (Yellow) Current lumber)
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Builder 0017 <gen> is alive) Equal to True
        • Then - Actions
          • Set Wood[6] = (Player 6 (Orange) Current lumber)
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Builder 0018 <gen> is alive) Equal to True
        • Then - Actions
          • Set Wood[7] = (Player 7 (Green) Current lumber)
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Builder 0019 <gen> is alive) Equal to True
        • Then - Actions
          • Set Wood[8] = (Player 8 (Pink) Current lumber)
        • Else - Actions


Rep shall be given!
 

LordXavier

TH.net Regular
Reaction score
16
I'm working on a trigger for you, but first, why does your trigger have that wait for 60 seconds? it's just bugging me, i have to know why it's there
 

Giantpanda

New Member
Reaction score
1
Because the message says something along the lines of 'In 60 seconds player with least lumber will die'. Just to scare them.
 

Sevion

The DIY Ninja
Reaction score
413
Trigger:
  • Test
    • Events
      • Time - Elapsed game time is 1500.00 seconds
    • Conditions
    • Actions
      • Set Player = Player 1 (Red)
      • For each (Integer A) from 2 to 12, do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Unit[Integer A] is dead) Equal to True
              • (Player(Integer A) Current Lumber) Less than (Player Current Lumber)
            • Then - Actions
              • Set Player = Player(Integer A)
            • Else - Actions
      • Game - Defeat Player


Try that. (Not tested) Add whatever text messages whatever you want in there.

Unit[1-12] are your Builder 00XX <gen>'s
 

Dest

New Member
Reaction score
26
Trigger:
  • Test
    • Events
      • Time - Elapsed game time is 1500.00 seconds
    • Conditions
    • Actions
      • Set Player = Player 1 (Red)
      • For each (Integer A) from 2 to 12, do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Unit[Integer A] is dead) Equal to True
              • (Player(Integer A) Current Lumber) Less than (Player Current Lumber)
            • Then - Actions
              • Set Player = Player(Integer A)
            • Else - Actions
      • Game - Defeat Player


Try that. (Not tested) Add whatever text messages whatever you want in there.

Unit[1-12] are your Builder 00XX <gen>'s

He wanted to kill the player, not simply defeat the player. Change the action to "Kill the player".
 

asipo

New Member
Reaction score
15
Maybe the defeat player replace with
Pick all unit owned by that player, and the action is kill all the unit picked
 

ArmyOfFrogs

New Member
Reaction score
20
Triggering unit wouldn't do anything rappunk
Set Doomed = All units in playable map area matching (matching units owned by (player(-)))
Pick every unit in doomed and kill picked unit
call DestroyGroup(udg_Doomed)

Yeah?

Ignore this text if you want, just look at trigger
and OP; the easiest way to get the player with the least lumber ( i think sevions kills any player lower than reds o_O ) is create a player array, set each part of array to corresponding player, set current number of players in game to an integer variable, leaderboard, hide it, put all the players in the leaderboard with value of their current lumber. Then set LastPlacePlayer = Player in position (current number of players in game integer). Destroy last created leaderboard, then do the thing I put at the start of the post replacing player(-) with LastPlacePlayer. Then custom script call RemoveForce(udg_LastPlacePlayer)


At map init set player[1] to player 1(red), etc etc
Trigger:
  • Events
    • Elapsed time is 1500.00 seconds
    • Conditions
    • Actions
      • Display to (All players) the text message .....
      • Wait 60.00 seconds
      • Player Group - Pick every player in all players matching slot status equal to is playing
        • Set CurNumPlayers = CurNumPlayers +1
      • Leaderboard - Create a leaderboard for all players titled lumber
      • Leaderboard - Hide last created leaderboard from all players
      • Loop - For integer A from 1 to CurNumPlayers do actions
        • Actions - Loop
          • Add Player[Integer A] to last created leaderboard with label (whatever) and value Player[Integer A] Current Lumber
      • Leaderboard - Sort Last created leaderboard by value in descending order
      • Set LastPlacePlayer = Player in position CurNumPlayers of last created leaderboard
      • Leaderboard - Destroy last created leaderboard


That should cover it o_O
 

HydraRancher

Truth begins in lies
Reaction score
197
I thought you'd need some sort of pick...

(This will leak)

Trigger:
  • Actions
    • Player - Pick every player in (All Players) matching (Matching Player) slot status equal to is playing and do (Actions)
      • Loop - (Actions)
        • Set Temp_Player = (Picked Player)
        • Player - Pick every player in (All Players) matching ((Matching Player) slot status equal to is playing) and ((Matching Player) not equal to (Picked Player)) and do (Actions)
          • Loop - (Actions)
            • If all (Conditions) are true then do (Actions) else do (Actions)
              • If - (Conditions)
                • Temp_Player&#039;s Lumber is less than (Picked Player)&#039;s Lumber
              • Then - (Actions)
                • Set Temp_Player = (Picked Player)
                • Player - Pick every player in (All Players) matching ((Matching Player) slot status equal to is playing) and ((Matching Player) not equal to (Picked Player)) and do (Actions)
                  • Loop - (Actions)
                    • If all (Conditions) are true then do (Actions) else do (Actions) If - (Conditions)
                      • Temp_Player&#039;s Lumber is less than (Picked Player)&#039;s Lumber
                      • Then - (Actions)
                      • Defeat (Picked Player)
                      • Skip Remaining Actions
                      • Else - (Actions)
                • Else - (Actions)
 

Gtam

Lerning how to write and read!! Yeah.
Reaction score
164
That is not nesasary. Just store the 12 playes lumber in a variable then do the math between them
 

Komaqtion

You can change this now in User CP.
Reaction score
469
HydraRancher, your trigger is the same as Sevion's... Only his is alot better and more efficient :D Giantpanda, use Sevion's trigger... It should work as you want ;)
 
General chit-chat
Help Users

      The Helper Discord

      Staff online

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top