WoW API: CreateMacro
Jump to navigation
Jump to search
← 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.