• Listen to a special audio message from Bill Roper to the Hive Workshop community (Bill is a former Vice President of Blizzard Entertainment, Producer, Designer, Musician, Voice Actor) 🔗Click here to hear his message!
  • Read Evilhog's interview with Gregory Alper, the original composer of the music for WarCraft: Orcs & Humans 🔗Click here to read the full interview.
  • Create a faction for Warcraft 3 and enter Hive's 19th Techtree Contest: Co-Op Commanders! Click here to enter!
  • Create a void inspired texture for Warcraft 3 and enter Hive's 34th Texturing Contest: Void! Click here to enter!
  • The Hive's 21st Texturing Contest: Upgrade is now concluded, time to vote for your favourite set of icons! Click here to vote!

Need help about ranking score system

Status
Not open for further replies.
Level 13
Joined
Nov 20, 2006
Messages
553
Hello.. i need help for trigger which check the most kill
for example i use integer Kill . it gained after each kill.
at end of game. it decide who is the winner. between rank 1 - 3,
it will show name of the player rank1, rank2, rank3.

my rank system is buggy. so i ask here. thanks for coming :)
 
In tihs post, I'm going to assume you've got an arrayed variable where you store the kills of each player in.

It's not a very efficient method, but since you only need to do this for a maximum of 12 players, here's a trigger that will sort them by score:
  • For each (Integer LoopInt1) from 1 to 10, do (Actions)
    • Loop - Actions
      • For each (Integer LoopInt2) from 1 to 9, do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • PlayerKills[PlayerRank[(LoopInt2 + 1)]] Greater than PlayerKills[PlayerRank[LoopInt2]]
            • Then - Actions
              • Set TempInt = PlayerRank[LoopInt2]
              • Set PlayerRank[LoopInt2] = PlayerRank[(LoopInt2 + 1)]
              • Set PlayerRank[(LoopInt2 + 1)] = TempInt
            • Else - Actions
"PlayerKills[X]" is the amount of kills Player X has (GUI player numbers, so Player 1 is red).
"PlayerRank[X]" is the player number of the player ranked Xth (the player with the most kills will be stored in "PlayerRank[1]").
At the start, PlayerRank will just be the same as the player's number (PlayerRank[1] = 1, PlayerRank[2] = 2, ...).

LoopInt1 goes from 1 to (number of players).
LoopInt2 goes from 1 to (number of players - 1).
 
Status
Not open for further replies.
Top