WoW:SpellLink: Difference between revisions

Changed example to use an actual spell instead of itemlinks
(Initial creation)
 
(Changed example to use an actual spell instead of itemlinks)
Line 4: Line 4:
== spellLink API Type (String) ==
== spellLink API Type (String) ==


spellLinks are returned by several functions, e.g. [[API GetSpellInfo|GetSpellInfo]](), etc.
spellLinks are returned by several functions, e.g. [[API GetSpellLink|GetSpellLink]](), etc.


In essence, they are [[spellString]]s with additional formatting to make in-game text controls display them as clickable hyperlinks.
In essence, they are [[spellString]]s with additional formatting to make in-game text controls display them as clickable hyperlinks.


  |cff9d9d9d|Hspell:7073:0:0:0:0:0:0:0|h[Broken Fang]|h|r
  |cff71d5ff|Hspell:10060|h[Power Infusion]|h|r


Broken up in its components:
Broken up in its components:


* <tt>"'''|cff9d9d9d'''"</tt> &ndash; Colorizes the link with a medium grey color (Broken Fang is vendortrash)
* <tt>"'''|cff71d5ff'''"</tt> &ndash; Colorizes the link with a blue/cyan color (all spell links are blue)
** The first two characters after pipe-c may be the alpha level, where <code>ff</code> is fully opaque.
** The first two characters after pipe-c may be the alpha level, where <code>ff</code> is fully opaque.
** The next three sets of two characters represent the red, green, and blue levels, just like HTML.
** The next three sets of two characters represent the red, green, and blue levels, just like HTML.
* <tt>"'''|H'''"</tt> &ndash; "Hyperlink link data starts here"
* <tt>"'''|H'''"</tt> &ndash; "Hyperlink link data starts here"
* <tt>"'''spell:7073:0:0:0:0:0:0:0'''"</tt> &ndash; Read more at [[spellString]].
* <tt>"'''spell:10060:0:0:0:0:0:0:0'''"</tt> &ndash; Read more at [[spellString]].
* <tt>"'''|h'''"</tt> &ndash; "End of link, text follows"
* <tt>"'''|h'''"</tt> &ndash; "End of link, text follows"
* <tt>"'''[Broken Fang]'''"</tt> &ndash; The actual text displayed
* <tt>"'''[Power Infusion]'''"</tt> &ndash; The actual text displayed
* <tt>"'''|h'''"</tt> &ndash; "End of hyperlink"
* <tt>"'''|h'''"</tt> &ndash; "End of hyperlink"
* <tt>"'''|r'''"</tt> &ndash; Restores color to normal
* <tt>"'''|r'''"</tt> &ndash; Restores color to normal
Line 33: Line 33:
Printing out the contents of an spell link is perhaps not so obvious; displaying it anywhere in-game will just show you a clickable link. Reformat it slightly to ruin the [[UI Escape Sequences|escape sequences]] and you'll see what it really looks like:
Printing out the contents of an spell link is perhaps not so obvious; displaying it anywhere in-game will just show you a clickable link. Reformat it slightly to ruin the [[UI Escape Sequences|escape sequences]] and you'll see what it really looks like:


  link = [[API GetSpellInfo|GetSpellInfo]]();
  link = [[API GetSpellLink|GetSpellLink]](<i>spell</i>);
  printable = [[API gsub|gsub]](link, "\124", "\124\124");
  printable = [[API gsub|gsub]](link, "\124", "\124\124");
  ChatFrame1:AddMessage("Here's what it really looks like: \"" .. printable .. "\"");
  ChatFrame1:AddMessage("Here's what it really looks like: \"" .. printable .. "\"");


"124" is the ascii value of the "|" character. If you are writing this in a regular .lua file, feel free to go ahead and just use "|" and "||". However, if you're typing it in an in-game editor, it's better to use the ascii code escape to avoid problems.
"124" is the ascii value of the "|" character. If you are writing this in a regular .lua file, feel free to go ahead and just use "|" and "||". However, if you're typing it in an in-game editor, it's better to use the ascii code escape to avoid problems.
Anonymous user