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

Revival Timer in Multiboard

Status
Not open for further replies.
Level 3
Joined
Feb 1, 2013
Messages
43
I've created a multiboard that contains all players of the map. I wanted to make one of the column to show the time left for the player's hero to revive. How do I make the trigger? I had saved a variable with the time needed for the hero to revive.
 
Level 7
Joined
Jan 22, 2013
Messages
293
I've tried it, but the multiboard only shows the total time for the revival, not time left for the hero to revive.

You have to keep updating the Multiboard just like any other string/real on the board, every countdown but be refreshed as well, also make sure the string is being constantly updated.

You know what... just post the trigger and I'll get back to you lol.
 
Level 3
Joined
Feb 1, 2013
Messages
43
So this is what I did:
  • Revive Hero
    • Events
      • Unit - A unit Dies
    • Conditions
      • ((Dying unit) is A Hero) Equal to True
    • Actions
      • Unit Group - Add (Dying unit) to RevivableHeroes
      • Set TempReal[(Player number of (Owner of (Dying unit)))] = (((Real((Hero level of (Dying unit)))) x 5.00) + 5.00)
      • Countdown Timer - Start ReviveTimers[(Player number of (Owner of (Dying unit)))] as a One-shot timer that will expire in TempReal[(Player number of (Owner of (Dying unit)))] seconds
      • Countdown Timer - Create a timer window for (Last started timer) with title (Name of (Owner of (Dying unit)))
      • Countdown Timer - Show (Last created timer window) for (Owner of (Dying unit))
      • Multiboard - Set the text for (Last created multiboard) item in column 5, row ((Player number of (Owner of (Dying unit))) + 1) to (String((Integer((Remaining time for ReviveTimers[(Player number of (Owner of (Dying unit)))])))))
      • Set RevivableTimersWindows[(Player number of (Owner of (Dying unit)))] = (Last created timer window)
  • Leaderboard
    • Events
      • Time - Elapsed game time is 0.01 seconds
    • Conditions
    • Actions
      • Set Player_Count = (Number of players in (All players matching ((((Matching player) slot status) Equal to Is playing) and ((((Matching player) controller) Equal to User) or (((Matching player) controller) Equal to Computer)))))
      • Multiboard - Create a multiboard with 5 columns and (Player_Count + 1) rows, titled Vampires,Witches an...
      • Multiboard - Set the text for (Last created multiboard) item in column 2, row 1 to Player
      • Multiboard - Set the text for (Last created multiboard) item in column 3, row 1 to Kill
      • Multiboard - Set the text for (Last created multiboard) item in column 4, row 1 to Death
      • Multiboard - Set the text for (Last created multiboard) item in column 5, row 1 to Revive in
      • For each (Integer A) from 1 to (Player_Count + 1), do (Actions)
        • Loop - Actions
          • Multiboard - Set the display style for (Last created multiboard) item in column 1, row 1 to Show text and Hide icons
          • Multiboard - Set the display style for (Last created multiboard) item in column 2, row 1 to Show text and Hide icons
          • Multiboard - Set the display style for (Last created multiboard) item in column 2, row (Integer A) to Show text and Hide icons
          • Multiboard - Set the display style for (Last created multiboard) item in column 3, row (Integer A) to Show text and Hide icons
          • Multiboard - Set the display style for (Last created multiboard) item in column 4, row (Integer A) to Show text and Hide icons
          • Multiboard - Set the display style for (Last created multiboard) item in column 5, row (Integer A) to Show text and Hide icons
          • Multiboard - Set the width for (Last created multiboard) item in column 1, row (Integer A) to 2.00% of the total screen width
          • Multiboard - Set the width for (Last created multiboard) item in column 2, row (Integer A) to 8.00% of the total screen width
          • Multiboard - Set the width for (Last created multiboard) item in column 3, row (Integer A) to 4.00% of the total screen width
          • Multiboard - Set the width for (Last created multiboard) item in column 4, row (Integer A) to 2.00% of the total screen width
          • Multiboard - Set the width for (Last created multiboard) item in column 5, row (Integer A) to 6.00% of the total screen width
  • Revival Timer
    • Events
      • Time - Every 1.00 seconds of game time
    • Conditions
    • Actions
      • For each (Integer MultiboardLoop) from 1 to Player_Count, do (Actions)
        • Loop - Actions
          • Multiboard - Set the text for (Last created multiboard) item in column 5, row MultiboardLoop to (String((Integer(TempReal[MultiboardLoop]))))
          • Set TempReal[(Integer(TempReal[MultiboardLoop]))] = TempReal[((Integer(TempReal[MultiboardLoop])) - 1)]
          • Set MultiboardLoop = (MultiboardLoop + 1)
I don't have any experience in multiboard :(
 
Level 7
Joined
Jan 22, 2013
Messages
293
Can anyone help me?

  • Multiboard - Set the text for (Last created multiboard) item in column 5, row ((Player number of (Owner of (Dying unit))) + 1) to (String((Integer((Remaining time for ReviveTimers[(Player number of (Owner of (Dying unit)))])))))
I lost track of your post.

The issue I can clearly see is that you only set the text to the multi board once, when the unit dies, you need to put this into a every X amount of seconds it sets it again, until it hits 0.

It's a very simple problem.

You just need consistently keep setting the text = to the timer so it updates on the multiboard.
 
Status
Not open for further replies.
Top