WoW:API CreateMacro: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
Creates a new macro command/button. | Creates a new macro command/button. | ||
CreateMacro(name, icon, body, local) | CreateMacro(name, icon, body, local, perCharacter) | ||
== Arguments == | == Arguments == | ||
:(name, icon, body, local) | :(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. | ; name : String - The name of the macro to be displayed in the UI. The current UI imposes a 16-character limit. | ||
Line 12: | Line 12: | ||
; local : Numeric - Purpose unknown, always 1. | ; local : Numeric - Purpose unknown, always 1. | ||
; perCharcter : Numeric - 0 will create a "per account" saved macro, 1 will save it as "per character" | |||
== Returns == | == Returns == | ||
Line 19: | Line 21: | ||
== Example == | == Example == | ||
local macroId = CreateMacro("MyMacro", 12, "/script CastSpellById(1);", 1); | local macroId = CreateMacro("MyMacro", 12, "/script CastSpellById(1);", 1, 1); | ||
== Notes == | == Notes == | ||
Line 25: | Line 27: | ||
It is possible to do some WrongThings(tm) here: | It is possible to do some WrongThings(tm) here: | ||
* It is possible to create more macros than the UI can display. Call [[API GetNumMacros|GetNumMacros()]] to ensure there are no more than 17 macros (18 is the current UI limit) before calling CreateMacro(). | * It is possible to create more macros than the UI can display. Call [[API GetNumMacros|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 [[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. |
Revision as of 06:50, 4 February 2006
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.