1. Updated Resource Submission Rules: All model & skin resource submissions must now include an in-game screenshot. This is to help speed up the moderation process and to show how the model and/or texture looks like from the in-game camera.
    Dismiss Notice
  2. DID YOU KNOW - That you can unlock new rank icons by posting on the forums or winning contests? Click here to customize your rank or read our User Rank Policy to see a list of ranks that you can unlock. Have you won a contest and still havn't received your rank award? Then please contact the administration.
    Dismiss Notice
  3. Don’t forget to sign up for the Hive Cup. There’s a 555 EUR prize pool. Sign up now!
    Dismiss Notice
  4. The Hive Workshop Cup contest results have been announced! See the maps that'll be featured in the Hive Workshop Cup tournament!
    Dismiss Notice
  5. The results are out! Check them out.
    Dismiss Notice
  6. The poll for Hive's 12th Concept Art Contest is up! Go cast your vote for your favourite genie!
    Dismiss Notice
  7. The raddest synthwave tracks were chosen - Check out our Music Contest #12 - Results and congratulate the winners!
    Dismiss Notice
  8. Check out the Staff job openings thread.
    Dismiss Notice
Dismiss Notice
60,000 passwords have been reset on July 8, 2019. If you cannot login, read this.
IcemanBo
Last Activity:
Oct 17, 2019 at 12:06 PM
Joined:
Sep 6, 2013
Messages:
6,181
Media:
100
Albums:
10

Awarded Medals 1

IcemanBo

 

IcemanBo was last seen:
Viewing latest content, Oct 17, 2019 at 12:06 PM
    1. Quilnez
      Quilnez
      Hello again,

      Just want to say, keep your second review for later. I was completely forgot that it is my entry for Hero contest, so, no teamwork is allowed ^^
    2. Quilnez
      Quilnez
      Depends. If I got some ideas for the contest, then I will join as contestant I guess ^^
    3. Quilnez
      Quilnez
      In the judging.

      Okay, take your time :)
    4. Quilnez
      Quilnez
      Oh, good job on the judging. Actually, I got times to help you out.
    5. Quilnez
      Quilnez
      Hey, Icamen, I have changed everything you have mentioned. But some constanted functions cause syntax error. And I keep some of my way because I think it's uneccessary to be changed.
      Thanks man, it means a lot!

      BTW, I thought you are in my friendlist already :/
    6. Heinvers
      Heinvers
      Man, I just love that title of yours :D
    7. Mythic
      Mythic
      The bold text under your name when you're logged in.
    8. Mythic
      Mythic
      So you aren't bugged by the extra notifications for no reason? D:
    9. Quilnez
      Quilnez
      Hwoyd?

      Long time no talk :)
    10. Mythic
      Mythic
      y u no accept friend requests
    11. GywGod133
    12. GywGod133
      GywGod133
      hehe

      Btw, what happen in Mini Mapping Contest #9?
      :/
    13. GywGod133
      GywGod133
      I want to know which one is better, smoother

      I want to use this on my SPELL
      :( I dont wanna use Move Action (cuz laggy)

      EDIT:
      Maybe Knockback 3d lot of features hehehe

      Btw Thanks for reply :)
    14. GywGod133
    15. Bannar
      Bannar
      K, updated my post to reflect the point.
    16. Bannar
      Bannar
      "dy" seems to be missing. Or I'm just plain wrong? :P
    17. BPower
      BPower
      Ich hab keine Zeit mehr dafür bzw ich verbringe sie andersweitig.
      Es war einfach an der Zeit aufzuhören :)
    18. Mythic
      Mythic
      Hey, tell me when you get 446 rep.
    19. Kyrbi0
      Kyrbi0
      ----------
      If you want to loop through all units go with a unit indexer. So you will just be able to loop through all existing indices and make your checks.
      ----------
      Alright! If that's a good solution for the whole map & several different iterations, I'll give it a try & let you know! Thanks.


      ----------
      But frankly, you want add a temp ability? Much easier is just to run a timer, and then to remove the ability when the timer expires. Use hashtable to attach unit/abilityId to the timer.
      ----------
      Eeesh... Not sure I/you wanna open that particular can of worms. I've heard of 'hashtables' (both online & in my programming classes @ college) & get the general idea of 'multidimensional arrays with keys'... But no clue how to use them. Not sure I wanna bug you, since I'm sure there are tutorials on the subject.
    20. Kyrbi0
      Kyrbi0
      First of all, just want to apologize that it took me so long to respond; I wasn't ignoring you or ungrateful, but I had to think about what you said & that took time (time which, unfortunately, is in very short supply nowadays :<...). That being said:


      ----------
      Why not make these actiosn to target unit directly after casting? So you have to do checks/actions once, and then completly forget about this unit.


      ----------
      Hmm... So it sounds that the "Pick All Units" is too 'costly' (in terms of what, ping? Or computational/processing speed?), but using a global "UnitGroup" variable would be a decent alternative that would allow it?
      (But whether I "pick all units matching X, Y, Z..." or create a UnitGroup variable which does the same thing (having to check the map to add/remove the necessary units from the Group), it seems like that's the same amount of work. Maybe I don't understand)
      ----------
      I make an example. I will show 2 methods to get all units in Region1.

      1. One global UnitGroup, that never gets destroyed. (good)
      2. Creating/destroying a UnitGroup each time.
      Method 1

      Method 2

      I hope you can see the difference. Method 1 needs 3 triggers but is more efficient.
      ----------
      Ok, so you're telling me it's not always the number of triggers that = more/less efficient, but what happens in them? Because yeah, I would've said "3>1!! Less efficient".


      ----------
      In my example I only pick units in Region1, and now imagine you pick every single unit in whole map. If map is very big / or you have many units it is just an enmormous operation, that should be avoided.
      ----------
      Alright, so in order to help you see what I'm trying to accomplish, full disclosure: mainly what I do is work on custom heroes & factions for what is essentially "altered melee"; 5th-race-addition, tavern-addition/replacement, 4-race-replacement, etc.

      That being the setting, the "thing" I'm trying to accomplish is (probably 90% of the time) simple trigger-enhanced abilities. Specifically I was using things like "periodic timers" to detect the presence of certain buffs on units & add/remove certain abilities because of it, dynamically.

      (example being: "Vicious Roar: a roar that increases allied attack damage & gives them Lifesteal for 30 seconds" (i.e. modified Roar ability, then a periodic trigger that, detecting the presence/absence of the "roar" buff, adds/removes a hidden "lifesteal" ability to the affected unit))

      That all being said, it should be clear that this will be cycling through every possible unit on the map (except, perhaps, buildings & trees & such), and should be updating reasonably fast (at least as fast as an Aura; hence .3/.5 seconds...). The map size, of course, may be as small as 1v1 or as large as 6v6. The actual "triggers" are quite 'lite' I would think ("add/remove ability" is pretty much it, so far).

      I realized early on, though, that having a whole bunch of triggers like that would (probably) be a problem. Hence my question.


      ----------
      Now I should method 3, without UnitGroup. Units will be indexed and I will use loop to catch them:
      Method 3

      You see in this method exists no UnitGroup. The reason is, because it's a lot faster.
      In the 'Else - Actions' part the unit has left the region, so we have to deindex properly.
      The method I used is called dynamic indexing because it avoids letting an empty index in my unit[array] variable. (once a unit leaves, it would be null)

      For GUI and looping each 0.50 secnds metho 1 would absolutly do the job without any problem. For bigger situations and/or more complex systems indexing is definitly faster and more efficient.

      EDIT:

      Added "maxIndex = maxIndex - 1" in the deindex part in method 3!
      ----------
      <span style="font-size: 9px">(So wait, "Method 3 doesn't use Unit Group because Method 3 is faster"? Or "Method 3 is faster because it doesn't use Unit Group"?)</span>

      Alright, so I'm trying to understand the coding here... So I think I finally understand the "indexing" bit (you're not using Custom Value, you're just creating a massive array with (potentially) each unit on the map on it, that fits my criteria (in this case, "(T/F) Has this Buff")).

      But given what I have said above about what my needs are (variable (often large) map-size, picking every map unit, reasonable updating frequency, simple triggers, etc), are you suggesting that Method 3 is usable for this/these tasks? And if so, how many can I use before it too becomes a problem (i.e. 1-5, 5-10, 10-20, etc)?

      Thanks again for your thoughts. Sorry it took me so long.

      Respectfully,

      Kyrbi0
  • Loading...
  • Loading...
  • Interact

    Signature

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