WoW:API CreateMacro: Difference between revisions

m
Move page script moved page API CreateMacro to WoW:API CreateMacro without leaving a redirect
No edit summary
m (Move page script moved page API CreateMacro to WoW:API CreateMacro without leaving a redirect)
 
(8 intermediate revisions by 8 users not shown)
Line 1: Line 1:
{{wowapi}}
Creates a new macro command/button.
Creates a new macro command/button.
CreateMacro(name, icon, body, local)
 
  CreateMacro(name, iconFileName, body, perCharacter)


== Arguments ==
== Arguments ==
:(name, icon, body, local)
:(name, iconFileName, body, 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.


; 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 [[API GetNumMacroIcons|GetNumMacroIcons()]].
; iconFileName : String , The icon name.


; body : String - The macro commands to be executed.
; body : String - The macro commands to be executed. If this string is longer than 255 characters, only the first 255 will be saved.


; local : Numeric - Purpose unknown, always 1.
; perCharcter : Numeric - nil will create a "General" saved macro, 1 will save it as "Per Character"


== Returns ==
== Returns ==
Line 18: Line 20:


== Example ==
== Example ==
; General (All Character) Macros :
local macroId = CreateMacro("MyMacro", "INV_MISC_QUESTIONMARK", "/script CastSpellById(1);", nil);


  local macroId = CreateMacro("MyMacro", 12, "/script CastSpellById(1);", 1);
; perChar (Per Character) Macros :
  local macroId = CreateMacro("MyMacro", "INV_MISC_QUESTIONMARK", "/script CastSpellById(1);", 1);


== Notes ==
== Notes ==
 
* As of [[Patch 4.3]] this is working as shown - the unused parameter has been removed.
It is possible to do some WrongThings(tm) here:
* This function will generate an error if the maximum macros of the specified kind already exist (36 for per acount and 18 for per character).
 
* 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. Macros with duplicate names can be used in most situations, but the behavior of macro functions that retrieve a macro by name is undefined when multiple macros of that name exist.
* 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().
* This function may not be called in combat anymore, as of [[Patch 2.0]].
 
* 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.
 
 
 
----
__NOTOC__
{{Template:WoW API}}
Anonymous user