WoW:API GetSpellBookItemName: Difference between revisions

From AddOn Studio
Jump to navigation Jump to search
(New in 4.0.1)
 
m (Move page script moved page API GetSpellBookItemName to API GetSpellBookItemName without leaving a redirect)
 
(2 intermediate revisions by 2 users not shown)
Line 2: Line 2:
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 [[Events P (Party, Petition, Pet, PlayerBank, Player)#PLAYER_LOGIN|PLAYER_LOGIN]] event.
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 [[Events P (Party, Petition, Pet, PlayerBank, Player)#PLAYER_LOGIN|PLAYER_LOGIN]] event.


  ''spellName'', ''spellSubName'' = GetSpellBookName( ''spellId'', ''bookType'' );
  ''spellName'', ''spellSubName'' = GetSpellBookItemName( ''spellId'', ''bookType'' );


== Arguments ==
== Arguments ==
Line 14: Line 14:
:;spellName : String - Name of the spell as it appears in the spellbook, eg. ''"Lesser Heal"''
:;spellName : String - Name of the spell as it appears in the spellbook, eg. ''"Lesser Heal"''


:;spellSubName : String - The spell rank or type, eg. ''"Rank 3"'', ''"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.
:;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.


== Example ==
== Example ==
Line 20: Line 20:
  local i = 1
  local i = 1
  while true do
  while true do
     local spellName, spellSubName = GetSpellName(i, BOOKTYPE_SPELL)
     local spellName, spellSubName = GetSpellBookItemName(i, BOOKTYPE_SPELL)
     if not spellName then
     if not spellName then
       do break end
       do break end
Line 26: Line 26:
      
      
     -- use spellName and spellSubName here
     -- use spellName and spellSubName here
     DEFAULT_CHAT_FRAME:AddMessage( spellName .. '(' .. spellRank .. ')' )
     DEFAULT_CHAT_FRAME:AddMessage( spellName .. '(' .. spellSubName .. ')' )
      
      
     i = i + 1
     i = i + 1
Line 35: Line 35:


== Note ==
== Note ==
* This function replaced {{api|GetSpellBookItemName}}() in patch 4.0.1.
* This function replaced {{api|GetSpellName}}() in patch 4.0.1.
* Some spells are not returnable via this function, such as tracking spells (Track Beasts, etc...).
* Some spells are not returnable via this function, such as tracking spells (Track Beasts, etc...).
* Use in conjunction with {{api|GetSpellBookItemInfo}} to determine if a player knows this spell.
* Use in conjunction with {{api|GetSpellBookItemInfo}} to determine if a player knows this spell.

Latest revision as of 04:46, 15 August 2023

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 );

Arguments

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").

Returns

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.

Example

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

Result

  • Displays every spell in the player's spellbook, on all pages and all tabs, in the format required by CastSpellByName.

Note

  • 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.