WoW:API EditMacro: Difference between revisions

From AddOn Studio
Jump to navigation Jump to search
No edit summary
m (Move page script moved page API EditMacro to API EditMacro without leaving a redirect)
 
(2 intermediate revisions by 2 users not shown)
Line 2: Line 2:
Edit macro command/button.
Edit macro command/button.


  EditMacro(index, name, icon, body, local, perCharacter)
  EditMacro(index or macroName, name, icon, body, local, perCharacter)


This function may only be called when out of combat.
This function may only be called when out of combat.


== Arguments ==
== Arguments ==
:(index, name, icon, body, local, perCharacter)
:(index or macroName, name, icon, body, local, perCharacter)


; index : Numeric - Macro index number. Provided by [[API GetMacroIndexByName|GetMacroIndexByName()]].
; index or macroName : Number or string - the index or name of the macro to be edited. Index ranges from 1 to 36 for account wide macros and 37 to 54 for character specific.


; 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. The name remains unchanged if nil.


; 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()]].
; icon : Numeric - A 1-based iconTextureId (index of icon textures as displayed in "Change Name/Icon" UI). Check the current number of icon textures available by calling [[API GetNumMacroIcons|GetNumMacroIcons()]]. The icon remains unchanged if nil.


; body : String - The macro commands to be executed. If this string is longer than 255 characters, only the first 255 will be saved.
; body : String - The macro commands to be executed. If this string is longer than 255 characters, only the first 255 will be saved.
Line 19: Line 19:
; local : Numeric - Purpose unknown, always 1.
; local : Numeric - Purpose unknown, always 1.


; perCharacter : Numeric - 0 "per account" macro, 1 "per character"
; perCharacter : Archaic.  Now purposeless, since character and account macros are given unique IDs.


== Returns ==
== Returns ==
; macroId : Numeric - The 1-based index of the macro, as displayed in the "Create Macros" UI. Same as argument "index".
; macroId : Numeric - The new index of the macro, as displayed in the "Create Macros" UI. Same as argument "index" unless the macro name is changed, as they are sorted alphabetically.


== Example ==
== Example ==
Line 29: Line 29:


== Notes ==
== Notes ==
*If this function is called from within the macro that is edited, the rest of the macro (from the final character's position of the /run command onward) will run the new version.

Latest revision as of 04:45, 15 August 2023

WoW API < EditMacro

Edit macro command/button.

EditMacro(index or macroName, name, icon, body, local, perCharacter)

This function may only be called when out of combat.

Arguments[edit]

(index or macroName, name, icon, body, local, perCharacter)
index or macroName
Number or string - the index or name of the macro to be edited. Index ranges from 1 to 36 for account wide macros and 37 to 54 for character specific.
name
String - The name of the macro to be displayed in the UI. The current UI imposes a 16-character limit. The name remains unchanged if nil.
icon
Numeric - A 1-based iconTextureId (index of icon textures as displayed in "Change Name/Icon" UI). Check the current number of icon textures available by calling GetNumMacroIcons(). The icon remains unchanged if nil.
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.
perCharacter
Archaic. Now purposeless, since character and account macros are given unique IDs.

Returns[edit]

macroId
Numeric - The new index of the macro, as displayed in the "Create Macros" UI. Same as argument "index" unless the macro name is changed, as they are sorted alphabetically.

Example[edit]

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

Notes[edit]

  • If this function is called from within the macro that is edited, the rest of the macro (from the final character's position of the /run command onward) will run the new version.