WoW:API CreateMacro: Difference between revisions

From AddOn Studio
Jump to navigation Jump to search
m (replaced "Template:WoW API" with "wowapi")
No edit summary
Line 32: Line 32:


* It is possible to create macros with duplicate names. You should enumerate the current macros using [[API GetNumMacros|GetNumMacros()]] and [[API GetMacroIconInfo|GetMacroIconInfo(macroId)]] to ensure that your new macro name doesn't already exist.
* It is possible to create macros with duplicate names. You should enumerate the current macros using [[API GetNumMacros|GetNumMacros()]] and [[API GetMacroIconInfo|GetMacroIconInfo(macroId)]] to ensure that your new macro name doesn't already exist.
This function may not be called in combat anymore, as of 2.0.

Revision as of 00:27, 4 January 2007

WoW API < CreateMacro

Creates a new macro command/button.

CreateMacro(name, icon, body, local, perCharacter)

Arguments

(name, icon, body, local, perCharacter)
name
String - The name of the macro to be displayed in the UI. The current UI imposes a 16-character limit.
icon
Numeric - A 1-based iconTextureId (index of icon textures as displayed in "Change Name/Icon" UI). Check the current number if icon textures available by calling GetNumMacroIcons().
body
String - The macro commands to be executed.
local
Numeric - Purpose unknown, always 1.
perCharcter
Numeric - 0 will create a "per account" saved macro, 1 will save it as "per character"

Returns

macroId
Numeric - The 1-based index of the newly-created macro, as displayed in the "Create Macros" UI.

Example

local macroId = CreateMacro("MyMacro", 12, "/script CastSpellById(1);", 1, 1);

Notes

It is possible to do some WrongThings(tm) here:

  • It is possible to create more macros than the UI can display. Call GetNumMacros() to ensure there are no more than 17 macros (18 is the current UI limit per account/per character) before calling CreateMacro().
  • It is possible to create macros with duplicate names. You should enumerate the current macros using GetNumMacros() and GetMacroIconInfo(macroId) to ensure that your new macro name doesn't already exist.

This function may not be called in combat anymore, as of 2.0.