[Wurst] Looping a units available abilities

Status
Not open for further replies.
Level 9
Joined
Sep 16, 2016
Messages
248
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.
Back
Top