WoW:API GetTalentPrereqs: Difference between revisions

From AddOn Studio
Jump to navigation Jump to search
No edit summary
m (Move page script moved page API GetTalentPrereqs to API GetTalentPrereqs without leaving a redirect)
 
(4 intermediate revisions by 4 users not shown)
Line 1: Line 1:
''Edit By : Zealic''
{{wowapi}}
-Function antetype :
prereqIconX , prereqIconY = GetTalentPrereqs( tabIndex , talentIndex );


-Args:
Returns the tier and column of a talent's prerequisite, and if the talent is learnable.
  Integer tabIndex   : Talent tab index,
  tier, column, isLearnable = GetTalentPrereqs( tabIndex , talentIndex[, inspect] );
Integer talentIndex : Talent index,


-Return:
== Parameters ==
Integer prereqIconX : Prereq talent point X,
Integer prereqIconY : Prereq talent point Y,
#if not Prereq return nil.


-Example:
<big>'''Arguments'''</big>
--if talent is Warlock
<!-- List each argument, together with its type -->
x, y = GetTalentPrereqs(1,14);-- return x = 3, y = 3
:(tabIndex, talentIndex)


:;tabIndex : Integer - Specifies which tab the talent is in.
:;talentIndex : Integer - Specifies which talent to check


emm...
::: Note: The talentIndex is counted as if it where a tree, meaning that the left most talent in the top most row is number 1 followed by the one immediate to the right is number 2, if there are no more talents to the right then it continues from the left most talent on the next row.
My english Name is '''Zealic''',come from China
Edit this Page at : 2005-08-11
eMail : rszealic(at)gmail.com


{{template:WoW API}}
:;inspect : [[Boolean]] - If true returns the information for the inspected unit instead of  the player. New with 2.3.
 
<big>'''Returns'''</big>
<!-- List each return value, together with its type -->
:tier, column, isLearnable  <!-- remove this line if it's just one value -->
 
:;tier : Integer - The tier that the prerequisite talent sits on
:;column : Integer - The Column that the prerequisite talent sits on
:;isLearnable : Integer - Returns 1 if you have the necessary prereqisites already, nil otherwise.
 
 
== Example ==
<!-- If it helps, include an example here, though it's not required if the usage is self-explanatory -->
For a Warrior, checks the prerequisites for the talent "Flurry":
local tier, column, learnable = GetTalentPrereqs(2,16)
 
<big>'''Result'''</big>
<!-- If it helps, include example results here, though they are not required. You're allowed to cheat liberally since WoW isn't a command line language. -->
tier = 4
column = 3
learnable = 1 if you have 5/5 in Enrage, nil otherwise
 
== Details ==
If you select a talent with no prerequisites, the whole function returns nil
 
The original code by Blizzard shows that possibly several prerequisites could exists, in which case other triplets of row, column, learnable values would be returned. Code to handle this would look like this :
 
local handle_prereqs = function (...)
  for i = 1, select("#", ...), 3 do
    local row, column, learnable = select(i, ...)
    <do something here>
  end
end
handle_prereqs(GetTalentPrereqs(tab, index))

Latest revision as of 04:46, 15 August 2023

WoW API < GetTalentPrereqs

Returns the tier and column of a talent's prerequisite, and if the talent is learnable.

tier, column, isLearnable = GetTalentPrereqs( tabIndex , talentIndex[, inspect] );

Parameters[edit]

Arguments

(tabIndex, talentIndex)
tabIndex
Integer - Specifies which tab the talent is in.
talentIndex
Integer - Specifies which talent to check
Note: The talentIndex is counted as if it where a tree, meaning that the left most talent in the top most row is number 1 followed by the one immediate to the right is number 2, if there are no more talents to the right then it continues from the left most talent on the next row.
inspect
Boolean - If true returns the information for the inspected unit instead of the player. New with 2.3.

Returns

tier, column, isLearnable
tier
Integer - The tier that the prerequisite talent sits on
column
Integer - The Column that the prerequisite talent sits on
isLearnable
Integer - Returns 1 if you have the necessary prereqisites already, nil otherwise.


Example[edit]

For a Warrior, checks the prerequisites for the talent "Flurry":

local tier, column, learnable = GetTalentPrereqs(2,16)

Result

tier = 4
column = 3
learnable = 1 if you have 5/5 in Enrage, nil otherwise

Details[edit]

If you select a talent with no prerequisites, the whole function returns nil

The original code by Blizzard shows that possibly several prerequisites could exists, in which case other triplets of row, column, learnable values would be returned. Code to handle this would look like this :

local handle_prereqs = function (...)
  for i = 1, select("#", ...), 3 do
    local row, column, learnable = select(i, ...)
    <do something here>
  end
end
handle_prereqs(GetTalentPrereqs(tab, index))