WoW:ActionSlot: Difference between revisions

2,484 bytes removed ,  15 August 2023
m
Move page script moved page ActionSlot to WoW:ActionSlot without leaving a redirect
m (Move page script moved page ActionSlot to WoW:ActionSlot without leaving a redirect)
 
(5 intermediate revisions by 5 users not shown)
Line 1: Line 1:
{{wowapitype}}<br> __NOTOC__
#REDIRECT [[API TYPE actionSlot]]
Action Slot IDs can vary for some classes and are completely arbitrary to the buttons they exist in. As of 1.11, World of Warcraft allows 120 Action Slot IDs, numbered from 1-120. The IDs 1-72 are used by the six default bars (see below for the button ranges). IDs 73-108 are used by the stance bars of some classes. IDs 109-120 have no default uses.
 
As of WoW 2.3, action slots 121-132 exist but are not settable: they refer to the default UI's main action bar while [[possess]]ing a target ([[Mind Control]], [[Eyes of the Beast]], certain quests, the [[Chess Event]] in [[Karazhan]]).
 
== Default UI use of Action slot IDs ==
 
ActionBar page 1: slots 1 to 12 ''-- Note exceptions below for other classes <br>
ActionBar page 2: slots 13 to 24<br>
 
ActionBar page 3 (Right ActionBar): slots 25 to 36<br>
ActionBar page 4 (Right ActionBar 2): slots 37 to 48<br>
 
ActionBar page 5 (Bottom Right ActionBar): slots 49 to 60<br>
ActionBar page 6 (Bottom Left ActionBar): slots 61 to 72<br>
 
 
'''Warrior Bonus Action Bars'''
 
ActionBar page 1 Battle Stance: slots 73 to 84<br>
ActionBar page 1 Defensive Stance: slots 85 to 96<br>
ActionBar page 1 Berserker Stance: slots 97 to 108<br>
 
 
'''Druid Bonus Action Bars'''
 
ActionBar page 1 Cat Form: slots 73 to 84<br>
ActionBar page 1 Bear Form: slots 97 to 108<br>
 
 
'''Rogue Bonus Action Bars'''
 
ActionBar page 1 Stealth: slots 73 to 84
 
'''Target Possessed Action Bar'''
ActionBar page 1 Possess: slots 121-132
 
== Example Code ==
 
This function will display the contents of each of the 120 action slots (skipping empty ones) in the default chat frame.  To use, type "/script reportActionButtions()".
 
<pre>
function reportActionButtons()
local lActionSlot = 0;
for lActionSlot = 1, 120 do
local lActionText = GetActionText(lActionSlot);
local lActionTexture = GetActionTexture(lActionSlot);
if lActionTexture then
local lMessage = "Slot " .. lActionSlot .. ": [" .. lActionTexture .. "]";
if lActionText then
lMessage = lMessage .. " \"" .. lActionText .. "\"";
end
DEFAULT_CHAT_FRAME:AddMessage(lMessage);
end
end
end
</pre>
 
 
If you'd rather avoid function creation, the following macro does the same thing (break into several lines for easy read):
<pre>
/run local l = 0;
for l = 1, 120 do local t = GetActionText(l);
local x = GetActionTexture(l);
if x then local m = "Slot " .. l .. ": [" .. x .. "]";
if t then m = m .. " \"" .. t .. "\"";
end DEFAULT_CHAT_FRAME:AddMessage(m);
end end
</pre>
 
 
{{Stub/API}}
Anonymous user