WoW:API UseAction: Difference between revisions

From AddOn Studio
Jump to navigation Jump to search
No edit summary
m (Tweaked the example code so it would not cause an error on blank button slots.)
Line 23: Line 23:
   if not(lActionText) then lActionText = "" end
   if not(lActionText) then lActionText = "" end
   local lActionTexture = GetActionTexture(lActionSlot)
   local lActionTexture = GetActionTexture(lActionSlot)
   if (lActionText) or (lActionTexture) then
   if (lActionText) and (lActionTexture) then
     local lMessage = lActionSlot..". "..lActionText
     local lMessage = lActionSlot..". "..lActionText
     lMessage = lMessage.." ["..lActionTexture.."]"
     lMessage = lMessage.." ["..lActionTexture.."]"

Revision as of 21:10, 11 April 2006

UseAction - Documentation by Sarf

Perform the specified action.

UseAction(slot [,checkCursor] [,onSelf])

Parameters

Arguments

(slot [,checkCursor] [,onSelf])
slot
Numeric - The action slot to use.
checkCursor
Flag (optional) - Can be 0, 1, or nil. Appears to indicate whether the action button was clicked (1) or used via hotkey (0); probably involved in placing skills/items in the action bar after they've been picked up.
onSelf
Flag (optional) - Can be 0, 1, or nil. If present and 1, then the action is performed on the player, not the target.

Details

Each button on your action bar has an ID. The first button id is 1, and so on. There are 6 action bars in all, thus the highest action bar is 72. With the addition of ver 1300, Page 3 acts as the Right Action bar, page 4 acts as the second Right action bar, page 5 acts as the Bottom Right bar, and page 6 acts as the Bottom Left bar.
Update 31-Dec-2005
Action bar SlotID's have been seen as high as 120 and may go even higher. Druids are lucky enough to get extra action bars for some of their forms (Bear Form, Cat Form, but apparently not Aquatic Form or Travel Form). The following code enumerates the (/macro) name and texture for all assigned action bar slots:
function reportActionButtons()
 local lActionSlot = 0
 for lActionSlot = 1, 128 do
  local lActionText = GetActionText(lActionSlot)
  if not(lActionText) then lActionText = "" end
  local lActionTexture = GetActionTexture(lActionSlot)
  if (lActionText) and (lActionTexture) then
   local lMessage = lActionSlot..". "..lActionText
   lMessage = lMessage.." ["..lActionTexture.."]"
   DEFAULT_CHAT_FRAME:AddMessage(lMessage)
  end
 end
end

Template:WoW API