WoW:API CreateMacro: Difference between revisions

From AddOn Studio
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.



Template:WoW API