Time variable to Multiboard

G

Giho

Guest
Im making a map and I want a time variable (a timer that counts down) to show up in the multiboard instead of using a time window.Now i only have so it show how long time it gona take until the hero revive.
I have this now:
revive hero
Events
Unit - A unit Dies
Conditions
((Triggering unit) is A Hero) Equal to True
((Dying unit) has an item of type Ankh of Reincarnation) Equal to False
Actions
If ((Owner of (Killing unit)) Not equal to Neutral Hostile) then do (Game - Display to (All players) the text: ((player_colors[(Player number of (Owner of (Killing unit)))] + (Name of (Owner of (Killing unit)))) + ( Killed + ((player_colors[(Player number of (Owner of (Triggering unit)))] + (Name of (Owner of (Triggering uni else do (Game - Display to (All players) the text: ((player_colors[(Player number of (Owner of (Triggering unit)))] + (Name of (Owner of (Triggering unit)))) + |r Dies To Creeps))
Set hero_wait = ((Hero level of (Dying unit)) x 5)
Multiboard - Set the text for (Last created multiboard) item in column 2, row multiboard_spots[(Player number of (Owner of (Dying unit)))] to (String(hero_wait))
Wait (Real(hero_wait)) seconds
If ((Owner of (Dying unit)) Equal to Player 1 (Red)) then do (Hero - Instantly revive (Dying unit) at (Center of human hero revive <gen>), Show revival graphics) else do (Hero - Instantly revive (Dying unit) at (Center of undead hero revive <gen>), Show revival graphics)
Multiboard - Set the text for (Last created multiboard) item in column 2, row ((Player number of (Owner of (Dying unit))) + 1) to OnL

And i would like to make the hero_wait variable to count down for the owner of the dying unit in the multiboard. Or that a time variable or somthing shows in the multiboard and count down.

I would be very happy if someone could help me with this problem.
 
You could try a repeating timer that goes off every second. Then you could subtract one from the variable and update the text on the multiboard. You would just have to check for when the variable got to zero, and then do whatever else you wanted.
 
Thanks

Thanks! I got it to work. I dont know if I did like u said (I didnt get all of it). But I got ideas out of it and now it works thx a lot!
 
hmm... problems again

Hi! I solved my problem but when two heroes dies at the same time, the timer for the last hero stops. And I would like the timer to work for both at the same time. I use two triggers for the revive and clock.

Code:
revive hero
    Events
        Unit - A unit Dies
    Conditions
        ((Triggering unit) is A Hero) Equal to True
        ((Dying unit) has an item of type Ankh of Reincarnation) Equal to False
    Actions
        Set hero = (Dying unit)
        Set hero_wait = ((Hero level of (Dying unit)) x 5)
        Set timer[(Player number of (Owner of (Dying unit)))] = hero_wait
        Trigger - Turn on timer update <gen>
        Wait (Real(hero_wait)) seconds
        If ((Owner of (Dying unit)) Equal to Player 1 (Red)) then do (Hero - Instantly revive (Dying unit) at (Center of human hero revive <gen>), Show revival graphics) else do (Hero - Instantly revive (Dying unit) at (Center of undead hero revive <gen>), Show revival graphics)

Code:
timer update
    Events
        Time - Every 1.00 seconds of game time
    Conditions
    Actions
        If (timer[(Player number of (Owner of hero))] Equal to 0) then do (Set timer[(Player number of (Owner of hero))] = 0) else do (Set timer[(Player number of (Owner of hero))] = (timer[(Player number of (Owner of hero))] - 1))
        If (timer[(Player number of (Owner of hero))] Equal to 0) then do (Multiboard - Set the text for (Last created multiboard) item in column 2, row multiboard_spots[(Player number of (Owner of hero))] to stats[(Player number of (Owner of hero))]) else do (Multiboard - Set the text for (Last created multiboard) item in column 2, row multiboard_spots[(Player number of (Owner of hero))] to (String(timer[(Player number of (Owner of hero))])))

Im sorry that I didnt get what u mean (maybe beacause Im a noob in world editor). :banghead:
But I would be very glad if someone could solve this problem (even if i must make whole new trigger).
All help are gladly received!

And by the way Im new here. :shades:
 
Yes

Yes thats correct. Im sorry that I sound a bit confusing.
But that thats right I want a timer in the Multiboard that works for for each player (my game is for 12 players ^^).
 
Ok, since you allredy know how to use arrays here is some tips:

1. Save the hero of each player in a unit array at the index for the owning player

2 General layout of your triggers:

Code:
revive hero
    Events
        Unit - A unit Dies
    Conditions
        ((Triggering unit) is A Hero) Equal to True
        ((Dying unit) has an item of type Ankh of Reincarnation) Equal to False
    Actions
        Set timer[(Player number of (Owner of (Dying unit)))] = ((Hero level of (Dying unit)) x 5)
Code:
timer update
    Events
        Time - Every 1.00 seconds of game time
    Conditions
    Actions
        For each (Integer A) from 1 to 12, do (Actions)
            Loop - Actions
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    If - Conditions
                        timer[(Integer A)] Greater than 0
                    Then - Actions
                        Set timer[(Integer A)] = (timer[(Integer A)] - 1)
                        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            If - Conditions
                                timer[(Integer A)] Equal to 0
                            Then - Actions
                                Hero - Instantly revive Hero[(Integer A)] at (Center of (Playable map area)), Hide revival graphics
                                Multiboard - Set the text for (Last created multiboard) item in column 2, row multiboard_spots[(Integer A)] to stats[(Integer A)]
                            Else - Actions
                                Multiboard - Set the text for (Last created multiboard) item in column 2, row multiboard_spots[(Integer A)] to (String(timer[(Integer A)]))
                    Else - Actions
                        Multiboard - Set the text for (Last created multiboard) item in column 2, row multiboard_spots[(Integer A)] to stats[(Integer A)]
 
like this?

1. Save the hero of each player in a unit array at the index for the owning player
Like this? :confused:
Code:
Set hero[(Player number of (Owner of (Dying unit)))] =(Dyingunit)
then I need a unit in the unit when i use it in another trigger (because intreger A doesnt work there and i need a unit)
Code:
timer[(Player number of (Owner of hero[(Integer A)]))] Greater than 0
Anyway it worked , but not for two heroes , and I suppose it because it cant be intreger A after hero in the other trigger ,but I cant have player number of owner of hero after hero either.

ok here we go again :rolleyes: sry
 
Giho said:
Like this? :confused:
Code:
Set hero[(Player number of (Owner of (Dying unit)))] =(Dyingunit)
You've got the idea. But you have to do that when the Hero is created, not when it dies.
 
Do every player have more than 1 hero? If they have this is not going to work. Else that is the exact triggers. (One of the ways)

And as Heptameron (Ctrl + C) says you have to set the hero array when you create the hero for each player, or if they are preplaced at map init.

How such a trigger will look :confused: since we dont know how the players get there units in your map.
 
For the last time

Thanks! it works now. I saw that the timer didnt showed up when I tested the map for my self (stupid me ;) ) , but when I tested the map for more players it worked. And I think it is because intreger A are set to be between 1 to 12,and thats what it should be because my map are for 12 players.
I must say that u are amasing (some minor changes to my trigger and a lot easier to understand) Wow!!!
Greatjob! :D
 
actually computers count 0 as a number so it maybe should be set for 0 to 11 you might want to try that but i don't know im new to editor thats just what you do in computer programming.
 
Tryingtohelp said:
actually computers count 0 as a number so it maybe should be set for 0 to 11 you might want to try that but i don't know im new to editor thats just what you do in computer programming.
In this case, there's no player 0 (from the editor's point of view), though that'd be right in Jass.
 
ohh

As I sad it worked for 12 players, but when you are playing 1v1 2v2 3v3 4v4 or 5v5 the stats or timer dont showup, but the hero revieves after the time hero.lv *5. I tested the map for only me but nothing showedup but my hero revived after the correct time, then I changed intreger A to 1 to 1, then all showedup and worket.So I changed Intreger A to 1 to the last players number. So when I played the map with my friends (2v2) the stats only showed up for my two friend who was player 7 and 8. When it was blank for me and my other friend who was player 1 and 2.
the trigger looks like this:
Code:
 timer update
    Events
        Time - Every 1.00 seconds of game time
    Conditions
    Actions
        For each (Integer A) from 1 to 12, do (Actions)
            Loop - Actions
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    If - Conditions
                        timer[(Integer A)] Greater than 0
                    Then - Actions
                        Set timer[(Integer A)] = (timer[(Integer A)] - 1)

                        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            If - Conditions
                                timer[(Integer A)] Equal to 0
                            Then - Actions
                                Hero - Instantly revive hero[(Integer A)] at ((Owner of hero[(Integer A)]) start location), Show revival graphics
                                Camera - Pan camera for (Owner of hero[(Integer A)]) to ((Owner of hero[(Integer A)]) start location) over 1.00 seconds
                                Multiboard - Set the text for (Last created multiboard) item in column 2, row multiboard_spots[(Integer A)] to stats[(Integer A)]
                            Else - Actions
                                Multiboard - Set the text for (Last created multiboard) item in column 2, row multiboard_spots[(Integer A)] to (String(timer[(Integer A)]))
                    Else - Actions
                        Multiboard - Set the text for (Last created multiboard) item in column 2, row multiboard_spots[(Integer A)] to stats[(Integer A)]

info: multiboard_spot(x) and stats(x) have these codes
Code:
Player Group - Pick every player in (All players matching ((((Matching player) slot status) Equal to Is playing) and (((Matching player) controller) Equal to User))) and do (Actions)
    Loop - Actions
        Set multiboard_spots[(Player number of (Picked player))] = list 
        Multiboard - Set the text for (Last created multiboard) item in column 1, row list to (player_colors[(Player number of (Picked player))] + ((Name of (Picked player)) + |r))
        Multiboard - Set the text for (Last created multiboard) item in column 2, row list to OnL
        Multiboard - Set the text for (Last created multiboard) item in column 3, row list to (player_colors[(Player number of (Picked player))] + 0|r)
        Multiboard - Set the text for (Last created multiboard) item in column 4, row list to (player_colors[(Player number of (Picked player))] + 0|r)
        Set list = (list + 1)
Code:
Player Group - Pick every player in (All players matching ((((Matching player) slot status) Equal to Is playing) and (((Matching player) controller) Equal to User))) and do (Actions)
    Loop - Actions
        Set stats[(Player number of (Picked player))] = OnL
        Player - Add 5 to (Picked player) Food cap
        Player - Set (Picked player) Current gold to 500

Have the problem something to do that there are 2 teams?
Or doesnt multibord text work correctly in intreger loops?

Ohh this is my biggest problem (I cant play with fullhouse allways , it must work for less players also) :banghead:
 
hmm

I test to change like this
Code:
Multiboard - Set the text for (Last created multiboard) item in column 2, row multiboard_spots[(Player number of (Owner of hero[(Integer A)]))] to stats[(Player number of (Owner of hero[(Integer A)]))]
instead of use only intreger a, I changed to: player number of owner of hero IntregerA . And when I did that the stats showed up for right player even if I had intreger A to 1 to 12, But the timer didnt showedup when a hero died.
 
General chit-chat
Help Users
  • No one is chatting at the moment.
  • Varine Varine:
    I think on the new one they did change it, but idk. I don't really care whatever the government is doing right now because it's consistently absurd. Like what is RFK doing in charge of health anything? I love the bear story because WTF was that, but also, pretty much every time he talks it's WTF. Like even his voice sounds microwaved
    +1
  • Varine Varine:
    The pyramid is fucking dumb as shit, no matter how you arrange it.
  • Varine Varine:
    It's actually remarkably easy to make mayonnaise though. Fun fact, it USED to kind of be a French mother sauce. I believe that Careme considered it one, it may have been aioli but that has also built a different meaning than it used to. An aioli is just mayonnaise I mixed with other shit typically, I didn't start it don't come at me
  • Varine Varine:
    It's very hard to do it on a large scale though
  • Varine Varine:
    Depending on how you pour the oil the consistency can vary wildly, but that's true for most emulsions. I can only make about two quarts at a time with my robo coup, and if I have to make several in series because I forgot to order it becomes really obvious even when I do it. We have to wait and mix them all together to make sure we have the same thing.
  • Varine Varine:
    Hollandaise is also kind of like that, emulsions require a very steady hand to do exactly the same every time.
  • Varine Varine:
    Luckily I live in an age with electricity so it's way fucking faster, but when I was just a boy trying to find my place I had some hardcore chefs that made use do things like that by hand. It is WAY easier to get right by hand because you control it and can feel it, but it takes soooooo much longer. And on the scale a modern kitchen requires... I serve 400-500 guests on average per day right now, if I had 100 then we could do things way better
  • Varine Varine:
    But we can't do that. In the winter yeah, but I HAVE to get people through here right now so I can afford the staff that we CAN do that. We have about 100 days of summer, and if that summer doesn't make us what it will, then I can't operate the other most of the year with my staff. The owner is talking about closing two days a week to cut down on labor, I told him he should cut down on vacations and it did not go great. I do think I won though, I have to keep my fucking core staff and they have to be gainfully employed
  • Varine Varine:
    Sure some of them might take a second job, but I can't just cut my entire staff to unlivable hours, nor can I can cut them off all winter if I want them to come back.
  • Varine Varine:
    And also, there is no fucking way I'm pulling these hours come september. I only do this right now because I have to, the second I don't have to be the one doing it I won't be
  • Varine Varine:
    I have a 5 person core staff in the kitchen, not including me or Chef Ben
  • Varine Varine:
    Though two of those people are likely not making it this year. One of them has been replaced, the other I am kind of trying to. He's being a giant bitch, today I had to get onto him because in the three hours before I left he had taken like thirty minutes for cigarette breaks
  • Varine Varine:
    And he was also complaining to me the other day that he was out of weed so couldn't smoke any before work that day, and was confused about why I was annoyed he was telling me, his boss, that he is smoking weed everyday before work.
    +1
  • Varine Varine:
    Like yeah I can tell. I don't need to fucking know.
  • Varine Varine:
    So now he's getting scrutinized and will not be top of the list. I know I don't have the smartest people but I do expect them to have some common fucking sense
  • Varine Varine:
    I did do a rare thing for me and hire a girl last month without warning. Everyone was made at me because I started her at like 21, but she worked with me before and I was like don't care. She made 19 at her old job and I wanted her to come work with me, she is the best
    +1
  • Varine Varine:
    I'm going to get her a raise at the end of the summer. She wants to go to school again, but I want her to still work with me so.... she kind of can just tell me what the price is. I can go to 25 if she keeps up. I need to get her onto line more, that's what she wants, but I need her where she is and it's not fair that she doesn't get the little bit of raise that comes with it. She can do it no problem, I've worked with her there.
  • Varine Varine:
    It's just hard to move and train people unnecessarily right now. And also the line fucking sucks, it's not any more fun. This is turn and burn so I have the bankroll, and everyone suffers for it
  • Varine Varine:
    Eventually we'll get it balanced, we'
  • Varine Varine:
    we're starting online orders and stuff, but I also turn that off all the time because I barely keep up trying to be the best at Sysco shit
  • Varine Varine:
    I think it's gonna be a good fall and winter though. We're going to have a good staff, they will get along, they will be able to manage the workload and the complications, they know how to really cook this year, like every person on line knows their steak temps. Some of them use thermometers a lot and they don't always use them right, but they do know how to do it. Failure, especially in this field, is the only way to get better. They'll get it
  • Varine Varine:
    They won't get feel down while they do the thermometer, but we didn't have an instant read probe when I was learning. Like they did but god knows how off it is, you HAD to do it by feel. Even if the chef was fine with me bringing my own, it takes too long. Poke and know
  • The Helper The Helper:
    420 threads in the Artificial Intelligence forum :)
  • The Helper The Helper:
    Happy Monday!
    +1
  • The Helper The Helper:
    and then it was Tuesday!
    +1

      The Helper Discord

      Members online

      No members online now.

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials
      Top