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!
Go to 'File' and then 'Preferences' and turn on the field 'Automatically create unknown variables while pasting data'.
Open the trigger editor and copy (Ctrl+C) the 'Scoreboard System' folder.
Close the map and open your own map.
Open the trigger editor and paste (Ctrl+V) the system into your map.
You're done!
Features:
- Shows the player name
- Shows the amount of hp the player has left in percentages
- Shows the amount of mp the player has left in percentages
- Shows the current level of the player
- Shows when a hero is dead
- Shows when a player leaves
- Shows the amount of kills the player has
- Floating text overhead the killing unit
- Shows a detailed message when a unit dies
- Colourful Layout
- Easy configureable triggers
Authors Note:
Simple but useful. This is a system requested by mnib.
He requested a multiboard system that showes playername, hitpoints, level and shows if the unit is dead.
The hitpoints should also have to be red when the life is low and there should be a villager icon on each player.
If you dont want the villager icon you can easily change the variable 'ShownIcon' to the wanted icon and it will change automatically.
It does work for 12 players and is fully MPI. Each player is only supposed to have one hero, so multiple heroes can mess the system up.
Critism is fine but please make it constructive. If you have any ideas about how to improve, say me and i will see what i can do.
Enjoy, give credits if you use it in your map and have fun testing!
Init
Events
Time - Elapsed game time is 0.00 seconds
Conditions
Actions
-------- --------
-------- --------
-------- X-OMG-X's Scoreboard System --------
-------- --------
-------- --------
-------- Okay here we go. --------
-------- We start by setting the multiboard up. --------
-------- --------
-------- The line below may be edited if you want a different icon --------
Set Variable Set ShownIcon = "ReplaceableTextures\CommandButtons\BTNVillagerMan.blp"
-------- The line above may be edited if you want a different icon --------
-------- --------
-------- Setting the multiboard-settings --------
Multiboard - Create a multiboard with 5 columns and 12 rows, titled ==Multiboard== .
Set Variable Set Multiboard = (Last created multiboard)
Multiboard - Set the width for Multiboard item in column 0 , row 0 to 7.00 % of the total screen width
Multiboard - Set the width for Multiboard item in column 1 , row 0 to 10.00 % of the total screen width
Multiboard - Set the icon for Multiboard item in column 1 , row 0 to ShownIcon
Multiboard - Maximize Multiboard
-------- Removing icons for the lines (2-5) --------
For each (Integer Integer ) from 2 to 5 , do (Actions)
Loop - Actions
Multiboard - Set the display style for Multiboard item in column Integer , row 0 to Show text and Hide icons
-------- Picking all heroes in the map owned by players --------
Unit Group - Pick every unit in (Units in (Playable map area) matching (((Matching unit) is A Hero) Equal to True)) and do (Actions)
Loop - Actions
-------- Setting all needed informations on the multiboard --------
Set Variable Set PlayerUnit[(Player number of (Owner of (Picked unit)))] = (Picked unit)
Set Variable Set GS_Kills[(Player number of (Owner of (Picked unit)))] = "0"
Multiboard - Set the text for Multiboard item in column 1 , row (Player number of (Owner of (Picked unit))) to (Name of (Owner of (Picked unit)))
Multiboard - Set the text for Multiboard item in column 2 , row (Player number of (Owner of (Picked unit))) to ((String((Integer((Percentage life of (Picked unit)))))) + HP)
Multiboard - Set the color for Multiboard item in column 2 , row (Player number of (Owner of (Picked unit))) to ( 20.00 %, 100.00 %, 20.00 %) with 0 % transparency
Multiboard - Set the text for Multiboard item in column 3 , row (Player number of (Owner of (Picked unit))) to ((String((Percentage mana of (Picked unit)))) + MP)
Multiboard - Set the color for Multiboard item in column 3 , row (Player number of (Owner of (Picked unit))) to ( 20.00 %, 20.00 %, 100.00 %) with 0 % transparency
Multiboard - Set the text for Multiboard item in column 4 , row (Player number of (Owner of (Picked unit))) to (Level + (String((Hero level of (Picked unit)))))
Multiboard - Set the color for Multiboard item in column 4 , row (Player number of (Owner of (Picked unit))) to ( 100.00 %, 0.00 %, 100.00 %) with 0 % transparency
Multiboard - Set the text for Multiboard item in column 5 , row (Player number of (Owner of (Picked unit))) to ((String(GS_Kills[(Player number of (Owner of (Picked unit)))])) + kills)
Multiboard - Set the color for Multiboard item in column 5 , row (Player number of (Owner of (Picked unit))) to ( 100.00 %, 40.00 %, 40.00 %) with 0 % transparency
Action
Events
Unit - A unit Dies
Unit - A unit Is attacked
Unit - A unit Starts the effect of an ability
Unit - A unit Gains a level
Conditions
Actions
-------- This is my checking lines. It just checks if the unit is owned by a player and it isnt dead. --------
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Owner of (Triggering unit)) Equal to (Owner of PlayerUnit[(Player number of (Owner of (Triggering unit)))])
Then - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Life of (Triggering unit)) Not equal to 0.00
Then - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Percentage life of (Triggering unit)) Greater than or equal to 30.00
Then - Actions
-------- This sets the text if the unit's hitpoints is above 30% --------
Multiboard - Set the color for Multiboard item in column 2 , row (Player number of (Owner of (Triggering unit))) to ( 20.00 %, 100.00 %, 20 %) with 0 % transparency
Multiboard - Set the text for Multiboard item in column 2 , row (Player number of (Owner of (Triggering unit))) to ((String((Percentage life of (Triggering unit)))) + HP)
Multiboard - Set the text for Multiboard item in column 3 , row (Player number of (Owner of (Triggering unit))) to ((String((Percentage mana of (Triggering unit)))) + MP)
Multiboard - Set the text for Multiboard item in column 4 , row (Player number of (Owner of (Triggering unit))) to (Level + (String((Hero level of (Triggering unit)))))
Else - Actions
-------- This sets the text if the unit's hitpoints is below 30% --------
Multiboard - Set the color for Multiboard item in column 2 , row (Player number of (Owner of (Triggering unit))) to ( 100.00 %, 20.00 %, 20 %) with 0 % transparency
Multiboard - Set the text for Multiboard item in column 2 , row (Player number of (Owner of (Triggering unit))) to ((String((Percentage life of (Triggering unit)))) + HP)
Multiboard - Set the text for Multiboard item in column 3 , row (Player number of (Owner of (Triggering unit))) to ((String((Percentage mana of (Triggering unit)))) + MP)
Multiboard - Set the text for Multiboard item in column 4 , row (Player number of (Owner of (Triggering unit))) to (Level + (String((Hero level of (Triggering unit)))))
Else - Actions
-------- If the unit is dead this line will make it show up on the multiboard --------
Multiboard - Set the text for Multiboard item in column 2 , row (Player number of (Owner of (Triggering unit))) to Dead
Else - Actions
Kills
Events
Unit - A unit Dies
Conditions
(Owner of (Killing unit)) Not equal to (Owner of (Dying unit))
((Dying unit) belongs to an ally of (Owner of (Killing unit)).) Equal to False
Actions
-------- Here we set the needed variables --------
Set Variable Set GS_Killer = (Killing unit)
Set Variable Set GS_Dying = (Dying unit)
-------- We give the player +1 kills --------
Set Variable Set GS_Kills[(Player number of (Owner of GS_Killer))] = (GS_Kills[(Player number of (Owner of GS_Killer))] + 1)
-------- We make it show up on the multiboard --------
Multiboard - Set the text for Multiboard item in column 5 , row (Player number of (Owner of GS_Killer)) to ((String(GS_Kills[(Player number of (Owner of GS_Killer))])) + kills)
-------- We give the player his message --------
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
GS_Kills[(Player number of (Owner of GS_Killer))] Greater than 1
Then - Actions
Game - Display to (All players) for 5.00 seconds the text: ((|c00FF0000 + (Name of (Owner of GS_Killer))) + ( killed + ((Name of GS_Dying) + ( and now have a total of + ((String(GS_Kills[(Player number of (Owner of GS_Killer))])) + kills!|r)))))
Else - Actions
Game - Display to (All players) for 5.00 seconds the text: ((|c00FF0000 + (Name of (Owner of GS_Killer))) + ( killed + ((Name of GS_Dying) + ( and now have a total of + ((String(GS_Kills[(Player number of (Owner of GS_Killer))])) + kill!|r)))))
-------- Creating the floating texts above the killing unit. --------
Floating Text - Create floating text that reads +1 above GS_Dying with Z offset 0 , using font size 9.00 , color ( 100.00 %, 20.00 %, 20.00 %), and 25.00 % transparency
Floating Text - Set the velocity of (Last created floating text) to 50.00 towards 90 degrees
Floating Text - Change (Last created floating text) : Disable permanence
Floating Text - Change the lifespan of (Last created floating text) to 2.50 seconds
Floating Text - Change the fading age of (Last created floating text) to 1.00 seconds
Left
Events
Player - Player 1 (Red) leaves the game
Player - Player 2 (Blue) leaves the game
Player - Player 3 (Teal) leaves the game
Player - Player 4 (Purple) leaves the game
Player - Player 5 (Yellow) leaves the game
Player - Player 6 (Orange) leaves the game
Player - Player 7 (Green) leaves the game
Player - Player 8 (Pink) leaves the game
Player - Player 9 (Gray) leaves the game
Player - Player 10 (Light Blue) leaves the game
Player - Player 11 (Dark Green) leaves the game
Player - Player 12 (Brown) leaves the game
Conditions
Actions
-------- Sets the name to Leaver and shows it on the multiboard --------
Player - Set name of (Triggering player) to Leaver
Multiboard - Set the text for Multiboard item in column 1 , row (Player number of (Triggering player)) to (Name of (Triggering player))
-------- Removes all his lines on the multiboard --------
For each (Integer Integer ) from 2 to 5 , do (Actions)
Loop - Actions
Multiboard - Set the text for Multiboard item in column Integer , row (Player number of (Triggering player)) to
-------- Gives a message to everyone, telling them that he left. --------
Game - Display to (All players) for 5.00 seconds the text: ((Name of (Triggering player)) + has left the game.)
-------- Removing all his units with a smart special effect. --------
Unit Group - Pick every unit in (Units in (Playable map area) owned by (Triggering player)) and do (Actions)
Loop - Actions
Special Effect - Create a special effect attached to the origin (Unexpected type: 'attachpoint') of (Picked unit) using Abilities\Spells\Orc\AncestralSpirit\AncestralSpiritCaster.mdl
Special Effect - Destroy (Last created special effect)
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.