You have it disabled, that's why it doesn't show up. Enable it when you type "1".
Sorry Pharaoh_ this time miss =) It's about the fact that spellbooks with the same ID will collide and inherit spells.
------------------------------------------------------------
Ok man I see that author of that tutorial haven't told enought.
At first, you have to change base order Id field. When you select it, you gonna see that 'spellbook' doesn't exist, and it is true.
You have to change it to anything else, even: None.
Make sure both spellbooks have the same Id.
Now the next part. MAKE SURE that value in field Minimum amount of Spells in dummy spellbook IS THE SAME as amount of spells you want to add have in dummy spellbook. So you wanted to add 3 spells at once. Value in that field should be at least 3 so.
I updated your map. You can look that I've changed only things I had mentioned above.
I'm gonna write Spellbook tutorial, since that one seems to be outdated.
------------------------------------------------------------
@Maker don't tell me that natives aren't better option here, since you and most of community know that fact.
Both functions:
-
Unit - Increase level of yourability for (Triggering unit)
-
Unit - Set level of yourability for (Triggering unit) to X
Truely look like:
JASS:
// Increase level
function IncUnitAbilityLevelSwapped takes integer abilcode, unit whichUnit returns integer
return IncUnitAbilityLevel(whichUnit, abilcode)
endfunction
// Set level
function SetUnitAbilityLevelSwapped takes integer abilcode, unit whichUnit, integer level returns integer
return SetUnitAbilityLevel(whichUnit, abilcode, level)
endfunction
Both do the only, and the same thing: return other function with swapped variables, so considering that our buddy Aeroblyctos wanna move in future to more efficient coding, it would be nice to tell him that natives:
JASS:
// Increase level
native IncUnitAbilityLevel takes unit whichUnit, integer abilcode returns integer
// Set level
native SetUnitAbilityLevel takes unit whichUnit, integer abilcode, integer level returns integer
can be used in GUI by:
-
Custom script: call IncUnitAbilityLevel (udg_yourunit, udg_abilityId)
-
Custom script: call SetUnitAbilityLevel (udg_yourunit, udg_abilityId, level)
What cause (even if it's small amount), the improvement of efficiency in his code. I dont think that for him (Aeroblyctos) it generates any problem at all, if we consider first of all that amount of posts and reputation proves that he isn't new to Warcraft Editor and the fact that it's just writing few code lines via Custom script action.