Here Defense Lives

reaperman261

New Member
Reaction score
0
I am trying to make my own heroe defence map (similar to enfos) and I cannot figure out how to make a lives system work, any suggestions? ty in advance for any help.
 

Exide

I am amazingly focused right now!
Reaction score
448
Use an Integer array variable for lives.
 

vaziocs

New Member
Reaction score
5
I am trying to make my own heroe defence map (similar to enfos) and I cannot figure out how to make a lives system work, any suggestions? ty in advance for any help.

look, i gonna make you a big favor and post the trigger for the multiboard in my map. Off corse some parts u will have to change cuz here Its 2 teams, but basically you just have to change 2 lines

TRIGGER 1 CREATE
create
Trigger:
  • Events
    • Time - Elapsed game time is 3.00 seconds
    • Conditions
    • Actions
      • Multiboard - Create a multiboard with 9 columns and ((Number of players in (All players controlled by a User player)) + 1) rows, titled Score
      • Multiboard - Set the text for (Last created multiboard) item in column 1, row 1 to Player
      • Multiboard - Set the text for (Last created multiboard) item in column 2, row 1 to Kills
      • Multiboard - Set the text for (Last created multiboard) item in column 3, row 1 to Lifes
      • Multiboard - Set the width for (Last created multiboard) item in column 1, row 1 to 12.00% of the total screen width
      • Multiboard - Set the width for (Last created multiboard) item in column 2, row 1 to 3.00% of the total screen width
      • Multiboard - Set the width for (Last created multiboard) item in column 2, row 1 to 3.00% of the total screen width
      • For each (Integer A) from 2 to (Number of players in (All players controlled by a User player)), do (Actions)
        • Loop - Actions
          • Multiboard - Set the width for (Last created multiboard) item in column 1, row (Integer A) to 12.00% of the total screen width
          • Multiboard - Set the text for (Last created multiboard) item in column 1, row (Integer A) to (Name of (Player(((Integer A) - 1))))
          • Multiboard - Set the text for (Last created multiboard) item in column 2, row (Integer A) to 0
          • Multiboard - Set the icon for (Last created multiboard) item in column 2, row (Integer A) to ReplaceableTextures\CommandButtons\BTNArcaniteRanged.blp
          • Multiboard - Set the text for (Last created multiboard) item in column 3, row (Integer A) to 7
          • Multiboard - Set the icon for (Last created multiboard) item in column 3, row (Integer A) to ReplaceableTextures\CommandButtons\BTNAdvancedUnholyArmor.blp
      • Multiboard - Set the color for (Last created multiboard) item in column 1, row 2 to (100.00%, 0.00%, 0.00%) with 0.00% transparency// line change row 2 to red
      • Multiboard - Set the color for (Last created multiboard) item in column 1, row 3 to (100.00%, 0.00%, 0.00%) with 0.00% transparency // line 3 changed to red
      • For each (Integer A) from 4 to (Number of players in (All players controlled by a User player)), do (Actions)
        • Loop - Actions
          • Multiboard - Set the color for (Last created multiboard) item in column 1, row (Integer A) to (0.00%, 0.00%, 100.00%) with 0.00% transparency
      • For each (Integer A) from 1 to 11, do (Actions)
        • Loop - Actions
          • Multiboard - Set the width for (Last created multiboard) item in column 4, row (Integer A) to 0.00% of the total screen width
          • Multiboard - Set the width for (Last created multiboard) item in column 5, row (Integer A) to 0.00% of the total screen width
          • Multiboard - Set the width for (Last created multiboard) item in column 6, row (Integer A) to 0.00% of the total screen width
          • Multiboard - Set the width for (Last created multiboard) item in column 7, row (Integer A) to 0.00% of the total screen width
          • Multiboard - Set the width for (Last created multiboard) item in column 8, row (Integer A) to 0.00% of the total screen width
          • Multiboard - Set the width for (Last created multiboard) item in column 9, row (Integer A) to 0.00% of the total screen width
          • Multiboard - Set the display style for (Last created multiboard) item in column 4, row (Integer A) to Hide text and Hide icons
          • Multiboard - Set the display style for (Last created multiboard) item in column 5, row (Integer A) to Hide text and Hide icons
          • Multiboard - Set the display style for (Last created multiboard) item in column 6, row (Integer A) to Hide text and Hide icons
          • Multiboard - Set the display style for (Last created multiboard) item in column 7, row (Integer A) to Hide text and Hide icons
          • Multiboard - Set the display style for (Last created multiboard) item in column 8, row (Integer A) to Hide text and Hide icons
          • Multiboard - Set the display style for (Last created multiboard) item in column 9, row (Integer A) to Hide text and Hide icons
      • For each (Integer A) from 1 to 11, do (Actions)
        • Loop - Actions
          • Multiboard - Set the display style for (Last created multiboard) item in column (Integer A), row 11 to Hide text and Hide icons
      • Multiboard - Show (Last created multiboard)
      • Multiboard - Maximize (Last created multiboard)]

The multiboard need to have several collumns even if you are not using, just to have more space.

TRIGGER 2. UPDATE
Here when a player dies both live and killsnumber variable is changed for the Killing and dying unit. And it has to be (number of player)+1 because the first line is the title.

killsnumber
Trigger:
  • Events
    • Unit - A unit Dies
    • Conditions
      • ((Triggering unit) is A Hero) Equal to True
      • ((Killing unit) belongs to an enemy of Neutral Hostile) Equal to True
    • Actions
      • Set heroesdeaths[(Player number of (Owner of (Triggering unit)))] = (heroesdeaths[(Player number of (Owner of (Triggering unit)))] - 1)
      • Set heroskills[(Player number of (Owner of (Killing unit)))] = (heroskills[(Player number of (Owner of (Killing unit)))] + 1)
      • Multiboard - Set the text for (Last created multiboard) item in column 2, row ((Player number of (Owner of (Killing unit))) + 1) to (String(heroskills[(Player number of (Owner of (Killing unit)))]))
      • Multiboard - Set the text for (Last created multiboard) item in column 3, row ((Player number of (Owner of (Triggering unit))) + 1) to (String(heroesdeaths[(Player number of (Owner of (Triggering unit)))]))
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • heroesdeaths[(Player number of (Owner of (Triggering unit)))] Equal to 0
        • Then - Actions
          • Game - Display to (All players) the text: ((Name of (Owner of (Triggering unit))) + was defeated.)
          • Game - Defeat (Owner of (Triggering unit)) with the message: Defeat!
          • Multiboard - Set the text for (Last created multiboard) item in column 1, row ((Player number of (Owner of (Triggering unit))) + 1) to (<DEFEAT> + (Name of (Owner of (Triggering unit))))
        • Else - Actions
          • Do nothing
 

reaperman261

New Member
Reaction score
0
Perfect, but im a dumbass lol

This is Perfect, and I have it working now, but im a dumbass and i cant figure out how to make lives for when a creep reaches the end of my map.
 

Exide

I am amazingly focused right now!
Reaction score
448
Trigger:
  • Melee Initialization
    • Events
      • Map initialization
    • Conditions
    • Actions
      • Set Lives[1] = 50
      • Set Lives[2] = 50
      • Set Lives[3] = 50
      • Set Lives[4] = 50


Trigger:
  • Lose Life
    • Events
      • Unit - A unit enters Life Region 1 <gen>
      • Unit - A unit enters Life Region 2 <gen>
      • Unit - A unit enters Life Region 3 <gen>
      • Unit - A unit enters Life Region 4 <gen>
    • Conditions
      • (Owner of (Triggering unit)) Equal to Neutral Hostile
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Life Region 1 <gen> contains (Triggering unit)) Equal to True
        • Then - Actions
          • Set Lives[1] = (Lives[1] - 1)
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Life Region 2 <gen> contains (Triggering unit)) Equal to True
        • Then - Actions
          • Set Lives[2] = (Lives[2] - 1)
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Life Region 3 <gen> contains (Triggering unit)) Equal to True
        • Then - Actions
          • Set Lives[3] = (Lives[3] - 1)
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Life Region 4 <gen> contains (Triggering unit)) Equal to True
        • Then - Actions
          • Set Lives[4] = (Lives[4] - 1)
        • Else - Actions
      • Unit - Remove (Triggering unit) from the game
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      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