1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.
  2. One of WC3's biggest patches is live: 24 player maps, editor updates, widescreen, and more! All the information is here.
    Dismiss Notice
  3. The Cinematic Contest #7 poll is up!
    Dismiss Notice
  4. The Terraining Mini Contest Reload #2 - Machinery has begun! Create a scene centered around a piece of machinery. Get creative tinker boys and girls!
    Dismiss Notice
  5. The Cinematic Contest #7 - Time has begun! Create a cinematic about Time!
    Dismiss Notice
  6. The Concept Art Competition #11 - The Youngest (or) Oldest Warrior has begun! Create a unique warrior concept-art. Get wild with your ideas!
    Dismiss Notice
Bannar
Last Activity:
Apr 22, 2018 at 11:02 PM
Joined:
Mar 19, 2008
Messages:
2,980
Albums:
1

Awarded Medals 5

Gender:
Male
Birthday:
Sep 4, 1991 (Age: 26)
Location:
Poland

Bannar

Formerly known as Spinnaker, Male, 26, from Poland

Bannar was last seen:
Apr 22, 2018 at 11:02 PM
    1. IcemanBo
      IcemanBo
    2. Kyrbi0
    3. SeedinAethyr
      SeedinAethyr
      Happy birthday!
    4. Astaroth Zion
      Astaroth Zion
    5. stan0033
      stan0033
      just in function TR_recycleTimer, line 61 - 69. I removed 'else' and 'endif'.
    6. stan0033
      stan0033
      Hello! I used your treeRevival system and when I imported it in my map there came an error unexpected:elseif, so I had to remove "else" and "endif". I use JNGP 2.0.X. It didn't affect the system. Is this normal?
    7. TheJackal47
      TheJackal47
      Thank you. My apologies for writing back after more than a month. Had exams and other stuff in my university. Thanks a lot again.
    8. Wareditor
      Wareditor
      Okay, Thank you for your reply.
    9. Wareditor
      Wareditor
      Hey ! I am using your Weather vJass snippet. You said you could implement sound effect to it. Are you going to do it or are you too occupied to do that ? Just want to know if I should wait or just modify it myself (for my use only of course).
    10. Legal_Ease
      Legal_Ease
      [table]I was planning on using it in a Dota style map, where it would be unlikely that there were more than 100 units. Also, in a 1v1 melee setting it would be unlikely to get up to 100 units on the map at once.

      I changed the periodic to .07 and it still looks good and runs much better. I played 1v1 against the computer and it was doing well, until the end when I was attacking the enemies base and it lagged out.

      So let me make sure I understand what you are saying. I should not run checks for the type of unit in the loop but should store that separately indexing the value of height, offset, length of bar, etc. Then I should not calculate color inside the loop but use an outside table. Something like string(hp_color[(percentage of hp_unit's life)])? Basically anything that can be calculated and stored outside the loop should be and the loop should be as simple as possible?

      Is there anyway around the 100 FloatTxt limit? I've googled it and the answer seems to be 'no.'

      The GUI unit indexer ... that's the one made by Bribe right? That's a bit advanced for me. I get that it assigned a number to each unit, but beyond that I'm lost looking at it.[/table]
    11. Legal_Ease
      Legal_Ease
      Pastebin.w3x I am still adding final touches, but this seems to work a little better than before. I realized I should be testing it in a small map with no other triggers and the lag practically disappeared. However, I am fairly sure that if it was used in a 4-8 player map it would lag again. Also, I realized there is a limit to floatin' text. This will be a problem.

      HP Units init
      Events
      Time - Elapsed game time is 0.01 seconds
      Conditions
      Actions
      -------- Selects all units already in the map to get HP bars --------
      Set Mana_Group = (Units in (Playable map area))
      Unit Group - Pick every unit in Mana_Group and do (Actions)
      Loop - Actions
      If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
      (Life of (Picked unit)) Greater than or equal to 100.00
      (Owner of (Triggering unit)) Not equal to Neutral Passive
      Then - Actions
      -------- Sets the length of the Bar --------
      Set StateString = llllllllllllllllllllllllllllllllllllllllllllllllllllllllll
      Set HP_int = (HP_int + 1)
      -------- sets an index number for each of the units --------
      Set HP_Unit[HP_int] = (Picked unit)
      Set HPstatus = (((Life of (Picked unit)) / (Max life of (Picked unit))) x (Real((Length of StateString))))
      Set tempp1 = (Position of HP_Unit[HP_int])
      Set tempp2 = (tempp1 offset by 40.00 towards 180.00 degrees)
      Floating Text - Create floating text that reads StateString at tempp2 with Z offset 0.00, using font size 4.00, color (0.00%, 100.00%, 0.00%), and 0.00% transparency
      Set HP_Text[HP_int] = (Last created floating text)
      Floating Text - Show (Last created floating text) for (All players)
      Custom script: call RemoveLocation(udg_tempp1)
      Custom script: call RemoveLocation(udg_tempp2)
      Trigger - Turn on Loops <gen>
      Else - Actions
      Custom script: call DestroyGroup(udg_Mana_Group)
      Add HP Units
      Events
      Unit - A unit enters (Entire map)
      Unit - A unit Finishes reviving
      Conditions
      Actions
      -------- Sets the length of the Bar --------
      Set StateString = llllllllllllllllllllllllllllllllllllllllllllllllllllllllll
      Set HP_int = (HP_int + 1)
      -------- sets an index number for each of the units --------
      Set HPstatus = (((Life of (Triggering unit)) / (Max life of (Triggering unit))) x (Real((Length of StateString))))
      Set HP_Unit[HP_int] = (Triggering unit)
      Set tempp1 = (Position of HP_Unit[HP_int])
      Set tempp2 = (tempp1 offset by 40.00 towards 180.00 degrees)
      Floating Text - Create floating text that reads StateString at tempp2 with Z offset 0.00, using font size 4.00, color (0.00%, 100.00%, 0.00%), and 0.00% transparency
      Set HP_Text[HP_int] = (Last created floating text)
      Floating Text - Show (Last created floating text) for (All players)
      Custom script: call RemoveLocation(udg_tempp1)
      Custom script: call RemoveLocation(udg_tempp2)



      The loop is too long now to post in a VM.
    12. Legal_Ease
      Legal_Ease
      Hi Bannar,

      I've been trying to work with your floating text mana bar system you made a long time ago. Did you ever get the bugs out of it? It seems like hashtables have mini leaks and create lag over. I tried to re-create it with indexs and arrays, but even though there are no leaks, it still overloads the system. I did make them change color with health/mana amount and made them disappear when the unit wasn't visible to a player, but I'm still stuck with lag. Any advise?

      -Legal_Ease

      HP loop
      Events
      Time - Every 0.08 seconds of game time
      Conditions
      Actions
      For each (Integer A) from 1 to HP_int, do (Actions)
      Loop - Actions
      If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
      (HP_Unit[(Integer A)] is alive) Equal to True
      Then - Actions
      If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
      (HP_Unit[(Integer A)] is A structure) Equal to True
      Then - Actions
      Set StateString = llllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll
      Else - Actions
      If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
      (HP_Unit[(Integer A)] is A peon-type unit) Not equal to True
      Then - Actions
      Set StateString = llllllllllllllllllllllllllllllllllllllllllllllllllllllllll
      Else - Actions
      Set StateString = llllllllllllllllllllllllllllll
      Set tempp1 = (Position of HP_Unit[(Integer A)])
      Set tempp2 = (tempp1 offset by 80.00 towards 180.00 degrees)
      Floating Text - Change the position of HP_Text[(Integer A)] to tempp2 with Z offset 200.00
      Custom script: call RemoveLocation(udg_tempp1)
      Custom script: call RemoveLocation(udg_tempp2)
      Set HPstatus = (((Life of HP_Unit[(Integer A)]) / (Max life of HP_Unit[(Integer A)])) x (Real((Length of StateString))))
      Set HP_Bar_Color[(Integer A)] = (String((99 - (Integer(((Percentage life of HP_Unit[(Integer A)]) - 11.00))))))
      Floating Text - Change text of HP_Text[(Integer A)] to ((((|c00 + (HP_Bar_Color[(Integer A)] + ((String((Integer(((Percentage life of HP_Unit[(Integer A)]) - 1.00))))) + 00))) + (Substring(StateString, 1, (Integer(ManaStatus))))) + |r) + ((|c00000000 + (Substring(StateString, (Integer((HPstatus + 1.00))), (Length using font size 4.00
      For each (Integer B) from 1 to 4, do (Actions)
      Loop - Actions
      If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
      (HP_Unit[(Integer A)] is visible to (Player((Integer B)))) Equal to True
      Then - Actions
      Set Mana_PlayerB = (Player((Integer B)))
      Set Mana_PlayerGroup = (Player group(Mana_PlayerB))
      Floating Text - Show HP_Text[(Integer A)] for Mana_PlayerGroup
      Custom script: call DestroyForce(udg_Mana_PlayerGroup)
      Else - Actions
      Set Mana_PlayerB = (Player((Integer B)))
      Set Mana_PlayerGroup = (Player group(Mana_PlayerB))
      Floating Text - Hide HP_Text[(Integer A)] for Mana_PlayerGroup
      Custom script: call DestroyForce(udg_Mana_PlayerGroup)
      Else - Actions
      Floating Text - Destroy HP_Text[(Integer A)]
    13. edo494
    14. IcemanBo
      IcemanBo
    15. Heinvers
      Heinvers
      ----------
      Gonna talk to Ralle about bananas.
      ----------
      What's the deal with the Banana nick?
      What's its origin if you don't mind replying :p
    16. Bribe
    17. Bribe
      Bribe
      Eh, he uses a resource called Trigger, now. To be honest, the event thing should just be TriggerRegisterVariableEvent. For the DamageEvent GUI/vJass hybrid I'm developing now, I made this function:


      function CreateDamageTrigger takes string variable, real value, code run returns trigger
      set tempTrig = CreateTrigger()
      call TriggerRegisterVariableEvent(tempTrig, variable, EQUAL, value)
      call TriggerAddCondition(tempTrig, Filter(run))
      return tempTrig
      endfunction


      Straightforward, fast, and gives you access to the trigger easily.
    18. looking_for_help
      looking_for_help
      I don't know any, but I also never needed one... so there might be some around
    19. sarumanthecursed
    20. IcemanBo
      IcemanBo
      Oh, man, it was your birthday yesterday. I didn't know. :s
      But, then I wish you a happy day today! :D
  • Loading...
  • Loading...
  • About

    Gender:
    Male
    Birthday:
    Sep 4, 1991 (Age: 26)
    Location:
    Poland
    WarCraft 3 Account:
    Fire.inferno/B4nnar
    WarCraft 3 Realm:
    Northrend (Europe)
    Favourite Race:
    Undead
    Favorite Organization/Clan:
    Argent Dawn
    StarCraft II Account:
    B4nnar

    Interact

    Signature

  • Loading...
  • Loading...
  • Loading...