• Listen to a special audio message from Bill Roper to the Hive Workshop community (Bill is a former Vice President of Blizzard Entertainment, Producer, Designer, Musician, Voice Actor) 🔗Click here to hear his message!
  • Read Evilhog's interview with Gregory Alper, the original composer of the music for WarCraft: Orcs & Humans 🔗Click here to read the full interview.

[Wurst] Looping a units available abilities

Status
Not open for further replies.
Level 8
Joined
Sep 16, 2016
Messages
227
Hello,

I have the following script:

JASS:
public function iterateAbilities ()
    print("Assigning Abilities, may cause FPS drop momentarily . . .")
    for i = 0 to 12
        for iter = 0 to 164

            if BlzGetUnitAbility(udg_PlayHero[i], ability_Q[iter]) != null
                printTimed("Assigned: "+GetAbilityName(ability_Q[iter]), 5)
                hero_Q[i] = BlzGetUnitAbility(udg_PlayHero[i], ability_Q[iter])
            if BlzGetUnitAbility(udg_PlayHero[i], ability_W[iter]) != null
                printTimed("Assigned: "+GetAbilityName(ability_W[iter]), 5)
                hero_W[i] = BlzGetUnitAbility(udg_PlayHero[i], ability_W[iter])
            if BlzGetUnitAbility(udg_PlayHero[i], ability_E[iter]) != null
                printTimed("Assigned: "+GetAbilityName(ability_E[iter]), 5)
                hero_E[i] = BlzGetUnitAbility(udg_PlayHero[i], ability_E[iter])
            if BlzGetUnitAbility(udg_PlayHero[i], ability_R[iter]) != null
                printTimed("Assigned: "+GetAbilityName(ability_R[iter]), 5)
                hero_R[i] = BlzGetUnitAbility(udg_PlayHero[i], ability_R[iter])
            if BlzGetUnitAbility(udg_PlayHero[i], ability_T[iter]) != null
                printTimed("Assigned: "+GetAbilityName(ability_T[iter]), 5)
                hero_T[i] = BlzGetUnitAbility(udg_PlayHero[i], ability_T[iter])
            if BlzGetUnitAbility(udg_PlayHero[i], ability_F[iter]) != null
                printTimed("Assigned: "+GetAbilityName(ability_F[iter]), 5)
                hero_F[i] = BlzGetUnitAbility(udg_PlayHero[i], ability_F[iter])
            if BlzGetUnitAbility(udg_PlayHero[i], ability_G[iter]) != null
                printTimed("Assigned: "+GetAbilityName(ability_G[iter]), 5)
                hero_G[i] = BlzGetUnitAbility(udg_PlayHero[i], ability_G[iter])

Which iterates through my ability list of:

JASS:
    ability_Q[0] = 'A12F'
    ability_Q[1] = 'A129'
    ability_Q[2] = 'A122'
    ability_Q[3] = 'A11Y'
    ability_Q[4] = 'A11T'
    ability_Q[5] = 'A11O'
    ability_Q[6] = 'A11G'
    ability_Q[7] = 'A118'
    . . .
    ability_Q[162] = 'Axxx'
    ability_Q[163] = 'Axxx'
    ability_Q[164] = 'Axxx'

But it does not seem to work, is my approach not it? It only seems to work for already learned abilities on the unit, not the "learnables"?
This only runs once, and it only drops for about 0.3s and very slight fps drop, so the number of executions is no problem, I'm more concerned on why it is not working :(
 
Last edited:
Status
Not open for further replies.
Top