WoW:SpellLink: Difference between revisions
(Initial creation) |
|||
(3 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
{{DISPLAYTITLE:spellLink}} | {{DISPLAYTITLE:spellLink}} | ||
{{wowapitype}} | {{wowapitype}} | ||
spellLinks are returned by several functions, e.g. [[API GetSpellLink|GetSpellLink]](), etc. | |||
spellLinks are returned by several functions, e.g. [[API | |||
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. | ||
| | |cff71d5ff|Hspell:10060|h[Power Infusion]|h|r | ||
Broken up in its components: | Broken up in its components: | ||
* <tt>"'''| | * <tt>"'''|cff71d5ff'''"</tt> – 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> – "Hyperlink link data starts here" | * <tt>"'''|H'''"</tt> – "Hyperlink link data starts here" | ||
* <tt>"'''spell: | * <tt>"'''spell:10060'''"</tt> – Read more at [[spellString]]. | ||
* <tt>"'''|h'''"</tt> – "End of link, text follows" | * <tt>"'''|h'''"</tt> – "End of link, text follows" | ||
* <tt>"'''[ | * <tt>"'''[Power Infusion]'''"</tt> – The actual text displayed | ||
* <tt>"'''|h'''"</tt> – "End of hyperlink" | * <tt>"'''|h'''"</tt> – "End of hyperlink" | ||
* <tt>"'''|r'''"</tt> – Restores color to normal | * <tt>"'''|r'''"</tt> – Restores color to normal | ||
Line 33: | Line 30: | ||
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 | 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. |
Latest revision as of 04:48, 15 August 2023
Warning: Display title "WoW API type: SpellLink" overrides earlier display title "spellLink".← API types
spellLinks are returned by several functions, e.g. GetSpellLink(), etc.
In essence, they are spellStrings with additional formatting to make in-game text controls display them as clickable hyperlinks.
|cff71d5ff|Hspell:10060|h[Power Infusion]|h|r
Broken up in its components:
- "|cff71d5ff" – 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
ff
is fully opaque. - The next three sets of two characters represent the red, green, and blue levels, just like HTML.
- The first two characters after pipe-c may be the alpha level, where
- "|H" – "Hyperlink link data starts here"
- "spell:10060" – Read more at spellString.
- "|h" – "End of link, text follows"
- "[Power Infusion]" – The actual text displayed
- "|h" – "End of hyperlink"
- "|r" – Restores color to normal
You can extract the spellString from a given spellLink with the following pattern:
local found, _, spellString = string.find(spellLink, "^|c%x+|H(.+)|h%[.*%]")
Note: The format of the link is similar for enchant, spell and quest links, with merely the "spellstring" changing. See spellString, itemString, enchantString and questString
Printing links for debug[edit]
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 escape sequences and you'll see what it really looks like:
link = GetSpellLink(spell); printable = gsub(link, "\124", "\124\124"); 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.