WoW API: GetSpellBookItemName
← WoW API < GetSpellBookItemName
Retrieves the spell name and spell rank for a spell in the player's spellbook. If you're trying to read the spell book at login, register for the PLAYER_LOGIN event.
spellName, spellSubName = GetSpellBookItemName( spellId, bookType );
ArgumentsEdit
- spellId
- Integer - Spell ID. Valid values are 1 through total number of spells in the spellbook on all pages and all tabs, ignoring empty slots.
- bookType
- String - Either BOOKTYPE_SPELL ("spell") or BOOKTYPE_PET ("pet").
ReturnsEdit
- spellName
- String - Name of the spell as it appears in the spellbook, eg. "Lesser Heal"
- spellSubName
- String - The spell rank or sub type, eg. "Grand Master", "Racial Passive". This can be an empty string. Note: for the Enchanting trade skill at rank Apprentice, the returned string contains a trailing space, ie. "Apprentice ". This might be the case for other trade skills and ranks also.
ExampleEdit
local i = 1 while true do local spellName, spellSubName = GetSpellBookItemName(i, BOOKTYPE_SPELL) if not spellName then do break end end -- use spellName and spellSubName here DEFAULT_CHAT_FRAME:AddMessage( spellName .. '(' .. spellSubName .. ')' ) i = i + 1 end
ResultEdit
- Displays every spell in the player's spellbook, on all pages and all tabs, in the format required by CastSpellByName.
NoteEdit
- This function replaced GetSpellName() in patch 4.0.1.
- Some spells are not returnable via this function, such as tracking spells (Track Beasts, etc...).
- Use in conjunction with GetSpellBookItemInfo to determine if a player knows this spell.