• 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.

[Trigger] DotA's Multiboard

Status
Not open for further replies.
Level 32
Joined
Oct 23, 2006
Messages
5,291
Template Available

You can always download a DotA template and copy elements from it into your map. (Be sure to give credit to the template authors.)

It sure was a lot of work to cnp these trigs (by SD_Ryoko and AceHart) into this window, whew!

  • Multiboard Setup
    • Events
      • Time - Elapsed game time is 16.00 seconds
    • Conditions
    • Actions
      • Countdown Timer - Start Game_Time as a One-shot timer that will expire in 999999.00 seconds
      • Leaderboard - Create a leaderboard for PlayersSentinel titled Sentinel
      • Set LeaderboardSentinel = (Last created leaderboard)
      • Leaderboard - Hide LeaderboardSentinel
      • Leaderboard - Create a leaderboard for PlayersScourge titled Scourge
      • Set LeaderboardScourge = (Last created leaderboard)
      • Leaderboard - Hide LeaderboardScourge
      • Player Group - Pick every player in PlayersSentinel and do (Actions)
        • Loop - Actions
          • Leaderboard - Add (Picked player) to LeaderboardSentinel with label (Name of (Picked player)) and value 0
      • Player Group - Pick every player in PlayersScourge and do (Actions)
        • Loop - Actions
          • Leaderboard - Add (Picked player) to LeaderboardScourge with label (Name of (Picked player)) and value 0
      • Trigger - Run Create Multiboard <gen> (ignoring conditions)
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Multiboard_ShowDeaths Equal to True
        • Then - Actions
          • Trigger - Turn on Tally Deaths <gen>
        • Else - Actions
  • Create Multiboard
    • Events
    • Conditions
    • Actions
      • Multiboard - Create a multiboard with 4 columns and (6 + PlayersCount) rows, titled Dota Template
      • Multiboard - Set the text for (Last created multiboard) item in column 1, row 1 to Player
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Multiboard_ShowDeaths Equal to True
        • Then - Actions
          • Multiboard - Set the text for (Last created multiboard) item in column 2, row 1 to Dead
        • Else - Actions
      • Multiboard - Set the text for (Last created multiboard) item in column 3, row 1 to Kills
      • Multiboard - Set the text for (Last created multiboard) item in column 4, row 1 to Deaths
      • -------- Now set the fields for the first row, AND our player rows. --------
      • 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 10.00% of the total screen width
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Multiboard_ShowDeaths Equal to True
        • Then - Actions
          • Multiboard - Set the width for (Last created multiboard) item in column 2, row 0 to 4.00% of the total screen width
        • Else - Actions
          • Multiboard - Set the width for (Last created multiboard) item in column 2, row 0 to 0.50% of the total screen width
      • Multiboard - Set the width for (Last created multiboard) item in column 3, row 0 to 3.00% of the total screen width
      • Multiboard - Set the width for (Last created multiboard) item in column 4, row 0 to 5.00% of the total screen width
      • Multiboard - Set the color for (Last created multiboard) item in column 2, row 0 to (70.00%, 70.00%, 70.00%) with 0.00% transparency
      • Multiboard - Set the color for (Last created multiboard) item in column 3, row 0 to (70.00%, 70.00%, 70.00%) with 0.00% transparency
      • Multiboard - Set the color for (Last created multiboard) item in column 4, row 0 to (70.00%, 70.00%, 70.00%) with 0.00% transparency
      • -------- DEFINE PLAYERS ON THE BOARD --------
      • Trigger - Run Sort Multiboard <gen> (ignoring conditions)
      • -------- Sentinel Team --------
      • Set TempInteger = 2
      • Set Multiboard_Spots[1] = TempInteger
      • Multiboard - Set the text for (Last created multiboard) item in column 1, row TempInteger to PlayerNames[1]
      • Multiboard - Set the text for (Last created multiboard) item in column 2, row TempInteger to
      • Multiboard - Set the text for (Last created multiboard) item in column 3, row TempInteger to 0
      • Multiboard - Set the text for (Last created multiboard) item in column 4, row TempInteger to 0
      • -------- Scourge Team --------
      • Set TempInteger = ((Number of players in PlayersSentinel) + 4)
      • Set Multiboard_Spots[7] = TempInteger
      • Multiboard - Set the text for (Last created multiboard) item in column 1, row TempInteger to PlayerNames[7]
      • Multiboard - Set the text for (Last created multiboard) item in column 2, row TempInteger to
      • Multiboard - Set the text for (Last created multiboard) item in column 3, row TempInteger to 0
      • Multiboard - Set the text for (Last created multiboard) item in column 4, row TempInteger to 0
      • -------- Clock --------
      • Set Multiboard_Clock = (PlayersCount + 6)
      • Multiboard - Set the text for (Last created multiboard) item in column 1, row Multiboard_Clock to Game Time:
      • Multiboard - Set the text for (Last created multiboard) item in column 3, row Multiboard_Clock to 0:00
      • Multiboard - Set the color for (Last created multiboard) item in column 2, row 1 to (100.00%, 100.00%, 100.00%) with 0.00% transparency
      • Multiboard - Set the color for (Last created multiboard) item in column 3, row 1 to (100.00%, 100.00%, 100.00%) with 0.00% transparency
      • Multiboard - Set the color for (Last created multiboard) item in column 4, row 1 to (100.00%, 100.00%, 100.00%) with 0.00% transparency
      • Multiboard - Show (Last created multiboard)
  • Tally Score
    • Events
      • Unit - A unit Dies
    • Conditions
      • ((Dying unit) is A Hero) Equal to True
      • (Player number of (Owner of (Killing unit))) Greater than 0
      • (Player number of (Owner of (Killing unit))) Less than or equal to 12
    • Actions
      • Set Score_Kills[(Player number of (Owner of (Killing unit)))] = (Score_Kills[(Player number of (Owner of (Killing unit)))] + 1)
      • Set Score_Deaths[(Player number of (Owner of (Dying unit)))] = (Score_Deaths[(Player number of (Owner of (Dying unit)))] + 1)
      • If (((Owner of (Dying unit)) is in PlayersSentinel) Equal to True) then do (Set Score_Deaths[1] = (Score_Deaths[1] + 1)) else do (Do nothing)
      • If (((Owner of (Dying unit)) is in PlayersScourge) Equal to True) then do (Set Score_Deaths[7] = (Score_Deaths[7] + 1)) else do (Do nothing)
      • Set TempInteger = (((Hero level of (Dying unit)) x 5) + 100)
      • Player - Add TempInteger to (Owner of (Killing unit)) Current gold
      • Game - Display to (All players) the text: (PlayerNames[(Player number of (Owner of (Killing unit)))] + ( has just pawned + (PlayerNames[(Player number of (Owner of (Dying unit)))] + ('s head for an extra + ((String(TempInteger)) + gold.)))))
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • ((Owner of (Killing unit)) is in PlayersSentinel) Equal to True
        • Then - Actions
          • Set Score_Kills[1] = (Score_Kills[1] + 1)
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • ((Owner of (Killing unit)) is in PlayersScourge) Equal to True
        • Then - Actions
          • Set Score_Kills[7] = (Score_Kills[7] + 1)
        • Else - Actions
      • Trigger - Run Sort Multiboard <gen> (checking conditions)
      • Multiboard - Set the text for (Last created multiboard) item in column 3, row Multiboard_Spots[1] to ( + (String(Score_Kills[1])))
      • Multiboard - Set the text for (Last created multiboard) item in column 3, row Multiboard_Spots[7] to ( + (String(Score_Kills[7])))
      • Multiboard - Set the text for (Last created multiboard) item in column 4, row Multiboard_Spots[1] to ( + (String(Score_Deaths[1])))
      • Multiboard - Set the text for (Last created multiboard) item in column 4, row Multiboard_Spots[7] to ( + (String(Score_Deaths[7])))
  • Tally Clock
    • Events
      • Time - Every 1.00 seconds of game time
    • Conditions
    • Actions
      • Set Game_Minutes = ((Integer((Elapsed time for Game_Time))) / 60)
      • Set Game_Seconds = ((Integer((Elapsed time for Game_Time))) mod 60)
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Game_Seconds Greater than or equal to 10
        • Then - Actions
          • Multiboard - Set the text for (Last created multiboard) item in column 3, row Multiboard_Clock to ((String(Game_Minutes)) + (: + (String(Game_Seconds))))
        • Else - Actions
          • Multiboard - Set the text for (Last created multiboard) item in column 3, row Multiboard_Clock to ((String(Game_Minutes)) + (:0 + (String(Game_Seconds))))
  • Tally Deaths
    • Events
      • Time - Every 1.00 seconds of game time
    • Conditions
      • (RevivableHeroes is empty) Equal to False
    • Actions
      • Unit Group - Pick every unit in RevivableHeroes and do (Actions)
        • Loop - Actions
          • Multiboard - Set the text for (Last created multiboard) item in column 2, row Multiboard_Spots[(Player number of (Owner of (Picked unit)))] to (String((Integer((Remaining time for ReviveTimers[(Player number of (Owner of (Picked unit)))])))))
  • Sort Multiboard
    • Events
    • Conditions
    • Actions
      • Player Group - Pick every player in PlayersSentinel and do (Actions)
        • Loop - Actions
          • Leaderboard - Change the value for (Picked player) in LeaderboardSentinel to ((Score_Kills[(Player number of (Picked player))] x 10000) - Score_Deaths[(Player number of (Picked player))])
      • Player Group - Pick every player in PlayersScourge and do (Actions)
        • Loop - Actions
          • Leaderboard - Change the value for (Picked player) in LeaderboardScourge to ((Score_Kills[(Player number of (Picked player))] x 10000) - Score_Deaths[(Player number of (Picked player))])
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Sort_Board_By_Kills Equal to True
        • Then - Actions
          • Leaderboard - Sort LeaderboardSentinel by Value in Descending order
          • Leaderboard - Sort LeaderboardScourge by Value in Descending order
        • Else - Actions
          • Leaderboard - Sort LeaderboardSentinel by Player in Ascending order
          • Leaderboard - Sort LeaderboardScourge by Player in Ascending order
      • Set TempInteger = 2
      • Player Group - Pick every player in PlayersSentinel and do (Actions)
        • Loop - Actions
          • Set Multiboard_Spots[(Player number of (Picked player))] = ((Position of (Picked player) in LeaderboardSentinel) + TempInteger)
      • Set TempInteger = ((Number of players in PlayersSentinel) + 4)
      • Player Group - Pick every player in PlayersScourge and do (Actions)
        • Loop - Actions
          • Set Multiboard_Spots[(Player number of (Picked player))] = ((Position of (Picked player) in LeaderboardScourge) + TempInteger)
      • Player Group - Pick every player in Players and do (Actions)
        • Loop - Actions
          • Set TempInteger = (Player number of (Picked player))
          • Multiboard - Set the text for (Last created multiboard) item in column 1, row Multiboard_Spots[TempInteger] to PlayerNames[TempInteger]
          • Multiboard - Set the text for (Last created multiboard) item in column 2, row Multiboard_Spots[TempInteger] to
          • Multiboard - Set the text for (Last created multiboard) item in column 3, row Multiboard_Spots[TempInteger] to ( + (String(Score_Kills[TempInteger])))
          • Multiboard - Set the text for (Last created multiboard) item in column 4, row Multiboard_Spots[TempInteger] to ( + (String(Score_Deaths[TempInteger])))
 
Last edited:
Status
Not open for further replies.
Top