Crazy Multiboard idea.. :D

Exuro.

New Member
Reaction score
5
Hey

Well i made this multiboard as i want a neat feature on it.

What i want it to do is showing % Life of a player owned hero like a green bar.

My multiboard looks like this:

View attachment 26446


The bar is made by:
Code:
Multiboard - Set the text for MultiBoard item in column 3, row 2 to (|CFF20C000 + ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||)

Very simple.. 100 x |
In-game they appear like 1 hole bar.

Example of what i want it to do:

Player 11´s Hero got 1% hp, then i want the multiboard to show 1 x |, and when every the hero gain a percent it will add up or down depending on the hero is gaining or losing hp!

is there a way to do this? or am i dreaming

My Full multiboard Trigger:
Code:
Multiboard
    Events
    Conditions
    Actions
        Multiboard - Create a multiboard with 5 columns and 3 rows, titled Game Stats
        Set MultiBoard = (Last created multiboard)
        Multiboard - Minimize MultiBoard
        Multiboard - Set the color for MultiBoard item in column 0, row 1 to (100.00%, 80.00%, 20.00%) with 0.00% transparency
        Multiboard - Set the width for MultiBoard item in column 1, row 0 to 7.00% of the total screen width
        Multiboard - Set the width for MultiBoard item in column 2, row 0 to 1.60% of the total screen width
        Multiboard - Set the width for MultiBoard item in column 3, row 0 to 6.00% of the total screen width
        Multiboard - Set the width for MultiBoard item in column 4, row 0 to 3.00% of the total screen width
        Multiboard - Set the width for MultiBoard item in column 5, row 0 to 4.00% of the total screen width
        Multiboard - Set the display style for MultiBoard item in column 0, row 0 to Show text and Hide icons
        -------- HeadTitles --------
        Multiboard - Set the text for MultiBoard item in column 3, row 1 to Hitpoints:
        Multiboard - Set the text for MultiBoard item in column 5, row 1 to Level:
        -------- Player 11 --------
        Multiboard - Set the text for MultiBoard item in column 1, row 2 to ((|CFF106246 + (Name of Player 11 (Dark Green))) + |R)
        Multiboard - Set the text for MultiBoard item in column 2, row 2 to |CFFFFFF010%|R
        Multiboard - Set the text for MultiBoard item in column 3, row 2 to (|CFF20C000 + ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||)
        Multiboard - Set the text for MultiBoard item in column 4, row 2 to |CFFFFFF01100%|R
        Multiboard - Set the text for MultiBoard item in column 5, row 2 to <Empty String>
        -------- Player 12 --------
        Multiboard - Set the text for MultiBoard item in column 1, row 3 to ((|CFF4E2A04 + (Name of Player 12 (Brown))) + |R)
        Multiboard - Set the text for MultiBoard item in column 2, row 3 to |CFFFFFF010%|R
        Multiboard - Set the text for MultiBoard item in column 3, row 3 to (|CFF20C000 + ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||)
        Multiboard - Set the text for MultiBoard item in column 4, row 3 to |CFFFFFF01100%|R
        Multiboard - Set the text for MultiBoard item in column 5, row 3 to <Empty String>

Thanks
 

Diamondeye

New Member
Reaction score
10
Try Looping?
Loop from 1 to (percent of heros HP), add string (green |) to multiboard coloumn.
Loop from 1 to (100-percent of heros HP) add string (red |) to multiboard coloumn.

Sounds hard, but not impossible, if you ask me (and it sounds like you are :p)
 

Exuro.

New Member
Reaction score
5
hmm well i normally know my way around normal triggers, but multiboards mess my head up hehe!

can you give me an example trigger?

the red |´s aint nessercary if it makes it harder.. i alrdy made 2 columns with 0% and 100% so i wont need the red |´s if you know what i mean
 

Diamondeye

New Member
Reaction score
10
Okay, I see what you mean, unfortunately I dont have WE nearby and I am really annoyed at Multiboards normally, I dont know if my idea will work, I was merely trying to throw out an idea. If its impossible to do the way i stated, try catching a pro or wait for another reply on here.
 

Exuro.

New Member
Reaction score
5
why wont this work etc?

Code:
Update
    Events
        Time - Every 0.50 seconds of game time
    Conditions
    Actions
        Set _Real_PercentofUnit = (Percentage life of Death King 0031 <gen>)
        Set _String_GreenI = |CFF20C000||
        Set _Real_FinalText = (_Real_PercentofUnit x (Real(_String_GreenI)))
        Multiboard - Set the text for MultiBoard item in column 3, row 2 to (String(_Real_FinalText))

1: Sets the Real to Percentage of my target unit´s life
2: Is set to "<Green>|"
3: Is set to multiply Percent of unit with "<Green>|"

So in my head(hehe), if the units Hp were 54%, then it would multiply 54 x "<Green>|" = 54 Green |

but no, dont work.. maybe i can fix it so it does work?
 

OneBadPsycho

10100111001
Reaction score
93
You need to use a string variable to set the name.
-Isn't "Set _Real_FinalText" a real variable?

Edit:
You can't multiple a string variable.
 

Exuro.

New Member
Reaction score
5
yes its a real!

but in my:
Multiboard - Set the text for MultiBoard item in column 3, row 2 to (String(_Real_FinalText))
im converting the real to a string or is it messed up?
 

OneBadPsycho

10100111001
Reaction score
93
Uhm, nevermind...
But you can't do this:
Code:
Set _Real_FinalText = (_Real_PercentofUnit x [COLOR="Red"](Real(_String_GreenI)))[/COLOR]
Converting some letters to real numbers and converting them back later doesn't work.

You can't multiple letters in the editor.
 

Exuro.

New Member
Reaction score
5
hmm

then i need a way to register every 1% gain/loss so i can:

Add currenttext + |
or
Add currenttext - |

just dont know how to "log" the percent gain and loss
 

Exuro.

New Member
Reaction score
5
Found a new way which sounds easier in my head! (Alot more typing and triggers thou)


This is an example of the beginning:

Code:
Update
    Events
        Time - Every 0.50 seconds of game time
    Conditions
    Actions
        Set _Integer_Life = (Percentage life of Death King 0031 <gen>)
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                _Integer_Life Equal to 100.00
            Then - Actions
                Multiboard - Set the text for MultiBoard item in column 3, row 2 to (|CFF20C000 + ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||)
            Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                _Integer_Life Equal to 99.00
            Then - Actions
                Multiboard - Set the text for MultiBoard item in column 3, row 2 to (|CFF20C000 + |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||)
            Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                _Integer_Life Equal to 98.00
            Then - Actions
                Multiboard - Set the text for MultiBoard item in column 3, row 2 to (|CFF20C000 + ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||)
            Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                _Integer_Life Equal to 97.00
            Then - Actions
                Multiboard - Set the text for MultiBoard item in column 3, row 2 to (|CFF20C000 + |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||)
            Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                _Integer_Life Equal to 96.00
            Then - Actions
                Multiboard - Set the text for MultiBoard item in column 3, row 2 to (|CFF20C000 + ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||)
            Else - Actions



This just requires that i can remove decimals from the percentage to clean numbers so they reach the 100,99,98 etc. think it will work?
 

OneBadPsycho

10100111001
Reaction score
93
Oh my god... :p
-Thats gonna take a while.

This action is a lot more easy:
Code:
For each (Integer A) from 1 to (Integer((Percentage life of Peasant 0010 <gen>))), do (Actions)
    Loop - Actions
        Set Stest = (|CFF20C000| + |)
        Game - Display to (All players) the text: Stest

Now I'm just working on "stacking" the messages to one bar, horizontally.
 

LightChaosma

New Member
Reaction score
60
here, this works:

Code:
Melee Initialization
    Events
        Player - Player 1 (Red) types a chat message containing <Empty String> as A substring
    Conditions
    Actions
        For each (Integer A) from 1 to (2 x (Integer((Entered chat string)))), do (Actions)
            Loop - Actions
                Set string = (string + |)
        Game - Display to (All players) the text: string
        Set string = <Empty String>

for some reason when i type 2 it gives only 1, and when i type 50, it only gives 25...
 

OneBadPsycho

10100111001
Reaction score
93
This would be your final trigger:
Code:
Bars
    Events
        Time - Every 0.10 seconds of game time
    Conditions
    Actions
        Unit Group - Pick every unit in (Units in (Playable map area) matching (((Triggering unit) is A Hero) Equal to True)) and do (Actions)
            Loop - Actions
                For each (Integer A) from 1 to (Integer((Percentage life of (Picked unit)))), do (Actions)
                    Loop - Actions
                        Set Stest = (Stest + |)
                Multiboard - Set the text for [COLOR="Red"]multiboard[/COLOR] item in column [COLOR="Red"]number[/COLOR], row [COLOR="Red"]number[/COLOR] to Stest
                Set Stest = <Empty String>
Stest is a string variable.

Thanks LightChaosma for the "Set string = (string + |)". :p
 

AceHart

Your Friendly Neighborhood Admin
Reaction score
1,494
Instead of creating countless strings there, do it just once:

Map init:

Set Strings[0] = ""
For each Integer A from 0 to 100
- Set Strings[Integer A] = Strings[Integer A - 1] + "|"
 
General chit-chat
Help Users

      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